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