$ 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