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