$ od -c -N 50000 [eris]<LispCore>Morgue>Lyric>FASL!5 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 0 0 : 1 6 : 4 7 " 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 3 006 001 6 1 3 8 4 \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 0000320 ( i l 0000340 : f u n c t i o n s d u m p - 0000360 s t r u c t u r e ) \r \r 0000400 i l : | p r e v i o u s | 0000420 i l : | d a t e : | " 1 0 - D 0000440 e c - 8 6 1 2 : 3 6 : 4 6 " 0000460 i l : { e r i s } < l i s p c o 0000500 r e > s o u r c e s > f a s l . 0000520 \ ; 2 1 ) \r \r \r ; C o p y r i 0000540 g h t ( c ) 1 9 8 6 b y 0000560 X e r o x C o r p o r a t i o 0000600 n . A l l r i g h t s r 0000620 e s e r v e d . \r \r ( i l : p r 0000640 e t t y c o m p r i n t i l : 0000660 f a s l c o m s ) \r \r ( i l : r 0000700 p a q q 006 002 i l : f a s l c o 0000720 m s 006 001 \r 0000740 ( ( i l : c o m s ( i l : * 0000760 i l : | ; ; ; | " C o m m o n 0001000 d e f i n i t i o n s . " ) \r 0001020 0001040 ( i l : d e c l a r e \ : 0001060 i l : e v a l @ c o m p i l e 0001100 i l : e v a l @ l o a d i l : 0001120 d o n t c o p y ( i l : f i l 0001140 e s ( i l : l o a d c o m p ) 0001160 \r 0001200 * 0001300 i l : l l b a s i c i l : l 0001320 l c h a r \r 0001340 * 0001440 i l : a d i s p l 0001460 a y \r 0001500 * 0001600 i l : m o d a r i t h ) 0001620 ) \r 0001640 ( i l : s t r u c t u r 0001660 e s f a s l - e r r o r u n 0001700 i m p l e m e n t e d - o p c o 0001720 d e o b j e c t - n o t - d u 0001740 m p a b l e \r 0001760 0002000 u n e x p e c t e d - e n d - 0002020 o f - b l o c k i n c o n s i 0002040 s t e n t - t a b l e ) \r 0002060 ( 0002100 i l : v a r i a b l e s s i g 0002120 n a t u r e ) \r 0002140 ( i l : v a 0002160 r i a b l e s c h e c k - t a 0002200 b l e - s i z e f a s l - e x 0002220 t e n d e d e n d - m a r k 0002240 v e r s i o n - r a n g e c u 0002260 r r e n t - v e r s i o n \r 0002300 0002320 ) \r 0002340 ( i l : f 0002360 u n c t i o n s t a b l e - s 0002400 t a t s ) ) \r 0002420 ( i l : c o m s ( i l : * 0002440 i l : | ; ; ; | " D u m p e 0002460 r . " ) \r 0002500 ( i l : s t r u c 0002520 t u r e s h a n d l e ) \r 0002540 0002560 ( i l : v a r i a b l e s d u 0002600 m m y - h a n d l e ) \r 0002620 ( i 0002640 l : v a r i a b l e s + s m a 0002660 l l e s t - f o u r - b y t e - 0002700 i n t e g e r + + l a r g e s 0002720 t - f o u r - b y t e - i n t e 0002740 g e r + ) \r 0002760 ( i l : v a r i 0003000 a b l e s * g a t h e r - d u 0003020 m p e r - s t a t s * * t a b 0003040 l e - a t t e m p t s * * t a 0003060 b l e - h i t s * ) \r 0003100 ( i l 0003120 : f u n c t i o n s r e s e t 0003140 - d u m p e r - s t a t s ) \r 0003160 0003200 ( i l : f u n c t i o n s d 0003220 o t t e d - l i s t - l e n g t 0003240 h s t a t e - c a s e f a t 0003260 - s t r i n g - p r e m e m b 0003300 e r \r 0003320 e l e 0003340 m e n t s - i d e n t i c a l - 0003360 p e n d - b l o c k e n d - 0003400 t e x t w r i t e - o p l o 0003420 o k u p - v a l u e s a v e - 0003440 v a l u e ) \r 0003460 ( i l : f u n 0003500 c t i o n s d u m p - v a l u 0003520 e - f e t c h d u m p - c h a 0003540 r a c t e r d u m p - s y m b 0003560 o l d u m p - l i s t \r 0003600 0003620 d u m p - s i m p 0003640 l e - v e c t o r d u m p - a 0003660 r r a y - d e s c r i p t o r 0003700 d u m p - b i t - a r r a y d 0003720 u m p - g e n e r a l - a r r a 0003740 y \r 0003760 d u m p 0004000 - a r r a y w r i t e - i n t 0004020 e g e r - b y t e s i n t e g 0004040 e r - b y t e - l i s t d u m 0004060 p - r a t i o n a l d u m p - 0004100 c o m p l e x \r 0004120 0004140 d u m p - i n t e g e r d 0004160 u m p - p a c k a g e d u m p 0004200 - d c o d e d u m p - s t r i 0004220 n g d u m p - f l o a t 3 2 0004240 d u m p - s t r u c t u r e \r 0004260 0004300 d u m p - b i 0004320 t m a p ) \r 0004340 ( i l : f u n c 0004360 t i o n s o p e n - f a s l - 0004400 h a n d l e w i t h - o p e n 0004420 - h a n d l e b e g i n - t e 0004440 x t b e g i n - b l o c k \r 0004460 0004500 v a l u e - d 0004520 u m p a b l e - p d u m p - v 0004540 a l u e d u m p - f u n c t i 0004560 o n - d e f d u m p - f u n c 0004600 a l l d u m p - e v a l \r 0004620 0004640 c l o s e - f a 0004660 s l - h a n d l e ) ) \r 0004700 ( i l : c o m s 0004720 ( i l : * i l : | ; ; ; | " 0004740 R e a d e r . " ) \r 0004760 ( i l : 0005000 d e f i n e - t y p e s f a s 0005020 l - o p s ) \r 0005040 ( i l : s t r 0005060 u c t u r e s o p t a b l e ) 0005100 \r 0005120 ( i l : f u n c t i o n s 0005140 m a k e - o p t a b l e f a 0005160 s l - e n d - o f - b l o c k 0005200 d e f o p d e f r a n g e a 0005220 d d - o p - t r a n s l a t i o 0005240 n \r 0005260 o p c o 0005300 d e - s e q u e n c e f a s l 0005320 - e x t e n d e d s e t e s c 0005340 a p e u n i m p l e m e n t e 0005360 d - o p c o d e ) \r 0005400 ( i l : 0005420 v a r i a b l e s * d e f a u 0005440 l t - o p t a b l e * * c u r 0005460 r e n t - o p t a b l e * i n 0005500 i t i a l - v a l u e - t a b l 0005520 e - s i z e \r 0005540 0005560 v a l u e - t a b l e - i n c 0005600 r e m e n t * v a l u e - t a 0005620 b l e * * b l o c k - l e v e 0005640 l * d e b u g - r e a d e r 0005660 d e b u g - s t r e a m ) \r 0005700 0005720 ( i l : f u n c t i o n s w i 0005740 t h - o p t a b l e p r o c e 0005760 s s - f i l e c h e c k - v e 0006000 r s i o n p r o c e s s - s e 0006020 g m e n t r e a d - t e x t 0006040 \r 0006060 p r o c e s 0006100 s - b l o c k s k i p - t e x 0006120 t n e x t - v a l u e d o - 0006140 o p n e w - v a l u e - t a b 0006160 l e c l e a r - t a b l e \r 0006200 0006220 s t o r e - v 0006240 a l u e f e t c h - v a l u e 0006260 c o l l e c t - l i s t ) \r 0006300 0006320 ( f a s l - o p s f a s l - 0006340 s h o r t - i n t e g e r f a 0006360 s l - n i l f a s l - t f a 0006400 s l - i n t e g e r f a s l - 0006420 l a r g e - i n t e g e r \r 0006440 0006460 f a s l - r a t 0006500 i o f a s l - c o m p l e x 0006520 f a s l - v e c t o r f a s l 0006540 - c r e a t e - a r r a y f a 0006560 s l - i n i t i a l i z e - a r 0006600 r a y \r 0006620 f a 0006640 s l - i n i t i a l i z e - b i 0006660 t - a r r a y f a s l - t h i 0006700 n - s t r i n g f a s l - f a 0006720 t - s t r i n g f a s l - c h 0006740 a r a c t e r \r 0006760 0007000 f a s l - l i s p - s y m b 0007020 o l f a s l - k e y w o r d - 0007040 s y m b o l f a s l - f i n d 0007060 - p a c k a g e \r 0007100 0007120 f a s l - s y m b o l - i 0007140 n - p a c k a g e f a s l - l 0007160 i s t f a s l - l i s t * f 0007200 a s l - i n t e r l i s p - s y 0007220 m b o l f a s l - d c o d e 0007240 \r 0007260 f a s l - t 0007300 a b l e - s t o r e f a s l - 0007320 t a b l e - f e t c h f a s l 0007340 - v e r i f y - t a b l e - s i 0007360 z e f a s l - e v a l \r 0007400 0007420 f a s l - f l o a 0007440 t 3 2 f a s l - s e t f - s y 0007460 m b o l - f u n c t i o n f a 0007500 s l - f u n c a l l f a s l - 0007520 b i t m a p 1 6 \r 0007540 0007560 f a s l - s t r u c t u r 0007600 e ) ) \r ( 0007620 i l : * i l : | ; ; | " A r 0007640 r a n g e f o r t h e c o 0007660 r r e c t c o m p i l e r t 0007700 o b e u s e d " ) \r 0007720 ( i l : p r o p 0007740 i l : f i l e t y p e i l : f 0007760 a s l ) \r 0010000 ( i l : * i l : | ; ; | " A 0010020 r r a n g e f o r t h e p 0010040 r o p e r m a k e f i l e e 0010060 n v i r o n m e n t " ) \r 0010100 ( i l : p r o p 0010120 i l : m a k e f i l e - e n v 0010140 i r o n m e n t i l : f a s l 0010160 ) ) ) \r \r \r \r 006 004 ( i l : * i 0010200 l : | ; ; ; | " C o m m o n 0010220 d e f i n i t i o n s . " ) 006 001 0010240 \r \r ( i l : d e c l a r e \ : 0010260 i l : e v a l @ c o m p i l e 0010300 i l : e v a l @ l o a d i l : 0010320 d o n t c o p y \r ( i l : f i 0010340 l e s l o a d ( i l : l o a d 0010360 c o m p ) \r i l : 0010400 l l b a s i c i l : l l c h a 0010420 r i l : a d i s p l a y i l 0010440 : m o d a r i t h ) \r ) \r \r ( x 0010460 c l : d e f i n e - c o n d i t 0010500 i o n 006 002 f a s l - e r r o r 0010520 006 001 e r r o r ) \r \r \r ( x c l 0010540 : d e f i n e - c o n d i t i o 0010560 n 006 002 u n i m p l e m e n t e 0010600 d - o p c o d e 006 001 f a s l - 0010620 e r r o r : r e p o r t ( f 0010640 o r m a t t " U n i m p l e 0010660 m e n t e d F A S L o p : 0010700 ~ S " \r 0010720 * 0011000 o p n a m e 0011020 ) \r 0011040 * 0011100 o p n a m e ) \r \r \r ( x c 0011120 l : d e f i n e - c o n d i t i 0011140 o n 006 002 o b j e c t - n o t - 0011160 d u m p a b l e 006 001 f a s l - 0011200 e r r o r : r e p o r t ( f 0011220 o r m a t t " O b j e c t 0011240 n o t d u m p a b l e : ~ & ~ 0011260 S " \r 0011300 * 0011360 o b j e c t ) \r 0011400 * 0011460 o b j e c t ) \r \r \r ( x c l : d 0011500 e f i n e - c o n d i t i o n 0011520 006 002 u n e x p e c t e d - e n d 0011540 - o f - b l o c k 006 001 f a s l 0011560 - e r r o r : r e p o r t ( 0011600 f o r m a t t \r 0011620 * 0011700 " U n e x p 0011720 e c t e d F A S L - E N D - O 0011740 F - B L O C K a t ~ D . " \r 0011760 * 0012060 ( i l : g e t f 0012100 i l e p t r s t r e a m ) ) \r 0012120 * 0012200 s t r e a m ) \r \r \r ( x 0012220 c l : d e f i n e - c o n d i t 0012240 i o n 006 002 i n c o n s i s t e 0012260 n t - t a b l e 006 001 f a s l - 0012300 e r r o r : r e p o r t ( f 0012320 o r m a t t \r 0012340 * 0012400 " I n c o n s i s t e n 0012420 t F A S L t a b l e s i z 0012440 e . ~ & E x p e c t e d ~ D 0012460 b u t f o u n d ~ D . " \r 0012500 * 0012600 e x p e c t e d ( l e n 0012620 g t h ( o p t a b l e - v e c 0012640 t o r \r 0012660 * 0012760 t a b l e ) ) 0013000 ) \r 0013020 * 0013060 t a b l e e x p e c t e d ) 0013100 \r \r \r ( d e f c o n s t a n t 0013120 006 002 s i g n a t u r e 006 001 1 4 0013140 5 " F i r s t b y t e o f 0013160 a F A S L f i l e . " ) \r 0013200 \r \r ( d e f v a r 006 002 c h e c 0013220 k - t a b l e - s i z e 006 001 t 0013240 ) \r \r \r ( d e f c o n s t a n t 0013260 006 002 f a s l - e x t e n d e d 0013300 006 001 2 5 4 ) \r \r \r ( d e f c o 0013320 n s t a n t 006 002 e n d - m a r 0013340 k 006 001 2 5 5 ) \r \r \r ( d e f c 0013360 o n s t a n t 006 002 v e r s i o 0013400 n - r a n g e 006 001 ' ( 2 . 0013420 4 ) " H a n d l e s ( c a r 0013440 v e r s i o n - r a n g e ) 0013460 < = v e r s i o n < = ( c 0013500 d r v e r s i o n - r a n g e 0013520 ) " \r ) \r \r \r ( d e f c o 0013540 n s t a n t 006 002 c u r r e n t 0013560 - v e r s i o n 006 001 4 ) \r \r \r 0013600 ( d e f u n 006 002 t a b l e - s 0013620 t a t s 006 001 ( t a b l e ) ( 0013640 l e t ( ( i t e m s ( l i s 0013660 t ( c o n s ' - - t o t a l 0013700 - - ( l e n g t h t a b l e 0013720 ) ) ) ) ) \r 0013740 0013760 ( d o t i m e s ( 0014000 i ( l e n g t h t a b l e ) 0014020 \r 0014040 0014060 i t e 0014100 m s ) \r 0014120 0014140 ( l e t * 0014160 ( ( t y p e ( t y p e - o f 0014200 ( a r e f t a b l e i ) ) 0014220 ) \r 0014240 * 0014300 ( p a i r ( o r ( f i n d 0014320 t y p e i t e m s : t e s t 0014340 ' e q u a l : k e y \r 0014360 * 0014440 ' c a r ) 0014460 \r 0014500 * 0014540 ( c a r ( p 0014560 u s h ( c o n s t y p e 0 0014600 ) \r 0014620 * 0014700 i t e m s ) ) ) ) ) \r 0014720 * 0014760 ( i n 0015000 c f ( c d r p a i r ) ) ) ) 0015020 ) ) \r \r \r \r \r 006 004 ( i l : * i 0015040 l : | ; ; ; | " D u m p e r . 0015060 " ) 006 001 \r \r \r ( d e f s t r u c 0015100 t ( 006 002 h a n d l e 006 001 ( : 0015120 c o n s t r u c t o r m a k e 0015140 - h a n d l e ) ) s t r e a m 0015160 ( s t a t e : b l o c k - e 0015200 n d ) \r 0015220 * 0015260 ( l a s t - i 0015300 n d e x 0 ) \r 0015320 * 0015360 ( h a 0015400 s h ( m a k e - h a s h - t a 0015420 b l e : t e s t # ' e q ) ) 0015440 ) \r \r \r ( d e f c o n s t a n t 0015460 006 002 d u m m y - h a n d l e 006 0015500 001 ( m a k e - h a n d l e : 0015520 s t r e a m ( o p e n " { n 0015540 u l l } " : d i r e c t i o n 0015560 : o u t p u t ) \r 0015600 0015620 : s t a t 0015640 e : b l o c k : h a s h n 0015660 i l ) ) \r \r \r ( d e f c o n s 0015700 t a n t 006 002 + s m a l l e s t 0015720 - f o u r - b y t e - i n t e g 0015740 e r + 006 001 ( - ( e x p t 2 0015760 3 1 ) ) ) \r \r \r ( d e f c o 0016000 n s t a n t 006 002 + l a r g e s 0016020 t - f o u r - b y t e - i n t e 0016040 g e r + 006 001 ( 1 - ( e x p t 0016060 2 3 1 ) ) ) \r \r \r ( d e f 0016100 v a r 006 002 * g a t h e r - d u 0016120 m p e r - s t a t s * 006 001 n i 0016140 l ) \r \r \r ( d e f v a r 006 002 * 0016160 t a b l e - a t t e m p t s * 006 0016200 001 0 " N u m b e r o f t 0016220 a b l e l o o k u p s b y 0016240 t h e F A S L d u m p e r . 0016260 " ) \r \r \r ( d e f v a r 006 002 * 0016300 t a b l e - h i t s * 006 001 0 0016320 " N u m b e r o f s u c c e 0016340 s s f u l t a b l e l o o k 0016360 u p s b y t h e F A S L 0016400 d u m p e r . " ) \r \r \r ( d e f 0016420 u n 006 002 r e s e t - d u m p e 0016440 r - s t a t s 006 001 n i l ( s 0016460 e t q * t a b l e - a t t e m 0016500 p t s * 0 * t a b l e - h i 0016520 t s * 0 ) ) \r \r \r ( d e f u n 0016540 006 002 d o t t e d - l i s t - l 0016560 e n g t h 006 001 ( x ) ( d o 0016600 ( ( n 0 ( + n 2 ) ) \r 0016620 * 0016660 ( f a s t x ( c d d r 0016700 f a s t ) ) \r 0016720 0016740 ( s l o w 0016760 x ( c d r s l o w ) ) ) \r 0017000 * 0017040 ( n i l ) \r 0017060 0017100 ( c o n d \r 0017120 * 0017160 ( ( n u l l f a s t ) 0017200 \r 0017220 0017240 ( r e t u r n n 0017260 ) ) \r 0017300 0017320 ( ( a t o m f 0017340 a s t ) \r 0017360 0017400 ( r e t u 0017420 r n ( v a l u e s n t ) ) 0017440 ) \r 0017460 0017500 ( ( n u l l ( c 0017520 d r f a s t ) ) \r 0017540 * 0017600 ( r e t u r n ( 1 + n ) ) ) 0017620 \r 0017640 0017660 ( ( a t o m ( c d 0017700 r f a s t ) ) \r 0017720 0017740 ( 0017760 r e t u r n ( v a l u e s ( 0020000 1 + n ) \r 0020020 * 0020060 t ) ) ) \r 0020100 * 0020140 ( ( a n d ( e q f 0020160 a s t s l o w ) \r 0020200 * 0020240 ( > n 0 ) ) \r 0020260 * 0020320 ( r e t u r n n i l ) 0020340 ) ) ) ) \r \r \r ( d e f m a c r o 0020360 006 002 s t a t e - c a s e 006 001 0020400 ( & r e s t c l a u s e s ) 0020420 ` ( e c a s e ( h a n d l e - 0020440 s t a t e h a n d l e ) \r 0020460 * 0020520 , @ c l a 0020540 u s e s ) ) \r \r \r ( d e f u n 0020560 006 002 f a t - s t r i n g - p 006 001 0020600 ( s t r i n g ) ( c o n d \r 0020620 * 0020660 ( ( i l : s t r i n g p s t r 0020700 i n g ) \r 0020720 0020740 ( e q ( 006 002 i l : 0020760 f e t c h 006 001 ( i l : s t r i 0021000 n g p i l : t y p ) 006 002 i l 0021020 : o f 006 001 s t r i n g ) \r 0021040 * 0021100 i l : \ \ s t . p o s 1 6 0021120 ) ) \r 0021140 0021160 ( t ( i l : % f a t - s 0021200 t r i n g - a r r a y - p s t 0021220 r i n g ) ) ) ) \r \r \r ( d e f m 0021240 a c r o 006 002 r e m e m b e r 006 0021260 001 ( v a l u e & b o d y b 0021300 o d y ) ( l e t ( ( r e m e 0021320 m b e r - v a l ( i l : g e n 0021340 s y m ) ) ) \r 0021360 * 0021420 ` ( l e t ( ( , r e m e m 0021440 b e r - v a l , v a l u e ) ) 0021460 \r 0021500 * 0021540 ( w h e n r e m e m b e r 0021560 ( w r i t e - o p h a n d l 0021600 e ' f a s l - t a b l e - s t 0021620 o r e ) ) \r 0021640 * 0021700 , @ b o d y \r 0021720 * 0021760 ( 0022000 w h e n r e m e m b e r ( s 0022020 a v e - v a l u e h a n d l e 0022040 , r e m e m b e r - v a l ) ) 0022060 ) ) ) \r \r \r ( d e f u n 006 002 e 0022100 l e m e n t s - i d e n t i c a 0022120 l - p 006 001 ( a r r a y ) ( l 0022140 e t * ( ( s e q ( i l : % f 0022160 l a t t e n - a r r a y a r r 0022200 a y ) ) \r 0022220 * 0022260 ( t e s t e l t ( a r e f s 0022300 e q 0 ) ) ) \r 0022320 * 0022360 ( e v e r y # ' ( l a m b 0022400 d a ( x ) \r 0022420 * 0022500 ( e q l x t e s t e l t ) 0022520 ) s e q ) ) ) \r \r \r ( d e f u 0022540 n 006 002 e n d - b l o c k 006 001 0022560 ( h a n d l e ) ( s t a t e - 0022600 c a s e ( : b l o c k ( w h 0022620 e n c h e c k - t a b l e - s 0022640 i z e ( w r i t e - o p h a 0022660 n d l e ' \r 0022700 * 0023000 f a s l - v e r i f y - t 0023020 a b l e - s i z e ) \r 0023040 * 0023100 ( 0023120 d u m p - v a l u e h a n d l 0023140 e ( h a n d l e - l a s t - i 0023160 n d e x h a n d l e ) \r 0023200 * 0023260 n i l ) ) \r 0023300 * 0023340 ( i l : b 0023360 o u t ( h a n d l e - s t r e 0023400 a m h a n d l e ) \r 0023420 * 0023460 e 0023500 n d - m a r k ) \r 0023520 * 0023560 ( s e t f ( h a n 0023600 d l e - l a s t - i n d e x h 0023620 a n d l e ) \r 0023640 * 0023700 0 ) \r 0023720 * 0023760 ( s e t f 0024000 ( h a n d l e - h a s h h a n 0024020 d l e ) \r 0024040 * 0024100 ( m a k e - h a 0024120 s h - t a b l e : t e s t # 0024140 ' e q ) ) \r 0024160 * 0024220 ( s e t f ( h a n d l e 0024240 - s t a t e h a n d l e ) \r 0024260 * 0024340 : b l o c k - e n d ) ) ) ) 0024360 \r \r \r ( d e f u n 006 002 e n d - 0024400 t e x t 006 001 ( h a n d l e ) 0024420 ( s t a t e - c a s e ( : t e 0024440 x t ( i l : b o u t ( h a n 0024460 d l e - s t r e a m h a n d l 0024500 e ) \r 0024520 * 0024560 e n d - m a r k ) \r 0024600 * 0024640 ( s e t 0024660 f ( h a n d l e - s t a t e 0024700 h a n d l e ) \r 0024720 * 0024760 : b l o c k 0025000 ) ) ) ) \r \r \r ( d e f u n 006 002 0025020 w r i t e - o p 006 001 ( h a n d 0025040 l e o p n a m e ) ( s t a t 0025060 e - c a s e ( : b l o c k ( 0025100 l e t ( ( s t r e a m ( h a 0025120 n d l e - s t r e a m h a n d 0025140 l e ) ) \r 0025160 * 0025220 ( 0025240 o p s e q ( o p c o d e - s e 0025260 q u e n c e o p n a m e ) ) ) 0025300 \r 0025320 * 0025360 ( i f ( n 0025400 u l l o p s e q ) \r 0025420 * 0025500 ( e r r o r ' 0025520 u n i m p l e m e n t e d - o p 0025540 c o d e : o p n a m e \r 0025560 * 0025660 o p n a m e ) \r 0025700 * 0025760 ( d o l i s t ( 0026000 o p o p s e q ) \r 0026020 * 0026100 ( i 0026120 l : b o u t s t r e a m o p 0026140 ) ) ) ) ) ) ) \r \r \r ( d e f u n 0026160 006 002 l o o k u p - v a l u e 006 0026200 001 ( h a n d l e v a l u e ) 0026220 ( l e t ( ( h a s h - t a b 0026240 l e ( h a n d l e - h a s h 0026260 h a n d l e ) ) ) \r 0026300 * 0026340 ( a n d h a s h - t a b l 0026360 e ( i l : g e t h a s h v a 0026400 l u e h a s h - t a b l e ) ) 0026420 ) ) \r \r \r ( d e f u n 006 002 s a 0026440 v e - v a l u e 006 001 ( h a n d 0026460 l e v a l u e ) ( l e t ( 0026500 ( h a s h - t a b l e ( h a n 0026520 d l e - h a s h h a n d l e ) 0026540 ) ) \r 0026560 0026600 ( u n l e s s 0026620 ( n u l l h a s h - t a b l 0026640 e ) \r 0026660 * 0026720 ( s e t f ( i l : g e t h a s 0026740 h v a l u e h a s h - t a b 0026760 l e ) \r 0027000 * 0027040 ( h a n d l e - l 0027060 a s t - i n d e x h a n d l e 0027100 ) ) \r 0027120 * 0027160 ( i n c f ( h a n d l e - l a 0027200 s t - i n d e x h a n d l e ) 0027220 ) ) ) ) \r \r \r ( d e f u n 006 002 0027240 d u m p - v a l u e - f e t c h 0027260 006 001 ( h a n d l e i n d e x 0027300 ) ( w r i t e - o p h a n d 0027320 l e ' f a s l - t a b l e - f 0027340 e t c h ) \r 0027360 0027400 ( d u 0027420 m p - v a l u e h a n d l e 0027440 i n d e x n i l ) ) \r \r \r ( d 0027460 e f u n 006 002 d u m p - c h a r 0027500 a c t e r 006 001 ( h a n d l e 0027520 c h a r r e m e m b e r ) ( 0027540 006 002 d e c l a r e 006 001 ( i g n 0027560 o r e r e m e m b e r ) ) \r 0027600 \r 0027620 006 003 ( i l : * i l : | 0027640 ; ; | " C h a r a c t e r s 0027660 d o n ' t g e t r e m e m b 0027700 e r e d . " ) 006 001 \r \r 0027720 * 0027760 ( l e t ( ( c 0030000 o d e ( c h a r - c o d e c 0030020 h a r ) ) \r 0030040 * 0030100 ( s t r e a m 0030120 ( h a n d l e - s t r e a m 0030140 h a n d l e ) ) ) \r 0030160 * 0030220 ( w r i 0030240 t e - o p h a n d l e ' f a 0030260 s l - c h a r a c t e r ) \r 0030300 * 0030360 ( i f ( < c o d e 2 5 6 ) 0030400 \r 0030420 * 0030460 ( i l : b o u t 0030500 s t r e a m c o d e ) \r 0030520 * 0030600 ( p r o g n ( i l : b o 0030620 u t s t r e a m 2 5 5 ) \r 0030640 * 0030720 ( i l : 0030740 b o u t 1 6 s t r e a m c o 0030760 d e ) ) ) ) ) \r \r \r ( d e f u n 0031000 006 002 d u m p - s y m b o l 006 001 0031020 ( h a n d l e s y m b o l 0031040 r e m e m b e r ) \r 0031060 \r 0031100 006 003 ( i l : * i l : | ; ; | 0031120 \r 006 001 006 003 " 0031140 N o p o i n t i n r e m e 0031160 m b e r i n g t h e p n a m 0031200 e b e c a u s e S Y M B O L 0031220 - N A M E a l w a y s g i v 0031240 e s y o u a n e w o n e 0031260 . " ) 006 001 \r ( l e t * ( ( p 0031300 n a m e ( s y m b o l - n a m 0031320 e s y m b o l ) ) \r 0031340 ( p a c k a g e ( s y m 0031360 b o l - p a c k a g e s y m b 0031400 o l ) ) \r ( p k 0031420 g - n a m e ( a n d p a c k 0031440 a g e ( p a c k a g e - n a m 0031460 e p a c k a g e ) ) ) ) \r 0031500 ( r e m e m b e r s 0031520 y m b o l ( c o n d \r 0031540 0031560 ( ( k e y w o r d 0031600 p s y m b o l ) \r 0031620 0031640 ( w r i t e - o p 0031660 h a n d l e ' f a s l - k e y 0031700 w o r d - s y m b o l ) \r 0031720 0031740 ( d u m p - v 0031760 a l u e h a n d l e p n a m 0032000 e n i l ) ) \r 0032020 0032040 ( ( e q u a l p k g - n 0032060 a m e " L I S P " ) \r 0032100 0032120 ( w r i t e - o 0032140 p h a n d l e ' f a s l - l 0032160 i s p - s y m b o l ) \r 0032200 0032220 ( d u m p - v a 0032240 l u e h a n d l e p n a m e 0032260 n i l ) ) \r 0032300 0032320 ( ( e q u a l p k g - n a 0032340 m e " I N T E R L I S P " ) \r 0032360 0032400 ( w r i 0032420 t e - o p h a n d l e ' f a 0032440 s l - i n t e r l i s p - s y m 0032460 b o l ) \r 0032500 0032520 ( d u m p - v a l u e h a n 0032540 d l e p n a m e n i l ) ) \r 0032560 0032600 ( t ( w 0032620 r i t e - o p h a n d l e ' 0032640 f a s l - s y m b o l - i n - p 0032660 a c k a g e ) \r 0032700 0032720 ( d u m p - v a l u 0032740 e h a n d l e p n a m e n 0032760 i l ) \r 0033000 0033020 ( d u m p - v a l u e h a 0033040 n d l e p a c k a g e r e m 0033060 e m b e r ) ) ) ) ) ) \r \r \r ( d 0033100 e f u n 006 002 d u m p - l i s t 0033120 006 001 ( h a n d l e l i s t 0033140 r e m e m b e r ) ( m u l t i 0033160 p l e - v a l u e - b i n d ( 0033200 l e n g t h d o t t e d ) \r 0033220 * 0033260 ( d 0033300 o t t e d - l i s t - l e n g t 0033320 h l i s t ) \r 0033340 * 0033400 ( u n l e s s l 0033420 e n g t h ( e r r o r ' o b 0033440 j e c t - n o t - d u m p a b l 0033460 e : o b j e c t \r 0033500 * 0033600 l i s t ) ) \r 0033620 * 0033660 ( r e m e m b e r 0033700 l i s t ( w r i t e - o p h 0033720 a n d l e ( i f d o t t e d 0033740 \r 0033760 * 0034060 ' f a s l - l i s t * \r 0034100 * 0034220 ' f a s l - l i s t ) ) \r 0034240 * 0034320 ( d u m p - v a l u 0034340 e h a n d l e ( i f d o t 0034360 t e d ( 1 + l e n g t h ) \r 0034400 * 0034500 l e n 0034520 g t h ) \r 0034540 * 0034620 n i l ) \r 0034640 * 0034700 ( d o 0034720 t i m e s ( i l e n g t h ) 0034740 \r 0034760 * 0035020 ( d 0035040 u m p - v a l u e h a n d l e 0035060 ( c a r l i s t ) ) \r 0035100 * 0035160 ( p o p l 0035200 i s t ) ) \r 0035220 * 0035260 ( w h e 0035300 n d o t t e d ( d u m p - v 0035320 a l u e h a n d l e l i s t 0035340 n i l ) ) ) ) ) \r \r \r ( d e f 0035360 u n 006 002 d u m p - s i m p l e 0035400 - v e c t o r 006 001 ( h a n d l 0035420 e v e c t o r r e m e m b e 0035440 r ) ( l e t ( ( l e n g t h 0035460 ( l e n g t h v e c t o r ) 0035500 ) ) \r 0035520 * 0035560 ( r e m e 0035600 m b e r v e c t o r ( w r i 0035620 t e - o p h a n d l e \r 0035640 * 0035740 ' f a 0035760 s l - v e c t o r ) \r 0036000 * 0036060 ( d u m p - 0036100 v a l u e h a n d l e l e n 0036120 g t h r e m e m b e r ) \r 0036140 * 0036220 ( d o 0036240 t i m e s ( i l e n g t h ) 0036260 \r 0036300 * 0036360 ( d u m p - v a l 0036400 u e h a n d l e \r 0036420 * 0036520 ( s v r e f v e 0036540 c t o r i ) \r 0036560 * 0036660 r e m e m b e r ) ) ) 0036700 ) ) \r \r \r ( d e f u n 006 002 d u 0036720 m p - a r r a y - d e s c r i p 0036740 t o r 006 001 ( h a n d l e a r 0036760 r a y r e m e m b e r & k e 0037000 y ( i n i t i a l - e l e m e 0037020 n t n i l u s e - s i n g l 0037040 e - e l t ) ) \r ( r e m e 0037060 m b e r a r r a y ( w r i t 0037100 e - o p h a n d l e ' f a s 0037120 l - c r e a t e - a r r a y ) \r 0037140 ( d u m p - 0037160 v a l u e h a n d l e ( i f 0037200 ( e q l ( a r r a y - r a n 0037220 k a r r a y ) \r 0037240 0037260 1 0037300 ) \r 0037320 0037340 ( c a r ( a r r a y - d 0037360 i m e n s i o n s a r r a y ) 0037400 ) \r 0037420 0037440 ( a r r a y - d i m e n s 0037460 i o n s a r r a y ) ) \r 0037500 r e 0037520 m e m b e r ) \r 0037540 ( d u m p - v a l u e h a 0037560 n d l e ` ( : e l e m e n t - 0037600 t y p e , ( a r r a y - e l e 0037620 m e n t - t y p e a r r a y ) 0037640 : a d j u s t a b l e \r 0037660 * 0037720 , ( a d j u s t a b l e - a 0037740 r r a y - p a r r a y ) \r 0037760 * 0040020 , @ ( w h e n ( a r r a 0040040 y - h a s - f i l l - p o i n t 0040060 e r - p a r r a y ) \r 0040100 * 0040140 ` ( : f i l l 0040160 - p o i n t e r , ( f i l l - 0040200 p o i n t e r a r r a y ) ) ) 0040220 \r 0040240 0040260 , @ ( w h e n u s 0040300 e - s i n g l e - e l t ` ( : 0040320 i n i t i a l - e l e m e n t 0040340 , i n i t i a l - e l e m e n t 0040360 ) ) ) \r 0040400 r e m e m b e r ) ) 0040420 ) \r \r \r ( d e f u n 006 002 d u m 0040440 p - b i t - a r r a y 006 001 ( h 0040460 a n d l e a r r a y r e m e 0040500 m b e r ) ( l e t ( ( n b i 0040520 t s ( a r r a y - t o t a l - 0040540 s i z e a r r a y ) ) ) \r 0040560 * 0040640 ( u n l e s s ( z e r o p 0040660 ( i l : % a r r a y - o f f s e 0040700 t a r r a y ) ) \r 0040720 * 0041000 ( e r r o r ' o b j e 0041020 c t - n o t - d u m p a b l e 0041040 : o b j e c t a r r a y ) ) \r 0041060 * 0041140 ( r e m e m b e r a r r 0041160 a y ( w r i t e - o p h a n 0041200 d l e ' \r 0041220 * 0041320 f a s l - i n i t i a l i z e - 0041340 b i t - a r r a y ) \r 0041360 * 0041440 ( d u m p - v a l u e 0041460 h a n d l e n b i t s r e 0041500 m e m b e r ) \r 0041520 * 0041600 ( d u m p - a r r a y - d e 0041620 s c r i p t o r h a n d l e 0041640 a r r a y \r 0041660 * 0041740 r e m e m b e r 0041760 ) \r 0042000 * 0042040 ( i l : 0042060 \ \ b o u t s ( h a n d l e - 0042100 s t r e a m h a n d l e ) \r 0042120 * 0042220 ( i l : % a r r a y - b a s e 0042240 a r r a y ) \r 0042260 * 0042340 0 \r 0042360 * 0042440 ( c e i l 0042460 i n g n b i t s 8 ) ) ) ) ) 0042500 \r \r \r ( d e f u n 006 002 d u m p 0042520 - g e n e r a l - a r r a y 006 001 0042540 ( h a n d l e a r r a y r 0042560 e m e m b e r ) \r 0042600 \r 006 0042620 003 ( i l : * i l : | ; ; | " 0042640 A r r a y s d o n ' t g e t 0042660 r e m e m b e r e d . D i s 0042700 p l a c e m e n t i n f o r m 0042720 a t i o n i s l o s t . " ) 0042740 006 001 \r ( l e t * ( ( n e l t 0042760 s ( a r r a y - t o t a l - s 0043000 i z e a r r a y ) ) \r 0043020 ( e l t - t y p e ( a 0043040 r r a y - e l e m e n t - t y p 0043060 e a r r a y ) ) ) \r 0043100 ( w r i t e - o p h a n d 0043120 l e ' f a s l - i n i t i a l 0043140 i z e - a r r a y ) \r 0043160 ( d u m p - a r r a y - d e 0043200 s c r i p t o r h a n d l e 0043220 a r r a y n i l ) \r 0043240 ( d u m p - v a l u e h a 0043260 n d l e n e l t s n i l ) \r 0043300 ( l e t ( ( i n 0043320 d i r e c t ( m a k e - a r r 0043340 a y n e l t s : d i s p l a 0043360 c e d - t o a r r a y : e l 0043400 e m e n t - t y p e e l t - t 0043420 y p e ) ) ) \r 0043440 ( d o t i m e s ( i n 0043460 e l t s ) \r 0043500 ( d u m p - v 0043520 a l u e h a n d l e ( a r e 0043540 f i n d i r e c t i ) \r 0043560 0043600 n i l ) ) ) ) ) 0043620 \r \r \r ( d e f u n 006 002 d u m p 0043640 - a r r a y 006 001 ( h a n d l e 0043660 a r r a y r e m e m b e r ) 0043700 ( c o n d \r 0043720 * 0043760 ( ( x c l : d i s p l a 0044000 c e d - a r r a y - p a r r a 0044020 y ) \r 0044040 * 0044100 ( e r r o r ' o b j e c t - 0044120 n o t - d u m p a b l e : o b 0044140 j e c t a r r a y ) ) \r 0044160 * 0044220 ( ( a d j u 0044240 s t a b l e - a r r a y - p a 0044260 r r a y ) \r 0044300 * 0044340 ( d u m p - g e n e r a 0044360 l - a r r a y h a n d l e a 0044400 r r a y r e m e m b e r ) ) \r 0044420 * 0044460 ( ( t 0044500 y p e p a r r a y ' ( a r r 0044520 a y b i t ) ) \r 0044540 * 0044600 ( d u m p - b i t 0044620 - a r r a y h a n d l e a r 0044640 r a y r e m e m b e r ) ) \r 0044660 * 0044720 ( ( t y 0044740 p e p a r r a y ' v e c t o 0044760 r ) \r 0045000 * 0045040 ( d u m p - s i m p l e - v e 0045060 c t o r h a n d l e a r r a 0045100 y r e m e m b e r ) ) \r 0045120 * 0045160 ( t ( d u 0045200 m p - g e n e r a l - a r r a y 0045220 h a n d l e a r r a y r e 0045240 m e m b e r ) ) ) ) \r \r \r ( d e 0045260 f u n 006 002 w r i t e - i n t e 0045300 g e r - b y t e s 006 001 ( h a n 0045320 d l e n b y t e s v a l u e 0045340 ) ( l e t ( ( s t r e a m 0045360 ( h a n d l e - s t r e a m h 0045400 a n d l e ) ) ) \r 0045420 * 0045460 ( 0045500 d o l i s t ( b y t e ( i n 0045520 t e g e r - b y t e - l i s t 0045540 v a l u e n b y t e s ) ) \r 0045560 * 0045640 ( i l : 0045660 b o u t s t r e a m b y t e 0045700 ) ) ) ) \r \r \r ( d e f u n 006 002 0045720 i n t e g e r - b y t e - l i s 0045740 t 006 001 ( v a l u e n b y t e 0045760 s ) ( d o ( ( c o u n t 0 0046000 ( 1 + c o u n t ) ) \r 0046020 * 0046060 ( r e s u l 0046100 t n i l ) \r 0046120 * 0046160 ( n v a l u e ) \r 0046200 * 0046240 b y t e ) 0046260 \r 0046300 0046320 ( ( > 0046340 = c o u n t n b y t e s ) \r 0046360 * 0046420 r e s 0046440 u l t ) \r 0046460 * 0046520 ( m u l t i p l e - v a l u e 0046540 - s e t q ( n b y t e ) \r 0046560 * 0046640 ( f l o o r n 2 5 6 ) ) 0046660 \r 0046700 0046720 ( p u 0046740 s h b y t e r e s u l t ) ) 0046760 ) \r \r \r ( d e f u n 006 002 d u m 0047000 p - r a t i o n a l 006 001 ( h a 0047020 n d l e v a l u e r e m e m 0047040 b e r ) ( 006 002 d e c l a r e 006 0047060 001 ( i g n o r e r e m e m b 0047100 e r ) ) \r 0047120 * 0047160 ( w r i t e - o p h a n d 0047200 l e ' f a s l - r a t i o ) \r 0047220 * 0047260 ( d u 0047300 m p - v a l u e h a n d l e 0047320 ( n u m e r a t o r v a l u e 0047340 ) \r 0047360 * 0047420 n i l ) \r 0047440 * 0047500 ( d u m p - v a 0047520 l u e h a n d l e ( d e n o 0047540 m i n a t o r v a l u e ) \r 0047560 * 0047640 n i l ) ) \r \r \r ( d e f u 0047660 n 006 002 d u m p - c o m p l e x 0047700 006 001 ( h a n d l e v a l u e 0047720 r e m e m b e r ) ( 006 002 d e 0047740 c l a r e 006 001 ( i g n o r e 0047760 r e m e m b e r ) ) \r 0050000 * 0050040 ( w r i t e - o p 0050060 h a n d l e ' f a s l - c o 0050100 m p l e x ) \r 0050120 * 0050160 ( d u m p - v a l u e h 0050200 a n d l e ( r e a l p a r t 0050220 v a l u e ) \r 0050240 * 0050300 n i l ) \r 0050320 * 0050360 ( d u m p 0050400 - v a l u e h a n d l e ( i 0050420 m a g p a r t v a l u e ) \r 0050440 * 0050520 n i l ) ) \r \r \r ( d e f u n 0050540 006 002 d u m p - i n t e g e r 006 0050560 001 ( h a n d l e v a l u e 0050600 r e m e m b e r ) ( 006 002 d e c 0050620 l a r e 006 001 ( i g n o r e r 0050640 e m e m b e r ) ) \r 0050660 * 0050720 ( c o n d \r 0050740 * 0051000 ( ( a n d 0051020 ( < = 0 v a l u e ) \r 0051040 * 0051120 ( < v a l u e 1 2 8 ) 0051140 ) \r 0051160 * 0051220 ( i l : b o u t ( h a n d 0051240 l e - s t r e a m h a n d l e 0051260 ) \r 0051300 * 0051340 v a l u e ) ) 0051360 \r 0051400 * 0051440 ( ( a n d ( < = + s m a l l 0051460 e s t - f o u r - b y t e - i n 0051500 t e g e r + v a l u e \r 0051520 * 0051600 + l a r g e s t - f o u 0051620 r - b y t e - i n t e g e r + ) 0051640 ) \r 0051660 * 0051720 ( w r i t e - o p h a n d 0051740 l e ' f a s l - i n t e g e r 0051760 ) \r 0052000 * 0052040 ( w r i t e - i n t e g e r 0052060 - b y t e s h a n d l e 4 0052100 v a l u e ) ) \r 0052120 * 0052160 ( t ( w r i t e 0052200 - o p h a n d l e ' f a s l 0052220 - l a r g e - i n t e g e r ) \r 0052240 * 0052320 ( l e t * ( ( m i n b i t 0052340 s ( 1 + ( i n t e g e r - l 0052360 e n g t h v a l u e ) ) ) \r 0052400 * 0052460 ( n b y t e s 0052500 ( c e i l i n g ( i n t e g e 0052520 r - l e n g t h v a l u e ) \r 0052540 * 0052640 8 ) ) ) \r 0052660 \r 0052700 006 003 ( i l : * i l : | ; ; 0052720 | " A c c o r d i n g t o 0052740 t h e b o o k , M I N B I T 0052760 S g i v e s t h e m i n i 0053000 m u m f i e l d w i d t h 0053020 f o r t h i s n u m b e r 0053040 i n 2 ' s c o m p l e m e n 0053060 t r e p r e s e n t a t i o n 0053100 . " ) 006 001 \r \r 0053120 * 0053160 ( 0053200 d u m p - v a l u e h a n d l 0053220 e n b y t e s n i l ) \r 0053240 * 0053320 ( w r i t e - i n t 0053340 e g e r - b y t e s h a n d l 0053360 e n b y t e s v a l u e ) ) 0053400 ) ) ) \r \r \r ( d e f u n 006 002 d 0053420 u m p - p a c k a g e 006 001 ( h 0053440 a n d l e p a c k a g e r e 0053460 m e m b e r ) ( r e m e m b e 0053500 r p a c k a g e ( w r i t e 0053520 - o p h a n d l e ' f a s l 0053540 - f i n d - p a c k a g e ) \r 0053560 * 0053640 ( d u m p - v a l u e 0053660 h a n d l e ( p a c k a g e - 0053700 n a m e p a c k a g e ) \r 0053720 * 0054000 r e m e m b 0054020 e r ) ) ) \r \r \r ( d e f u n 006 0054040 002 d u m p - d c o d e 006 001 ( h 0054060 a n d l e d c o d e r e m e 0054100 m b e r ) \r 0054120 \r 006 003 ( i 0054140 l : * i l : | ; ; | " D C O 0054160 D E s d o n ' t g e t r e 0054200 m e m b e r e d b e c a u s e 0054220 t h e y a r e n e v e r 0054240 E Q . " ) 006 001 \r ( l e t ( ( 0054260 s t r e a m ( h a n d l e - s 0054300 t r e a m h a n d l e ) ) ) \r 0054320 ( m a c r o l e t 0054340 ( ( d u m p - s e q ( s e q 0054360 d u m p - l e n g t h & r e s 0054400 t s t u f f ) \r 0054420 0054440 ` ( l e t ( ( s e q , s e 0054460 q ) ) \r 0054500 0054520 , @ ( a n d d u m p - l e 0054540 n g t h ' ( ( d u m p - v a l 0054560 u e h a n d l e ( l e n g t 0054600 h s e q ) \r 0054620 * 0054700 r e m e m b e r ) ) ) \r 0054720 0054740 ( i f ( 0054760 l i s t p s e q ) \r 0055000 0055020 ( d o 0055040 l i s t ( e l t s e q ) \r 0055060 * 0055120 , @ s t u f f ) 0055140 \r 0055160 0055200 ( d o t i m e s ( i n d 0055220 e x ( l e n g t h s e q ) ) 0055240 \r 0055260 0055300 ( l e t ( 0055320 ( e l t ( a r e f s e q i 0055340 n d e x ) ) ) \r 0055360 * 0055420 , @ s t u f f ) ) ) 0055440 ) ) ) \r 0055460 ( w r i t e - o p h a n d l 0055500 e ' f a s l - d c o d e ) \r 0055520 ( d u m 0055540 p - v a l u e h a n d l e ( 0055560 l e n g t h ( d - a s s e m : 0055600 : d c o d e - n a m e - t a b l 0055620 e d c o d e ) ) \r 0055640 r e 0055660 m e m b e r ) \r 0055700 ( l e t * ( ( c o d 0055720 e - a r r a y ( d - a s s e m 0055740 : : d c o d e - c o d e - a r r 0055760 a y d c o d e ) ) \r 0056000 ( 0056020 n b y t e s ( l e n g t h c 0056040 o d e - a r r a y ) ) ) \r 0056060 0056100 ( d u m p - v a l u e h a n d 0056120 l e n b y t e s r e m e m b 0056140 e r ) \r 0056160 ( d o t i m e s 0056200 ( i n b y t e s ) \r 0056220 0056240 ( i l : b o u t s t 0056260 r e a m ( a r e f c o d e - 0056300 a r r a y i ) ) ) ) \r 0056320 ( d u m p - s 0056340 e q ( d - a s s e m : : d c o 0056360 d e - n a m e - t a b l e d c 0056400 o d e ) \r 0056420 n i l \r 0056440 0056460 ( i l : b o u t s t r e a m 0056500 ( f i r s t e l t ) ) \r 0056520 0056540 ( d u m p - v a l u e h a 0056560 n d l e ( s e c o n d e l t 0056600 ) \r 0056620 r e m 0056640 e m b e r ) \r 0056660 ( d u m p 0056700 - v a l u e h a n d l e ( t 0056720 h i r d e l t ) \r 0056740 0056760 r e m e m b e r ) ) \r 0057000 ( d u 0057020 m p - v a l u e h a n d l e 0057040 ( d - a s s e m : : d c o d e - 0057060 f r a m e - n a m e d c o d e 0057100 ) \r 0057120 r e m e m b e r ) \r 0057140 ( i l 0057160 : b o u t s t r e a m ( d - 0057200 a s s e m : : d c o d e - n l o 0057220 c a l s d c o d e ) ) \r 0057240 ( i l : b o 0057260 u t s t r e a m ( d - a s s 0057300 e m : : d c o d e - n f r e e v 0057320 a r s d c o d e ) ) \r 0057340 ( i l : b o u 0057360 t s t r e a m ( d - a s s e 0057400 m : : d c o d e - a r g - t y p 0057420 e d c o d e ) ) \r 0057440 ( d u m p - v a l 0057460 u e h a n d l e ( d - a s s 0057500 e m : : d c o d e - n u m - a r 0057520 g s d c o d e ) \r 0057540 r e 0057560 m e m b e r ) \r 0057600 ( d u m p - v a l u e 0057620 h a n d l e ( d - a s s e m 0057640 : : d c o d e - c l o s u r e - 0057660 p d c o d e ) \r 0057700 r e m 0057720 e m b e r ) \r 0057740 ( d u m p - v a l u e 0057760 h a n d l e ( d - a s s e m : 0060000 : d c o d e - d e b u g g i n g 0060020 - i n f o d c o d e ) \r 0060040 0060060 r e m e m b e r ) \r 0060100 ( m a c r o l e 0060120 t ( ( d u m p - f i x u p s 0060140 ( l i s t ) \r 0060160 0060200 ` ( d u m p - s e q 0060220 , l i s t t ( d u m p - v 0060240 a l u e h a n d l e ( f i r 0060260 s t e l t ) ) \r 0060300 * 0060340 ( d u m p - v a l u e h a n d 0060360 l e ( s e c o n d e l t ) ) 0060400 ) ) ) \r 0060420 ( d u m p - f i 0060440 x u p s ( d - a s s e m : : d 0060460 c o d e - f n - f i x u p s d 0060500 c o d e ) ) \r 0060520 ( d u m p 0060540 - f i x u p s ( d - a s s e m 0060560 : : d c o d e - s y m - f i x u 0060600 p s d c o d e ) ) \r 0060620 ( 0060640 d u m p - f i x u p s ( d - a 0060660 s s e m : : d c o d e - l i t - 0060700 f i x u p s d c o d e ) ) \r 0060720 0060740 ( d u m p - f i x u p s 0060760 ( d - a s s e m : : d c o d e - 0061000 t y p e - f i x u p s d c o d 0061020 e ) ) ) ) \r n i l ) 0061040 ) \r \r \r ( d e f u n 006 002 d u m 0061060 p - s t r i n g 006 001 ( h a n d 0061100 l e s t r i n g r e m e m b 0061120 e r ) \r ( r e m e m b e r 0061140 s t r i n g ( l e t ( ( s 0061160 t r e a m ( h a n d l e - s t 0061200 r e a m h a n d l e ) ) \r 0061220 0061240 ( n c h a r s 0061260 ( l e n g t h s t r i n g ) ) 0061300 ) \r 0061320 ( c o n d 0061340 \r 0061360 ( ( f 0061400 a t - s t r i n g - p s t r i 0061420 n g ) \r 0061440 0061460 ( w r i t e - o p h a n d l 0061500 e ' f a s l - f a t - s t r i 0061520 n g ) \r 0061540 0061560 ( d u m p - v a l u e h a n 0061600 d l e n c h a r s r e m e m 0061620 b e r ) \r 0061640 0061660 ( d o ( ( i 0 ( 1 + 0061700 i ) ) \r 0061720 0061740 ( c s e t 0 ) ) \r 0061760 * 0062020 ( ( > = i n c h a r s ) ) 0062040 006 003 ( 0062060 i l : * i l : \ ; " A l w a 0062100 y s r u n - e n c o d e " ) 006 0062120 001 \r 0062140 0062160 ( l e t * ( ( c h a r 0062200 ( c h a r - c o d e ( c h a r 0062220 s t r i n g i ) ) ) \r 0062240 * 0062300 ( n e w - c s e t ( 0062320 i l : l r s h c h a r 8 ) ) 0062340 ) \r 0062360 0062400 ( u n l e s s 0062420 ( e q l n e w - c s e t c 0062440 s e t ) \r 0062460 * 0062520 ( s e t q c s e t n e 0062540 w - c s e t ) \r 0062560 * 0062620 ( i l : b o u t s 0062640 t r e a m 2 5 5 ) \r 0062660 * 0062720 ( i l : b o u 0062740 t s t r e a m c s e t ) ) \r 0062760 * 0063020 ( i l : b o u t 0063040 s t r e a m ( l o g a n d c 0063060 h a r 2 5 5 ) ) ) ) ) \r 0063100 0063120 ( t ( w r i 0063140 t e - o p h a n d l e ' f a 0063160 s l - t h i n - s t r i n g ) \r 0063200 0063220 ( 0063240 d u m p - v a l u e h a n d l 0063260 e n c h a r s r e m e m b e 0063300 r ) \r \r 0063320 006 003 ( i l : * 0063340 i l : | ; ; | " s h o u l d 0063360 u s e \ \ b o u t s " ) 006 001 \r 0063400 \r 0063420 0063440 ( d o t i m e s ( i n c h a 0063460 r s ) \r 0063500 0063520 ( i l : b o 0063540 u t s t r e a m ( c h a r - 0063560 c o d e ( c h a r s t r i n 0063600 g i ) ) ) ) ) ) ) ) ) \r \r \r ( 0063620 d e f u n 006 002 d u m p - f l o 0063640 a t 3 2 006 001 ( h a n d l e n 0063660 u m b e r r e m e m b e r ) 0063700 0063720 006 003 ( i l : * i l : \ ; \r 006 0063740 001 0063760 * 0064020 006 003 0064040 " F l o a t s d o n ' t g e 0064060 t r e m e m b e r e d " ) 006 001 0064100 \r ( w r i t e - o p h a 0064120 n d l e ' f a s l - f l o a t 0064140 3 2 ) \r ( i l : \ \ b o u 0064160 t s ( h a n d l e - s t r e a 0064200 m h a n d l e ) \r 0064220 n u m b e r 0 4 ) ) 0064240 \r \r \r ( d e f u n 006 002 d u m p 0064260 - s t r u c t u r e 006 001 ( h a 0064300 n d l e v a l u e r e m e m 0064320 b e r ) ( l e t ( ( t y p e 0064340 ( i l : t y p e n a m e v a 0064360 l u e ) ) ) \r 0064400 * 0064440 ( r e m e m 0064460 b e r v a l u e ( w r i t e 0064500 - o p h a n d l e ' f a s l 0064520 - s t r u c t u r e ) \r 0064540 * 0064620 ( d u m p - v a l u 0064640 e h a n d l e t y p e t ) 0064660 \r 0064700 * 0064740 ( d u m p 0064760 - v a l u e \r 0065000 * 0065060 h a n d l e \r 0065100 * 0065160 ( 006 002 i l : f o r 006 001 0065200 f i e l d 006 002 i l : i n 006 001 0065220 ( i l : s l o t - l i s t t y 0065240 p e ) \r 0065260 * 0065340 006 002 i l : a s 006 001 d e s c 0065360 r i p t o r \r 0065400 * 0065460 006 002 i l : i n 006 001 ( 0065500 i l : g e t d e s c r i p t o r 0065520 s t y p e ) \r 0065540 * 0065620 006 002 i l : j o i n 006 0065640 001 ( l i s t f i e l d ( i 0065660 l : f e t c h f i e l d \r 0065700 * 0066020 d e s c r i p t o r v a l u e 0066040 ) ) \r 0066060 * 0066140 ) \r 0066160 * 0066240 t ) ) ) ) \r \r \r ( d e f u n 0066260 006 002 d u m p - b i t m a p 006 001 0066300 ( h a n d l e v a l u e r 0066320 e m e m b e r ) ( l e t ( ( 0066340 w i d t h ( i l : b i t m a p 0066360 w i d t h v a l u e ) ) \r 0066400 * 0066440 ( 0066460 h e i g h t ( i l : b i t m a 0066500 p h e i g h t v a l u e ) ) \r 0066520 * 0066600 ( b i t s - p e r - p i x e l 0066620 ( i l : b i t s p e r p i x e 0066640 l v a l u e ) ) \r 0066660 * 0066720 ( b a s e 0066740 ( 006 002 i l : f e t c h 006 001 ( 0066760 i l : b i t m a p i l : b i t 0067000 m a p b a s e ) \r 0067020 * 0067100 006 002 i l : o f 006 001 v a l 0067120 u e ) ) \r 0067140 * 0067200 ( s t r e a m ( h 0067220 a n d l e - s t r e a m h a n 0067240 d l e ) ) ) \r 0067260 * 0067320 ( r e m e m b e r 0067340 v a l u e \r 0067360 * 0067440 006 003 ( i l : * i l : 0067460 \ ; \r 006 001 0067500 * 0067560 006 003 " R e m e m b e r t 0067600 h e b i t m a p i t s e l f 0067620 . " ) 006 001 \r 0067640 * 0067700 ( w r 0067720 i t e - o p h a n d l e ' f 0067740 a s l - b i t m a p 1 6 ) \r 0067760 * 0070040 ( d u m p - v a l u e 0070060 h a n d l e w i d t h ) \r 0070100 * 0070160 ( d u m p - v a l u 0070200 e h a n d l e h e i g h t ) 0070220 \r 0070240 * 0070300 ( d u m p - v a 0070320 l u e h a n d l e b i t s - 0070340 p e r - p i x e l ) \r 0070360 * 0070440 ( i l : \ \ b o u t s s t 0070460 r e a m b a s e 0 \r 0070500 * 0070560 ( * 2 h 0070600 e i g h t ( c e i l i n g ( 0070620 * w i d t h \r 0070640 * 0070740 b 0070760 i t s - p e r - p i x e l ) \r 0071000 * 0071120 1 6 ) ) ) ) ) ) \r \r \r ( d e f u 0071140 n 006 002 o p e n - f a s l - h a 0071160 n d l e 006 001 ( n a m e & r e 0071200 s t o p e n - o p t i o n s ) 0071220 ( l e t ( ( s t r e a m ( 0071240 a p p l y # ' o p e n n a m 0071260 e : d i r e c t i o n : o u 0071300 t p u t \r 0071320 * 0071400 o p e 0071420 n - o p t i o n s ) ) ) \r 0071440 * 0071520 ( i l : s e t f i l e p 0071540 t r s t r e a m 0 ) \r 0071560 * 0071640 ( i l : b o u t s t r 0071660 e a m s i g n a t u r e ) \r 0071700 * 0071760 ( i l : b o u t 1 6 0072000 s t r e a m c u r r e n t - 0072020 v e r s i o n ) \r 0072040 * 0072120 ( m a k e - h a n d l e : s t 0072140 r e a m s t r e a m ) ) ) \r \r 0072160 \r ( d e f m a c r o 006 002 w i t 0072200 h - o p e n - h a n d l e 006 001 0072220 ( ( h a n d l e f i l e n a m 0072240 e & r e s t o p e n - o p t 0072260 i o n s ) \r 0072300 0072320 & b o d y \r 0072340 0072360 ( b o d y d e c l s ) 0072400 ) ( l e t ( ( a b o r t ( 0072420 i l : g e n s y m " F A S L : 0072440 W I T H - O P E N - F A S L - H 0072460 A N D L E " ) ) ) \r 0072500 * 0072540 ` ( l e t ( 0072560 ( , h a n d l e ( o p e n - f 0072600 a s l - h a n d l e , f i l e 0072620 n a m e \r 0072640 * 0072720 , @ o p e 0072740 n - o p t i o n s ) ) \r 0072760 * 0073040 ( , a b o r t t ) ) \r 0073060 * 0073140 , @ d e c l s \r 0073160 * 0073240 ( u n w i n d - p r o t e c t 0073260 ( m u l t i p l e - v a l u e - 0073300 p r o g 1 \r 0073320 * 0073400 ( p r o 0073420 g n , @ b o d y ) \r 0073440 * 0073540 ( s e t q , a b o r t n i 0073560 l ) ) \r 0073600 * 0073660 ( w h e n , h a n d l e ( c 0073700 l o s e - f a s l - h a n d l e 0073720 \r 0073740 * 0074020 , h a n 0074040 d l e : a b o r t \r 0074060 * 0074160 , a b o r t ) ) ) ) 0074200 ) ) \r \r \r ( d e f u n 006 002 b e 0074220 g i n - t e x t 006 001 ( h a n d 0074240 l e ) ( s t a t e - c a s e 0074260 ( ( : t e x t : b l o c k - e 0074300 n d ) ) \r 0074320 0074340 ( : b l o c k ( 0074360 e n d - b l o c k h a n d l e 0074400 ) ) ) \r 0074420 ( 0074440 s e t f ( h a n d l e - s t a 0074460 t e h a n d l e ) \r 0074500 0074520 : t e x 0074540 t ) \r 0074560 ( h 0074600 a n d l e - s t r e a m h a n 0074620 d l e ) ) \r \r \r ( d e f u n 006 0074640 002 b e g i n - b l o c k 006 001 ( 0074660 h a n d l e ) ( s t a t e - c 0074700 a s e ( : b l o c k - e n d 0074720 ( b e g i n - t e x t h a n d 0074740 l e ) \r 0074760 * 0075020 ( e n d - t e x t h a n 0075040 d l e ) ) \r 0075060 0075100 ( : t e x t 0075120 ( e n d - t e x t h a n d l e 0075140 ) ) \r 0075160 0075200 ( : b l o c k ) ) ) 0075220 \r \r \r ( d e f u n 006 002 v a l u 0075240 e - d u m p a b l e - p 006 001 ( 0075260 o b j ) ( x c l : c o n d i t 0075300 i o n - c a s e ( p r o g n 0075320 ( d u m p - v a l u e d u m m 0075340 y - h a n d l e o b j n i l 0075360 ) \r 0075400 * 0075440 t ) \r 0075460 * 0075520 ( o b j e c t - n o t - d 0075540 u m p a b l e n i l n i l ) 0075560 ) ) \r \r \r ( d e f u n 006 002 d u 0075600 m p - v a l u e 006 001 ( h a n d 0075620 l e v a l u e & o p t i o n 0075640 a l ( r e m e m b e r t ) \r 0075660 0075700 & a u x i n 0075720 d e x ) ( s t a t e - c a s e 0075740 ( : b l o c k ( c o n d \r 0075760 * 0076040 ( ( e q 0076060 v a l u e n i l ) \r 0076100 * 0076160 ( w r i t e - o 0076200 p h a n d l e ' f a s l - n 0076220 i l ) ) \r 0076240 * 0076320 ( ( e q v a l u e t ) \r 0076340 * 0076420 ( w r i 0076440 t e - o p h a n d l e ' f a 0076460 s l - t ) ) \r 0076500 * 0076560 ( ( p r o g 1 ( s e t q 0076600 i n d e x ( l o o k u p - v 0076620 a l u e h a n d l e \r 0076640 * 0076760 v a l u e ) ) \r 0077000 * 0077100 ( w h e n * g a t h e r - d u 0077120 m p e r - s t a t s * \r 0077140 * 0077240 ( i n c f * t a b 0077260 l e - a t t e m p t s * ) ) ) \r 0077300 * 0077360 ( w h 0077400 e n * g a t h e r - d u m p e 0077420 r - s t a t s * ( i n c f \r 0077440 * 0077560 * t a b l e - 0077600 h i t s * \r 0077620 * 0077740 ) ) \r 0077760 * 0100040 ( d u m p - v a l u e 0100060 - f e t c h h a n d l e i n 0100100 d e x ) ) \r 0100120 * 0100200 ( t ( t y p e c a s e v 0100220 a l u e \r 0100240 * 0100320 ( i n t e 0100340 g e r ( d u m p - i n t e g e 0100360 r h a n d l e \r 0100400 * 0100520 v a l u e r e m e m b e r ) \r 0100540 * 0100640 ) \r 0100660 * 0100760 ( r a t i o n a l ( 0101000 d u m p - r a t i o n a l h a 0101020 n d l e \r 0101040 * 0101140 v a l 0101160 u e r e m e m b e r \r 0101200 * 0101320 ) ) \r 0101340 * 0101420 ( s i n 0101440 g l e - f l o a t ( d u m p - 0101460 f l o a t 3 2 \r 0101500 * 0101600 h a n 0101620 d l e v a l u e \r 0101640 * 0101760 r e m e m b e r ) ) \r 0102000 * 0102100 ( c o m p l e x ( d u m p - 0102120 c o m p l e x h a n d l e \r 0102140 * 0102260 v a l u e r e m e 0102300 m b e r ) \r 0102320 * 0102420 ) \r 0102440 * 0102520 ( c h a r 0102540 a c t e r ( d u m p - c h a r 0102560 a c t e r \r 0102600 * 0102700 h a n d l e v 0102720 a l u e \r 0102740 * 0103040 r e m e m b e r 0103060 ) ) \r 0103100 * 0103160 ( s y m b o l 0103200 ( d u m p - s y m b o l h a 0103220 n d l e \r 0103240 * 0103340 v a l u e 0103360 r e m e m b e r ) ) \r 0103400 * 0103500 ( p a c k a g e ( d u m p 0103520 - p a c k a g e h a n d l e 0103540 \r 0103560 * 0103660 v a l u e r e m 0103700 e m b e r ) \r 0103720 * 0104020 ) \r 0104040 * 0104120 ( c o n 0104140 s ( d u m p - l i s t h a n 0104160 d l e v a l u e \r 0104200 * 0104300 r e 0104320 m e m b e r ) ) \r 0104340 * 0104420 ( 0104440 d - a s s e m : d c o d e ( d 0104460 u m p - d c o d e \r 0104500 * 0104620 h a n d l e v a l u e \r 0104640 * 0104760 r e m e m b e r ) ) \r 0105000 * 0105100 ( s t r i n g ( d u 0105120 m p - s t r i n g h a n d l e 0105140 \r 0105160 * 0105260 v a l u e r e m 0105300 e m b e r ) ) \r 0105320 * 0105400 ( a 0105420 r r a y ( d u m p - a r r a y 0105440 h a n d l e v a l u e \r 0105460 * 0105600 r e m e m b e r ) ) \r 0105620 * 0105720 ( c o m p i l e r : : e 0105740 v a l - w h e n - l o a d \r 0105760 * 0106060 ( d u m p - e v a l 0106100 h a n d l e ( \r 0106120 * 0106220 c o m p i l e r : : e v a l - 0106240 w h e n - l o a d - f o r m \r 0106260 * 0106400 v a l u e ) ) 0106420 ) \r 0106440 * 0106520 ( c l : : s t r 0106540 u c t u r e - o b j e c t \r 0106560 * 0106660 ( d u m p - s t r u c 0106700 t u r e h a n d l e v a l u 0106720 e \r 0106740 * 0107040 r e m e m b e r ) ) \r 0107060 * 0107160 ( i l : b i t m a p ( d u 0107200 m p - b i t m a p h a n d l e 0107220 \r 0107240 * 0107340 v a l u e 0107360 \r 0107400 * 0107500 r e m e m b e 0107520 r ) ) \r 0107540 * 0107620 ( o t h e r 0107640 w i s e ( e r r o r ' \r 0107660 * 0110000 o b j e c t - n o t - d u m p a 0110020 b l e \r 0110040 * 0110140 : o b 0110160 j e c t v a l u e \r 0110200 * 0110320 ) ) ) ) ) ) ) ) \r \r \r ( d 0110340 e f u n 006 002 d u m p - f u n c 0110360 t i o n - d e f 006 001 ( h a n d 0110400 l e d c o d e n a m e ) ( 0110420 s t a t e - c a s e ( : b l o 0110440 c k ( w r i t e - o p h a n 0110460 d l e ' \r 0110500 * 0110560 f a 0110600 s l - s e t f - s y m b o l - f 0110620 u n c t i o n ) \r 0110640 * 0110720 ( d u m p - v 0110740 a l u e h a n d l e n a m e 0110760 ) \r 0111000 * 0111060 ( d u m p - v a l u e h a 0111100 n d l e d c o d e ) ) ) ) \r \r 0111120 \r ( d e f u n 006 002 d u m p - f 0111140 u n c a l l 006 001 ( h a n d l e 0111160 f u n c t i o n ) ( s t a t 0111200 e - c a s e ( : b l o c k ( 0111220 w r i t e - o p h a n d l e 0111240 ' f a s l - f u n c a l l ) \r 0111260 * 0111340 ( d u m p - v a 0111360 l u e h a n d l e f u n c t 0111400 i o n ) ) ) ) \r \r \r ( d e f u n 0111420 006 002 d u m p - e v a l 006 001 ( 0111440 h a n d l e f o r m ) ( s t 0111460 a t e - c a s e ( : b l o c k 0111500 ( w r i t e - o p h a n d l 0111520 e ' f a s l - e v a l ) \r 0111540 * 0111620 ( d u m p - v a l u e h a n d 0111640 l e f o r m ) ) ) ) \r \r \r ( d 0111660 e f u n 006 002 c l o s e - f a s 0111700 l - h a n d l e 006 001 ( h a n d 0111720 l e & r e s t c l o s e - o 0111740 p t i o n s & k e y a b o r 0111760 t & a l l o w - o t h e r - k 0112000 e y s ) \r ( s t a t e - c 0112020 a s e ( : t e x t ( e n d - 0112040 t e x t h a n d l e ) \r 0112060 0112100 ( e n d - b l o c k h a 0112120 n d l e ) ) \r 0112140 ( : b l o c k ( e n d - b l 0112160 o c k h a n d l e ) ) \r 0112200 ( : b l o c k - e 0112220 n d ) ) \r ( s e t f ( h 0112240 a n d l e - s t a t e h a n d 0112260 l e ) \r : c l 0112300 o s e d ) \r ( a p p l y 0112320 # ' c l o s e ( h a n d l e - 0112340 s t r e a m h a n d l e ) \r 0112360 c l o s e - o 0112400 p t i o n s ) ) \r \r \r \r \r 006 004 ( 0112420 i l : * i l : | ; ; ; | " R 0112440 e a d e r . " ) 006 001 \r \r \r ( x c 0112460 l : d e f - d e f i n e - t y p 0112500 e 006 002 f a s l - o p s 006 001 " 0112520 F A S L f i l e o p c o d e 0112540 s " ) \r \r \r ( d e f s t r u c 0112560 t ( 006 002 o p t a b l e 006 001 ( 0112600 : c o n s t r u c t o r n e w 0112620 - o p t a b l e ) ) v e c t o 0112640 r o p n a m e s n e x t ) \r 0112660 \r \r ( d e f u n 006 002 m a k e - 0112700 o p t a b l e 006 001 n i l ( l 0112720 e t ( ( t a b l e ( n e w - 0112740 o p t a b l e ) ) \r 0112760 0113000 ( v e c t o r 0113020 ( m a k e - a r r a y 2 5 6 0113040 : i n i t i a l - e l e m e n t 0113060 ' u n i m p l e m e n t e d - 0113100 o p c o d e ) ) ) \r 0113120 0113140 ( s e t f ( o p 0113160 t a b l e - v e c t o r t a b 0113200 l e ) \r 0113220 0113240 v e c t o r ) \r 0113260 0113300 ( s e t 0113320 f ( s v r e f v e c t o r 0113340 e n d - m a r k ) \r 0113360 0113400 ' f a 0113420 s l - e n d - o f - b l o c k ) 0113440 \r 0113460 t a 0113500 b l e ) ) \r \r \r ( d e f u n 006 0113520 002 f a s l - e n d - o f - b l o 0113540 c k 006 001 ( s t r e a m o p ) 0113560 ( i f ( z e r o p * b l o 0113600 c k - l e v e l * ) \r 0113620 * 0113660 ( t h r o w ' f a s l 0113700 - b l o c k - f i n i s h e d 0113720 n i l ) \r 0113740 0113760 ( e 0114000 r r o r ' u n e x p e c t e d 0114020 - e n d - o f - b l o c k : s 0114040 t r e a m s t r e a m ) ) ) \r 0114060 \r \r ( x c l : d e f d e f i n e 0114100 r 006 002 d e f o p 006 001 f a s l 0114120 - o p s ( i l : n a m e ( o 0114140 p c o d e & k e y ( i n d i 0114160 r e c t 0 ) \r 0114200 * 0114240 ( t a b l e ' * 0114260 d e f a u l t - o p t a b l e * 0114300 ) ) \r 0114320 0114340 & b o d y \r 0114360 * 0114420 ( b o d y d e c l s 0114440 d o c ) ) \r 0114460 0114500 ( i f ( z e r o p i n 0114520 d i r e c t ) \r 0114540 0114560 ` ( p r o g n 0114600 ( d e f u n ( 006 002 i l : \ \ \ 0114620 , 006 001 i l : n a m e ) ( s t 0114640 r e a m o p c o d e ) , ( o 0114660 r d o c \r 0114700 * 0115000 " F A S L o p c o d e i m p 0115020 l e m e n t a t i o n " \r 0115040 * 0115160 ) , @ d e c l s \r 0115200 * 0115320 , @ b o d y ) \r \r 0115340 * 0115400 ( s e t f ( e l t 0115420 ( o p t a b l e - v e c t o r 0115440 , t a b l e ) \r 0115460 * 0115520 , o p c o 0115540 d e ) \r 0115560 * 0115620 ' , i l : n a m e ) \r 0115640 * 0115700 ( a d d - o p - t r a 0115720 n s l a t i o n ' , i l : n a 0115740 m e , o p c o d e , t a b l 0115760 e ) ) \r 0116000 0116020 ` ( p r o g n ( u n l 0116040 e s s ( o p t a b l e - n e x 0116060 t , t a b l e ) \r 0116100 * 0116140 ( s e t f ( 0116160 o p t a b l e - n e x t , t a 0116200 b l e ) \r 0116220 * 0116260 ( m a k e - 0116300 o p t a b l e ) ) \r 0116320 * 0116360 ( s e t e s c 0116400 a p e , t a b l e ) ) \r 0116420 * 0116460 ( d e f o p ( 006 002 i 0116500 l : \ \ \ , 006 001 i l : n a m e 0116520 ) ( , o p c o d e : i n d i 0116540 r e c t \r 0116560 * 0116640 , ( 1 0116660 - i n d i r e c t ) : t a b 0116700 l e \r 0116720 * 0117000 ( o p t a 0117020 b l e - n e x t , t a b l e ) 0117040 ) \r 0117060 0117100 , ( o 0117120 r d o c " F A S L o p c o 0117140 d e i m p l e m e n t a t i o 0117160 n " ) , @ d e c l s \r 0117200 * 0117240 , @ b 0117260 o d y ) \r ) ) ) \r \r \r ( x c l : 0117300 d e f d e f i n e r 006 002 d e f 0117320 r a n g e 006 001 \r f a s l - 0117340 o p s ( i l : n a m e ( f i 0117360 r s t - o p c o d e & k e y 0117400 ( i n d i r e c t 0 ) \r 0117420 0117440 ( t a b l e 0117460 ' * d e f a u l t - o p t a b l 0117500 e * ) ) \r 0117520 r a n g e o f 0117540 f s e t & b o d y ( b o d y 0117560 d e c l s d o c ) ) \r 0117600 ( i f ( z e r o p 0117620 i n d i r e c t ) \r 0117640 ` ( p r o g n 0117660 ( d e f u n ( 006 002 i l : \ \ \ 0117700 , 006 001 i l : n a m e ) ( s t 0117720 r e a m o p c o d e ) , ( o 0117740 r d o c " F A S L o p c o 0117760 d e i m p l e m e n t a t i o 0120000 n " ) \r 0120020 * 0120100 , @ d e c l s \r 0120120 * 0120200 , @ b o d y ) \r 0120220 \r 0120240 ( l e t ( ( p a c 0120260 k a g e ( s y m b o l - p a c 0120300 k a g e ' , i l : n a m e ) ) 0120320 \r 0120340 ( p n a 0120360 m e ( s y m b o l - n a m e 0120400 ' , i l : n a m e ) ) ) \r 0120420 0120440 ( d o t i m e s 0120460 ( i , r a n g e ) \r 0120500 0120520 ( l e t 0120540 ( ( o p c o d e ( + i , 0120560 f i r s t - o p c o d e ) ) ) \r 0120600 * 0120640 ( s e t f ( e l t 0120660 ( o p t a b l e - v e c t o r 0120700 , t a b l e ) \r 0120720 * 0120760 o p c o d e 0121000 ) \r 0121020 0121040 ' , 0121060 i l : n a m e ) \r 0121100 0121120 ( 0121140 a d d - o p - t r a n s l a t i 0121160 o n ( i n t e r n ( c o n c 0121200 a t e n a t e \r 0121220 * 0121300 ' s t r i 0121320 n g p n a m e \r 0121340 * 0121420 ( w r i 0121440 t e - t o - s t r i n g \r 0121460 * 0121560 ( + i , o f f s e t ) ) ) 0121600 \r 0121620 * 0121700 p a c k a g e ) \r 0121720 * 0121760 o p c o d e \r 0122000 * 0122040 , t a b 0122060 l e ) ) ) ) ) \r 0122100 ` ( p r o g n ( u n 0122120 l e s s ( o p t a b l e - n e 0122140 x t , t a b l e ) \r 0122160 0122200 ( s e t f ( o p 0122220 t a b l e - n e x t , t a b l 0122240 e ) \r 0122260 0122300 ( m a k e - o p t a b 0122320 l e ) ) \r 0122340 0122360 ( s e t e s c a p e , t a b 0122400 l e ) ) \r 0122420 ( d e f r a 0122440 n g e ( 006 002 i l : \ \ \ , 006 001 0122460 i l : n a m e ) ( , f i r s 0122500 t - o p c o d e : i n d i r e 0122520 c t , ( 1 - i n d i r e c t 0122540 ) : t a b l e \r 0122560 * 0122640 ( o p t a b l e - n e x t , 0122660 t a b l e ) ) , ( o r d o c 0122700 \r 0122720 * 0123000 " F A S L 0123020 o p c o d e i m p l e m e n 0123040 t a t i o n " \r 0123060 * 0123160 ) , @ 0123200 d e c l s \r 0123220 * 0123320 , @ b o d 0123340 y ) \r ) ) ) \r \r \r ( d e f u n 0123360 006 002 a d d - o p - t r a n s l a 0123400 t i o n 006 001 ( n a m e o p c 0123420 o d e t a b l e ) ( l e t 0123440 ( ( p a i r ( a s s o c n a 0123460 m e ( o p t a b l e - o p n a 0123500 m e s t a b l e ) ) ) ) \r 0123520 * 0123600 ( i f p a i r ( s e t f 0123620 ( c d r p a i r ) \r 0123640 * 0123720 o p c 0123740 o d e ) \r 0123760 * 0124020 ( p u s 0124040 h ( c o n s n a m e o p c 0124060 o d e ) \r 0124100 * 0124160 ( o p t a b l e - o p n a m 0124200 e s t a b l e ) ) ) ) ) \r \r \r 0124220 ( d e f u n 006 002 o p c o d e - 0124240 s e q u e n c e 006 001 ( o p n a 0124260 m e & o p t i o n a l ( t a 0124300 b l e * d e f a u l t - o p t 0124320 a b l e * ) \r 0124340 0124360 & a u x e n t r y ) 0124400 ( c o n d \r 0124420 * 0124460 ( ( n u l l t a b l e 0124500 ) \r 0124520 * 0124560 n i l ) \r 0124600 * 0124640 ( ( s e t q e n t r y ( 0124660 a s s o c o p n a m e ( o p 0124700 t a b l e - o p n a m e s t a 0124720 b l e ) ) ) \r 0124740 * 0125000 ( l i s t ( c d r 0125020 e n t r y ) ) ) \r 0125040 * 0125100 ( ( s e t q e n t 0125120 r y ( o p c o d e - s e q u e 0125140 n c e o p n a m e ( o p t a 0125160 b l e - n e x t \r 0125200 * 0125300 t a b l 0125320 e ) ) ) \r 0125340 * 0125400 ( c o n s f a s l - e x 0125420 t e n d e d e n t r y ) ) \r 0125440 * 0125500 ( t n 0125520 i l ) ) ) \r \r \r ( d e f u n 006 0125540 002 f a s l - e x t e n d e d 006 001 0125560 ( s t r e a m o p ) ( w i 0125600 t h - o p t a b l e ( o p t a 0125620 b l e - n e x t * c u r r e n 0125640 t - o p t a b l e * ) \r 0125660 * 0125720 ( d o - o p s t r e a 0125740 m ) ) ) \r \r \r ( d e f u n 006 002 0125760 s e t e s c a p e 006 001 ( t a b 0126000 l e ) ( s e t f ( s v r e f 0126020 ( o p t a b l e - v e c t o r 0126040 t a b l e ) \r 0126060 0126100 f a 0126120 s l - e x t e n d e d ) \r 0126140 0126160 # ' f a 0126200 s l - e x t e n d e d ) ) \r \r \r 0126220 ( d e f u n 006 002 u n i m p l e 0126240 m e n t e d - o p c o d e 006 001 0126260 ( s t r e a m o p c o d e ) 0126300 ( e r r o r ' u n i m p l e m 0126320 e n t e d - o p c o d e : o p 0126340 n a m e o p c o d e ) ) \r \r \r 0126360 ( d e f v a r 006 002 * d e f a u 0126400 l t - o p t a b l e * 006 001 ( m 0126420 a k e - o p t a b l e ) ) \r \r 0126440 \r ( d e f v a r 006 002 * c u r r 0126460 e n t - o p t a b l e * 006 001 n 0126500 i l ) \r \r \r ( d e f p a r a m e 0126520 t e r 006 002 i n i t i a l - v a 0126540 l u e - t a b l e - s i z e 006 001 0126560 2 0 4 8 ) \r \r \r ( d e f c o n 0126600 s t a n t 006 002 v a l u e - t a 0126620 b l e - i n c r e m e n t 006 001 0126640 1 0 2 4 ) \r \r \r ( d e f v a r 0126660 006 002 * v a l u e - t a b l e * 006 0126700 001 n i l ) \r \r \r ( d e f v a r 0126720 006 002 * b l o c k - l e v e l * 0126740 006 001 0 ) \r \r \r ( d e f v a r 0126760 006 002 d e b u g - r e a d e r 006 001 0127000 n i l ) \r \r \r ( d e f v a r 0127020 006 002 d e b u g - s t r e a m 006 001 0127040 n i l ) \r \r \r ( d e f m a c r 0127060 o 006 002 w i t h - o p t a b l e 0127100 006 001 ( t a b l e & b o d y 0127120 b o d y ) ` ( l e t ( ( * c 0127140 u r r e n t - o p t a b l e * 0127160 , t a b l e ) ) \r 0127200 * 0127240 , @ b o d y ) 0127260 ) \r \r \r ( d e f u n 006 002 p r o 0127300 c e s s - f i l e 006 001 ( s t r 0127320 e a m & k e y ( t e x t - f 0127340 n # ' ( l a m b d a ( t e x 0127360 t ) \r 0127400 * 0127440 ( p r i n c t e x 0127460 t ) \r 0127500 * 0127540 ( t e r p r i ) ) ) 0127560 \r 0127600 ( i t e 0127620 m - f n n i l ) ) " C a l l 0127640 s F A S L : P R O C E S S - S 0127660 E G M E N T w i t h t h e 0127700 a p p r o r i a t e a r g u m 0127720 e n t s f o r e a c h s e 0127740 g m e n t i n t h e f i l 0127760 e . T h e s t r e a m s h 0130000 o u l d b e p o s i t i o n 0130020 e d a t t h e b e g i n n 0130040 i n g . " \r ( u n l e s s 0130060 ( e q l ( i l : b i n s t 0130100 r e a m ) \r 0130120 s i g n a t u r e ) 0130140 \r ( e r r o 0130160 r " N o t a F A S L f i 0130200 l e . " ) ) \r ( c h e c k 0130220 - v e r s i o n s t r e a m ) 0130240 \r ( d o n i l ( ( i l 0130260 : e o f p s t r e a m ) \r 0130300 ( v a l u e 0130320 s ) ) \r ( p r o c 0130340 e s s - s e g m e n t s t r e 0130360 a m t e x t - f n i t e m - 0130400 f n ) ) ) \r \r \r ( d e f u n 006 0130420 002 c h e c k - v e r s i o n 006 001 0130440 ( s t r e a m ) ( l e t ( 0130460 ( v e r s i o n ( i l : b i n 0130500 1 6 s t r e a m ) ) ) \r 0130520 * 0130560 ( o r ( a n d ( < = ( c a 0130600 r v e r s i o n - r a n g e ) 0130620 \r 0130640 0130660 v e 0130700 r s i o n ) \r 0130720 * 0130760 ( < = v e r s i o n ( 0131000 c d r v e r s i o n - r a n g 0131020 e ) ) ) \r 0131040 0131060 ( e r r 0131100 o r " V e r s i o n n o t 0131120 s u p p o r t e d : ~ D . " 0131140 v e r s i o n ) ) ) ) \r \r \r ( d 0131160 e f u n 006 002 p r o c e s s - s 0131200 e g m e n t 006 001 ( s t r e a m 0131220 & o p t i o n a l t e x t - 0131240 f n i t e m - f n ( o p t a 0131260 b l e * d e f a u l t - o p t 0131300 a b l e * ) ) \r ( i f t 0131320 e x t - f n ( f u n c a l l 0131340 t e x t - f n ( r e a d - t e 0131360 x t s t r e a m ) ) \r 0131400 ( s k i p - t e x t s t 0131420 r e a m ) ) \r ( p r o c e 0131440 s s - b l o c k s t r e a m 0131460 i t e m - f n o p t a b l e ) 0131500 ) \r \r \r ( d e f u n 006 002 r e a 0131520 d - t e x t 006 001 ( s t r e a m 0131540 ) ( d o ( ( r e s u l t ( 0131560 m a k e - a r r a y 5 1 2 : 0131600 e l e m e n t - t y p e ' c h 0131620 a r a c t e r : a d j u s t a 0131640 b l e t \r 0131660 * 0131720 : f i l l - p o i n t 0131740 e r 0 ) ) \r 0131760 0132000 ( b y t e ( i l : 0132020 b i n s t r e a m ) \r 0132040 * 0132100 ( i l : b i n s t r e a m ) 0132120 ) ) \r 0132140 0132160 ( ( e q l b y t e e n d - 0132200 m a r k ) \r 0132220 0132240 ( c o e r c e r e s 0132260 u l t ' s t r i n g ) ) \r 0132300 0132320 ( v e c 0132340 t o r - p u s h - e x t e n d 0132360 ( c o d e - c h a r b y t e ) 0132400 \r 0132420 0132440 r e s u l t ) ) ) \r 0132460 \r \r ( d e f u n 006 002 p r o c e 0132500 s s - b l o c k 006 001 ( s t r e 0132520 a m & o p t i o n a l i t e 0132540 m - f n ( o p t a b l e * d 0132560 e f a u l t - o p t a b l e * ) 0132600 ) \r ( c a t c h ' f a s 0132620 l - b l o c k - f i n i s h e d 0132640 ( w i t h - o p t a b l e o 0132660 p t a b l e ( d o ( ( * v a 0132700 l u e - t a b l e * ( n e w - 0132720 v a l u e - t a b l e ) ) \r 0132740 * 0133020 v a l ) \r 0133040 * 0133120 n i l \r 0133140 * 0133220 ( s e t f v a l ( d o 0133240 - o p s t r e a m 0 ) ) \r 0133260 * 0133340 ( w h e n i t 0133360 e m - f n ( f u n c a l l i 0133400 t e m - f n v a l ) ) ) ) ) ) 0133420 \r \r \r ( d e f u n 006 002 s k i p 0133440 - t e x t 006 001 ( s t r e a m ) 0133460 ( d o ( ( b y t e ( i l : 0133500 b i n s t r e a m ) ) ) \r 0133520 0133540 ( ( e q 0133560 l b y t e e n d - m a r k ) 0133600 \r 0133620 0133640 ( v a l u e s ) ) ) ) \r \r \r ( d 0133660 e f m a c r o 006 002 n e x t - v 0133700 a l u e 006 001 n i l ' ( d o - 0133720 o p s t r e a m ) ) \r \r \r ( d 0133740 e f u n 006 002 d o - o p 006 001 ( 0133760 s t r e a m & o p t i o n a l 0134000 ( * b l o c k - l e v e l * 0134020 ( 1 + * b l o c k - l e v e l 0134040 * ) ) ) \r ( l e t ( ( o 0134060 p ( i l : b i n s t r e a m 0134100 ) ) \r v a l ) 0134120 \r ( w h e n d 0134140 e b u g - r e a d e r ( f o r 0134160 m a t d e b u g - s t r e a m 0134200 " ~ V T ~ A ( ~ 3 O ) ~ % " 0134220 ( * * b l o c k - l e v e l 0134240 * 4 ) \r 0134260 0134300 ( c a r ( r a s 0134320 s o c o p ( o p t a b l e - 0134340 o p n a m e s * c u r r e n t 0134360 - o p t a b l e * ) ) ) \r 0134400 0134420 o 0134440 p ) ) \r ( s e t 0134460 q v a l ( f u n c a l l ( 0134500 s v r e f ( o p t a b l e - v 0134520 e c t o r * c u r r e n t - o 0134540 p t a b l e * ) \r 0134560 0134600 o p ) \r 0134620 0134640 s t r e a m o 0134660 p ) ) \r ( w h e 0134700 n d e b u g - r e a d e r ( 0134720 f o r m a t d e b u g - s t r 0134740 e a m " ~ V T V a l u e : ~ 0134760 S ~ % " ( * * b l o c k - l 0135000 e v e l * 4 ) \r 0135020 0135040 v a l ) ) 0135060 \r ( r e t u r n 0135100 - f r o m d o - o p v a l ) 0135120 ) ) \r \r \r ( d e f u n 006 002 n e 0135140 w - v a l u e - t a b l e 006 001 0135160 n i l ( m a k e - a r r a y 0135200 i n i t i a l - v a l u e - t a 0135220 b l e - s i z e : f i l l - p 0135240 o i n t e r 0 : e x t e n d 0135260 a b l e t ) ) \r \r \r ( d e f u 0135300 n 006 002 c l e a r - t a b l e 006 0135320 001 ( & o p t i o n a l ( t a 0135340 b l e * v a l u e - t a b l e 0135360 * ) ) ( s e t f ( f i l l - 0135400 p o i n t e r t a b l e ) \r 0135420 * 0135500 0 ) ) \r \r \r 0135520 ( d e f u n 006 002 s t o r e - v 0135540 a l u e 006 001 ( o b j & o p t 0135560 i o n a l ( t a b l e * v a 0135600 l u e - t a b l e * ) ) \r 0135620 \r 0135640 006 003 ( i l : * i l : | ; 0135660 ; | \r 006 001 006 003 " T h i s m 0135700 a y w a n t t o c h a n g 0135720 e t o a n o t h e r r e p 0135740 r e s e n t a t i o n i f w 0135760 e c a n ' t m a k e V E C 0136000 T O R - P U S H - E X T E N D 0136020 f a s t e n o u g h . " ) 006 001 0136040 \r ( v e c t o r - p u s h - e 0136060 x t e n d o b j t a b l e 0136100 v a l u e - t a b l e - i n c r 0136120 e m e n t ) \r o b j ) \r \r \r ( 0136140 d e f u n 006 002 f e t c h - v a 0136160 l u e 006 001 ( i n d e x & o p 0136200 t i o n a l ( t a b l e * v 0136220 a l u e - t a b l e * ) ) ( a 0136240 r e f t a b l e i n d e x ) 0136260 ) \r \r \r ( d e f u n 006 002 c o l 0136300 l e c t - l i s t 006 001 ( s t r 0136320 e a m n e l t s d o t t e d 0136340 ) ( i f ( a n d d o t t e 0136360 d ( e q l n e l t s 2 ) ) 0136400 \r 0136420 0136440 ( 0136460 r e t u r n - f r o m c o l l 0136500 e c t - l i s t ( c o n s ( 0136520 d o - o p s t r e a m ) \r 0136540 * 0136640 ( d o - 0136660 o p s t r e a m ) ) ) ) \r 0136700 * 0136740 ( w h e n d o 0136760 t t e d ( d e c f n e l t s 0137000 ) ) \r 0137020 0137040 ( l e 0137060 t ( ( r e s u l t ( 006 002 i l 0137100 : | t o | 006 001 n e l t s 006 002 0137120 i l : | c o l l e c t | 006 001 ( 0137140 d o - o p s t r e a m ) ) ) ) 0137160 \r \r 0137200 006 003 ( i l : * i l 0137220 : | ; ; | " A s s u m e d o 0137240 t t e d a n d o t h e r t 0137260 h a n a s i m p l e c o n 0137300 s i s r a r e . " ) 006 001 \r \r 0137320 * 0137360 ( 0137400 w h e n d o t t e d ( s e t 0137420 f ( c d r ( l a s t r e s 0137440 u l t ) ) \r 0137460 * 0137540 ( d o - o p s 0137560 t r e a m ) ) ) \r 0137600 * 0137640 ( r e t u r n - 0137660 f r o m c o l l e c t - l i s 0137700 t r e s u l t ) ) ) \r \r \r ( d 0137720 e f r a n g e 006 002 f a s l - s 0137740 h o r t - i n t e g e r 006 001 ( 0137760 0 ) 1 2 8 0 o p c o d e ) 0140000 \r \r \r ( d e f o p 006 002 f a s l 0140020 - n i l 006 001 ( 1 2 8 ) n i l 0140040 ) \r \r \r ( d e f o p 006 002 f a s 0140060 l - t 006 001 ( 1 2 9 ) t ) \r \r 0140100 \r ( d e f o p 006 002 f a s l - i 0140120 n t e g e r 006 001 ( 1 3 0 ) ( 0140140 + ( i l : l l s h ( i l : b 0140160 i n s t r e a m ) \r 0140200 0140220 2 0140240 4 ) \r 0140260 0140300 ( i l : l l s h ( i l : b i n 0140320 s t r e a m ) \r 0140340 0140360 1 6 ) 0140400 \r 0140420 ( i 0140440 l : l l s h ( i l : b i n s 0140460 t r e a m ) \r 0140500 0140520 8 ) \r 0140540 0140560 ( i l : b 0140600 i n s t r e a m ) ) ) \r \r \r ( 0140620 d e f o p 006 002 f a s l - l a r 0140640 g e - i n t e g e r 006 001 ( 1 3 0140660 1 ) ( l e t ( ( n b y t e s 0140700 ( n e x t - v a l u e ) ) \r 0140720 * 0140760 ( f i r s t - t i m e 0141000 t ) \r 0141020 0141040 ( m a s k 0141060 0 ) ) \r 0141100 0141120 ( d o ( ( o 0141140 f f s e t ( * ( 1 - n b y 0141160 t e s ) \r 0141200 * 0141240 8 ) \r 0141260 * 0141320 ( - 0141340 o f f s e t 8 ) ) \r 0141360 * 0141420 ( r e s u l t 0 ) 0141440 \r 0141460 0141500 b y t e ) 0141520