$ od -c -N 50000 [Indigo]<AltoSource>READPRESS.DM!1
0000000 377 \0 \0 r e a d p r e s s . b c p
0000020 l \0 376 001 \0 325 2 / / R E A D
0000040 P R E S S \r / / p r
0000060 o g r a m t o r e a d p r
0000100 e s s f i l e , a n d r e
0000120 p o r t c o n t e n t s b a
0000140 c k t o u s e r \r / / R e
0000160 a d P r e s s / F p u t s o
0000200 u t p u t o n f i l e a s
0000220 w e l l ( R e a d P r e s s
0000240 . L s t ) \r / / B l d r r e a
0000260 d p r e s s r e a d o p s g
0000300 p \t \r / / C o p y r i g h t
0000320 X e r o x C o r p o r a t i
0000340 o n 1 9 7 9 \r \r / / o u t g o
0000360 i n g p r o c e d u r e s \t (
0000400 f o r r e a d o p s ) \r e x t
0000420 e r n a l [ 376 001 \0 1 3 \r \t G e
0000440 t B y t e ; G e t W o r d ; O d
0000460 d B y t e ; G e t R e s e t ; D
0000500 L E v e n \r \t S h o w ; S h o w
0000520 n ; S h o w c h ; S h o w F l o
0000540 a t ; E r r o r \r \t D o u b l e
0000560 C o p ; D o u b l e S u b ;
0000600 M u l F u l l ; D o u b l e S
0000620 h r \r \t ] \r \r / / i n c o m i n
0000640 g p r o c e d u r e s \r e x t
0000660 e r n a l [ \r \t S e t u p R e
0000700 a d P a r a m ; R e a d P a r a
0000720 m \t / / f r o m g p \r \t \r / /
0000740 P r i n t F l o a t \r \t P r i n
0000760 t F l o a t \r \r / / R e a d o p
0001000 s \r \t R e a d O b j e c t ; R e
0001020 a d P a r t \r \t ] \r \r / 376 001 \0 5
0001040 ? / O S p r o c e d u r e s
0001060 \r e x t e r n a l [ \r \t O p e
0001100 n F i l e \r \t R e a d B l o c k
0001120 \r \t S e t F i l e P o s \r \t F i
0001140 l e L e n g t h \r \t P u t s \r \t
0001160 G e t s \r \t C l o s e s \r \r \t C
0001200 r e a t e D i s p l a y S t r e
0001220 a m \r \t S h o w D i s p l a y S
0001240 t r e a m \r \t G e t F i x e d \r
0001260 \t W n s \r \t W s s \r \t D o u b l
0001300 e A d d \r \t k e y s \r \t ] \r \r /
0001320 / o u t g o i n g s t a t i c
0001340 s \r e x t e r n a l [ \r \t P r
0001360 e s s F i l e \r \t ] \r s t a t i
0001400 c [ \r \t P r e s s F i l e \r \t
0001420 M y D s p ; L i n e s P r i n t
0001440 e 376 001 \0 367 327 d ; P W o r d ; P B
0001460 y t e \r \t L i s t F i l e \r \t ]
0001500 \r \r / / i n t e r n a l m a n
0001520 i f e s t a n d s t r u c t
0001540 u r e d e c l a r a t i o n s
0001560 \r m a n i f e s t [ \r \t N U M
0001600 L I N E S = 4 0 \r \t P r e s s p
0001620 a s s w o r d = 2 7 1 8 3 \t / /
0001640 P r e s s p a s s w o r d \r
0001660 \t ] \r \r / / S t r u c t u r e
0001700 s \r s t r u c t u r e s t r :
0001720 \r \t [ \r \t n b y t e \r \t c h ^
0001740 1 , 2 5 5 b y t e \r \t ] \r \r s
0001760 t r u c t u r e \r \t [ \r \t l h \t
0002000 b y t e \r \t r h \t b y t e \r \t ]
0002020 \r \r \r / / D D V u s e d t
0002040 o a c c e 376 001 \0 267 031 s s P R
0002060 d d i r - - P R f i l e
0002100 d o c u m e n t d i r e c t o
0002120 r y \r s t r u c t u r e D D V
0002140 : / / u s e d t o a c c e
0002160 s s P R d d i r - - P R
0002200 f i l e d o c u m e n t d i
0002220 r e c t o r y \r [ \t p a s s w
0002240 d \t w o r d \t / / p a s s w o
0002260 r d = 2 7 1 8 3 \r \t n r e c s \t
0002300 w o r d \t / / t o t a l n o
0002320 o f r e c o r d s i n P
0002340 R f i l e \r \t n p a r t s \t w
0002360 o r d / / n o o f p
0002400 a r t s \r \t p d s t a r t \t w o
0002420 r d \t / / w h e r e p a r t
0002440 d i r e c t o r y 376 001 \0 234
0002460 b e g i n s \r \t p d r e c s \t w
0002500 o r d / / n o o f r
0002520 e c o r d s \r \t b a c k p \t w o
0002540 r d \t / / b a c k p o i n t
0002560 e r \r \t s p a r e 1 \t w o r d \r
0002600 \t s p a r e 2 \t w o r d \r \t f c
0002620 o p y \t w o r d \t / / f i r s
0002640 t c o p y t o p r i n t \r
0002660 \t l c o p y \t w o r d \t / / l
0002700 a s t c o p y t o p r i n
0002720 t \r ] \r m a n i f e s t D D
0002740 V l e n = s i z e D D V / 1 6
0002760 \r \r / / P D u s e d t o
0003000 r e a d p a g e d i r e c
0003020 t o r y i n f o \r \r s t r u c
0003040 t u r e P D : / / u s e d
0003060 376 001 \0 262 351 t o r e a d p a g
0003100 e d i r e c t o r y i n f o
0003120 \r [ \t t y p e \t \t w o r d \r \t
0003140 p s t a r t \t w o r d \r \t p r e
0003160 c s \t w o r d \r \t i n f i l e \t
0003200 b i t 1 \t \t / / t r u e o
0003220 r f a l s e a c c o r d i n
0003240 g t o \r \t \t \t \t / / w h e t
0003260 h e r p a r t i s s t i l
0003300 l i n i n p u t f i l e \r
0003320 \t d i r t y \t b i t 1 \t \t / /
0003340 t o i n d i c a t e i f
0003360 p a g e i s d i r t y \r \t p
0003400 a d d i n g \t b i t 1 4 \r ]
0003420 \r m a n i f e s t P D l e n =
0003440 s i z e P D / 1 6 \r \r s t r u
0003460 c t u r e 376 001 \0 026 247 P D V :
0003500 / / f o r s t o r i n g s t
0003520 u f f a b o u t p a r t d
0003540 i r e c t o r y \r [ \t n p a g
0003560 e s \t w o r d \t \t / / c o u n
0003600 t o f p a g e s \r \t p a g e
0003620 n o \t w o r d \t \t / / p a g e
0003640 i n v e c t o r \r \t r e c n
0003660 o \t w o r d \t \t / / r e c o r
0003700 d n o w i n b u f \r \t t b
0003720 l \t \t w o r d \t \t / / t a b l
0003740 e o f p a g e d a t a \r \t
0003760 b u f \t \t w o r d \t \t / / a d
0004000 d r e s s o f 2 5 6 - w o r
0004020 d b u f f e r \r ] \r m a n i
0004040 f e s t P D V l e n = s i z e
0004060 P D / 1 6 \r \r s t 376 001 \0 034 v r
0004100 u c t u r e F E : / / u s e
0004120 d t o r e a d F o n t D
0004140 i r e c t o r y e n t r i e s
0004160 \r [ \t l e n g t h \t w o r d \t
0004200 / / l e n g t h o f e n t
0004220 r y \r \t s e t \t \t b i t 8 \r \t
0004240 f n o \t \t b i t 8 \r \t d e s t
0004260 m \t b i t 8 \t / / f i r s t
0004300 c h a r c o d e \r \t d e s t
0004320 n \t b i t 8 \t / / l a s t \r
0004340 \t f a m \t \t w o r d 1 0 \t / /
0004360 n a m e s t r i n g \r \t f a
0004400 c e \t \t b i t 8 \r \t s o u r c
0004420 e \t b i t 8 \t / / f i r s t
0004440 c h a r \r \t s i z \t \t w o r d
0004460 \r \t r o t n \t \t w o r d \r 376
0004500 001 \0 356 \0 ] \r m a n i f e s t F
0004520 E l e n = s i z e F E / 1 6 \r
0004540 \r s t r u c t u r e E T : /
0004560 / u s e d t o a c c e s s
0004600 E n t i t y T r a i l e r \r
0004620 [ \t t y p e \t b i t 8 \t \t / /
0004640 e n t i t y t y p e \r \t f o
0004660 n t s e t \t b i t 8 \t \t / /
0004700 f o n t s e t \r \t d s t a r t
0004720 1 \t w o r d \t \t / / b y t e
0004740 a d d r e s s o f d a t a ,
0004760 h i g h - o r d e r \r \t d s t
0005000 a r t 2 \t w o r d \t \t / / l o
0005020 w - o r d e r \r \t d l e n g t h
0005040 1 \t w o r d \t / / b y t e
0005060 l e n g t h o f d a t a ,
0005100 h i g h 376 001 \0 a = - o r d e r \r
0005120 \t d l e n g t h 2 \t w o r d \t
0005140 / / l o w - o r d e r \r \t x e
0005160 \t \t w o r d \t / / o r i g i n
0005200 x \r \t y e \t \t w o r d \t / /
0005220 y \r \t x l e f t \t w o r d \t \t /
0005240 / l h c o r n e r \r \t y b o
0005260 t t o m \t w o r d \r \t w i d t h
0005300 \t w o r d \r \t h e i g h t \t w o
0005320 r d \r \t l e n g t h \t w o r d \t
0005340 \t / / l e n g t h i n w o
0005360 r d s o f e n t i t y \r
0005400 ] \r m a n i f e s t [ E T l
0005420 e n = s i z e E T / 1 6 ] \r
0005440 \r m a n i f e s t [ \r \t l m a
0005460 r g = 1 0 2 4 \r \t b m a r g = 1
0005500 0 2 4 \r \t S c r e 376 001 \0 364 0 e n
0005520 X M a x = 6 0 8 \r \t S c r e e n
0005540 Y M a x = 8 0 8 \r \t ] \r \r s t r
0005560 u c t u r e S V : \r [ \t c o
0005600 d e \t w o r d \r \t b w i d t h \t
0005620 w o r d \r \t n s l \t \t w o r d \r
0005640 \t m o d e \t \t w o r d \r \t d o t
0005660 s i z e \t w o r d \r \t p w \t \t w
0005700 o r d \r \t p h \t \t w o r d \r \t w
0005720 i n d o w \t w o r d \r \t p b \t \t
0005740 w o r d \r \t d b \t \t w o r d \r \t
0005760 p l \t \t w o r d \r \t d l \t \t w o
0006000 r d \r \t f o l l o w \t w o r d \r
0006020 ] \r m a n i f e s t S V l e
0006040 n = s i z e S V / 1 6 \r \r l e
0006060 t s t a r t ( ) b e \r [ \r
0006100 \t l e t s t r = v e c 3 376 001
0006120 \0 253 257 0 ; l e t s w = v e c
0006140 2 6 \r \t S e t u p R e a d P a
0006160 r a m ( s t r , s w ) \r \t i f
0006200 s w ! 0 n e 0 & ( ( s
0006220 w ! 1 e q $ F ) % ( s w ! 1
0006240 e q $ f ) ) t h e n \r \t \t
0006260 [ \r \t \t L i s t F i l e = O p e
0006300 n F i l e ( " R e a d P r e s s
0006320 . L s t " , 0 , 1 ) \r \t \t ] \r \t
0006340 P r e s s F i l e = R e a d P a
0006360 r a m ( " I W " , " P r e s s
0006400 f i l e n a m e - - " ) \r
0006420 \r \t l e t M y D s p S i z e =
0006440 3 0 * 1 4 * 3 0 \r \t M y D s p =
0006460 C r e a t e D i s p l a y S t r
0006500 e a m ( N U M L I N E S , G e t
0006520 F i x 376 001 \0 035 N e d ( M y D s p
0006540 S i z e ) , M y D s p S i z e )
0006560 \r \t S h o w D i s p l a y S t r
0006600 e a m ( M y D s p ) \r \t L i n e
0006620 s P r i n t e d = 0 \r \r \t l e t
0006640 e n d = v e c 1 \r \t F i l e
0006660 L e n g t h ( P r e s s F i l e
0006700 , e n d ) \r \t i f ( e n d ! 1
0006720 & # 7 7 7 ) n e 0 t h e n
0006740 \r \t \t E r r o r ( " I l l e g a
0006760 l P r e s s f i l e : f i
0007000 l e d o e s n o t e n d
0007020 o n p a g e b o u n d a r y
0007040 " ) \r \r \t l e t d o c = v e c
0007060 1 \r \t l e t p a g e = v e c
0007100 1 ; p a g e ! 0 = 0 ; p a g e
0007120 ! 1 = 2 5 6 * 2 376 001 \0 347 \v \r \t D
0007140 o u b l e C o p ( d o c , e n d
0007160 ) \r \t D o u b l e S u b ( d o c
0007200 , p a g e ) \r \t S h o w ( " D o
0007220 c u m e n t d i r e c t o r y
0007240 : * n " ) \r \t S e t F i l e P o
0007260 s ( P r e s s F i l e , d o c )
0007300 \r \t l e t d o c D i r = v e c
0007320 2 5 6 \r \t R e a d B l o c k (
0007340 P r e s s F i l e , d o c D i r
0007360 , 2 5 6 ) \r \r \t S h o w ( "
0007400 P a s s w o r d " ) \r \t l e
0007420 t p a s s = d o c D i r ! 0 \r
0007440 \t t e s t p a s s e q P r
0007460 e s s p a s s w o r d t h e n
0007500 S h o w ( " O K * N " ) \r \t
0007520 o r [ S h o w ( " i l 376 001 \0
0007540 Y 352 l e g a l ( = " ) ; S h o
0007560 w n ( p a s s ) ; S h o w ( " )
0007600 * n " ) ] \r \t l e t n u m R e
0007620 c s = d o c D i r ! 1 \r \t S h o
0007640 w ( " N u m b e r o f
0007660 r e c o r d s : " ) ; S h o w
0007700 n ( n u m R e c s ) \r \t f o r
0007720 i = 1 t o 9 d o D o u b
0007740 l e S h r ( d o c ) \r \t l e t
0007760 r e a l R e c L e n = d o c ! 1
0010000 + 1 \r \t i f r e a l R e c L e
0010020 n n e n u m R e c s t h e
0010040 n \t / / W r o n g \r \t [ S h
0010060 o w ( " W R O N G ! C o r
0010100 r e c t n u m b e r i s "
0010120 ) ; S h o w n ( r e a l R e c L
0010140 e n 376 001 \0 3 325 ) ] \r \t l e t n
0010160 u m P a r t s = d o c D i r ! 2
0010200 \r \t S h o w ( " * n N u m
0010220 b e r o f p a r t s : " )
0010240 ; S h o w n ( n u m P a r t s )
0010260 \r \t l e t p a r t S t a r t =
0010300 d o c D i r ! 3 \r \t S h o w ( "
0010320 * n P a r t d i r e c t
0010340 o r y s t a r t s i n r e
0010360 c o r d " ) ; S h o w n ( p a
0010400 r t S t a r t ) \r \t l e t p a
0010420 r t L e n = d o c D i r ! 4 \r \t
0010440 S h o w ( " * n P a r t
0010460 d i r e c t o r y l e n g t h
0010500 ( i n r e c o r d s ) " )
0010520 ; S h o w n ( p a r t L e n ) \r
0010540 \t S h o w ( " 376 001 \0 215 g * n
0010560 F i r s t c o p y " ) ; S
0010600 h o w n ( d o c D i r ! 8 ) \r \t
0010620 S h o w ( " * n L a s t
0010640 c o p y " ) ; S h o w n ( d o
0010660 c D i r ! 9 ) \r \t S h o w ( " *
0010700 n F i l e n a m e : "
0010720 ) ; S h o w ( d o c D i r + # 2
0010740 0 0 ) \r \t S h o w ( " * n
0010760 C r e a t o r ' s n a m e :
0011000 " ) ; S h o w ( d o c D i r + #
0011020 2 3 2 ) \r \t S h o w ( " * n
0011040 C r e a t i o n d a t e :
0011060 " ) ; S h o w ( d o c D i r + #
0011100 2 5 2 ) \r \t S h o w ( " * n " )
0011120 \r \r \t l e t p a r t S t a r t
0011140 v = v e c 1 \r \t M u l 376 001 \0 s
0011160 333 F u l l ( p a r t S t a r t ,
0011200 5 1 2 , p a r t S t a r t v ) \r
0011220 \r \t S e t F i l e P o s ( P r e
0011240 s s F i l e , p a r t S t a r t
0011260 v ) \r \t l e t p a r t s = G e
0011300 t F i x e d ( 4 * n u m P a r t
0011320 s ) \r \t R e a d B l o c k ( P r
0011340 e s s F i l e , p a r t s , 4 *
0011360 n u m P a r t s ) \r \t f o r i
0011400 = 0 t o ( n u m P a r t s -
0011420 1 ) * 4 b y 4 d o \r \t i f
0011440 p a r t s ! i e q 1 t h
0011460 e n R e a d F o n t ( p a r t
0011500 s + i ) \r \r \t f o r i = 1 t
0011520 o n u m P a r t s d o \r \t
0011540 [ \r \t \t S e t F i l e P o s ( P
0011560 r 376 001 \0 \t + e s s F i l e , p a
0011600 r t S t a r t v ) \r \t \t R e a d
0011620 P a r t ( i ) \r \t ] \r \r \t t e
0011640 s t L i s t F i l e t h e n
0011660 C l o s e s ( L i s t F i l e
0011700 ) o r \r \t \t [ \r \t \t S h o w (
0011720 " * n * n H i t a n y c h a
0011740 r a c t e r t o f i n i s h
0011760 * n " ) \r \t \t G e t s ( k e y s
0012000 ) \r \t \t ] \r ] \r \r \f \r a n d
0012020 R e a d F o n t ( P a r t D i r
0012040 ) b e \r [ \r \t l e t f o n
0012060 t D i r = v e c 1 \r \t M u l F
0012100 u l l ( P a r t D i r ! 1 , 5 1
0012120 2 , f o n t D i r ) \r \t S e t F
0012140 i l e P o s ( P r e s s F i l e
0012160 , f o n t D 376 001 \0 221 022 i r ) \r \t
0012200 l e t e n t r y l e n = G e t
0012220 s ( P r e s s F i l e ) \r \t G e
0012240 t R e s e t ( ) \r \t S h o w ( "
0012260 * n F o n t D i r e c t o r y
0012300 * n " ) \r \t u n t i l e n t r
0012320 y l e n e q 0 d o \r \t \t [
0012340 \r \t \t S h o w ( " * n S e
0012360 t : " ) ; S h o w n ( G e t B
0012400 y t e ( ) ) \r \t \t S h o w ( " *
0012420 n F o n t - n o : " ) ;
0012440 S h o w n ( G e t B y t e ( ) )
0012460 \r \t \t S h o w ( " * n m :
0012500 " ) ; S h o w n ( G e t B y t
0012520 e ( ) ) \r \t \t l e t n = G e t
0012540 B y t e ( ) \r \t \t S h o w ( " *
0012560 n n : " ) ; S 376 001 \0 265 u
0012600 h o w n ( n ) \r \t \t l e t f a
0012620 m = v e c 1 0 \r \t \t f a m ! 0
0012640 = G e t s ( P r e s s F i l e )
0012660 \r \t \t t e s t n e q # 3 7
0012700 7 & f a m ! 0 e q 0 t
0012720 h e n / / s p e c i a l f o
0012740 r m a t \r \t \t \t R e a d O b j e
0012760 c t ( e n t r y l e n - 4 ) o
0013000 r \r \t \t \t [ \r \t \t \t R e a d B l
0013020 o c k ( P r e s s F i l e , f a
0013040 m + 1 , 9 ) \r \t \t \t S h o w ( "
0013060 * n F a m i l y n a m e
0013100 : " ) ; S h o w ( f a m ) \r \t
0013120 \t \t S h o w ( " * n F a c
0013140 e : " ) ; S h o w n ( G e t B
0013160 y t e ( ) ) \r \t \t \t S h o w ( "
0013200 376 001 \0 346 ; * n S o u r c e
0013220 : " ) ; S h o w n ( G e t B y
0013240 t e ( ) ) \r \t \t \t S h o w ( " *
0013260 n S i z e : " ) ; S h o
0013300 w n ( G e t s ( P r e s s F i l
0013320 e ) ) \r \t \t \t S h o w ( " * n
0013340 R o t a t i o n : " ) ; S
0013360 h o w n ( G e t s ( P r e s s F
0013400 i l e ) ) \r \t \t \t S h o w ( " *
0013420 n " ) \r \t \t \t ] \r \t \t e n t r y
0013440 l e n = G e t s ( P r e s s F i
0013460 l e ) \r \t \t ] \r ] \r \t \r \f \r a
0013500 n d G e t R e s e t ( ) b e
0013520 P B y t e = 0 \r \r a n d O d
0013540 d B y t e ( ) = ( P B y t e
0013560 n e 0 ) \r \r a n d G e t B
0013600 y t e ( ) 376 001 \0 201 = = v a l
0013620 o f \r [ \r \t i f P B y t e
0013640 e q 0 t h e n \r \t \t [ \r \t
0013660 \t P W o r d = G e t s ( P r e s
0013700 s F i l e ) \r \t \t P B y t e = 1
0013720 \r \t \t r e s u l t i s P W o r
0013740 d < < l h \r \t \t ] \r \t P B y t e
0013760 = 0 \r \t r e s u l t i s P W o
0014000 r d < < r h \r ] \r \r a n d G
0014020 e t W o r d ( ) = ( G e t B
0014040 y t e ( ) l s h i f t 8 ) +
0014060 G e t B y t e ( ) \r \r a n d D
0014100 o u b l e C o p ( a , b ) b
0014120 e \r [ \r \t a ! 0 = b ! 0 ; a !
0014140 1 = b ! 1 \r ] \r \r a n d D o u
0014160 b l e S u b ( a , b ) b e \r
0014200 [ \r \t l e t c = v 376 001 \0 \0 @ e
0014220 c 2 \r \t c ! 0 = n o t b ! 0
0014240 ; c ! 1 = n o t b ! 1 \r \t D
0014260 o u b l e A d d ( c , t a b l
0014300 e [ 0 ; 1 ] ) \r \t D o u
0014320 b l e A d d ( a , c ) \r ] \r \r
0014340 a n d D o u b l e S h r ( a )
0014360 b e \r [ \r \t a ! 1 = ( a ! 1
0014400 r s h i f t 1 ) + ( a ! 0 l
0014420 s h i f t 1 5 ) \r \t a ! 0 = a
0014440 ! 0 r s h i f t 1 \r ] \r \r a
0014460 n d M u l F u l l ( a , b ,
0014500 l v r e s ) b e \r [ \r \t l e
0014520 t m = v e c 1 ; m ! 0 = 0
0014540 ; m ! 1 = a \r \t D o u b l e C
0014560 o p ( l v r e s , t a b l e
0014600 [ 0 ; 0 ] ) \r \t w h i l 376
0014620 001 \0 l \r e b n e 0 d o \r
0014640 \t \t [ \r \t \t i f ( b & 1 ) n
0014660 e 0 t h e n D o u b l e A
0014700 d d ( l v r e s , m ) \r \t \t D
0014720 o u b l e A d d ( m , m ) \r \t
0014740 \t b = b r s h i f t 1 \r \t \t
0014760 ] \r ] \r \r \f \r a n d S h o w (
0015000 s , c o u n t ; n u m a r g s
0015020 n ) b e \r [ \r \t i f n e q
0015040 1 t h e n c o u n t = s >
0015060 > s t r . n \r \t f o r i = 1
0015100 t o c o u n t d o \r \t \t [ \r
0015120 \t \t l e t c h = s > > s t r .
0015140 c h ^ i \r \t \t P u t s ( M y D s
0015160 p , c h ) \r \t \t i f L i s t
0015200 F i l e t h e n P u t s ( L
0015220 i s t F 376 001 \0 366 237 i l e , c h
0015240 ) \r \t \t i f c h e q $ * n
0015260 & L i s t F i l e e q 0
0015300 t h e n \r \t \t \t [ \r \t \t \t L i
0015320 n e s P r i n t e d = L i n e s
0015340 P r i n t e d + 1 \r \t \t \t i f
0015360 L i n e s P r i n t e d g e
0015400 ( N U M L I N E S - 1 ) t h e
0015420 n \r \t \t \t \t [ \r \t \t \t \t W s s (
0015440 M y D s p , " M o r e ? " ) \r \t
0015460 \t \t \t l e t c h = G e t s ( k
0015500 e y s ) \r \t \t \t \t L i n e s P r
0015520 i n t e d = 0 \r \t \t \t \t i f (
0015540 c h e q $ n ) % ( c h e q
0015560 $ N ) t h e n \r \t \t \t \t
0015600 [ i f L i s t F i l e t h
0015620 e n C l o s e s 376 001 \0 352 315 ( L
0015640 i s t F i l e ) ; f i n i s h \r
0015660 \t \t \t \t ] \r \t \t \t \t W s s ( M
0015700 y D s p , " Y e s * n " ) \r
0015720 \t \t \t \t ] \r \t \t \t ] \r \t \t ] \r ]
0015740 \r \r a n d S h o w F l o a t (
0015760 A C ) b e \r [ P r i n t F
0016000 l o a t ( M y D s p , A C ) \r
0016020 i f L i s t F i l e t h
0016040 e n P r i n t F l o a t ( L i
0016060 s t F i l e , A C ) \r ] \r \r a
0016100 n d S h o w c h ( c ) b e \r
0016120 [ \r \t l e t a = v e c 1 \r \t
0016140 a > > s t r . n = 1 ; a > > s
0016160 t r . c h ^ 1 = c \r \t S h o w (
0016200 a ) \r ] \r \r a n d S h o w n (
0016220 n , r a d ; n u m a r g s 376 001
0016240 \0 Q 201 n a ) b e \r [ \r \t i f
0016260 n a n e 2 t h e n r a
0016300 d = - 1 0 \r \t W n s ( M y D s p
0016320 , n , r a d ) \r \t i f L i
0016340 s t F i l e t h e n W n s (
0016360 L i s t F i l e , n , r a d
0016400 ) \r ] \r \r a n d E r r o r ( s
0016420 ) b e \r [ \r \t S h o w ( s ) \r
0016440 \t i f L i s t F i l e t h e
0016460 n C l o s e s ( L i s t F i l
0016500 e ) \r \t S h o w ( " * n H i t
0016520 a n y k e y t o f i n i
0016540 s h " ) \r \t G e t s ( k e y s )
0016560 \r \t f i n i s h \r ] \r \r a n d
0016600 D L E v e n ( ) b e \r [ \r \t i
0016620 f O d d B y t e ( ) t h e n
0016640 S h 376 \0 @ 234 356 o w ( " * n E
0016660 R R O R - - D L h a s o
0016700 d d b y t e c o u n t f o
0016720 r o b j e c t o r d o t s
0016740 " ) \r ] \r \r \r 377 \0 \0 r e a d o
0016760 p s . b c p l \0 376 001 \0 032 327 / / R
0017000 E A D O P S \r / / f
0017020 u n c t i o n s f o r R e a
0017040 d P r e s s \r / / C o p y r i
0017060 g h t X e r o x C o r p o r
0017100 a t i o n 1 9 7 9 \r \r / / o u
0017120 t g o i n g r o u t i n e s \r
0017140 e x t e r n a l [ \r \t R e a d
0017160 P a r t ; R e a d E n t i t y ;
0017200 R e a d O b j e c t ; R e a d F
0017220 o n t \r \t ] \r \r / / i n c o m i
0017240 n g r o u t i n e s \r e x t e
0017260 r n a l [ \r \t D o u b l e S h
0017300 r ; D o u b l e C o p ; D o u b
0017320 l e S u b ; M u l F u l l \r \t G
0017340 e t B y t e ; G e t W o r d ; O
0017360 d d B y t e ; G e t R e s 376 001 \0
0017400 027 035 e t \r \t S h o w F l o a t ;
0017420 S h o w ; S h o w n ; S h o w c
0017440 h ; E r r o r ; D L E v e n \t /
0017460 / f r o m r e a d p r e s s \r
0017500 \r \t R e a d B l o c k \t \t / / O
0017520 S \r \t G e t s \r \t S e t F i l e
0017540 P o s \r \t F i l e P o s \r \t D o
0017560 u b l e A d d \r \t U s c \r \t ] \r
0017600 \r / / i n c o m i n g s t a t
0017620 i c s \r e x t e r n a l [ \r \t
0017640 P r e s s F i l e \r \t ] \r \r / /
0017660 i n t e r n a l m a n i f e s
0017700 t a n d s t r u c t u r e
0017720 d e c l a r a t i o n s \r s t r
0017740 u c t u r e s t r : \r \t [ \r \t
0017760 n b y t e \r \t c h ^ 1 , 2 5 5
0020000 b 376 001 \0 327 0 y t e \r \t ] \r \r s
0020020 t r u c t u r e \r \t [ \r \t l h \t
0020040 b y t e \r \t r h \t b y t e \r \t ]
0020060 \r \r l e t R e a d P a r t ( n
0020100 ) b e \r [ \r \t l e t P a r
0020120 t D i r = v e c 4 \r \t f o r
0020140 i = 1 t o n d o R e a d
0020160 B l o c k ( P r e s s F i l e ,
0020200 P a r t D i r , 4 ) \r \r \t l e t
0020220 T y p e = P a r t D i r ! 0 \r
0020240 \t l e t S t a r t = P a r t D
0020260 i r ! 1 \r \t l e t L e n = P a
0020300 r t D i r ! 2 \r \t l e t p a d
0020320 d i n g = P a r t D i r ! 3 \r \r
0020340 \t S h o w ( " * n P a r t " )
0020360 ; S h o w n ( n ) \r \t S h o w (
0020400 " : * n 376 001 \0 304 D T y p e
0020420 = " ) \r \t s w i t c h o n T y
0020440 p e i n t o \r \t \t [ \r \t \t c a
0020460 s e 0 : S h o w ( " P a g e
0020500 * n " ) ; e n d c a s e \r \t \t c
0020520 a s e 1 : S h o w ( " F o n
0020540 t * n " ) ; e n d c a s e \r \t \t
0020560 c a s e 2 : S h o w ( " E x
0020600 t e r n a l F i l e D i r e
0020620 c t o r y * n " ) ; e n d c a s
0020640 e \r \t \t d e f a u l t : S h o
0020660 w ( " U n k n o w n ( " ) ; S
0020700 h o w n ( T y p e ) ; S h o w (
0020720 " ) * n " ) ; e n d c a s e \r \t
0020740 \t ] \r \t S h o w ( " * n R
0020760 e c o r d S t a r t = " ) ; S
0021000 h o w n ( S t a r t ) \r 376 001 \0 8
0021020 322 \t S h o w ( " * n L e n
0021040 g t h ( i n r e c o r d s )
0021060 = " ) ; S h o w n ( L e n ) \r \t
0021100 S h o w ( " * n P a d d i
0021120 n g L e n g t h = " ) ; S h o
0021140 w n ( p a d d i n g ) \r \r \t i f
0021160 T y p e e q 0 t h e n
0021200 / / s h o w c o m m a n d s \r
0021220 \t [ \r \t l e t d a t a P o s =
0021240 v e c 1 \r \t M u l F u l l ( S
0021260 t a r t , 5 1 2 , d a t a P o s
0021300 ) \r \t l e t p a r t P o s = v
0021320 e c 1 \r \t M u l F u l l ( L e
0021340 n , 5 1 2 , p a r t P o s ) \r \t
0021360 D o u b l e A d d ( p a r t P o
0021400 s , d a t a P o s ) \r \t l e t
0021420 d 376 001 \0 ^ 225 o u b l e P a d d i
0021440 n g = v e c 1 \r \t d o u b l e
0021460 P a d d i n g ! 0 = 0 ; d o u b
0021500 l e P a d d i n g ! 1 = p a d d
0021520 i n g * 2 + 2 \r \t D o u b l e S
0021540 u b ( p a r t P o s , d o u b l
0021560 e P a d d i n g ) \r \t S e t F i
0021600 l e P o s ( P r e s s F i l e ,
0021620 p a r t P o s ) \r \t l e t e n
0021640 t i t y L e n = G e t s ( P r e
0021660 s s F i l e ) \r \t u n t i l e
0021700 n t i t y L e n e q 0 d o
0021720 \r \t e n t i t y L e n = R e a
0021740 d E n t i t y ( e n t i t y L e
0021760 n , p a r t P o s , d a t a P o
0022000 s ) \r \t ] \r \r \t i f T y p e
0022020 e q 2 t 376 001 \0 273 N h e n /
0022040 / s h o w f i l e s n e e d
0022060 e d \r \t [ l e t p a r t P
0022100 o s = v e c 1 \r \t M u l
0022120 F u l l ( S t a r t , 5 1 2 , p
0022140 a r t P o s ) \r \t S e t F
0022160 i l e P o s ( P r e s s F i l e
0022200 , p a r t P o s ) \r \t l e
0022220 t n a m e = v e c 4 0 \r \t
0022240 R e a d B l o c k ( P r e s
0022260 s F i l e , n a m e , 1 ) \r \t
0022300 S h o w ( " * n F i l e s
0022320 r e q u i r e d : * n " ) \r \t
0022340 u n t i l n a m e ! 0 e
0022360 q 0 d o \r \t [ l e
0022400 t w o r d L e n = n a m e > >
0022420 s t r . n / 2 \r \t 376 001 \0 Z 273
0022440 R e a d B l o c k ( P r
0022460 e s s F i l e , n a m e + 1 , w
0022500 o r d L e n ) \r \t S
0022520 h o w ( " " ) ; S h o w (
0022540 n a m e ) ; S h o w ( " * n " )
0022560 \r \t R e a d B l o c
0022600 k ( P r e s s F i l e , n a m e
0022620 , 1 ) \r \t ] \r \t ] \r \r
0022640 \r ] \r \r a n d R e a d E n t
0022660 i t y ( e n t i t y L e n , p a
0022700 r t P o s , d a t a P o s ) = v
0022720 a l o f \r [ \r \t l e t e v e
0022740 c = v e c 1 \r \t e v e c ! 0 =
0022760 0 \r \t e v e c ! 1 = e n t i t y
0023000 L e n \r \t D o u b l e A d d ( e
0023020 v e c , e v e c ) \t / / * 2 f
0023040 376 001 \0 001 313 o r b y t e p o s
0023060 i t i o n \r \t D o u b l e S u b
0023100 ( p a r t P o s , e v e c ) \r \t
0023120 i f p a r t P o s ! 0 l s
0023140 0 t h e n \r \t \t [ \r \t \t S h o
0023160 w ( " * n I L L E G
0023200 A L E N T I T Y L E N G T H
0023220 ( = " ) \r \t \t S h o w n ( e n
0023240 t i t y L e n ) \r \t \t S h o w (
0023260 " ) * n " ) \r \t \t r e s u l t i
0023300 s 0 \r \t \t ] \r \t S e t F i l e
0023320 P o s ( P r e s s F i l e , p a
0023340 r t P o s ) \r \t l e t n e x t
0023360 l e n = G e t s ( P r e s s F i
0023400 l e ) \r \r \t l e t e d a t a =
0023420 @ # 3 3 5 \r \t @ # 3 3 5 = e d a
0023440 t a + e n 376 001 \0 346 ) t i t y L e
0023460 n + 1 \r \t i f U s c ( @ # 3 3
0023500 5 , l v e d a t a ) g r
0023520 0 t h e n \r \t \t E r r o r (
0023540 " E n t i t y t o o l o n g
0023560 f o r R E A D P R E S S t
0023600 o r e a d * n " ) \r \r \t R e a
0023620 d B l o c k ( P r e s s F i l e
0023640 , e d a t a , e n t i t y L e n
0023660 ) \r \t l e t t h i s D a t a =
0023700 v e c 1 \r \t D o u b l e C o p
0023720 ( t h i s D a t a , e d a t a +
0023740 e n t i t y L e n - 1 1 ) \r \r \t
0023760 S h o w ( " * n E n t i t y :
0024000 L e n g t h = " ) ; S h o w n
0024020 ( e d a t a ! ( e n t i t y L e
0024040 n - 1 ) ) \r \t S h o 376 001 \0 5 277 w
0024060 ( " * n T r a i l e r : * n "
0024100 ) \r \t S h o w ( " T y p e
0024120 ; F o n t = " ) ; S h o w n ( e
0024140 d a t a ! ( e n t i t y L e n -
0024160 1 2 ) ) \r \t S h o w ( " * n
0024200 B e g i n - B y t e = " ) ; S
0024220 h o w n ( t h i s D a t a ! 0 )
0024240 ; \r \t S h o w c h ( $ ; ) ; S h
0024260 o w n ( t h i s D a t a ! 1 ) \r
0024300 \t S h o w ( " B y t e - L
0024320 e n = " ) ; S h o w n ( e d a t
0024340 a ! ( e n t i t y L e n - 9 ) )
0024360 \r \t S h o w c h ( $ ; ) ; S h o
0024400 w n ( e d a t a ! ( e n t i t y
0024420 L e n - 8 ) ) \r \t S h o w ( " *
0024440 n X e = " ) ; S h o w n 376
0024460 001 \0 357 _ ( e d a t a ! ( e n t i
0024500 t y L e n - 7 ) ) \r \t S h o w (
0024520 " Y e = " ) ; S h o w n (
0024540 e d a t a ! ( e n t i t y L e n
0024560 - 6 ) ) \r \t S h o w ( " * n
0024600 l e f t = " ) ; S h o w n ( e
0024620 d a t a ! ( e n t i t y L e n -
0024640 5 ) ) \r \t S h o w ( " b o
0024660 t t o m = " ) ; S h o w n ( e d
0024700 a t a ! ( e n t i t y L e n - 4
0024720 ) ) \r \t S h o w ( " * n w
0024740 i d t h = " ) ; S h o w n ( e d
0024760 a t a ! ( e n t i t y L e n - 3
0025000 ) ) \r \t S h o w ( " h e i
0025020 g h t = " ) ; S h o w n ( e d a
0025040 t a ! ( e n t i t y L e n - 2 )
0025060 ) \r \r \t 376 001 \0 $ ( S h o w ( " *
0025100 n C o m m a n d s : * n " )
0025120 \r \t l e t n u m B y t e s
0025140 = ( e n t i t y L e n - 1 2 ) *
0025160 2 \r \t D o u b l e A d d ( t h i
0025200 s D a t a , d a t a P o s ) \r \t
0025220 l e t o d d B y t e = ( t h i
0025240 s D a t a ! 1 ) & 1 \r \t t h i s
0025260 D a t a ! 1 = t h i s D a t a !
0025300 1 & # 1 7 7 7 7 6 \t / / p o s i
0025320 t i o n t o w o r d b o u
0025340 n d a r y \r \t S e t F i l e P o
0025360 s ( P r e s s F i l e , t h i s
0025400 D a t a ) \r \t G e t R e s e t (
0025420 ) \r \t i f o d d B y t e t h
0025440 e n G e t B y t e ( ) \r \t P r
0025460 i n t C o m m a n 376 001 \0 9 220 d s
0025500 ( n u m B y t e s , e d a t a ,
0025520 t h i s D a t a ) \r \r \t @ # 3 3
0025540 5 = e d a t a \r \t r e s u l t i
0025560 s n e x t l e n \r ] \r \r a n
0025600 d G r a b ( b , v ) = v a l o
0025620 f \r [ \r \t l e t n = @ b \r \t
0025640 @ b = n + 1 \r \t l e t W o r d
0025660 = v ! ( n / 2 ) \r \t r e s u l t
0025700 i s ( ( n & 1 ) e q 1 ) ?
0025720 W o r d < < r h , W o r d < < l
0025740 h \r ] \r \r a n d G r a b W (
0025760 b , v ) = G r a b ( b , v )
0026000 * 2 5 6 + G r a b ( b , v ) \r \r
0026020 a n d P r i n t C o m m a n d
0026040 s ( n u m C o m m a n d s , v ,
0026060 d a t a P o s ) b e \r [ 376 001
0026100 \0 251 273 \r \t l e t c o u n t = 0
0026120 \r \t l e t p v = v e c 1 0 \r
0026140 \t l e t b = l v c o u n t \r
0026160 \r u n t i l c o u n t g e
0026200 n u m C o m m a n d s d o \r [
0026220 \t / / g r a b n e x t b y t
0026240 e \r \t l e t c = G r a b ( b ,
0026260 v ) \r \t l e t p = 1 \t \t \t / /
0026300 n u m a r g s , d e f a u l
0026320 t i s 1 a r g \r \t p v ! 1
0026340 = G r a b ( b , v ) \t / / G e t
0026360 o n e a r g u m e n t a h
0026400 e a d \r \r \t l e t s = n i l \r
0026420 \t s w i t c h o n ( c & # 3 7
0026440 0 ) / # 1 0 i n t o \r \t \t [ \r
0026460 \t \t c a s e 0 : c a s e 1
0026500 : c 376 001 \0 & 372 a s e 2 : c
0026520 a s e 3 : / / s h o w s h
0026540 o r t \r \t \t \t s = " S h o w - C
0026560 h a r a c t e r s - S h o r t "
0026600 \r \t \t \t p v ! 1 = ( c & # 3 7 )
0026620 + 1 \r \t \t \t c o u n t = c o u n
0026640 t - 1 \r \t \t \t c = # 3 6 0 \r \t \t
0026660 \t e n d c a s e \r \t \t c a s e
0026700 4 : c a s e 5 : c a s e
0026720 6 : c a s e 7 : \t / / s k i
0026740 p s h o r t \r \t \t \t s = " S k
0026760 i p - C h a r a c t e r s - S h
0027000 o r t " \r \t \t \t p v ! 1 = ( c &
0027020 # 3 7 ) + 1 \r \t \t \t c o u n t =
0027040 c o u n t - 1 \r \t \t \t c = # 3 6
0027060 1 \r \t \t \t e n d c a s e \r \t \t c
0027100 a s e # 1 0 : 376 001 \0 8 003 c a
0027120 s e # 1 1 : c a s e # 1 2
0027140 : c a s e # 1 3 : \r \t \t \t s
0027160 = " S h o w - C h a r a c t e r
0027200 s - a n d - S k i p " \r \t \t \t p
0027220 v ! 1 = ( c & # 3 7 ) + 1 \r \t \t
0027240 \t c o u n t = c o u n t - 1 \r \t
0027260 \t \t c = # 1 0 0 \r \t \t \t e n d c
0027300 a s e \r \t \t c a s e # 1 4 : \r
0027320 \t \t \t s = " S e t - S p a c e -
0027340 X - S h o r t " \r \t \t \t p v ! 1
0027360 = ( c & # 7 ) * 2 5 6 + p v ! 1
0027400 \r \t \t \t e n d c a s e \r \t \t c a
0027420 s e # 1 5 : \r \t \t \t s = " S e
0027440 t - S p a c e - Y - S h o r t "
0027460 \r \t \t \t p v ! 1 = ( c & 7 ) * 2
0027500 5 6 + p v ! 1 \r \t \t \t e n 376 001 \0
0027520 : 341 d c a s e \r \t \t c a s e #
0027540 1 6 : \r \t \t c a s e # 1 7 : \r
0027560 \t \t \t s = " F o n t " \r \t \t \t p
0027600 v ! 1 = c & # 1 7 \r \t \t \t c o u
0027620 n t = c o u n t - 1 \r \t \t \t e n
0027640 d c a s e \r \t \t d e f a u l t :
0027660 \r \t \t \t s w i t c h o n c
0027700 i n t o \r \t \t \t [ \r \t \t c a s e
0027720 # 3 5 3 : s = " S k i p - C
0027740 o n t r o l - B y t e s - I m m
0027760 e d i a t e " \r \t \t \t f o r i
0030000 = 1 t o p v ! 1 d o G r
0030020 a b ( b , v ) \r \t \t \t e n d c a
0030040 s e \r \t \t c a s e # 3 5 4 :
0030060 s = " A l t e r n a t i v e " \r
0030100 \t \t \t p v ! 1 = ( p v ! 1 ) * 2
0030120 5 6 376 001 \0 L A + G r a b ( b , v
0030140 ) \t / / E L t y p e s \r \t \t \t
0030160 p v ! 2 = G r a b W ( b , v ) \r
0030200 \t \t \t p v ! 3 = G r a b W ( b ,
0030220 v ) \r \t \t \t p v ! 4 = G r a b W
0030240 ( b , v ) \r \t \t \t p v ! 5 = G r
0030260 a b W ( b , v ) \r \t \t \t p = 5 ;
0030300 e n d c a s e \r \t \t c a s e #
0030320 3 5 5 : s = " O n l y - o n -
0030340 c o p y " ; e n d c a s e \r \t \t
0030360 c a s e # 3 5 6 : s = " S e
0030400 t - X " \r \t \t \t p v ! 1 = ( p v
0030420 ! 1 ) * 2 5 6 + G r a b ( b , v
0030440 ) ; e n d c a s e \r \t \t c a s e
0030460 # 3 5 7 : s = " S e t - Y "
0030500 \r \t \t \t p v ! 1 = ( p v ! 1 ) *
0030520 2 5 6 + G r a 376 001 \0 N 301 b ( b ,
0030540 v ) ; e n d c a s e \r \t \t c a s
0030560 e # 3 6 0 : s = " S h o w -
0030600 C h a r a c t e r s " ; e n d c
0030620 a s e \r \t \t c a s e # 3 6 1 :
0030640 s = " S k i p - C h a r a c t
0030660 e r s " ; e n d c a s e \r \t \t c
0030700 a s e # 3 6 2 : s = " S k i
0030720 p - C o n t r o l - B y t e s "
0030740 \r \t \t \t p v ! 1 = ( p v ! 1 ) *
0030760 2 5 6 + G r a b ( b , v ) \r \t \t
0031000 \t p v ! 2 = G r a b ( b , v ) \t
0031020 / / t y p e \r \t \t \t e n d c a s
0031040 e \r \t \t c a s e # 3 6 3 : s
0031060 = " S h o w - C h a r a c t e r
0031100 - I m m e d i a t e
0031120 : " \r \t \t \t s > > 376 001 \0 255
0031140 } s t r . c h ^ ( s > > s t r .
0031160 n - 1 ) = p v ! 1 \r \t \t \t e n d
0031200 c a s e \r \t \t c a s e # 3 6 4
0031220 : s = " S e t - S p a c e - X
0031240 " \r \t \t \t p v ! 1 = ( p v ! 1 )
0031260 * 2 5 6 + G r a b ( b , v ) ; e
0031300 n d c a s e \r \t \t c a s e # 3
0031320 6 5 : s = " S e t - S p a c e
0031340 - Y " \r \t \t \t p v ! 1 = ( p v !
0031360 1 ) * 2 5 6 + G r a b ( b , v )
0031400 ; e n d c a s e \r \t \t c a s e
0031420 # 3 6 6 : s = " R e s e t - S
0031440 p a c e " ; p = 0 ; e n d c a s
0031460 e \r \t \t c a s e # 3 6 7 : s
0031500 = " S p a c e " ; p = 0 ; e n d
0031520 c a s e \r \t \t c a s e # 3 7 0
0031540 : 376 001 \0 016 340 s = " S e t - B r
0031560 i g h t n e s s " ; e n d c a s
0031600 e \r \t \t c a s e # 3 7 1 : s
0031620 = " S e t - H u e " ; e n d c a
0031640 s e \r \t \t c a s e # 3 7 2 :
0031660 s = " S e t - S a t u r a t i o
0031700 n " ; e n d c a s e \r \t \t c a s
0031720 e # 3 7 3 : s = " S h o w -
0031740 O b j e c t " \r \t \t \t p v ! 1 =
0031760 ( p v ! 1 ) * 2 5 6 + G r a b (
0032000 b , v ) ; e n d c a s e \r \t \t c
0032020 a s e # 3 7 4 : s = " S h o
0032040 w - D o t s " \r \t \t \t p v ! 1 =
0032060 ( p v ! 1 ) * 2 5 6 + G r a b (
0032100 b , v ) \r \t \t \t p v ! 2 = G r a
0032120 b W ( b , v ) ; p = 2 ; e n d c
0032140 a s e \r \t \t 376 001 \0 321 341 c a s e
0032160 # 3 7 5 : s = " S h o w - D o
0032200 t s - O p a q u e " \r \t \t \t p v
0032220 ! 1 = ( p v ! 1 ) * 2 5 6 + G r
0032240 a b ( b , v ) \r \t \t \t p v ! 2 =
0032260 G r a b W ( b , v ) ; p = 2 ; e
0032300 n d c a s e \r \t \t c a s e # 3
0032320 7 6 : s = " S h o w - R e c t
0032340 a n g l e " \r \t \t \t p v ! 1 = (
0032360 p v ! 1 ) * 2 5 6 + G r a b ( b
0032400 , v ) \r \t \t \t p v ! 2 = G r a b
0032420 W ( b , v ) ; p = 2 ; e n d c a
0032440 s e \r \t \t c a s e # 3 7 7 :
0032460 s = " N o p " ; p = 0 ; e n d c
0032500 a s e \r \r \t \t d e f a u l t : \r
0032520 \t \t \t s = ( c g e 2 0 0 b
0032540 & c l e 2 3 7 b 376 001 \0 362 356
0032560 ) ? " < . . a v a i l a b l e
0032600 . . > " , " < . . s p a r e . .
0032620 > " \r \t \t \t c o u n t = c o u n
0032640 t - 1 \r \t \t \t p v ! 1 = c ; e n
0032660 d c a s e \r \t \t \t ] \r \t \t ] \r \r
0032700 / / N o w p r i n t o u t
0032720 c o m m a n d n a m e , a n
0032740 d a r g u m e n t s : \r \t S h
0032760 o w ( s ) \r \t t e s t p e q
0033000 0 t h e n c o u n t = c o
0033020 u n t - 1 \r \t o r f o r i =
0033040 1 t o p d o \r \t \t [ \r \t \t
0033060 S h o w ( " " ) \r \t \t S h o
0033100 w n ( p v ! i ) \r \t \t ] \r \t S h
0033120 o w ( " * n " ) \r \r / / N o w ,
0033140 i f t h e r e ' s a n y
0033160 376 001 \0 K 321 d a t a i n D L ,
0033200 s h o w i t \r \t s w i t c h
0033220 o n c i n t o \r \t [ \r \t c a
0033240 s e # 3 6 0 : / / S h o w
0033260 C h a r a c t e r s \r \t \t S h o
0033300 w ( " " ) \r \t \t f o
0033320 r i = 1 t o p v ! 1 d o
0033340 [ l e t c h = G e t B y t
0033360 e ( ) ; S h o w ( l v c h , 1
0033400 ) ] \r \t \t S h o w ( " * N " ) \r
0033420 \t \t e n d c a s e \r \t c a s e
0033440 # 3 6 1 : c a s e # 3 6 2 :
0033460 / / S k i p C h a r a c t e r
0033500 s ( o r C o n t r o l B y
0033520 t e s ) \r \t \t f o r i = 1 t
0033540 o p v ! 1 d o G e t B y t
0033560 e ( ) \r \t 376 001 \0 202 225 \t e n d c a
0033600 s e \r \t c a s e # 1 0 0 : /
0033620 / S h o w C h a r a c t e r s
0033640 a n d S k i p \r \t \t S h o w
0033660 ( " " ) \r \t \t f o r
0033700 i = 1 t o p v ! 1 d o
0033720 [ l e t c h = G e t B y t e
0033740 ( ) ; S h o w ( l v c h , 1 )
0033760 ] \r \t \t S h o w ( " * N " ) \r \t
0034000 \t G e t B y t e ( ) \r \t \t e n d
0034020 c a s e \r \t c a s e # 3 7 3 :
0034040 / / S h o w O b j e c t \r \t
0034060 \t R e a d O b j e c t ( p v ! 1
0034100 ) \r \t \t e n d c a s e \r \t c a s
0034120 e # 3 7 4 : / / S h o w D
0034140 o t s \r \t c a s e # 3 7 5 :
0034160 / / S h o w D o t 376 001 \0 Z 002 s
0034200 O p a q u e \r \t \t D o u b l e
0034220 A d d ( p v + 1 , p v + 1 ) \t /
0034240 / n u m w o r d s t o n u
0034260 m b y t e s \r \t \t R e a d D o
0034300 t s ( p v + 1 ) \r \t \t e n d c a
0034320 s e \r \t d e f a u l t : \t \r \t ]
0034340 \r ] \r ] \r \r a n d R e a d O b
0034360 j e c t ( n ) b e \r [ \r \t D L
0034400 E v e n ( ) \r [ \t n = n - 1 \r \t
0034420 s w i t c h o n G e t W o r d
0034440 ( ) i n t o \r \t [ \r \t c a s e
0034460 0 : S h o w ( " * n
0034500 M o v e t o " ) \r \t \t S h
0034520 o w n ( G e t W o r d ( ) ) ; S
0034540 h o w c h ( $ * s ) \r \t \t S h o
0034560 w n ( G e t W o r d ( ) ) ; n 376
0034600 001 \0 202 ' = n - 2 ; e n d c a s e
0034620 \r \t c a s e 1 : S h o w ( "
0034640 * n D r a w t o "
0034660 ) \r \t \t S h o w n ( G e t W o r
0034700 d ( ) ) ; S h o w c h ( $ * s )
0034720 \r \t \t S h o w n ( G e t W o r d
0034740 ( ) ) ; n = n - 2 ; e n d c a s
0034760 e \r \t c a s e 2 : S h o w (
0035000 " * n D r a w C u r
0035020 v e " ) \r \t \t f o r i = 1
0035040 t o 6 d o \r \t \t [ l e t
0035060 t e m p A C = v e c 1 \r \t \t
0035100 \t t e m p A C ! 0 = G e t W o r
0035120 d ( ) \r \t \t \t t e m p A C ! 1 =
0035140 G e t W o r d ( ) \r \t \t
0035160 S h o w F l o a t ( t e m p A
0035200 C ) \r \t 376 001 \0 376 327 \t \t S h o w c
0035220 h ( $ * s ) \r \t \t \t n = n - 2 \r
0035240 \t \t ] \r \t \t e n d c a s e \r \t
0035260 ] \r ] r e p e a t u n t i l
0035300 n l e 0 \r S h o w ( " *
0035320 n " ) \r ] \r \r a n d R e a d D
0035340 o t s ( n v e c ) b e \r [ \r
0035360 \t D L E v e n ( ) \r \t l e t n
0035400 = n i l \r \t l e t t w o = t a
0035420 b l e [ 0 ; 2 ] \r \t D o u b
0035440 l e S u b ( n v e c , t w o ) \r
0035460 \t s w i t c h o n G e t B y t
0035500 e ( ) i n t o \r \t \t [ \r \t \t c
0035520 a s e 0 : \t / / f u l l w o
0035540 r d c o m m a n d \r \t \t s w i
0035560 t c h o n G e t B y t e ( )
0035600 i n t o \r \t \t \t [ 376 001 \0 315 250 \r \t
0035620 \t \t c a s e 1 : n = 4 \t /
0035640 / s e t - w i n d o w \r \t \t \t \t
0035660 S h o w ( " * n S e
0035700 t W i n d o w " ) ; e n d c
0035720 a s e \r \t \t \t c a s e 2 : n
0035740 = 2 \t / / s e t - s i z e \r \t \t
0035760 \t \t S h o w ( " * n
0036000 S e t S i z e " ) ; e n d c
0036020 a s e \r \t \t \t c a s e 3 : n
0036040 = 0 \t / / d o t s - f o l l o w
0036060 \r \t \t \t \t S h o w ( " * n
0036100 D o t s F o l l o w * n
0036120 " ) ; e n d c a s e \r \t \t \t c a
0036140 s e 4 : / / G e t - d o t s
0036160 - f r o m - f i l e \r \t \t \t \t S
0036200 h o w ( " * n G 376 001
0036220 \0 = 356 e t D o t s F r o m
0036240 F i l e : " ) \r \t \t \t \t [ l
0036260 e t r e c S = G e t W o r d (
0036300 ) ; D o u b l e S u b ( n v e c
0036320 , t w o ) \r \t \t \t \t l e t
0036340 l e n = G e t B y t e ( ) \r \t \t
0036360 \t \t l e t v = v e c 1 ;
0036400 v ! 0 = 0 ; v ! 1 = ( ( l e n /
0036420 2 ) + 1 ) * 2 ; D o u b l e S u
0036440 b ( n v e c , v ) \r \t \t \t \t
0036460 f o r i = 1 t o l e n d
0036500 o S h o w c h ( G e t B y t e
0036520 ( ) ) \r \t \t \t \t i f ( l e
0036540 n & 1 ) e q 0 t h e n G
0036560 e t B y t e ( ) \r \t \t \t \t S
0036600 h o w ( " ( r e c o r d s t
0036620 a r t 376 001 \0 365 333 = " ) ; S h o w
0036640 n ( r e c S ) ; S h o w ( " ) *
0036660 n " ) \r \t \t \t \t n = 0 \r \t \t
0036700 \t \t e n d c a s e \r \t \t \t \t
0036720 ] \t \t \t \t \r \t \t \t c a s e
0036740 5 : n = - 1 \t / / g e t d o
0036760 t s f r o m p r e s s f i
0037000 l e \r \t \t \t \t e n d c a s e \r \t
0037020 \t \t c a s e 6 : \r \t \t \t \t n
0037040 = G e t W o r d ( ) \r \t \t \t \t f
0037060 o r i = 0 t o n d o D
0037100 o u b l e S u b ( n v e c , t w
0037120 o ) \r \t \t \t \t S h o w ( " * n
0037140 S e t S a m p l i n
0037160 g P r o p e r t i e s " ) \r \t
0037200 \t \t \t w h i l e n g r 0
0037220 d o s w i t c 376 001 \0 243 { h o n
0037240 G e t W o r d ( ) i n t o \r
0037260 \t \t \t \t \t [ \r \t \t \t \t \t c a s e
0037300 0 : S h o w ( " * n
0037320 S S P i n p u t i n
0037340 t e n s i t y : M i n = "
0037360 ) \r \t \t \t \t \t S h o w n (
0037400 G e t W o r d ( ) ) ; S h o w (
0037420 " M a x = " ) \r \t \t \t \t \t
0037440 S h o w n ( G e t W o r d (
0037460 ) ) \r \t \t \t \t \t n = n - 3
0037500 \r \t \t \t \t \t e n d c a s e
0037520 \r \t \t \t \t \t c a s e 1 : S h
0037540 o w ( " * n S S
0037560 P o u t p u t i n t e n s i
0037600 t y : " ) \r \t \t \t \t \t
0037620 f o r i = 1 t o 3 376 001 \0
0037640 211 251 d o \r \t \t \t \t \t [
0037660 S h o w n ( G e t W o r d ( )
0037700 ) ; S h o w ( " " ) ] \r \t \t
0037720 \t \t \t n = n - 4 \r \t \t \t \t
0037740 \t e n d c a s e \r \t \t \t \t
0037760 \t c a s e 2 : S h o w ( " *
0040000 n S S P s c r
0040020 e e n * n " ) \r \t \t \t \t \t
0040040 S h o w ( "
0040060 A n g l e " ) ; S h o w n
0040100 ( G e t W o r d ( ) ) \r \t \t \t \t
0040120 \t S h o w ( " A m p
0040140 l i t u d e " ) ; S h o w n (
0040160 G e t W o r d ( ) ) \r \t \t \t \t \t
0040200 S h o w ( " L i n e
0040220 s / I n c h " ) ; S h o w n
0040240 ( G 376 001 \0 x 355 e t W o r d ( ) )
0040260 \r \t \t \t \t \t n = n - 4 \r \t
0040300 \t \t \t \t e n d c a s e \r \t
0040320 \t \t \t \t c a s e 3 : S h o w
0040340 ( " * n S S P
0040360 d o t d e f i n i t i o n :
0040400 ( " ) \r \t \t \t \t \t [ l
0040420 e t n C e l l s = G e t W o r
0040440 d ( ) \r \t \t \t \t \t S h
0040460 o w n ( n C e l l s ) ; S h o w
0040500 c h ( $ , ) \r \t \t \t \t \t
0040520 S h o w n ( G e t W o r d ( )
0040540 ) ; S h o w c h ( $ , ) \r \t \t \t
0040560 \t \t S h o w n ( G e t
0040600 W o r d ( ) ) ; S h o w c h ( $
0040620 ) ) \r \t \t \t \t \t f o r
0040640 i = 1 t o 376 001 \0 " F n C e
0040660 l l s d o G e t W o r d ( )
0040700 \r \t \t \t \t \t n = n - (
0040720 1 + 3 + n C e l l s ) \r \t \t \t \t
0040740 \t e n d c a s e \r \t \t
0040760 \t \t \t ] \r \t \t \t \t \t d e f a
0041000 u l t : S h o w ( " * n
0041020 U n k n o w n c o m
0041040 m a n d . . . " ) \r \t \t \t \t \t
0041060 f o r i = 2 t o n
0041100 d o G e t W o r d ( ) \r \t \t \t
0041120 \t \t n = 0 \r \t \t \t \t \t
0041140 e n d c a s e \r \t \t \t \t \t
0041160 ] \r \t \t \t \t l o o p \t / / b a c
0041200 k t o t o p o f r o u t
0041220 i n e \r \t \t \t ] / / e n d
0041240 o f " s w i t c h o n 376 001 \0 034
0041260 f G e t B y t e ( ) i n t o
0041300 " \r \t \t \t i f n l e 0 t
0041320 h e n \t / / D o t s c o m i n
0041340 g n o w \r \t \t \t \t [ \r \t \t \t \t
0041360 l e t f p = v e c 1 \r \t \t \t
0041400 \t F i l e P o s ( P r e s s F i
0041420 l e , f p ) \r \t \t \t \t D o u b l
0041440 e A d d ( f p , n v e c ) \r \t \t
0041460 \t \t S e t F i l e P o s ( P r e
0041500 s s F i l e , f p ) \r \t \t \t \t r
0041520 e t u r n \r \t \t \t \t ] \r \t \t \t f
0041540 o r i = 1 t o n d o \r \t
0041560 \t \t \t [ \r \t \t \t \t S h o w n ( G
0041600 e t W o r d ( ) ) ; S h o w c h
0041620 ( $ * s ) \r \t \t \t \t D o u b l e
0041640 S u b ( n v e c , t w o ) \r \t \t
0041660 \t 376 001 \0 315 @ \t ] \r \t \t \t e n d c
0041700 a s e \r \t \t c a s e 1 : \t / /
0041720 s e t c o d i n g \r \t \t \t S h
0041740 o w ( " * n S e t
0041760 C o d i n g " ) \r \t \t \t S h o
0042000 w n ( G e t B y t e ( ) ) ; S h
0042020 o w c h ( $ ; ) \r \t \t \t S h o w
0042040 n ( G e t W o r d ( ) ) ; S h o
0042060 w c h ( $ ; ) \r \t \t \t S h o w n
0042100 ( G e t W o r d ( ) ) \r \t \t \t D
0042120 o u b l e S u b ( n v e c , t a
0042140 b l e [ 0 ; 4 ] ) \r \t \t \t e
0042160 n d c a s e \r \t \t c a s e 2 :
0042200 \t / / s e t m o d e \r \t \t
0042220 \t S h o w ( " * n S
0042240 e t M o d e " ) \r \t \t \t S h
0042260 o w n ( G e 376 \0 * 264 005 t B y t e
0042300 ( ) ) \r \t \t \t e n d c a s e \r \t
0042320 ] \r ] r e p e a t \r 032 ( 1
0042340 2 7 0 ) \r 377 \0 \0 p r i n t f l o
0042360 a t . b c p l \0 376 001 \0 351 026 / /
0042400 P r i n t F l o a t ( s t r , l
0042420 v n u m ) \t P r i n t s f l o
0042440 a t i n g p o i n t n u m b
0042460 e r . \r / / C o p y r i g h t
0042500 X e r o x C o r p o r a t i
0042520 o n 1 9 7 9 \r \r \r / / o u t g
0042540 o i n g r o u t i n e s \r e x
0042560 t e r n a l P r i n t F l o a
0042600 t \r \r e x t e r n a l \r \t [ \r
0042620 \t / / O S \r \t P u t s \r \t W n s
0042640 \r \r / / F L O A T \r \t F L D ; F
0042660 S T ; F T R ; F L D I ; F N E G
0042700 ; F A D ; F S B ; F M L ; F D V
0042720 ; F C M ; F S N \r \t F L D V ; F
0042740 S T V ; F L D D P ; F S T D P ;
0042760 D P A D ; D P S B \r \t ] \r 376 001 \0
0043000 e 232 \r / / i n c o m i n g s
0043020 t a t i c s \r e x t e r n a l \r
0043040 \t [ \r \t k e y s \r \t d s p \r \t ]
0043060 \r \r / / i n t e r n a l s t
0043100 a t i c s \r s t a t i c \r \t [ \r
0043120 \t c o m s \r \t s c \r \t ] \r \r / /
0043140 F i l e - w i d e s t r u c
0043160 t u r e a n d m a n i f e s
0043200 t d e c l a r a t i o n s . \r
0043220 \r s t r u c t u r e S T R :
0043240 [ \r \t l e n g t h b y t e \r \t
0043260 c h a r ^ 1 , 2 5 5 b y t e \r
0043300 ] \r \r m a n i f e s t s t r l
0043320 e n = 1 0 \t \t / / n u m b e r
0043340 o f w o r d s \r \r / / P r o
0043360 c e d u r e s \r l e t P r i n
0043400 t F 376 001 \0 202 304 l o a t ( s , l v
0043420 n u m ) b e [ \r \t l e t v
0043440 = v e c 4 * 5 \r \t f o r i =
0043460 1 t o 4 d o F S T V ( i
0043500 , v + 4 * i ) \r \t F L D ( 1 , l
0043520 v n u m ) \r \t l e t p = F S N
0043540 ( 1 ) \r \t t e s t p e q 0
0043560 t h e n P u t s ( s , $ 0 )
0043600 o r [ \t \t / / R e a l l y
0043620 w o r k \r \t i f p e q - 1
0043640 t h e n [ F N E G ( 1 ) ;
0043660 P u t s ( s , $ - ) ] \r \r \n
0043700 \t F L D V ( 2 , t a b l e [
0043720 0 ; 1 ; # 1 0 0 0 0 0 ; 4
0043740 ] ) ; \t / / F u z z 1 = 1
0043760 + 2 E - 9 \r \t F M L ( 1 , 2 ) \t
0044000 / / n _ f u z 376 001 \0 266 003 z 1 * n
0044020 u m b e r \r \t F L D I ( 3 , 1 )
0044040 ; F L D I ( 2 , 1 0 ) \r \t F L D
0044060 ( 4 , 1 ) \t / / n u m b e r \r \t
0044100 p = 0 \r \t w h i l e F C M ( 4
0044120 , 2 ) e q 1 d o [ F D
0044140 V ( 4 , 2 ) ; p = p + 1 ] \r
0044160 \t w h i l e F C M ( 4 , 3 )
0044200 e q - 1 d o [ F M L ( 4
0044220 , 2 ) ; p = p - 1 ] \r \r / /
0044240 4 h a s n u m b e r b
0044260 e t w e e n 1 a n d 1 0 ,
0044300 a n d p h a s p o w e r
0044320 \r \r \t F L D ( 3 , t a b l e [
0044340 # 0 3 1 3 2 5 ; # 1 6 3 0 7
0044360 3 ] ) \t / / F u z z 2 = 5
0044400 E - 9 \r \t F M L ( 3 , 1 376 001 \0 205
0044420 375 ) \t / / s _ f u z z 2 * n
0044440 \r \t l e t q = p \r \t t e s t
0044460 p g r 7 % p l s - 3
0044500 t h e n p = 0 o r q = 0
0044520 \r \t t e s t p l s 0 t h
0044540 e n [ P u t s ( s , $ 0 ) ;
0044560 P u t s ( s , $ . ) \r \t \t f o
0044600 r i = p t o - 2 d o P
0044620 u t s ( s , $ 0 ) \r \t \t f o r
0044640 i = 1 t o - p d o F D V
0044660 ( 3 , 2 ) \t / / s = s E P \r
0044700 \t ] o r [ \t f o r i = 1
0044720 t o p d o F M L ( 3 , 2 )
0044740 ] \r \r / / n o w p r i n t
0044760 ( s s u p p r e s s e s t r
0045000 a i l i n g z e r o e s ) \r \r
0045020 \t 376 001 \0 226 \t f o r i = 1 t o
0045040 9 d o [ \r \t \t l e t i p
0045060 a r t = F T R ( 4 ) \r \t \t P u t
0045100 s ( s , $ 0 + i p a r t ) \r \t \t
0045120 p = p - 1 \r \t \t F L D I ( 1 , i
0045140 p a r t ) ; F S B ( 4 , 1 ) ;
0045160 F M L ( 4 , 2 ) \r \t \t i f p
0045200 l s 0 t h e n [ \r \t \t \t
0045220 i f p e q - 1 t h e n
0045240 P u t s ( s , $ . ) \r \t \t \t F M
0045260 L ( 3 , 2 ) \r \t \t \t i f F C M
0045300 ( 4 , 3 ) e q - 1 t h e n
0045320 b r e a k / / f u z z \r \t \t
0045340 ] \r \t ] \r \t i f q n e 0
0045360 t h e n \r \t \t [ \r \t \t P u t s (
0045400 s , $ E ) ; \r \t \t W n s ( s , q
0045420 ) \r \t \t ] \r 376 \0 3 355 , \t ] / /
0045440 R e a l l y w o r k \r \t f o r
0045460 i = 1 t o 4 d o F L D
0045500 V ( i , v + 4 * i ) \r ] \r \r 374
0045517