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