$ od -c -N 50000 [qv]<notecards>1.3K>LIBRARY>ncpath>NCPATHPARSE.TEDIT!1
0000000 X E R O X \t N C P a t h P a r s
0000020 e \r 2 \r \r 4 \r \r 1 \r \r N C P a t
0000040 h P a r s e \r 1 \r \r 4 \r \r B y :
0000060 D a v i d N e w m a n (
0000100 N e w m a n . p a s a @ X e r o
0000120 x . C O M ) \r N C P a t h , N
0000140 C P a t h U s e \r I N T R O D U
0000160 C T I O N \r T h i s p a c k a
0000200 g e p a r s e s e x p r e s
0000220 s i o n s o f a s i m p l
0000240 e p a t h d e s c r i p t i
0000260 o n l a n g u a g e i n t o
0000300 N C P a t h F S M d a t a
0000320 s t r u c t u r e s f o r u
0000340 s e b y N C P a t h . F S M
0000360 . P a t h C o l l e c t . T h
0000400 e l a n g u a g e i s d e
0000420 s c r i b e d b y a B N F
0000440 g r a m m a r i n t h e
0000460 f i l e N C P a t h L a n g u
0000500 a g e . T E d i t . A s i m
0000520 p l e r d e s c r i p t i o n
0000540 o f t h e l a n g u a g e
0000560 f o l l o w s . \r P A T H
0000600 D E S C R I P T I O N L A N G
0000620 U A G E \r T h e b a s i c u
0000640 n i t s o f t h e l a n g
0000660 u a g e a r e p a t h s t
0000700 e p d e s c r i p t o r s .
0000720 E a c h d e s c r i p t o r
0000740 i s e i t h e r a l i t e
0000760 r a l d e s c r i p t o r o
0001000 r a f u n c t i o n a l d
0001020 e s c r i p t o r . T h e l
0001040 i t e r a l d e s c r i p t o
0001060 r s c o n s i s t o f l i
0001100 n k t y p e s a n d c a r
0001120 d t y p e s c u r r e n t l
0001140 y e x i s t i n g i n t h
0001160 e a c t i v e n o t e f i l
0001200 e . F u n c t i o n a l d e
0001220 s c r i p t o r s a r e t h
0001240 e n a m e s o f l i s p
0001260 p r e d i c a t e s t h a t
0001300 c a n b e a p p l i e d t
0001320 o a l i n k o r c a r d
0001340 , a n d w h i c h r e t u
0001360 r n T o r N I L . A p
0001400 r o p o s e d n e w s t e p
0001420 i n a p a t h t h r o u
0001440 g h a n o t e f i l e i s
0001460 a c c e p t e d w h e n i
0001500 t i s o f t h e t y p e
0001520 s p e c i f i e d b y a
0001540 l i t e r a l d e s c r i p t
0001560 o r o r w h e n a p p l i
0001600 c a t i o n o f t h e f u
0001620 n c t i o n s p e c i f i e d
0001640 b y a f u n c t i o n a l
0001660 d e s c r i p t o r r e t u
0001700 r n s T . E a c h p a t h
0001720 s t e p d e s c r i p t o r
0001740 h a s a n o p t i o n a l
0001760 p r e f i x o f s e v e r
0002000 a l c h a r a c t e r s . T
0002020 h e c h a r a c t e r @ i
0002040 n d i c a t e s t h a t t h
0002060 e d e s c r i p t o r s p e
0002100 c i f i e s t h e c a r d
0002120 a t t h e e n d o f t h
0002140 e p a t h s t e p . T h e
0002160 c h a r a c t e r # p r e
0002200 f a c e s a l l f u n c t i
0002220 o n a l d e s c r i p t o r s
0002240 . T h e c h a r a c t e r
0002260 _ i n d i c a t e s t h a t
0002300 l i n k s f o l l o w e d
0002320 i n o b t a i n i n g t h i
0002340 s s t e p s h o u l d b e
0002360 f o l l o w e d b a c k w a
0002400 r d s . P a t h d e s c r i
0002420 p t o r s c a n b e c o m
0002440 b i n e d i n t o o t h e r
0002460 d e s c r i p t o r s b y
0002500 t h e u s e o f A N D ,
0002520 O R , a n d N O T s u b j
0002540 e c t t o t h e r e s t r
0002560 i c t i o n t h a t a l l
0002600 d e s c r i p t o r s i n a
0002620 c o m b i n a t i o n m u s
0002640 t e i t h e r a p p l y t
0002660 o c a r d s o r l i n k s
0002700 . L a s t l y , r e p e t i
0002720 t i v e p a t h s t r u c t
0002740 u r e s m a y b e s p e c
0002760 i f i e d u s i n g a n u
0003000 m b e r o r K l e e n e s
0003020 t a r n o t a t i o n . S e
0003040 e t h e e x a m p l e s b
0003060 e l o w . \r E X A M P L E S \r F
0003100 O O i s a f u n c t i o n
0003120 n a m e , G O O D P i s
0003140 a f u n c t i o n n a m e ,
0003160 a n d B A R i s a v a
0003200 r i a b l e w i t h v a l u
0003220 e @ # G O O D P . \r ( N C P a
0003240 t h P a r s e ( Q U O T E #
0003260 F O O ) ) \t ( N C P a t h P a r
0003300 s e ( Q U O T E @ # F O O )
0003320 ) \r ( N C P a t h P a r s e (
0003340 Q U O T E _ @ # F O O ) ) \t (
0003360 N C P a t h P a r s e ( Q U O
0003400 T E B A R ) ) \r ( N C P a t h
0003420 P a r s e ( Q U O T E @ T e
0003440 x t ) ) \t ( N C P a t h P a r s
0003460 e ( Q U O T E S u b B o x )
0003500 ) \r ( N C P a t h P a r s e (
0003520 Q U O T E ( S u b B o x ) ) )
0003540 \t ( N C P a t h P a r s e ( Q
0003560 U O T E ( @ # F O O ) ) ) \r (
0003600 N C P a t h P a r s e ( Q U O
0003620 T E ( S u b B o x F i l e d
0003640 C a r d ) ) ) \r ( N C P a t h P
0003660 a r s e ( Q U O T E ( @ # F
0003700 O O @ # F O O ) ) ) \t ( N C P
0003720 a t h P a r s e ( Q U O T E
0003740 ( A N D @ # F O O B A R ) )
0003760 ) \t ( N C P a t h P a r s e (
0004000 Q U O T E ( O R @ # F O O
0004020 ( A N D @ T e x t B A R ) )
0004040 ) ) \r ( N C P a t h P a r s e
0004060 ( Q U O T E ( # F O O * 3 )
0004100 ) ) \t ( N C P a t h P a r s e
0004120 ( Q U O T E ( ( # F O O # F
0004140 O O ) * 3 ) ) ) \r F U N C T I
0004160 O N S \r N C P a t h P a r s e
0004200 E x p r e s s i o n ) \t [ F u n
0004220 c t i o n ] \r T h i s f u n c
0004240 t i o n i s i n t e n d e d
0004260 t o b e t h e t o p - l
0004300 e v e l f u n c t i o n t h
0004320 a t p a r s e s a n e x p
0004340 r e s s i o n i n t o a n
0004360 F S M t h a t N C P a t h .
0004400 F S M . P a t h C o l l e c t
0004420 c a n d e a l w i t h . \r (
0004440 N C P a t h P a r s e . F S M F
0004460 r o m P a t h S p e c E x p r
0004500 e s s i o n ) \t [ F u n c t i o
0004520 n ] \r T h i s f u n c t i o n
0004540 i s i n t e n d e d t o
0004560 b e t h e t o p - l e v e l
0004600 f u n c t i o n t h a t p
0004620 a r s e s a n e x p r e s s
0004640 i o n i n t o a n F S M
0004660 t h a t N C P a t h . F S M .
0004700 P a t h C o l l e c t c a n
0004720 d e a l w i t h . \r ( N C P a
0004740 t h P a r s e . P a t h E x p
0004760 r e s s i o n ) \t [ F u n c t i
0005000 o n ] \r T h i s f u n c t i o
0005020 n p a r s e s a n i n d i
0005040 v i d u a l p a t h a s a
0005060 l i s t o f s t e p s o
0005100 r r e p e a t e r e x p r e
0005120 s s i o n s . \r ( N C P a t h P
0005140 a r s e . P a t h S t e p E x
0005160 p r e s s i o n ) \t [ F u n c t
0005200 i o n ] \r T h i s f u n c t i
0005220 o n p a r s e s a n i n d
0005240 i v i d u a l s t e p o f
0005260 a p a t h . A s t e p i
0005300 s e i t h e r a p a t h
0005320 s t e p d e s c r i p t o r
0005340 o r s o m e c o m b i n a t
0005360 i o n o f d e s c r i p t o
0005400 r s . \r ( N C P a t h P a r s e
0005420 . P a t h S t e p D e s c r i p
0005440 t o r E x p r e s s i o n ) \t
0005460 [ F u n c t i o n ] \r P a r s e
0005500 s a p a t h s t e p d e
0005520 s c r i p t o r . A d e s c
0005540 r i p t o r i s a l i t e
0005560 r a l d e s c r i p t o r ,
0005600 a f u n c t i o n a l d e s
0005620 c r i p t o r , a " d o n
0005640 ' t c a r e " e x p r e s s
0005660 i o n , o r a v a r i a b
0005700 l e p o i n t i n g t o a
0005720 d e s c r i p t o r o f o
0005740 n e o f t h e o t h e r
0005760 t y p e s . T h e v a r i a
0006000 b l e i s c h e c k e d
0006020 f o r i m m e d i a t e c i
0006040 r c u l a r i t y , b u t n
0006060 o t f o r i n d i r e c t
0006100 c i r c u l a r i t y ; e i t
0006120 h e r o f t h e s e c o
0006140 n d i t i o n s c o u l d c
0006160 a u s e a n i n f i n i t e
0006200 l o o p . \r ( N C P a t h P
0006220 a r s e . L i t e r a l P a t h
0006240 D e s c r i p t i o n E x p r
0006260 e s s i o n ) \t [ F u n c t i o
0006300 n ] \r T h i s f u n c t i o n
0006320 p a r s e s p a t h d e s
0006340 c r i p t o r s t h a t l i
0006360 t e r a l l y d e s c r i b e
0006400 w h a t k i n d o f o b
0006420 j e c t q u a l i f i e s a
0006440 s a s t e p i n t h e
0006460 p a t h s o u g h t t h r o
0006500 u g h t h e n o t e c a r d
0006520 s n e t w o r k . \r ( N C P a
0006540 t h P a r s e . F u n c t i o n
0006560 a l P a t h D e s c r i p t i o
0006600 n E x p r e s s i o n ) \t [ F
0006620 u n c t i o n ] \r T h i s f u
0006640 n c t i o n p a r s e s p a
0006660 t h d e s c r i p t o r s t
0006700 h a t g i v e f u n c t i o
0006720 n n a m e s w h i c h a c
0006740 t a s p r e d i c a t e s
0006760 t o d e t e r m i n e w h e
0007000 t h e r a l i n k o r c
0007020 a r d m a t c h e s t h i s
0007040 s t e p i n t h e p a t
0007060 h d e s c r i p t o r . \r ( N
0007100 C P a t h P a r s e . C r e a t
0007120 e F S M N o d e I t e m L i
0007140 n k / C a r d F l a g D i r e
0007160 c t i o n F l a g F u n c t i
0007200 o n F l a g ) \t [ F u n c t i o
0007220 n ] \r T h i s f u n c t i o n
0007240 c r e a t e s t h e N C P
0007260 a t h F S M N o d e s t h a t
0007300 w i l l b e c o m e p a r
0007320 t o f t h e N C P a t h F
0007340 S M b e i n g c r e a t e d
0007360 b y N C P a t h P a r s e .
0007400 I t c o n t a i n s a c
0007420 a l l t o t h e c o d e
0007440 w h i c h c r e a t e s t h
0007460 e L A M B D A e x p r e s s
0007500 i o n s t o b e u s e d
0007520 a s p r e d i c a t e s i f
0007540 n e c e s s a r y . \r ( N C P
0007560 a t h P a r s e . C r e a t e P
0007600 r e d i c a t e F o r m T y p
0007620 e L i n k / C a r d F L A G )
0007640 \t [ F u n c t i o n ] \r T h i s
0007660 f u n c t i o n c r e a t e
0007700 s a L A M B D A e x p r e
0007720 s s i o n t h a t w i l l
0007740 s e r v e a s a p r e d i
0007760 c a t e . S e e N C P a t h
0010000 P a r s e . C o m b i n e P r e
0010020 d i c a t e s . \r ( N C P a t
0010040 h P a r s e . R e p e a t e r E
0010060 x p r e s s i o n R e p e a t
0010100 e r E x p r e s s i o n L o o
0010120 p S t e p s ) \t [ F u n c t i o
0010140 n ] \r T h i s f u n c t i o n
0010160 p a r s e s r e p e a t e r
0010200 e x p r e s s i o n s . \r (
0010220 N C P a t h P a r s e . R e p e
0010240 a t e r T o k e n R e p e a t
0010260 e r E x p r e s s i o n L o o
0010300 p S t e p s ) \t [ F u n c t i o
0010320 n ] \r C r e a t e s a r e p
0010340 e a t e r l o o p w i t h
0010360 n o l i m i t , o r w i t
0010400 h i n f i n i t e l i m i t
0010420 \r ( N C P a t h P a r s e . L i
0010440 m i t e d R e p e a t e r T o k
0010460 e n R e p e a t e r E x p r e
0010500 s s i o n L o o p S t e p s )
0010520 \t [ F u n c t i o n ] \r T h i s
0010540 f u n c t i o n p a r s e s
0010560 r e p e a t e r t o k e n s
0010600 t h a t h a v e a n i n
0010620 t e g r a l l i m i t . \r ( N
0010640 C P a t h P a r s e . L o o p D
0010660 e c i s i o n E x p r e s s i
0010700 o n L o o p S t e p s M i n
0010720 i m u m R e p e a t S y m b o
0010740 l ) \t [ F u n c t i o n ] \r T h
0010760 i s f u n c t i o n d e c i
0011000 d e s w h a t k i n d o f
0011020 l o o p i s t o b e c
0011040 r e a t e d ( r e q u i r i n
0011060 g o n e o r z e r o p a
0011100 s e s t h r o u g h t h e
0011120 l o o p ) a n d t h e n c
0011140 r e a t e s a d e s c r i p
0011160 t i o n o f t h a t l o o
0011200 p . \r ( N C P a t h P a r s e .
0011220 C r e a t e L o o p L o o p S
0011240 t e p s M i n T i m e s M a
0011260 x T i m e s ) \t [ F u n c t i o
0011300 n ] \r H e r e w e c r e a t
0011320 e a n e x p r e s s i o n
0011340 d e s c r i b i n g a l o o
0011360 p t h a t N C P a t h P a r
0011400 s e . C o a l e s c e S t a t e
0011420 s c a n t r a n s f o r m
0011440 i n t o a n a c t u a l l
0011460 o o p . \r ( N C P a t h P a r s
0011500 e . P a t h S t e p O p e r a t
0011520 i o n E x p r e s s i o n ) \t
0011540 [ F u n c t i o n ] \r H e r e
0011560 w e p a r s e c o m b i n a
0011600 t i o n s o f p a t h s t e
0011620 p s . C o m b i n a t i o n s
0011640 a r e c r e a t e d u s i
0011660 n g A N D , O R , a n d
0011700 N O T , t o c o m b i n e
0011720 o t h e r p a t h s t e p s .
0011740 \r ( N C P a t h P a r s e . F u
0011760 n c t i o n P F u n c t i o n
0012000 ) \t [ F u n c t i o n ] \r T h i
0012020 s f u n c t i o n r e t u r
0012040 n s T i f i t s a r g u
0012060 m e n t n a m e s a n a p
0012100 p r o p r i a t e f u n c t i
0012120 o n f o r u s e a s a
0012140 p r e d i c a t e i n a n
0012160 N C P a t h F S M N o d e . \r (
0012200 N C P a t h P a r s e . C h e c
0012220 k A n d C o m p u t e F l a g
0012240 S t e p L i s t F l a g N a m
0012260 e ) \t [ F u n c t i o n ] \r T h
0012300 i s f u n c t i o n c o m p
0012320 u t e s t h e D i r e c t i
0012340 o n a n d C a r d / L i n k
0012360 f l a g s w h e n p a r s
0012400 i n g a c o m b i n a t i o
0012420 n F S M N o d e . I t a l
0012440 s o d e t e r m i n e s i f
0012460 t h e f l a g s i n v o l
0012500 v e d m a t c h , a n d n
0012520 o t i f i e s t h e u s e r
0012540 i f t h e y d o n o t .
0012560 I t r e t u r n s N I L
0012600 i f t h e f l a g s d o
0012620 n o t m a t c h . \r ( N C P a
0012640 t h P a r s e . C o m b i n e P
0012660 r e d i c a t e s S t e p L i
0012700 s t O p e r a t i o n ) \t [ F
0012720 u n c t i o n ] \r T h i s f u
0012740 n c t i o n b u i l d s t h
0012760 e L A M B D A e x p r e s s
0013000 i o n t h a t w i l l b e
0013020 t h e p r e d i c a t e i
0013040 n a c o m b i n a t i o n
0013060 F S M N o d e . \r ( N C P a t
0013100 h P a r s e . C o m b i n a t i
0013120 o n E x p r e s s i o n s S t
0013140 e p L i s t O p e r a t i o n
0013160 ) \t [ F u n c t i o n ] \r T h i
0013200 s f u n c t i o n c o m b i
0013220 n e s p a t h s t e p s p e
0013240 c i f i c a t i o n s u s i n
0013260 g A N D , O R , o r N O
0013300 T i n t o a s i n g l e
0013320 N C P a t h F S M N o d e . \r (
0013340 N C P a t h P a r s e . C o a l
0013360 e s c e S t a t e s N o d e L
0013400 i s t ) \t [ F u n c t i o n ] \r
0013420 T h i s f u n c t i o n t a
0013440 k e s a l i s p - s t y l e
0013460 l i s t o f N C P a t h F
0013500 S M N o d e s a n d t u r n
0013520 s t h e m i n t o a l i
0013540 n k e d l i s t . T h e l
0013560 i n k e d l i s t w i l l
0013600 i n c l u d e c i r c u l a r
0013620 i t i e s w h e r e r e p e
0013640 a t e r e x p r e s s i o n s
0013660 e x i s t . \r ( N C P a t h P
0013700 a r s e . C o a l e s c e R e p
0013720 e a t e r S t a t e s L o o p
0013740 L i s t N e x t L i m i t )
0013760 \t [ F u n c t i o n ] \r T h i s
0014000 f u n c t i o n c r e a t e
0014020 s t h e c i r c u l a r l
0014040 i n k e d l i s t s t r u c
0014060 t u r e t h a t r e p e a t
0014100 e r e x p r e s s i o n s n
0014120 e e d . \r ( L O G E Q U A L .
0014140 U ) \t [ F u n c t i o n ] \r T
0014160 h i s f u n c t i o n i s
0014200 a l o g i c a l o p e r a t
0014220 o r . I t d e t e r m i n e
0014240 s i f t h e a r b i t r a
0014260 r y n u m b e r o f a r g
0014300 u m e n t s a r e l o g i c
0014320 a l l y e q u a l o r n o
0014340 t . \r ( N A N D . A r g s
0014360 ) \t [ F u n c t i o n ] \r T h i
0014400 s f u n c t i o n i s a
0014420 l o g i c a l o p e r a t o r
0014440 s i m i l a r t o A N D
0014460 o r O R , e x c e p t t h
0014500 a t i t p e r f o r m s t
0014520 h e l o g i c a l o p e r a
0014540 t i o n o f ( N O T ( A N
0014560 D A r g s ) ) . \0 \0 \0 \0 \0 003 (
0014600 L I S T ( ( P A G E N I L
0014620 ( F O L I O I N F O ( A R A B
0014640 I C ) S T A R T I N G P A G E
0014660 # 1 ) ( 0 0 6 1 2 7 9
0014700 2 ) ( ( F O L I O N I L (
0014720 P A R A L O O K S ( Q U A D
0014740 C E N T E R E D ) C H A R L O
0014760 O K S ( S U P E R S C R I P T
0015000 0 S I Z E 1 0 F A M I L
0015020 Y M O D E R N O V E R L I N
0015040 E O F F S T R I K E O U T
0015060 O F F U N D E R L I N E O F
0015100 F S L O P E R E G U L A R
0015120 W E I G H T M E D I U M ) F
0015140 O R M A T I N F O ( A R A B I
0015160 C ) ) ( 1 7 4 3 6 2 8 8
0015200 3 6 ) N I L ) ( H E A D I N
0015220 G N I L ( H E A D I N G T Y
0015240 P E R U N N I N G H E A D )
0015260 ( 8 4 7 4 4 4 4 4 3 6 )
0015300 N I L ) ( T E X T N I L N
0015320 I L ( 8 4 9 6 4 5 6 6 0
0015340 0 ) N I L ) ) ) ( P A G E
0015360 N I L N I L ( 0 0 6 1 2
0015400 7 9 2 ) ( ( F O L I O N I
0015420 L ( P A R A L O O K S ( Q U
0015440 A D C E N T E R E D ) C H A
0015460 R L O O K S ( S U P E R S C R
0015500 I P T 0 S I Z E 1 0 F A
0015520 M I L Y M O D E R N O V E R
0015540 L I N E O F F S T R I K E O
0015560 U T O F F U N D E R L I N E
0015600 O F F S L O P E R E G U L
0015620 A R W E I G H T M E D I U M
0015640 ) ) ( 2 8 2 4 2 7 2 3 6
0015660 ) N I L ) ( H E A D I N G
0015700 N I L ( H E A D I N G T Y P E
0015720 R U N N I N G H E A D ) ( 8
0015740 4 7 4 4 4 4 4 3 6 ) N I
0015760 L ) ( T E X T N I L N I L
0016000 ( 8 4 9 6 4 5 6 6 0 0 )
0016020 N I L ) ) ) ( P A G E N I
0016040 L N I L ( 0 0 6 1 2 7
0016060 9 2 ) ( ( F O L I O N I L
0016100 ( P A R A L O O K S ( Q U A D
0016120 C E N T E R E D ) C H A R L
0016140 O O K S ( S U P E R S C R I P
0016160 T 0 S I Z E 1 0 F A M I
0016200 L Y M O D E R N O V E R L I
0016220 N E O F F S T R I K E O U T
0016240 O F F U N D E R L I N E O
0016260 F F S L O P E R E G U L A R
0016300 W E I G H T M E D I U M ) )
0016320 ( 2 8 2 4 2 7 2 3 6 )
0016340 N I L ) ( H E A D I N G N I
0016360 L ( H E A D I N G T Y P E R
0016400 U N N I N G H E A D ) ( 8 4
0016420 7 4 4 4 4 4 3 6 ) N I L )
0016440 ( T E X T N I L N I L (
0016460 8 4 9 6 4 5 6 6 0 0 ) N
0016500 I L ) ) ) ) ) \0 \0 \0 \0 \0 005 \0 \a \0
0016520 . \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 003 001 \0
0016540 \0 001 \0 330 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0016560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 . \0
0016600 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 003 004 \0 \0 001
0016620 001 310 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0016640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0
0016660 \0 001 310 \0 021 \0 \0 \0 004 002 003 \0 \0 \0 \0 \0
0016700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0016720 \0 \0 \0 \0 ( \0 212 \0 212 001 8 \0 006 \0 \0 \0
0016740 004 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0016760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0
0017000 \0 001 310 \0 \v \0 \0 \0 004 002 004 \0 \0 \0 \0 \0
0017020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0017040 \0 \0 \0 \0 ( \0 212 \0 212 001 8 \0 \0 \0 \0 \0
0017060 004 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0017100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 D \0 \0 \0
0017120 \0 001 310 \0 \0 \0 \0 \0 \0 003 004 \0 \0 001 001 310
0017140 001 \0 \0 \0 \0 \0 \0 \0 \v P A G E H E A
0017160 D I N G \0 \v R U N N I N G H E A
0017200 D \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0017220 \0 \0 \0 \0 004 \0 \t \0 026 \0 \b T E R M I
0017240 N A L \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0
0017260 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 001
0017300 \0 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0
0017320 \0 \0 \0 \0 \0 \0 024 \0 006 M O D E R N \0
0017340 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D
0017360 E R N \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0
0017400 006 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 \0
0017420 \0 \0 024 \0 006 M O D E R N \0 \f \0 \0 \0
0017440 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N \0
0017460 006 \0 \0 \0 \0 \0 \0 \0 \0 \0 022 \0 004 L O G
0017500 O \0 030 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0017520 002 \0 \a \0 \0 \0 005 \0 \0 \0 \0 \t \0 \0 \0 001
0017540 \0 \0 \0 \0 \b \0 \0 \0 \v \0 \0 \0 \0 \a \0 \0
0017560 \0 001 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 \a \0
0017600 \0 \0 002 \0 001 \0 \v H R U L E . G E T
0017620 F N 001 \0 024 \0 006 M O D E R N \0 \f \0
0017640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 006
0017660 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v
0017700 H R U L E . G E T F N 001 \0 024 \0 006
0017720 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 \0 \0
0017740 \0 \0 \0 001 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0
0017760 006 \0 \0 \0 002 \0 001 \0 \v H R U L E . G
0020000 E T F N 001 \0 024 \0 006 M O D E R N \0
0020020 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0
0020040 \0 006 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \f \0 \0
0020060 \0 \0 \a \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 002 \0
0020100 001 \0 \v H R U L E . G E T F N 001 \0
0020120 024 \0 006 M O D E R N \0 \f \0 \0 \0 \0 \0
0020140 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 \0
0020160 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U L
0020200 E . G E T F N 001 \0 024 \0 006 M O D E
0020220 R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 001
0020240 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0
0020260 * \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 003 \0 \0
0020300 \0 022 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0
0020320 \0 \0 \f \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0
0020340 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 p \0 \0 \0
0020360 \0 006 \0 \0 \0 026 \0 \0 \0 \0 003 \0 \0 \0 177 \0
0020400 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 032
0020420 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 005 \0 \0 003
0020440 033 \0 \0 \0 \0 006 \0 \0 \0 001 \0 \0 \0 \0 003 \0
0020460 \0 001 205 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 005
0020500 \0 \0 \0 \b \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0
0020520 \0 006 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 \ \0 \0
0020540 \0 \0 001 \0 \0 \0 \0 \0 002 \0 001 \0 \0 001 317 \0
0020560 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \n
0020600 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0
0020620 \f \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0
0020640 \0 \0 225 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002
0020660 \0 \0 \0 035 \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0
0020700 \0 002 \0 \0 \0 225 \0 \0 \0 \0 004 \0 \0 \0 \0 \0
0020720 002 \0 002 \0 \0 \0 022 \0 \0 \0 \0 004 \0 \0 \0 \n
0020740 \0 \0 \0 \0 002 \0 \0 \0 a \0 \0 \0 \0 004 \0 \0
0020760 \0 \0 \0 002 \0 002 \0 \0 \0 026 \0 \0 \0 \0 004 \0
0021000 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 214 \0 \0 \0 \0
0021020 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 \0 \0 \0
0021040 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 001 Z \0
0021060 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 $
0021100 \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0
0021120 \0 245 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0
0021140 \0 \0 ' \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0
0021160 002 \0 \0 \0 262 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002
0021200 \0 002 \0 \0 \0 033 \0 \0 \0 \0 004 \0 \0 \0 - \0
0021220 \0 \0 \0 002 \0 \0 \0 346 \0 \0 \0 \0 004 \0 \0 \0
0021240 \0 \0 002 \0 002 \0 \0 \0 ! \0 \0 \0 \0 004 \0 \0
0021260 \0 022 \0 \0 \0 \0 002 \0 \0 \0 { \0 \0 \0 \0 004
0021300 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 \0 \0 \0 \0
0021320 004 \0 \0 \0 034 \0 \0 \0 \0 002 \0 \0 \0 9 \0 \0
0021340 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 033 \0
0021360 \0 \0 \0 004 \0 \0 \0 034 \0 \0 \0 \0 002 \0 \0 \0
0021400 K \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0
0021420 \0 " \0 \0 \0 \0 004 \0 \0 \0 034 \0 \0 \0 \0 002
0021440 \0 \0 \0 O \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0
0021460 002 \0 \0 \0 032 \0 \0 \0 \0 004 \0 \0 \0 ) \0 \0
0021500 \0 \0 002 \0 \0 \0 242 \0 \0 \0 \0 004 \0 \0 \0 \0
0021520 \0 002 \0 002 \0 \0 \0 030 \0 \0 \0 \0 004 \0 \0 \0
0021540 033 \0 \0 \0 \0 002 \0 \0 \0 177 \0 \0 \0 \0 004 \0
0021560 \0 \0 \0 \0 002 \0 002 \0 \0 \0 037 \0 \0 \0 \0 004
0021600 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 203 \0 \0 \0
0021620 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 027 \0 \0
0021640 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 177
0021660 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0
0021700 ! \0 \0 \0 \0 004 \0 \0 \0 021 \0 \0 \0 \0 002 \0
0021720 \0 \0 352 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002
0021740 \0 \0 \0 037 \0 \0 \0 \0 004 \0 \0 \0 022 \0 \0 \0
0021760 \0 002 \0 \0 \0 n \0 \0 \0 \0 004 \0 \0 \0 \0 \0
0022000 002 \0 002 \0 \0 \0 $ \0 \0 \0 \0 004 \0 \0 \0 \b
0022020 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0
0022040 \0 \t \0 \0 \0 \0 002 \0 \0 \0 o \0 \0 \0 \0 004
0022060 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 034 \0 \0 \0 \0
0022100 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 265 \0 \0
0022120 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 $ \0
0022140 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0
0022160 001 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0
0022200 \0 \0 l \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002
0022220 \0 \0 \0 \f \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0
0022240 \0 002 \0 \0 \0 202 \0 \0 \0 \0 004 \0 \0 \0 \0 \0
0022260 002 \0 002 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 004
0022300 \0 \0 \0 \0 002 \0 \0 \0 x \0 \0 \0 \0 004 \0 \0
0022320 \0 020 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 004
0022340 \0 \0 031 y \0 223 z 272
0022350