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