$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron2.0>Shared-Derived>SaffronAG8Impl.Mesa!17 0000000 - - S a f f r o n A G 8 I m p 0000020 l . m e s a \r - - C o p y r 0000040 i g h t 323 1 9 8 7 b y X 0000060 e r o x C o r p o r a t i o n 0000100 . A l l r i g h t s r e 0000120 s e r v e d . \r - - G e n e 0000140 r a t e d b y h e d e r m a 0000160 n . p a a t A u g u s t 1 0000200 7 , 1 9 8 7 4 : 3 3 : 1 7 0000220 p m P D T \r - - u s i n 0000240 g T h r e e C a s a b a F o u 0000260 r [ 1 . 2 ] o f J u n e 0000300 1 , 1 9 8 7 6 : 0 0 : 0 0 0000320 p m P D T \r \r D I R E C T O R 0000340 Y \r \t S a f f r o n A G 8 D e f 0000360 , \r \t S a f f r o n G e n e r i 0000400 c D e f , \r \t S a f f r o n A T 0000420 D e f ; \r \r S a f f r o n A G 8 0000440 I m p l : C E D A R P R O G 0000460 R A M I M P O R T S S a f f 0000500 r o n A G 8 D e f E X P O R T 0000520 S S a f f r o n A G 8 D e f = 0000540 \r B E G I N \r O P E N S a f 0000560 f r o n A G 8 D e f , S a f f 0000600 r o n G e n e r i c D e f , S 0000620 a f f r o n A T D e f ; \r \r - - 0000640 I d L i s t o n e P r o d \r \r 0000660 I d L i s t o n e P r o d P r o 0000700 c s : \t P U B L I C I d L i s 0000720 t N o d e P r o c s _ \r \t N E 0000740 W [ I d L i s t N o d e P r o c 0000760 s B o d y _ [ I d L i s t o 0001000 n e P r o d A d d N a m e s T o 0001020 U n i o n L i s t , I d L i s 0001040 t o n e P r o d A d d V a r i a 0001060 n t N a m e s T o E n u m T y p 0001100 e T G N , I d L i s t o n e P 0001120 r o d A d d I d s T o I n t e r 0001140 f a c e T G N ] ] ; \r \r B u i l 0001160 d I d L i s t o n e P r o d N o 0001200 d e : \t P U B L I C P R O C [ 0001220 p o s i t i o n : I N T , l 0001240 e n g t h : I N T , I d : 0001260 I d N o d e ] \r \t R E T U R N S 0001300 [ I d L i s t N o d e ] = \r \t 0001320 \t B E G I N \r \t \t d a t a : \t I 0001340 d L i s t o n e P r o d D a t a 0001360 _ \r \t \t \t N E W [ I d L i s t 0001400 o n e P r o d D a t a B o d y 0001420 _ [ \r \t \t \t I d ] ] ; \r \t \t R 0001440 E T U R N [ N E W [ I d L i s t 0001460 N o d e B o d y _ [ p o s i t i 0001500 o n , l e n g t h , I d L i 0001520 s t o n e P r o d P r o c s , 0001540 d a t a ] ] ] ; \r \t \t E N D ; \r 0001560 \r \r - - I d L i s t m o r e P 0001600 r o d \r \r I d L i s t m o r e P 0001620 r o d P r o c s : \t P U B L I C 0001640 I d L i s t N o d e P r o c s 0001660 _ \r \t N E W [ I d L i s t N o 0001700 d e P r o c s B o d y _ [ I 0001720 d L i s t m o r e P r o d A d d 0001740 N a m e s T o U n i o n L i s t 0001760 , I d L i s t m o r e P r o d 0002000 A d d V a r i a n t N a m e s T 0002020 o E n u m T y p e T G N , I d 0002040 L i s t m o r e P r o d A d d I 0002060 d s T o I n t e r f a c e T G N 0002100 ] ] ; \r \r B u i l d I d L i s t 0002120 m o r e P r o d N o d e : \t P U 0002140 B L I C P R O C [ p o s i t i 0002160 o n : I N T , l e n g t h : 0002200 I N T , I d : I d N o d e 0002220 , I d L i s t : I d L i s t 0002240 N o d e ] \r \t R E T U R N S [ I 0002260 d L i s t N o d e ] = \r \t \t B 0002300 E G I N \r \t \t d a t a : \t I d L 0002320 i s t m o r e P r o d D a t a 0002340 _ \r \t \t \t N E W [ I d L i s t m 0002360 o r e P r o d D a t a B o d y 0002400 _ [ \r \t \t \t I d , I d L i s 0002420 t ] ] ; \r \t \t R E T U R N [ N E 0002440 W [ I d L i s t N o d e B o d y 0002460 _ [ p o s i t i o n , l e n g 0002500 t h , I d L i s t m o r e P r 0002520 o d P r o c s , d a t a ] ] ] 0002540 ; \r \t \t E N D ; \r \r \r - - O r 0002560 d e r e d y e s P r o d \r \r O r 0002600 d e r e d y e s P r o d P r o c 0002620 s : \t P U B L I C O r d e r e 0002640 d N o d e P r o c s _ \r \t N E 0002660 W [ O r d e r e d N o d e P r o 0002700 c s B o d y _ [ O r d e r e 0002720 d y e s P r o d G e t B o o l e 0002740 a n V a l ] ] ; \r \r B u i l d O 0002760 r d e r e d y e s P r o d N o d 0003000 e : \t P U B L I C P R O C [ p 0003020 o s i t i o n : I N T , l e 0003040 n g t h : I N T ] \r \t R E T U 0003060 R N S [ O r d e r e d N o d e ] 0003100 = \r \t \t B E G I N \r \t \t R E T 0003120 U R N [ N E W [ O r d e r e d N 0003140 o d e B o d y _ [ p o s i t i o 0003160 n , l e n g t h , O r d e r 0003200 e d y e s P r o d P r o c s , 0003220 N I L ] ] ] ; \r \t \t E N D ; \r \r 0003240 \r - - O r d e r e d n o P r o 0003260 d \r \r O r d e r e d n o P r o d 0003300 P r o c s : \t P U B L I C O r 0003320 d e r e d N o d e P r o c s _ 0003340 \r \t N E W [ O r d e r e d N o d 0003360 e P r o c s B o d y _ [ O r 0003400 d e r e d n o P r o d G e t B o 0003420 o l e a n V a l ] ] ; \r \r B u i 0003440 l d O r d e r e d n o P r o d N 0003460 o d e : \t P U B L I C P R O C 0003500 [ p o s i t i o n : I N T , 0003520 l e n g t h : I N T ] \r \t R E 0003540 T U R N S [ O r d e r e d N o d 0003560 e ] = \r \t \t B E G I N \r \t \t R 0003600 E T U R N [ N E W [ O r d e r e 0003620 d N o d e B o d y _ [ p o s i t 0003640 i o n , l e n g t h , O r d 0003660 e r e d n o P r o d P r o c s , 0003700 N I L ] ] ] ; \r \t \t E N D ; \r 0003720 \r \r - - B a s e y e s P r o d 0003740 \r \r B a s e y e s P r o d P r o 0003760 c s : \t P U B L I C B a s e N 0004000 o d e P r o c s _ \r \t N E W [ 0004020 B a s e N o d e P r o c s B o d 0004040 y _ [ B a s e y e s P r o d 0004060 G e t B o o l e a n V a l ] ] ; 0004100 \r \r B u i l d B a s e y e s P r 0004120 o d N o d e : \t P U B L I C P 0004140 R O C [ p o s i t i o n : I N 0004160 T , l e n g t h : I N T ] \r 0004200 \t R E T U R N S [ B a s e N o d 0004220 e ] = \r \t \t B E G I N \r \t \t R 0004240 E T U R N [ N E W [ B a s e N o 0004260 d e B o d y _ [ p o s i t i o n 0004300 , l e n g t h , B a s e y e 0004320 s P r o d P r o c s , N I L ] 0004340 ] ] ; \r \t \t E N D ; \r \r \r - - 0004360 B a s e n o P r o d \r \r B a s e 0004400 n o P r o d P r o c s : \t P U B 0004420 L I C B a s e N o d e P r o c 0004440 s _ \r \t N E W [ B a s e N o d 0004460 e P r o c s B o d y _ [ B a 0004500 s e n o P r o d G e t B o o l e 0004520 a n V a l ] ] ; \r \r B u i l d B 0004540 a s e n o P r o d N o d e : \t P 0004560 U B L I C P R O C [ p o s i t 0004600 i o n : I N T , l e n g t h 0004620 : I N T ] \r \t R E T U R N S [ 0004640 B a s e N o d e ] = \r \t \t B E 0004660 G I N \r \t \t R E T U R N [ N E W 0004700 [ B a s e N o d e B o d y _ [ p 0004720 o s i t i o n , l e n g t h , 0004740 B a s e n o P r o d P r o c s 0004760 , N I L ] ] ] ; \r \t \t E N D ; 0005000 \r \r \r - - P o i n t e r T y p 0005020 e u n s p e c i f i e d P r o d 0005040 \r \r P o i n t e r T y p e u n s 0005060 p e c i f i e d P r o d P r o c 0005100 s : \t P U B L I C P o i n t e 0005120 r T y p e N o d e P r o c s _ 0005140 \r \t N E W [ P o i n t e r T y p 0005160 e N o d e P r o c s B o d y _ 0005200 [ P o i n t e r T y p e u n s 0005220 p e c i f i e d P r o d G e t P 0005240 o i n t e r T y p e I n f o ] ] 0005260 ; \r \r B u i l d P o i n t e r T 0005300 y p e u n s p e c i f i e d P r 0005320 o d N o d e : \t P U B L I C P 0005340 R O C [ p o s i t i o n : I N 0005360 T , l e n g t h : I N T , 0005400 O p t I n t e r v a l : O p t 0005420 I n t e r v a l N o d e ] \r \t R 0005440 E T U R N S [ P o i n t e r T y 0005460 p e N o d e ] = \r \t \t B E G I 0005500 N \r \t \t d a t a : \t P o i n t e 0005520 r T y p e u n s p e c i f i e d 0005540 P r o d D a t a _ \r \t \t \t N E 0005560 W [ P o i n t e r T y p e u n s 0005600 p e c i f i e d P r o d D a t a 0005620 B o d y _ [ \r \t \t \t O p t I 0005640 n t e r v a l ] ] ; \r \t \t R E T 0005660 U R N [ N E W [ P o i n t e r T 0005700 y p e N o d e B o d y _ [ p o s 0005720 i t i o n , l e n g t h , P 0005740 o i n t e r T y p e u n s p e c 0005760 i f i e d P r o d P r o c s , 0006000 d a t a ] ] ] ; \r \t \t E N D ; \r 0006020 \r \r - - P o i n t e r T y p e 0006040 s p e c i f i e d P r o d \r \r P 0006060 o i n t e r T y p e s p e c i f 0006100 i e d P r o d P r o c s : \t P U 0006120 B L I C P o i n t e r T y p e 0006140 N o d e P r o c s _ \r \t N E W 0006160 [ P o i n t e r T y p e N o d e 0006200 P r o c s B o d y _ [ P o i 0006220 n t e r T y p e s p e c i f i e 0006240 d P r o d G e t P o i n t e r T 0006260 y p e I n f o ] ] ; \r \r B u i l 0006300 d P o i n t e r T y p e s p e c 0006320 i f i e d P r o d N o d e : \t P 0006340 U B L I C P R O C [ p o s i t 0006360 i o n : I N T , l e n g t h 0006400 : I N T , O p t I n t e r v 0006420 a l : O p t I n t e r v a l N 0006440 o d e , R e a d O n l y : R 0006460 e a d O n l y N o d e , T y p 0006500 e E x p : T y p e E x p N o d 0006520 e ] \r \t R E T U R N S [ P o i n 0006540 t e r T y p e N o d e ] = \r \t 0006560 \t B E G I N \r \t \t d a t a : \t P 0006600 o i n t e r T y p e s p e c i f 0006620 i e d P r o d D a t a _ \r \t \t 0006640 \t N E W [ P o i n t e r T y p e 0006660 s p e c i f i e d P r o d D a t 0006700 a B o d y _ [ \r \t \t \t O p t 0006720 I n t e r v a l , R e a d O n 0006740 l y , T y p e E x p ] ] ; \r \t 0006760 \t R E T U R N [ N E W [ P o i n 0007000 t e r T y p e N o d e B o d y _ 0007020 [ p o s i t i o n , l e n g t 0007040 h , P o i n t e r T y p e s p 0007060 e c i f i e d P r o d P r o c s 0007100 , d a t a ] ] ] ; \r \t \t E N D 0007120 ; \r \r \r - - O p t I n t e r v 0007140 a l a b s e n t P r o d \r \r O p 0007160 t I n t e r v a l a b s e n t P 0007200 r o d P r o c s : \t P U B L I C 0007220 O p t I n t e r v a l N o d e 0007240 P r o c s _ \r \t N E W [ O p t 0007260 I n t e r v a l N o d e P r o c 0007300 s B o d y _ [ O p t I n t e 0007320 r v a l a b s e n t P r o d G e 0007340 t B o u n d s V a l ] ] ; \r \r B 0007360 u i l d O p t I n t e r v a l a 0007400 b s e n t P r o d N o d e : \t P 0007420 U B L I C P R O C [ p o s i t 0007440 i o n : I N T , l e n g t h 0007460 : I N T ] \r \t R E T U R N S [ 0007500 O p t I n t e r v a l N o d e ] 0007520 = \r \t \t B E G I N \r \t \t R E T 0007540 U R N [ N E W [ O p t I n t e r 0007560 v a l N o d e B o d y _ [ p o s 0007600 i t i o n , l e n g t h , O 0007620 p t I n t e r v a l a b s e n t 0007640 P r o d P r o c s , N I L ] ] 0007660 ] ; \r \t \t E N D ; \r \r \r - - O 0007700 p t I n t e r v a l p r e s e n 0007720 t P r o d \r \r O p t I n t e r v 0007740 a l p r e s e n t P r o d P r o 0007760 c s : \t P U B L I C O p t I n 0010000 t e r v a l N o d e P r o c s 0010020 _ \r \t N E W [ O p t I n t e r v 0010040 a l N o d e P r o c s B o d y 0010060 _ [ O p t I n t e r v a l p r 0010100 e s e n t P r o d G e t B o u n 0010120 d s V a l ] ] ; \r \r B u i l d O 0010140 p t I n t e r v a l p r e s e n 0010160 t P r o d N o d e : \t P U B L I 0010200 C P R O C [ p o s i t i o n : 0010220 I N T , l e n g t h : I N 0010240 T , I n t e r v a l : I n t 0010260 e r v a l N o d e ] \r \t R E T U 0010300 R N S [ O p t I n t e r v a l N 0010320 o d e ] = \r \t \t B E G I N \r \t 0010340 \t d a t a : \t O p t I n t e r v 0010360 a l p r e s e n t P r o d D a t 0010400 a _ \r \t \t \t N E W [ O p t I n 0010420 t e r v a l p r e s e n t P r o 0010440 d D a t a B o d y _ [ \r \t \t 0010460 \t I n t e r v a l ] ] ; \r \t \t R 0010500 E T U R N [ N E W [ O p t I n t 0010520 e r v a l N o d e B o d y _ [ p 0010540 o s i t i o n , l e n g t h , 0010560 O p t I n t e r v a l p r e s 0010600 e n t P r o d P r o c s , d a 0010620 t a ] ] ] ; \r \t \t E N D ; \r \r \r 0010640 - - R e a d O n l y y e s P r 0010660 o d \r \r R e a d O n l y y e s P 0010700 r o d P r o c s : \t P U B L I C 0010720 R e a d O n l y N o d e P r o 0010740 c s _ \r \t N E W [ R e a d O n 0010760 l y N o d e P r o c s B o d y 0011000 _ [ R e a d O n l y y e s P r 0011020 o d G e t B o o l e a n V a l ] 0011040 ] ; \r \r B u i l d R e a d O n l 0011060 y y e s P r o d N o d e : \t P U 0011100 B L I C P R O C [ p o s i t i 0011120 o n : I N T , l e n g t h : 0011140 I N T ] \r \t R E T U R N S [ R 0011160 e a d O n l y N o d e ] = \r \t 0011200 \t B E G I N \r \t \t R E T U R N [ 0011220 N E W [ R e a d O n l y N o d e 0011240 B o d y _ [ p o s i t i o n , 0011260 l e n g t h , R e a d O n l y 0011300 y e s P r o d P r o c s , N I 0011320 L ] ] ] ; \r \t \t E N D ; \r \r \r - 0011340 - R e a d O n l y n o P r o d 0011360 \r \r R e a d O n l y n o P r o d 0011400 P r o c s : \t P U B L I C R e 0011420 a d O n l y N o d e P r o c s 0011440 _ \r \t N E W [ R e a d O n l y N 0011460 o d e P r o c s B o d y _ [ 0011500 R e a d O n l y n o P r o d G e 0011520 t B o o l e a n V a l ] ] ; \r \r 0011540 B u i l d R e a d O n l y n o P 0011560 r o d N o d e : \t P U B L I C 0011600 P R O C [ p o s i t i o n : I 0011620 N T , l e n g t h : I N T ] 0011640 \r \t R E T U R N S [ R e a d O n 0011660 l y N o d e ] = \r \t \t B E G I 0011700 N \r \t \t R E T U R N [ N E W [ R 0011720 e a d O n l y N o d e B o d y _ 0011740 [ p o s i t i o n , l e n g t 0011760 h , R e a d O n l y n o P r o 0012000 d P r o c s , N I L ] ] ] ; \r 0012020 \t \t E N D ; \r \r \r - - S a f e 0012040 e m p t y P r o d \r \r S a f e e 0012060 m p t y P r o d P r o c s : \t P 0012100 U B L I C S a f e N o d e P r 0012120 o c s _ \r \t N E W [ S a f e N 0012140 o d e P r o c s B o d y _ [ 0012160 S a f e e m p t y P r o d G e t 0012200 B o o l e a n V a l ] ] ; \r \r B 0012220 u i l d S a f e e m p t y P r o 0012240 d N o d e : \t P U B L I C P R 0012260 O C [ p o s i t i o n : I N T 0012300 , l e n g t h : I N T ] \r \t 0012320 R E T U R N S [ S a f e N o d e 0012340 ] = \r \t \t B E G I N \r \t \t R E 0012360 T U R N [ N E W [ S a f e N o d 0012400 e B o d y _ [ p o s i t i o n , 0012420 l e n g t h , S a f e e m p 0012440 t y P r o d P r o c s , N I L 0012460 ] ] ] ; \r \t \t E N D ; \r \r \r - - 0012500 S a f e y e s P r o d \r \r S a 0012520 f e y e s P r o d P r o c s : \t 0012540 P U B L I C S a f e N o d e P 0012560 r o c s _ \r \t N E W [ S a f e 0012600 N o d e P r o c s B o d y _ 0012620 [ S a f e y e s P r o d G e t B 0012640 o o l e a n V a l ] ] ; \r \r B u 0012660 i l d S a f e y e s P r o d N o 0012700 d e : \t P U B L I C P R O C [ 0012720 p o s i t i o n : I N T , l 0012740 e n g t h : I N T ] \r \t R E T 0012760 U R N S [ S a f e N o d e ] = 0013000 \r \t \t B E G I N \r \t \t R E T U R 0013020 N [ N E W [ S a f e N o d e B o 0013040 d y _ [ p o s i t i o n , l e 0013060 n g t h , S a f e y e s P r o 0013100 d P r o c s , N I L ] ] ] ; \r 0013120 \t \t E N D ; \r \r \r - - S a f e 0013140 n o P r o d \r \r S a f e n o P r 0013160 o d P r o c s : \t P U B L I C 0013200 S a f e N o d e P r o c s _ \r 0013220 \t N E W [ S a f e N o d e P r o 0013240 c s B o d y _ [ S a f e n o 0013260 P r o d G e t B o o l e a n V a 0013300 l ] ] ; \r \r B u i l d S a f e n 0013320 o P r o d N o d e : \t P U B L I 0013340 C P R O C [ p o s i t i o n : 0013360 I N T , l e n g t h : I N 0013400 T ] \r \t R E T U R N S [ S a f e 0013420 N o d e ] = \r \t \t B E G I N \r 0013440 \t \t R E T U R N [ N E W [ S a f 0013460 e N o d e B o d y _ [ p o s i t 0013500 i o n , l e n g t h , S a f 0013520 e n o P r o d P r o c s , N I 0013540 L ] ] ] ; \r \t \t E N D ; \r \r \r - 0013560 - T r a n s f e r M o d e p r 0013600 o c P r o d \r \r T r a n s f e r 0013620 M o d e p r o c P r o d P r o c 0013640 s : \t P U B L I C T r a n s f 0013660 e r M o d e N o d e P r o c s 0013700 _ \r \t N E W [ T r a n s f e r M 0013720 o d e N o d e P r o c s B o d y 0013740 _ [ T r a n s f e r M o d e 0013760 p r o c P r o d M a k e T r a n 0014000 s f e r M o d e ] ] ; \r \r B u i 0014020 l d T r a n s f e r M o d e p r 0014040 o c P r o d N o d e : \t P U B L 0014060 I C P R O C [ p o s i t i o n 0014100 : I N T , l e n g t h : I 0014120 N T ] \r \t R E T U R N S [ T r a 0014140 n s f e r M o d e N o d e ] = 0014160 \r \t \t B E G I N \r \t \t R E T U R 0014200 N [ N E W [ T r a n s f e r M o 0014220 d e N o d e B o d y _ [ p o s i 0014240 t i o n , l e n g t h , T r 0014260 a n s f e r M o d e p r o c P r 0014300 o d P r o c s , N I L ] ] ] ; 0014320 \r \t \t E N D ; \r \r \r - - T r a 0014340 n s f e r M o d e p o r t P r o 0014360 d \r \r T r a n s f e r M o d e p 0014400 o r t P r o d P r o c s : \t P U 0014420 B L I C T r a n s f e r M o d 0014440 e N o d e P r o c s _ \r \t N E 0014460 W [ T r a n s f e r M o d e N o 0014500 d e P r o c s B o d y _ [ T 0014520 r a n s f e r M o d e p o r t P 0014540 r o d M a k e T r a n s f e r M 0014560 o d e ] ] ; \r \r B u i l d T r a 0014600 n s f e r M o d e p o r t P r o 0014620 d N o d e : \t P U B L I C P R 0014640 O C [ p o s i t i o n : I N T 0014660 , l e n g t h : I N T ] \r \t 0014700 R E T U R N S [ T r a n s f e r 0014720 M o d e N o d e ] = \r \t \t B E 0014740 G I N \r \t \t R E T U R N [ N E W 0014760 [ T r a n s f e r M o d e N o d 0015000 e B o d y _ [ p o s i t i o n , 0015020 l e n g t h , T r a n s f e 0015040 r M o d e p o r t P r o d P r o 0015060 c s , N I L ] ] ] ; \r \t \t E N 0015100 D ; \r \r \r - - T r a n s f e r 0015120 M o d e s i g n a l P r o d \r \r 0015140 T r a n s f e r M o d e s i g n 0015160 a l P r o d P r o c s : \t P U B 0015200 L I C T r a n s f e r M o d e 0015220 N o d e P r o c s _ \r \t N E W 0015240 [ T r a n s f e r M o d e N o d 0015260 e P r o c s B o d y _ [ T r 0015300 a n s f e r M o d e s i g n a l 0015320 P r o d M a k e T r a n s f e r 0015340 M o d e ] ] ; \r \r B u i l d T r 0015360 a n s f e r M o d e s i g n a l 0015400 P r o d N o d e : \t P U B L I C 0015420 P R O C [ p o s i t i o n : 0015440 I N T , l e n g t h : I N T 0015460 ] \r \t R E T U R N S [ T r a n s 0015500 f e r M o d e N o d e ] = \r \t 0015520 \t B E G I N \r \t \t R E T U R N [ 0015540 N E W [ T r a n s f e r M o d e 0015560 N o d e B o d y _ [ p o s i t i 0015600 o n , l e n g t h , T r a n 0015620 s f e r M o d e s i g n a l P r 0015640 o d P r o c s , N I L ] ] ] ; 0015660 \r \t \t E N D ; \r \r \r - - T r a 0015700 n s f e r M o d e e r r o r P r 0015720 o d \r \r T r a n s f e r M o d e 0015740 e r r o r P r o d P r o c s : \t 0015760 P U B L I C T r a n s f e r M 0016000 o d e N o d e P r o c s _ \r \t 0016020 N E W [ T r a n s f e r M o d e 0016040 N o d e P r o c s B o d y _ 0016060 [ T r a n s f e r M o d e e r r 0016100 o r P r o d M a k e T r a n s f 0016120 e r M o d e ] ] ; \r \r B u i l d 0016140 T r a n s f e r M o d e e r r o 0016160 r P r o d N o d e : \t P U B L I 0016200 C P R O C [ p o s i t i o n : 0016220 I N T , l e n g t h : I N 0016240 T ] \r \t R E T U R N S [ T r a n 0016260 s f e r M o d e N o d e ] = \r 0016300 \t \t B E G I N \r \t \t R E T U R N 0016320 [ N E W [ T r a n s f e r M o d 0016340 e N o d e B o d y _ [ p o s i t 0016360 i o n , l e n g t h , T r a 0016400 n s f e r M o d e e r r o r P r 0016420 o d P r o c s , N I L ] ] ] ; 0016440 \r \t \t E N D ; \r \r \r - - T r a 0016460 n s f e r M o d e p r o c e s s 0016500 P r o d \r \r T r a n s f e r M o 0016520 d e p r o c e s s P r o d P r o 0016540 c s : \t P U B L I C T r a n s 0016560 f e r M o d e N o d e P r o c s 0016600 _ \r \t N E W [ T r a n s f e r 0016620 M o d e N o d e P r o c s B o d 0016640 y _ [ T r a n s f e r M o d 0016660 e p r o c e s s P r o d M a k e 0016700 T r a n s f e r M o d e ] ] ; \r 0016720 \r B u i l d T r a n s f e r M o 0016740 d e p r o c e s s P r o d N o d 0016760 e : \t P U B L I C P R O C [ p 0017000 o s i t i o n : I N T , l e 0017020 n g t h : I N T ] \r \t R E T U 0017040 R N S [ T r a n s f e r M o d e 0017060 N o d e ] = \r \t \t B E G I N \r 0017100 \t \t R E T U R N [ N E W [ T r a 0017120 n s f e r M o d e N o d e B o d 0017140 y _ [ p o s i t i o n , l e n 0017160 g t h , T r a n s f e r M o d 0017200 e p r o c e s s P r o d P r o c 0017220 s , N I L ] ] ] ; \r \t \t E N D 0017240 ; \r \r \r - - T r a n s f e r M 0017260 o d e p r o g r a m P r o d \r \r 0017300 T r a n s f e r M o d e p r o g 0017320 r a m P r o d P r o c s : \t P U 0017340 B L I C T r a n s f e r M o d 0017360 e N o d e P r o c s _ \r \t N E 0017400 W [ T r a n s f e r M o d e N o 0017420 d e P r o c s B o d y _ [ T 0017440 r a n s f e r M o d e p r o g r 0017460 a m P r o d M a k e T r a n s f 0017500 e r M o d e ] ] ; \r \r B u i l d 0017520 T r a n s f e r M o d e p r o g 0017540 r a m P r o d N o d e : \t P U B 0017560 L I C P R O C [ p o s i t i o 0017600 n : I N T , l e n g t h : 0017620 I N T ] \r \t R E T U R N S [ T r 0017640 a n s f e r M o d e N o d e ] 0017660 = \r \t \t B E G I N \r \t \t R E T U 0017700 R N [ N E W [ T r a n s f e r M 0017720 o d e N o d e B o d y _ [ p o s 0017740 i t i o n , l e n g t h , T 0017760 r a n s f e r M o d e p r o g r 0020000 a m P r o d P r o c s , N I L 0020020 ] ] ] ; \r \t \t E N D ; \r \r \r - - 0020040 A r g u m e n t s P r o d \r \r 0020060 A r g u m e n t s P r o d P r o 0020100 c s : \t P U B L I C A r g u m 0020120 e n t s N o d e P r o c s _ \r 0020140 \t N E W [ A r g u m e n t s N o 0020160 d e P r o c s B o d y _ [ A 0020200 r g u m e n t s P r o d M a k e 0020220 A r g u m e n t L i s t s ] ] ; 0020240 \r \r B u i l d A r g u m e n t s 0020260 P r o d N o d e : \t P U B L I C 0020300 P R O C [ p o s i t i o n : 0020320 I N T , l e n g t h : I N T 0020340 , P a r a m e t e r L i s t i 0020360 n p u t : P a r a m e t e r L 0020400 i s t N o d e , P a r a m e t 0020420 e r L i s t o u t p u t : P a 0020440 r a m e t e r L i s t N o d e ] 0020460 \r \t R E T U R N S [ A r g u m e 0020500 n t s N o d e ] = \r \t \t B E G 0020520 I N \r \t \t d a t a : \t A r g u m 0020540 e n t s P r o d D a t a _ \r \t 0020560 \t \t N E W [ A r g u m e n t s P 0020600 r o d D a t a B o d y _ [ \r 0020620 \t \t \t P a r a m e t e r L i s t 0020640 i n p u t , P a r a m e t e r 0020660 L i s t o u t p u t ] ] ; \r \t \t 0020700 R E T U R N [ N E W [ A r g u m 0020720 e n t s N o d e B o d y _ [ p o 0020740 s i t i o n , l e n g t h , 0020760 A r g u m e n t s P r o d P r o 0021000 c s , d a t a ] ] ] ; \r \t \t E 0021020 N D ; \r \r \r - - P a r a m e t 0021040 e r L i s t e m p t y P r o d \r 0021060 \r P a r a m e t e r L i s t e m 0021100 p t y P r o d P r o c s : \t P U 0021120 B L I C P a r a m e t e r L i 0021140 s t N o d e P r o c s _ \r \t N 0021160 E W [ P a r a m e t e r L i s t 0021200 N o d e P r o c s B o d y _ 0021220 [ P a r a m e t e r L i s t e m 0021240 p t y P r o d M a k e F i e l d 0021260 L i s t ] ] ; \r \r B u i l d P a 0021300 r a m e t e r L i s t e m p t y 0021320 P r o d N o d e : \t P U B L I C 0021340 P R O C [ p o s i t i o n : 0021360 I N T , l e n g t h : I N T 0021400 ] \r \t R E T U R N S [ P a r a m 0021420 e t e r L i s t N o d e ] = \r 0021440 \t \t B E G I N \r \t \t R E T U R N 0021460 [ N E W [ P a r a m e t e r L i 0021500 s t N o d e B o d y _ [ p o s i 0021520 t i o n , l e n g t h , P a 0021540 r a m e t e r L i s t e m p t y 0021560 P r o d P r o c s , N I L ] ] 0021600 ] ; \r \t \t E N D ; \r \r \r - - P 0021620 a r a m e t e r L i s t a n y P 0021640 r o d \r \r P a r a m e t e r L i 0021660 s t a n y P r o d P r o c s : \t 0021700 P U B L I C P a r a m e t e r 0021720 L i s t N o d e P r o c s _ \r 0021740 \t N E W [ P a r a m e t e r L i 0021760 s t N o d e P r o c s B o d y 0022000 _ [ P a r a m e t e r L i s t 0022020 a n y P r o d M a k e F i e l d 0022040 L i s t ] ] ; \r \r B u i l d P a 0022060 r a m e t e r L i s t a n y P r 0022100 o d N o d e : \t P U B L I C P 0022120 R O C [ p o s i t i o n : I N 0022140 T , l e n g t h : I N T ] \r 0022160 \t R E T U R N S [ P a r a m e t 0022200 e r L i s t N o d e ] = \r \t \t 0022220 B E G I N \r \t \t R E T U R N [ N 0022240 E W [ P a r a m e t e r L i s t 0022260 N o d e B o d y _ [ p o s i t i 0022300 o n , l e n g t h , P a r a 0022320 m e t e r L i s t a n y P r o d 0022340 P r o c s , N I L ] ] ] ; \r \t 0022360 \t E N D ; \r \r \r - - P a r a m 0022400 e t e r L i s t p a i r l i s t 0022420 P r o d \r \r P a r a m e t e r L 0022440 i s t p a i r l i s t P r o d P 0022460 r o c s : \t P U B L I C P a r 0022500 a m e t e r L i s t N o d e P r 0022520 o c s _ \r \t N E W [ P a r a m 0022540 e t e r L i s t N o d e P r o c 0022560 s B o d y _ [ P a r a m e t 0022600 e r L i s t p a i r l i s t P r 0022620 o d M a k e F i e l d L i s t ] 0022640 ] ; \r \r B u i l d P a r a m e t 0022660 e r L i s t p a i r l i s t P r 0022700 o d N o d e : \t P U B L I C P 0022720 R O C [ p o s i t i o n : I N 0022740 T , l e n g t h : I N T , 0022760 P a i r L i s t : P a i r L i 0023000 s t N o d e ] \r \t R E T U R N S 0023020 [ P a r a m e t e r L i s t N o 0023040 d e ] = \r \t \t B E G I N \r \t \t 0023060 d a t a : \t P a r a m e t e r L 0023100 i s t p a i r l i s t P r o d D 0023120 a t a _ \r \t \t \t N E W [ P a r 0023140 a m e t e r L i s t p a i r l i 0023160 s t P r o d D a t a B o d y _ 0023200 [ \r \t \t \t P a i r L i s t ] ] 0023220 ; \r \t \t R E T U R N [ N E W [ P 0023240 a r a m e t e r L i s t N o d e 0023260 B o d y _ [ p o s i t i o n , 0023300 l e n g t h , P a r a m e t e 0023320 r L i s t p a i r l i s t P r o 0023340 d P r o c s , d a t a ] ] ] ; 0023360 \r \t \t E N D ; \r \r \r - - P a r 0023400 a m e t e r L i s t t y p e l i 0023420 s t P r o d \r \r P a r a m e t e 0023440 r L i s t t y p e l i s t P r o 0023460 d P r o c s : \t P U B L I C P 0023500 a r a m e t e r L i s t N o d e 0023520 P r o c s _ \r \t N E W [ P a r 0023540 a m e t e r L i s t N o d e P r 0023560 o c s B o d y _ [ P a r a m 0023600 e t e r L i s t t y p e l i s t 0023620 P r o d M a k e F i e l d L i s 0023640 t ] ] ; \r \r B u i l d P a r a m 0023660 e t e r L i s t t y p e l i s t 0023700 P r o d N o d e : \t P U B L I C 0023720 P R O C [ p o s i t i o n : 0023740 I N T , l e n g t h : I N T 0023760 , T y p e L i s t : T y p e 0024000 L i s t N o d e ] \r \t R E T U R 0024020 N S [ P a r a m e t e r L i s t 0024040 N o d e ] = \r \t \t B E G I N \r 0024060 \t \t d a t a : \t P a r a m e t e 0024100 r L i s t t y p e l i s t P r o 0024120 d D a t a _ \r \t \t \t N E W [ P 0024140 a r a m e t e r L i s t t y p e 0024160 l i s t P r o d D a t a B o d y 0024200 _ [ \r \t \t \t T y p e L i s t 0024220 ] ] ; \r \t \t R E T U R N [ N E W 0024240 [ P a r a m e t e r L i s t N o 0024260 d e B o d y _ [ p o s i t i o n 0024300 , l e n g t h , P a r a m e 0024320 t e r L i s t t y p e l i s t P 0024340 r o d P r o c s , d a t a ] ] 0024360 ] ; \r \t \t E N D ; \r \r \r - - U 0024400 n c o u n t e d y e s P r o d \r 0024420 \r U n c o u n t e d y e s P r o 0024440 d P r o c s : \t P U B L I C U 0024460 n c o u n t e d N o d e P r o c 0024500 s _ \r \t N E W [ U n c o u n t 0024520 e d N o d e P r o c s B o d y 0024540 _ [ U n c o u n t e d y e s P 0024560 r o d G e t B o o l e a n V a l 0024600 ] ] ; \r \r B u i l d U n c o u n 0024620 t e d y e s P r o d N o d e : \t 0024640 P U B L I C P R O C [ p o s i 0024660 t i o n : I N T , l e n g t 0024700 h : I N T ] \r \t R E T U R N S 0024720 [ U n c o u n t e d N o d e ] 0024740 = \r \t \t B E G I N \r \t \t R E T U 0024760 R N [ N E W [ U n c o u n t e d 0025000 N o d e B o d y _ [ p o s i t i 0025020 o n , l e n g t h , U n c o 0025040 u n t e d y e s P r o d P r o c 0025060 s , N I L ] ] ] ; \r \t \t E N D 0025100 ; \r \r \r - - U n c o u n t e d 0025120 n o P r o d \r \r U n c o u n t e 0025140 d n o P r o d P r o c s : \t P U 0025160 B L I C U n c o u n t e d N o 0025200 d e P r o c s _ \r \t N E W [ U 0025220 n c o u n t e d N o d e P r o c 0025240 s B o d y _ [ U n c o u n t 0025260 e d n o P r o d G e t B o o l e 0025300 a n V a l ] ] ; \r \r B u i l d U 0025320 n c o u n t e d n o P r o d N o 0025340 d e : \t P U B L I C P R O C [ 0025360 p o s i t i o n : I N T , l 0025400 e n g t h : I N T ] \r \t R E T 0025420 U R N S [ U n c o u n t e d N o 0025440 d e ] = \r \t \t B E G I N \r \t \t 0025460 R E T U R N [ N E W [ U n c o u 0025500 n t e d N o d e B o d y _ [ p o 0025520 s i t i o n , l e n g t h , 0025540 U n c o u n t e d n o P r o d P 0025560 r o c s , N I L ] ] ] ; \r \t \t 0025600 E N D ; \r \r \r - - T y p e A p 0025620 p l y o n e P r o d \r \r T y p e 0025640 A p p l y o n e P r o d P r o c 0025660 s : \t P U B L I C T y p e A p 0025700 p l y N o d e P r o c s _ \r \t 0025720 N E W [ T y p e A p p l y N o d 0025740 e P r o c s B o d y _ [ T y 0025760 p e A p p l y o n e P r o d M a 0026000 k e T y p e ] ] ; \r \r B u i l d 0026020 T y p e A p p l y o n e P r o d 0026040 N o d e : \t P U B L I C P R O 0026060 C [ p o s i t i o n : I N T , 0026100 l e n g t h : I N T , T y 0026120 p e I d : T y p e I d N o d e 0026140 , E x p : E x p N o d e ] \r 0026160 \t R E T U R N S [ T y p e A p p 0026200 l y N o d e ] = \r \t \t B E G I 0026220 N \r \t \t d a t a : \t T y p e A p 0026240 p l y o n e P r o d D a t a _ 0026260 \r \t \t \t N E W [ T y p e A p p l 0026300 y o n e P r o d D a t a B o d y 0026320 _ [ \r \t \t \t T y p e I d , 0026340 E x p ] ] ; \r \t \t R E T U R N [ 0026360 N E W [ T y p e A p p l y N o d 0026400 e B o d y _ [ p o s i t i o n , 0026420 l e n g t h , T y p e A p p 0026440 l y o n e P r o d P r o c s , 0026460 d a t a ] ] ] ; \r \t \t E N D ; \r 0026500 \r \r - - T y p e A p p l y m o 0026520 r e l e n g t h s P r o d \r \r T 0026540 y p e A p p l y m o r e l e n g 0026560 t h s P r o d P r o c s : \t P U 0026600 B L I C T y p e A p p l y N o 0026620 d e P r o c s _ \r \t N E W [ T 0026640 y p e A p p l y N o d e P r o c 0026660 s B o d y _ [ T y p e A p p 0026700 l y m o r e l e n g t h s P r o 0026720 d M a k e T y p e ] ] ; \r \r B u 0026740 i l d T y p e A p p l y m o r e 0026760 l e n g t h s P r o d N o d e : 0027000 \t P U B L I C P R O C [ p o s 0027020 i t i o n : I N T , l e n g 0027040 t h : I N T , T y p e A p p 0027060 l y : T y p e A p p l y N o d 0027100 e , E x p : E x p N o d e ] 0027120 \r \t R E T U R N S [ T y p e A p 0027140 p l y N o d e ] = \r \t \t B E G 0027160 I N \r \t \t d a t a : \t T y p e A 0027200 p p l y m o r e l e n g t h s P 0027220 r o d D a t a _ \r \t \t \t N E W 0027240 [ T y p e A p p l y m o r e l e 0027260 n g t h s P r o d D a t a B o d 0027300 y _ [ \r \t \t \t T y p e A p p 0027320 l y , E x p ] ] ; \r \t \t R E T 0027340 U R N [ N E W [ T y p e A p p l 0027360 y N o d e B o d y _ [ p o s i t 0027400 i o n , l e n g t h , T y p 0027420 e A p p l y m o r e l e n g t h 0027440 s P r o d P r o c s , d a t a 0027460 ] ] ] ; \r \t \t E N D ; \r \r \r - - 0027500 T y p e A p p l y m o r e i d 0027520 s P r o d \r \r T y p e A p p l y 0027540 m o r e i d s P r o d P r o c s 0027560 : \t P U B L I C T y p e A p p 0027600 l y N o d e P r o c s _ \r \t N 0027620 E W [ T y p e A p p l y N o d e 0027640 P r o c s B o d y _ [ T y p 0027660 e A p p l y m o r e i d s P r o 0027700 d M a k e T y p e ] ] ; \r \r B u 0027720 i l d T y p e A p p l y m o r e 0027740 i d s P r o d N o d e : \t P U B 0027760 L I C P R O C [ p o s i t i o 0030000 n : I N T , l e n g t h : 0030020 I N T , T y p e A p p l y : 0030040 T y p e A p p l y N o d e , I 0030060 d : I d N o d e ] \r \t R E T U 0030100 R N S [ T y p e A p p l y N o d 0030120 e ] = \r \t \t B E G I N \r \t \t d 0030140 a t a : \t T y p e A p p l y m o 0030160 r e i d s P r o d D a t a _ \r 0030200 \t \t \t N E W [ T y p e A p p l y 0030220 m o r e i d s P r o d D a t a B 0030240 o d y _ [ \r \t \t \t T y p e A 0030260 p p l y , I d ] ] ; \r \t \t R E 0030300 T U R N [ N E W [ T y p e A p p 0030320 l y N o d e B o d y _ [ p o s i 0030340 t i o n , l e n g t h , T y 0030360 p e A p p l y m o r e i d s P r 0030400 o d P r o c s , d a t a ] ] ] 0030420 ; \r \t \t E N D ; \r \r E N D . . \r 0030440