$ od -c -N 50000 [eris]<LispCore>SOURCES>CL-ERROR!8 0000000 ( D E F I N E - F I L E - I N F 0000020 O 247 R E A D T A B L E " I N 0000040 T E R L I S P " 247 P A C K A G 0000060 E " I N T E R L I S P " ) \r 006 0000100 001 ( F I L E C R E A T E D " 1 0000120 7 - O c t - 8 6 1 7 : 3 0 : 1 0000140 0 " 006 004 { E R I S } < D A N I 0000160 E L S > L I S P > C L - E R R O 0000200 R . ; 1 4 006 001 3 4 9 8 3 \r 0000220 \r c h a n g e s t 0000240 o % : ( F U N C T I O N S 0000260 D E F I N E - C O N D I T I O N 0000300 I G N O R E - E R R O R S W 0000320 I T H - G E N S Y M S C L : C 0000340 H E C K - T Y P E H A N D L E 0000360 R - B I N D \r 0000400 0000420 P R O C E E D - A R G - C 0000440 O L L E C T O R P R O C E E D 0000460 - C A S E R E A L - P R O C E 0000500 E D - C A S E C O N D I T I O 0000520 N - T Y P E C A S E \r 0000540 0000560 W I T H - E R R - 0000600 L O O P - V A R S M A K E - F 0000620 A K E - R E P O R T - F U N C T 0000640 I O N M A K E - R E P O R T - 0000660 F U N C T I O N \r 0000700 0000720 N O R M A L I Z E - C 0000740 O N D I T I O N - C L A U S E S 0000760 P R O C E E D - C A S E - F R 0001000 O M - C L A U S E \r 0001020 0001040 C O L L E C T - C A 0001060 S E - S E L E C T O R S N O - 0001100 P R O C E E D - T E S T C L : 0001120 E T Y P E C A S E C O N D I T 0001140 I O N - C A S E \r 0001160 0001200 R E A L - C O N D I T 0001220 I O N - C A S E ) \r 0001240 ( V 0001260 A R S C L - E R R O R C O M S 0001300 ) \r \r p r e v i o u 0001320 s d a t e % : " 1 6 - O c t 0001340 - 8 6 1 7 : 3 4 : 0 9 " { E 0001360 R I S } < D A N I E L S > L I S 0001400 P > C L - E R R O R . ; 1 3 ) \r 0001420 \r \r ( * " \r C o p y r i g h t 0001440 ( c ) 1 9 8 6 b y X e r 0001460 o x C o r p o r a t i o n . 0001500 A l l r i g h t s r e s e 0001520 r v e d . \r " ) \r \r ( P R E T T 0001540 Y C O M P R I N T C L - E R R 0001560 O R C O M S ) \r \r ( R P A Q Q 0001600 006 002 C L - E R R O R C O M S 006 001 0001620 \r ( ( C O M S 0001640 ( * ; ; \r 0001660 " T e m p o r a r y 0001700 b o o t s t r a p p i n g s 0001720 t u f f . A n y t h i n g i 0001740 n h e r e g e t s c h a n 0001760 g e d o n c e C L s t a r 0002000 t s w o r k i n g . " \r 0002020 ) \r 0002040 ( F 0002060 U N C T I O N S C O N D I T I 0002100 O N - T Y P E C A S E C O N D 0002120 I T I O N - B L O C K C O N D 0002140 I T I O N - R E T U R N ) ) \r 0002160 ( C O M S ( * 0002200 ; ; " I n t e r n a l s t u 0002220 f f . " ) \r 0002240 ( E X P O R T ( V A R 0002260 I A B L E S % % C O N D I T I 0002300 O N - T Y P E S - R E A L ) ) \r 0002320 ( F 0002340 U N C T I O N S D E F A U L T 0002360 - P R O C E E D - R E P O R T ) 0002400 \r ( 0002420 F U N C T I O N S W I T H - G 0002440 E N S Y M S W I T H - E R R - 0002460 L O O P - V A R S S T R I P - 0002500 K E Y W O R D S M A K E - F A 0002520 K E - R E P O R T - F U N C T I 0002540 O N \r 0002560 M A K E - R E 0002600 P O R T - F U N C T I O N M A 0002620 K E - E N C A P S U L A T I O N 0002640 N O R M A L I Z E - S L O T - 0002660 D E S C R I P T I O N S \r 0002700 0002720 E X T R A C T - C O N D I 0002740 T I O N - B I N D I N G S N O 0002760 R M A L I Z E - C O N D I T I O 0003000 N - C L A U S E S \r 0003020 0003040 M A S S A G E - C A T C H - C O 0003060 N D I T I O N - C L A U S E S 0003100 S P L I T - P R O C E E D - C L 0003120 A U S E S P R O C E E D - C A 0003140 S E - F R O M - C L A U S E \r 0003160 0003200 P R O C E S S - P R O 0003220 C E E D - K E Y W O R D S C H 0003240 E C K - * C A S E - S E L E C T 0003260 O R C O L L E C T - C A S E - 0003300 S E L E C T O R S \r 0003320 0003340 N O - P R O C E E D - T E S T 0003360 % % P R E F I X - S Y M B O L 0003400 % % S U F F I X - S Y M B O L 0003420 P R O C E E D - A R G - C O L L 0003440 E C T O R ) ) \r 0003460 ( C O M S ( * ; ; \r 0003500 " U s e r - v i 0003520 s i b l e f o r m s . T h e 0003540 s e s h o u l d a l l b e 0003560 e x t e r n a l s y m b o l 0003600 s . A n y o t h e r s s h 0003620 o u l d b e i n t e r n a l 0003640 . " \r 0003660 ) \r 0003700 ( F U N C T I O N S D 0003720 E F I N E - C O N D I T I O N 0003740 C L : C H E C K - T Y P E C L 0003760 : E T Y P E C A S E C T Y P E 0004000 C A S E C L : E C A S E C L 0004020 : C C A S E \r 0004040 C L : 0004060 A S S E R T H A N D L E R - B 0004100 I N D C O N D I T I O N - B I 0004120 N D C O N D I T I O N - C A S 0004140 E R E A L - C O N D I T I O N 0004160 - C A S E \r 0004200 I G N O 0004220 R E - E R R O R S P R O C E E 0004240 D - C A S E R E A L - P R O C 0004260 E E D - C A S E D E F I N E - 0004300 P R O C E E D - F U N C T I O N 0004320 C A T C H - A B O R T \r 0004340 0004360 ) ) \r ( P R 0004400 O P F I L E T Y P E C L - E 0004420 R R O R ) \r ( D 0004440 E C L A R E % : D O N T E V A 0004460 L @ L O A D D O E V A L @ C O 0004500 M P I L E D O N T C O P Y C 0004520 O M P I L E R V A R S ( A D D 0004540 V A R S ( N L A M A ) \r 0004560 * 0004660 ( N L A M L 0004700 ) \r 0004720 * 0005000 ( 0005020 L A M A ) ) ) ) ) \r \r \r \r 006 004 ( 0005040 * ; ; " T e m p o r a r y 0005060 b o o t s t r a p p i n g s t 0005100 u f f . A n y t h i n g i n 0005120 h e r e g e t s c h a n g 0005140 e d o n c e C L s t a r t 0005160 s w o r k i n g . " ) 006 001 \r \r 0005200 ( D E F M A C R O 006 002 C O N D 0005220 I T I O N - T Y P E C A S E 006 001 0005240 ( O B J E C T & R E S T C 0005260 L A U S E S ) \r ( L E T \r 0005300 ( ( V A L ( C L : G E 0005320 N S Y M ) ) ) \r ( C L : 0005340 I F \r % % C O N D I T 0005360 I O N - T Y P E S - R E A L \r 0005400 ` ( C L : T Y P E C A S 0005420 E , O B J E C T , @ C L A U 0005440 S E S ) \r ` ( L E T 0005460 ( ( , V A L , O B J E C T ) ) 0005500 \r ( C O N 0005520 D \r 0005540 , @ ( C L : M A P C A R # ' ( 0005560 C L : L A M B D A ( C L A U S 0005600 E ) \r 0005620 0005640 ( D E S T R U C T 0005660 U R I N G - B I N D ( S E L E 0005700 C T O R . B O D Y ) \r 0005720 * 0005760 C L A U S E \r 0006000 * 0006040 ( C L : I F 0006060 ( E Q S E L E C T O R T ) 0006100 \r 0006120 * 0006160 C L A U S E \r 0006200 * 0006240 ` ( ( C 0006260 O N D I T I O N - T Y P E P , 0006300 V A L ' , S E L E C T O R ) \r 0006320 * 0006400 , @ B O D Y ) ) ) ) C 0006420 L A U S E S ) ) ) ) ) ) \r \r ( D 0006440 E F M A C R O 006 002 C O N D I T 0006460 I O N - B L O C K 006 001 ( T A G 0006500 & B O D Y F O R M S ) ` ( 0006520 C L : C A T C H ' , T A G , 0006540 @ F O R M S ) ) \r \r ( D E F M A 0006560 C R O 006 002 C O N D I T I O N - 0006600 R E T U R N 006 001 ( T A G & O 0006620 P T I O N A L R E S U L T ) 0006640 ` ( C L : T H R O W ' , T A G 0006660 , R E S U L T ) ) \r \r \r \r \r 006 0006700 004 ( * ; ; " I n t e r n a l 0006720 s t u f f . " ) 006 001 \r \r ( * 0006740 F O L L O W I N G D E F I N I 0006760 T I O N S E X P O R T E D ) \r 0007000 \r \r ( C L : D E F C O N S T A N 0007020 T 006 002 % % C O N D I T I O N - 0007040 T Y P E S - R E A L 006 001 N I L 0007060 ) \r \r \r \r ( * E N D E X P O 0007100 R T E D D E F I N I T I O N S 0007120 ) \r \r ( D E F M A C R O 006 002 D 0007140 E F A U L T - P R O C E E D - R 0007160 E P O R T 006 001 ( P R O C E E D 0007200 - T Y P E ) ` ( C L : G E T 0007220 , P R O C E E D - T Y P E ' % 0007240 % D E F A U L T - P R O C E E D 0007260 - R E P O R T \r 0007300 * 0007360 ' D E F A U L T - P R O C E E D 0007400 - R E P O R T E R ) ) \r \r ( D E 0007420 F M A C R O 006 002 W I T H - G E 0007440 N S Y M S 006 001 ( V A R S P R 0007460 E F I X & B O D Y B O D Y ) 0007500 \r ` ( L E T , ( M A P C 0007520 A R V A R S ( F U N C T I O 0007540 N ( C L : L A M B D A ( V A 0007560 R ) \r 0007600 0007620 ` ( , V A 0007640 R ( G E N S Y M , P R E F I 0007660 X ) ) ) ) ) , @ B O D Y ) ) \r 0007700 \r ( D E F M A C R O 006 002 W I T 0007720 H - E R R - L O O P - V A R S 006 0007740 001 ( P R E F I X & B O D Y 0007760 B O D Y ) ` ( W I T H - G E N 0010000 S Y M S ( V A L B L O C K - 0010020 N A M E A G A I N ) \r 0010040 * 0010120 , P R E F I X \r 0010140 * 0010220 , @ B O D Y ) ) \r \r 0010240 ( D E F U N 006 002 S T R I P - K 0010260 E Y W O R D S 006 001 ( A R G S ) 0010300 ( C L : V A L U E S ( 006 002 F 0010320 O R 006 001 006 002 O L D 006 001 A R G 0010340 S 006 002 O N 006 001 A R G S 006 002 0010360 B Y 006 001 C D D R \r 0010400 * 0010440 006 002 W H I L E 006 001 ( 0010460 C L : K E Y W O R D P ( C L : 0010500 F I R S T A R G S ) ) \r 0010520 * 0010560 006 002 C O L L E C 0010600 T 006 001 ( L I S T ( C L : F I 0010620 R S T A R G S ) \r 0010640 * 0010720 ( C L : S E C O N D A R 0010740 G S ) ) ) \r 0010760 0011000 A R G S ) ) 0011020 \r \r ( D E F U N 006 002 M A K E - 0011040 F A K E - R E P O R T - F U N C 0011060 T I O N 006 001 ( D A T U M B O 0011100 U N D - V A R & O P T I O N A 0011120 L E N C A P S U L A T I O N ) 0011140 \r ( C L : E T Y P E C A S 0011160 E D A T U M ( C L : S T R I 0011200 N G ` ( L A M B D A ( D A T 0011220 U M S T R E A M ) \r 0011240 * 0011300 ( 006 002 D E C L A R E 006 001 ( I G 0011320 N O R E D A T U M ) ) \r 0011340 * 0011400 ( C L : W R I T E - S T R I 0011420 N G , D A T U M S T R E A M 0011440 ) ) ) \r ( L 0011460 I S T ` ( L A M B D A ( , B 0011500 O U N D - V A R * S T A N D A 0011520 R D - O U T P U T * ) \r 0011540 , 0011560 ( C L : I F ( N U L L E N C 0011600 A P S U L A T I O N ) \r 0011620 0011640 D A T U M \r 0011660 0011700 ` ( L E T , E 0011720 N C A P S U L A T I O N , D A 0011740 T U M ) ) ) ) ) ) \r \r ( D E F U 0011760 N 006 002 M A K E - R E P O R T - 0012000 F U N C T I O N 006 001 ( D A T U 0012020 M B O U N D - V A R & O P T 0012040 I O N A L T Y P E - N A M E ) 0012060 \r ( C L : E T Y P E C A S 0012100 E D A T U M ( C L : S T R I 0012120 N G ` ( L A M B D A ( D A T 0012140 U M S T R E A M ) \r 0012160 * 0012220 ( 006 002 D E C L A R E 006 001 ( I G 0012240 N O R E D A T U M ) ) \r 0012260 * 0012320 ( C L : W R I T E - S T R I 0012340 N G , D A T U M S T R E A M 0012360 ) ) ) \r ( L 0012400 I S T ` ( L A M B D A ( , B 0012420 O U N D - V A R * S T A N D A 0012440 R D - O U T P U T * ) \r 0012460 , 0012500 ( C L : I F T Y P E - N A M E 0012520 ` ( 006 002 W I T H 006 001 , T Y P 0012540 E - N A M E , B O U N D - V A 0012560 R , D A T U M ) D A T U M ) 0012600 ) ) ) ) \r \r ( D E F U N 006 002 M 0012620 A K E - E N C A P S U L A T I O 0012640 N 006 001 ( C O N D I T I O N - T 0012660 Y P E S L O T - N A M E S ) \r 0012700 ( M A P C A R ( C L : R 0012720 E M O V E ' - - D U M M Y - S 0012740 L O T - - S L O T - N A M E S 0012760 ) \r # ' ( L 0013000 A M B D A ( S L O T ) \r 0013020 ` ( , S L 0013040 O T ( , ( % % S U F F I X - S 0013060 Y M B O L C O N D I T I O N - 0013100 T Y P E ( C L : C O N C A T E 0013120 N A T E ' C L : S T R I N G 0013140 " - " ( \r 0013160 * 0013260 C L : 0013300 S Y M B O L - N A M E \r 0013320 * 0013440 S L O T ) ) ) \r 0013460 0013500 C O N D I T I O N ) ) ) ) 0013520 ) \r \r ( D E F U N 006 002 N O R M 0013540 A L I Z E - S L O T - D E S C R 0013560 I P T I O N S 006 001 ( S L O T S 0013600 ) \r ( M A P C A R S L O 0013620 T S ( F U N C T I O N ( C L 0013640 : L A M B D A ( S L O T ) \r 0013660 * 0013720 ( 006 002 i f 006 001 ( L I S T P 0013740 S L O T ) \r 0013760 0014000 006 002 t h 0014020 e n 006 001 ( 006 002 i f 006 001 ( E Q 0014040 U A L ( L E N G T H S L O T 0014060 ) \r 0014100 * 0014140 1 ) \r 0014160 * 0014220 006 002 t h e n 0014240 006 001 ( A P P E N D S L O T 0014260 ' ( N I L : R E A D O N L Y 0014300 T ) ) \r 0014320 * 0014360 006 002 e l s e 006 001 ` ( , ( C A 0014400 R S L O T ) , ( C A D R S 0014420 L O T ) : R E A D - O N L Y 0014440 T \r 0014460 * 0014520 , @ ( C 0014540 D D R S L O T ) ) ) \r 0014560 * 0014620 006 002 e l s e 006 001 ` ( , S L O T 0014640 N I L : R E A D - O N L Y 0014660 T ) ) ) ) ) ) \r \r ( D E F U N 0014700 006 002 E X T R A C T - C O N D I T 0014720 I O N - B I N D I N G S 006 001 ( 0014740 C L A U S E S ) ( M A P C A R 0014760 C L A U S E S \r 0015000 * 0015040 ( F U N 0015060 C T I O N ( C L : L A M B D A 0015100 \r 0015120 * 0015160 ( 0015200 C L A U S E ) \r 0015220 * 0015300 ` ( C O N S ' , ( 0015320 C L : F I R S T C L A U S E ) 0015340 \r 0015360 * 0015440 , ( C L : S E C O N 0015460 D C L A U S E ) ) ) ) ) ) \r \r 0015500 ( D E F U N 006 002 N O R M A L I 0015520 Z E - C O N D I T I O N - C L A 0015540 U S E S 006 001 ( C L A U S E S ) 0015560 \r ( M A P C O N C C L A 0015600 U S E S ( F U N C T I O N ( 0015620 C L : L A M B D A \r 0015640 0015660 ( C L A U S E 0015700 ) \r 0015720 0015740 ( L E T ( ( C O N D I T I O 0015760 N S ( C L : F I R S T C L A 0016000 U S E ) ) ) \r 0016020 0016040 ( C L : T 0016060 Y P E C A S E \r 0016100 0016120 C O N 0016140 D I T I O N S \r 0016160 0016200 ( L I 0016220 S T ( C L : I F ( E Q ( C 0016240 L : F I R S T C O N D I T I O 0016260 N S ) \r 0016300 * 0016340 ' Q U O T E 0016360 ) \r 0016400 * 0016440 ( C L : E R R O R \r 0016460 * 0016540 " B a d c o n 0016560 d i t i o n s p e c ~ s . 0016600 S h o u l d b e u n q u o t 0016620 e d . " \r 0016640 * 0016700 C 0016720 O N D I T I O N S ) \r 0016740 * 0017000 ( M A 0017020 P C A R C O N D I T I O N S \r 0017040 * 0017120 ( F U N C T I 0017140 O N ( C L : L A M B D A \r 0017160 * 0017260 ( C ) \r 0017300 * 0017360 ( C L : I F 0017400 ( C L : S Y M B O L P C ) \r 0017420 * 0017520 ( C O N S 0017540 C ( C D R C L A U S E ) ) 0017560 \r 0017600 * 0017660 ( C L : 0017700 E R R O R \r 0017720 * 0017760 " B a d c o n d i t i o n s 0020000 p e c ~ s . S h o u l d b 0020020 e l i s t o f u n q u o t 0020040 e d s y m b o l s . " \r 0020060 * 0020200 C O N D I T I O N S ) ) ) ) ) ) 0020220 ) \r 0020240 0020260 ( C L : S Y M B O 0020300 L ( L I S T C L A U S E ) ) 0020320 \r 0020340 0020360 ( T ( C L : E R R 0020400 O R \r 0020420 0020440 " B a d 0020460 c o n d i t i o n s p e c 0020500 ~ s . S h o u l d b e s y 0020520 m b o l o r l i s t o f 0020540 s y m b o l s . " \r 0020560 * 0020620 C O N D I T 0020640 I O N S ) ) ) ) ) ) ) ) \r \r ( D 0020660 E F U N 006 002 M A S S A G E - C 0020700 A T C H - C O N D I T I O N - C 0020720 L A U S E S 006 001 ( C L A U S E 0020740 S I N I T - V A L U E ) \r 0020760 ( M A P C A R C L A U S E S 0021000 ( F U N C T I O N ( C L : L 0021020 A M B D A \r 0021040 0021060 ( C L A U S E ) \r 0021100 0021120 ( D E S T 0021140 R U C T U R I N G - B I N D \r 0021160 0021200 ( S 0021220 E L E C T O R B V L . F O 0021240 R M S ) \r 0021260 0021300 C L A U S E \r 0021320 0021340 ( C L : I F 0021360 ( N U L L B V L ) \r 0021400 * 0021440 ( C O N S S E L E C T O R 0021460 F O R M S ) \r 0021500 0021520 ( L 0021540 I S T S E L E C T O R ` ( L 0021560 E T ( , ( L I S T ( C A R 0021600 B V L ) \r 0021620 * 0021700 I N I T - V A L 0021720 U E ) , @ ( C D R B V L ) ) 0021740 \r 0021760 * 0022020 , @ F O 0022040 R M S ) ) ) ) ) ) ) ) \r \r ( D E 0022060 F U N 006 002 S P L I T - P R O C 0022100 E E D - C L A U S E S 006 001 ( C 0022120 L A U S E S T A G ) \r ( 0022140 L E T \r ( C A S E S B 0022160 O D I E S ) \r ( 006 002 f o 0022200 r 006 001 C L A U S E 006 002 i n 006 0022220 001 C L A U S E S 006 002 a s 006 001 0022240 S E L E C T O R 006 002 f r o m 0022260 006 001 0 \r 006 002 d o 0022300 006 001 ( D E S T R U C T U R I N 0022320 G - B I N D \r 0022340 ( N A M E V A R S ) \r 0022360 C L A U S E \r 0022400 ( C L : M 0022420 U L T I P L E - V A L U E - B I 0022440 N D \r ( 0022460 T E S T R E P O R T T A I L 0022500 ) \r ( P 0022520 R O C E S S - P R O C E E D - K 0022540 E Y W O R D S N A M E ( C D 0022560 D R C L A U S E ) ) \r 0022600 ( 006 002 i f 006 001 0022620 ( N U L L N A M E ) \r 0022640 006 002 t h 0022660 e n 006 001 ( C L : U N L E S S 0022700 T E S T ( C L : S E T F T E 0022720 S T ' T R U E ) ) \r 0022740 0022760 ( C L : U N L E S S R E P O R 0023000 T ( C L : E R R O R \r 0023020 * 0023060 " U n n a 0023100 m e d p r o c e e d c a s e 0023120 s m u s t h a v e a r e 0023140 p o r t m e t h o d : ~ S " 0023160 \r 0023200 * 0023240 C L A U S E ) ) \r 0023260 006 002 e l s e 006 001 0023300 ( C L : U N L E S S T E S T 0023320 ( 006 002 i f 006 001 ( N O T ( C L 0023340 : G E T N A M E ' % % D E F 0023360 A U L T - P R O C E E D - T E S 0023400 T ) ) \r 0023420 0023440 006 002 t h e 0023460 n 006 001 ( C L : W A R N \r 0023500 * 0023540 " N o t e s 0023560 t s p e c i f i e d f o r 0023600 p r o c e e d t y p e ~ A : 0023620 m a y b e u n d e f i n e 0023640 d . " \r 0023660 * 0023720 N A M E ) ) ) \r 0023740 0023760 ( C L : U N L E S S R E 0024000 P O R T ( C L : S E T F R E 0024020 P O R T ` ( C L : L A M B D A 0024040 ( P C S T R E A M ) \r 0024060 * 0024140 ( C L : F U 0024160 N C A L L ( D E F A U L T - P 0024200 R O C E E D - R E P O R T \r 0024220 * 0024320 ' , N A M E ) \r 0024340 * 0024440 P C S T R E A M ) ) ) 0024460 ) ) \r ( 0024500 C L : P U S H ` ( M A K E - P 0024520 R O C E E D - C A S E : N A M 0024540 E ' , N A M E : T A G , T 0024560 A G : S E L E C T O R , S E 0024600 L E C T O R : T E S T \r 0024620 0024640 , ( A N D 0024660 T E S T ` # ' , T E S T ) : 0024700 R E P O R T # ' , R E P O R T 0024720 ) C A S E S ) \r 0024740 ( C L : P U S H ` ( 0024760 , S E L E C T O R ( F U N C T 0025000 I O N ( C L : L A M B D A , 0025020 V A R S , @ T A I L ) ) ) B 0025040 O D I E S ) ) ) ) \r ( C 0025060 L : V A L U E S ( R E V E R S 0025100 E C A S E S ) \r 0025120 ( R E V E R S E B O D 0025140 I E S ) ) ) ) \r \r ( D E F U N 0025160 006 002 P R O C E E D - C A S E - F 0025200 R O M - C L A U S E 006 001 ( C L 0025220 A U S E T A G D U M M Y ) \r 0025240 ( D E S T R U C T U R I N 0025260 G - B I N D \r ( N A M E 0025300 V A R S . T A I L ) \r 0025320 C L A U S E \r ( C L 0025340 : M U L T I P L E - V A L U E - 0025360 B I N D \r ( T E S T 0025400 R E P O R T B O D Y ) \r 0025420 ( P R O C E S S - P R O C E 0025440 E D - K E Y W O R D S N A M E 0025460 T A I L ) \r ( 006 002 i 0025500 f 006 001 ( N U L L N A M E ) \r 0025520 006 002 t h e n 006 0025540 001 ( C L : U N L E S S T E S 0025560 T ( C L : S E T F T E S T 0025600 ' T R U E ) ) \r 0025620 ( C L : U N L E S S 0025640 R E P O R T ( C L : E R R O 0025660 R " U n n a m e d p r o c e 0025700 e d c a s e s m u s t h a 0025720 v e a r e p o r t m e t h 0025740 o d : ~ S " \r 0025760 * 0026020 C L A U S E ) ) \r 0026040 006 002 e l s e 006 001 ( C L : U N L 0026060 E S S T E S T ( 006 002 i f 006 001 0026100 ( N O T ( C L : G E T N A 0026120 M E ' % % D E F A U L T - P R 0026140 O C E E D - T E S T ) ) \r 0026160 0026200 006 002 t 0026220 h e n 006 001 ( C L : W A R N \r 0026240 * 0026300 " N o t 0026320 e s t s p e c i f i e d f o 0026340 r p r o c e e d t y p e ~ 0026360 A : m a y b e u n d e f i 0026400 n e d . " \r 0026420 * 0026460 N A M E ) ) ) \r 0026500 ( C L : U N L E S 0026520 S R E P O R T ( C L : S E T 0026540 F R E P O R T ` ( C L : L A 0026560 M B D A ( P C S T R E A M ) 0026600 \r 0026620 * 0026660 ( C L : F U N C A 0026700 L L ( D E F A U L T - P R O C 0026720 E E D - R E P O R T \r 0026740 * 0027020 ' , 0027040 N A M E ) \r 0027060 * 0027140 P C S T R E A M ) ) ) ) 0027160 ) \r ` ( M A K E - R E 0027200 A L - P R O C E E D - C A S E 0027220 : N A M E ' , N A M E : T A 0027240 G , T A G : C O N T I N U A 0027260 T I O N \r 0027300 # ' ( C L : L A M B D A ( 0027320 & O P T I O N A L , @ ( O R 0027340 V A R S ( L I S T D U M M Y 0027360 ) ) ) \r 0027400 , @ B O D Y 0027420 ) : T E S T , ( A N D T E 0027440 S T ` # ' , T E S T ) : R E 0027460 P O R T # ' , R E P O R T ) ) 0027500 ) ) \r \r ( D E F U N 006 002 P R O 0027520 C E S S - P R O C E E D - K E Y 0027540 W O R D S 006 001 ( N A M E A R 0027560 G ) \r ( L E T ( T E S T 0027600 R E P O R T ) \r 0027620 ( C L : M U L T I P L E - V A 0027640 L U E - B I N D \r 0027660 ( K E Y S T A I L ) \r 0027700 ( S T R I P - K E 0027720 Y W O R D S A R G ) \r 0027740 ( 006 002 f o r 006 001 P A 0027760 I R 006 002 i n 006 001 K E Y S \r 0030000 006 002 d o 006 0030020 001 ( D E S T R U C T U R I N G 0030040 - B I N D ( K E Y V A L U E 0030060 ) \r 0030100 P A I R \r 0030120 0030140 ( C A S E K E Y ( : T 0030160 E S T ( C L : I F T E S T 0030200 ( C L : E R R O R \r 0030220 * 0030260 " D u p 0030300 l i c a t e t e s t f o r m 0030320 s p e c i f i e d f o r p 0030340 r o c e e d t y p e ~ S . " 0030360 \r 0030400 * 0030440 N A M E 0030460 ) ) \r 0030500 0030520 ( C L : S E 0030540 T F T E S T V A L U E ) ) \r 0030560 0030600 ( : C O 0030620 N D I T I O N ( C L : I F T 0030640 E S T ( C L : E R R O R \r 0030660 * 0030740 " D u p l i c a t e t e s t 0030760 f o r m s p e c i f i e d f 0031000 o r p r o c e e d t y p e 0031020 ~ S . " \r 0031040 * 0031120 N A M E ) ) \r 0031140 0031160 ( C L : S 0031200 E T F T E S T ` ( C L : L A 0031220 M B D A ( C ) \r 0031240 * 0031320 ( C O N D I T I O N - T Y P 0031340 E P C ' , V A L U E ) ) ) ) 0031360 \r 0031400 ( : R 0031420 E P O R T - F U N C T I O N ( 0031440 C L : I F R E P O R T ( C L 0031460 : E R R O R \r 0031500 * 0031540 " D u p l i c a t 0031560 e r e p o r t f o r m s p 0031600 e c i f i e d f o r p r o c 0031620 e e d t y p e ~ S . " \r 0031640 * 0031740 N A M E ) ) \r 0031760 0032000 ( C L : 0032020 S E T F R E P O R T V A L U 0032040 E ) ) \r 0032060 0032100 ( : R E P O R T ( C L : I F 0032120 R E P O R T ( C L : E R R O R 0032140 \r 0032160 * 0032220 " D u p l i c a t e r e p o 0032240 r t f o r m s p e c i f i e 0032260 d f o r p r o c e e d t y 0032300 p e ~ S . " \r 0032320 * 0032400 N A M E ) ) \r 0032420 0032440 ( C L 0032460 : S E T F R E P O R T ( M A 0032500 K E - R E P O R T - F U N C T I 0032520 O N V A L U E ' P R O C E E 0032540 D - C A S E ) ) ) \r 0032560 0032600 ( O T H E R W I S E 0032620 ( C L : C E R R O R " I g n 0032640 o r e k e y / v a l u e p a 0032660 i r " \r 0032700 * 0032740 " I l l e g a l k e y w 0032760 o r d ~ S i n p r o c e e 0033000 d c a s e ~ S . " K E Y 0033020 N A M E ) ) ) ) ) \r 0033040 ( C L : V A L U E S T E 0033060 S T R E P O R T T A I L ) ) 0033100 ) ) \r \r ( D E F U N 006 002 C H E 0033120 C K - * C A S E - S E L E C T O 0033140 R 006 001 ( S E L E C T O R N A 0033160 M E ) ( C L : I F ( O R ( 0033200 E Q S E L E C T O R ' T ) \r 0033220 * 0033300 ( E Q S E L E C 0033320 T O R ' O T H E R W I S E ) ) 0033340 \r 0033360 * 0033420 ( C L : E R R O R " ~ 0033440 A n o t a l l o w e d i n 0033460 t h e ~ A f o r m . " \r 0033500 * 0033560 S E L E C T 0033600 O R N A M E ) \r 0033620 * 0033660 S E L E 0033700 C T O R ) ) \r \r ( D E F U N 006 0033720 002 C O L L E C T - C A S E - S E 0033740 L E C T O R S 006 001 ( C L A U S 0033760 E S N A M E ) \r ( M A P 0034000 C O N C C L A U S E S ( F U 0034020 N C T I O N ( C L : L A M B D 0034040 A ( C L A U S E ) \r 0034060 * 0034120 ( 006 002 i f 006 001 ( A N D ( C L 0034140 : C O N S P ( C A R C L A U 0034160 S E ) ) \r 0034200 * 0034240 ( F M E M B N A M E ' 0034260 ( C L : E C A S E C L : C C A 0034300 S E ) ) ) \r 0034320 0034340 006 0034360 002 t h e n 006 001 ( C L : C O P Y 0034400 - L I S T ( C A R C L A U S 0034420 E ) ) \r 0034440 0034460 006 002 e l s 0034500 e 006 001 ( L I S T ( C H E C K 0034520 - * C A S E - S E L E C T O R 0034540 ( C A R C L A U S E ) \r 0034560 * 0034640 N A M E ) ) ) ) ) ) 0034660 ) \r \r ( D E F U N 006 002 N O - P 0034700 R O C E E D - T E S T 006 001 ( N 0034720 A M E & A U X O N C E ) \r 0034740 ( P R O C E E D - C A S E 0034760 ( H A N D L E R - B I N D ( ( 0035000 N O - P R O C E E D - T E S T 0035020 ( F U N C T I O N ( C L : L A 0035040 M B D A \r 0035060 * 0035140 ( C ) \r 0035160 * 0035240 ( C L : W H E N ( E Q ( N 0035260 O - P R O C E E D - T E S T - N 0035300 A M E C ) \r 0035320 * 0035420 N A M E ) \r 0035440 * 0035520 ( C L : I F 0035540 O N C E ( C L : T H R O W ' 0035560 \r 0035600 * 0035700 S K I P - P R O C E E 0035720 D - C A S E \r 0035740 * 0036040 N I 0036060 L ) \r 0036100 * 0036160 ( C L 0036200 : S E T F O N C E T ) ) ) ) 0036220 ) ) ) \r 0036240 ( C L : 0036260 E R R O R ' N O - P R O C E E 0036300 D - T E S T : N A M E N A M 0036320 E ) ) \r ( N 0036340 I L N I L : R E P O R T " 0036360 U s e F A L S E f o r t h 0036400 e t e s t " : C O N D I T I 0036420 O N N O - P R O C E E D - T E 0036440 S T ( F U N C T I O N F A L 0036460 S E ) ) \r ( 0036500 P R O C E E D N I L : R E P 0036520 O R T " M a k e T R U E t 0036540 h e d e f a u l t t e s t " 0036560 : C O N D I T I O N N O - P 0036600 R O C E E D - T E S T \r 0036620 ( C L 0036640 : S E T F ( D E F A U L T - P 0036660 R O C E E D - T E S T N A M E 0036700 ) \r 0036720 # ' T R U E 0036740 ) ) ) ) \r \r ( D E F U N 006 002 % 0036760 % P R E F I X - S Y M B O L 006 001 0037000 ( P R E F I X C L : S Y M B 0037020 O L ) ( C L : I N T E R N ( 0037040 C L : C O N C A T E N A T E ' 0037060 C L : S T R I N G P R E F I X 0037100 ( \r 0037120 * 0037220 C L : S Y M 0037240 B O L - N A M E \r 0037260 * 0037400 C L : S Y M B O L ) ) \r 0037420 * 0037460 ( C 0037500 L : S Y M B O L - P A C K A G E 0037520 C L : S Y M B O L ) ) ) \r \r ( 0037540 D E F U N 006 002 % % S U F F I X 0037560 - S Y M B O L 006 001 ( C L : S Y 0037600 M B O L S U F F I X ) ( C L 0037620 : I N T E R N ( C L : C O N C 0037640 A T E N A T E ' C L : S T R I 0037660 N G ( C L : S Y M B O L - N A 0037700 M E \r 0037720 * 0040020 C L : S Y M B O L ) \r 0040040 * 0040120 S U F F I 0040140 X ) \r 0040160 * 0040220 ( C L : S Y M B O L - P 0040240 A C K A G E C L : S Y M B O L 0040260 ) ) ) \r \r ( D E F M A C R O 006 0040300 002 P R O C E E D - A R G - C O L 0040320 L E C T O R 006 001 ( N A M E ) 0040340 " F u n c t i o n t h a t c 0040360 o l l e c t s u s e r - s p e 0040400 c i f i e d o p t i o n a l 0040420 a r g s ( e x c l u d i n g 0040440 t h e c o n d i t i o n ) f 0040460 o r a n a m e d p r o c e 0040500 e d c a s e . " \r ` ( C 0040520 L : G E T , N A M E ' % % P 0040540 R O C E E D - A R G - C O L L E 0040560 C T O R ) ) \r \r \r \r \r 006 004 ( * 0040600 ; ; \r " U s e r - v i s i b l 0040620 e f o r m s . T h e s e s 0040640 h o u l d a l l b e e x t 0040660 e r n a l s y m b o l s . A 0040700 n y o t h e r s s h o u l d 0040720 b e i n t e r n a l . " ) 006 0040740 001 \r \r ( D E F D E F I N E R 006 0040760 002 D E F I N E - C O N D I T I O 0041000 N 006 001 \r S T R U C T U R E 0041020 S \r ( N A M E P A R E N 0041040 T - T Y P E & R E S T A R G 0041060 S ) \r " D e f i n e s a 0041100 n e w c o n d i t i o n t 0041120 y p e " \r ( C L : F L E T 0041140 \r ( ( E X T R A C T - S 0041160 L O T - N A M E ( X ) \r 0041200 ( S L O T - N 0041220 A M E X ) ) ) \r ( L E 0041240 T \r ( ( C L A S S - O 0041260 P T I O N S ` ( , @ ( C L : I 0041300 F % % C O N D I T I O N - T Y 0041320 P E S - R E A L ' ( ( : P R I 0041340 N T - F U N C T I O N % % P R 0041360 I N T - C O N D I T I O N ) ) \r 0041400 * 0041440 ' ( ( : T Y P E L I S T ) \r 0041460 * 0041520 : N A M E D ) ) ( : C O N S 0041540 T R U C T O R , ( % % P R E F 0041560 I X - S Y M B O L " % % M A K 0041600 E - " N A M E ) ) \r 0041620 0041640 ( : C O P I E R 0041660 N I L ) \r 0041700 0041720 ( : P R E D I C A T E N 0041740 I L ) ) ) \r R E P O 0041760 R T E R H A N D L E R E N C 0042000 A P S U L A T I O N ) \r 0042020 ( C L : M U L T I P L E - V A 0042040 L U E - B I N D \r ( 0042060 K E Y S S L O T - D E S C R I 0042100 P T I O N S ) \r ( S 0042120 T R I P - K E Y W O R D S A R 0042140 G S ) \r ( C L : S E 0042160 T F S L O T - D E S C R I P T 0042200 I O N S ( N O R M A L I Z E - 0042220 S L O T - D E S C R I P T I O N 0042240 S S L O T - D E S C R I P T I 0042260 O N S ) ) \r ( A N D 0042300 ( N E Q P A R E N T - T Y P 0042320 E N A M E ) \r 0042340 ( L E T * ( ( A L L - S 0042360 U P E R - S L O T S ( S L O T 0042400 - L I S T P A R E N T - T Y P 0042420 E ) ) \r 0042440 ( R E D E F I N E D 0042460 - S L O T S ( 006 002 f o r 006 001 0042500 S L O T 006 002 i n 006 001 S L O T 0042520 - D E S C R I P T I O N S 006 002 0042540 w h e n 006 001 ( C L : M E M B E 0042560 R ( C A R S L O T ) \r 0042600 * 0042700 A L L - S 0042720 U P E R - S L O T S : K E Y \r 0042740 * 0043040 # ' 0043060 E X T R A C T - S L O T - N A M 0043100 E ) \r 0043120 0043140 006 002 c o l l e 0043160 c t 006 001 S L O T ) ) ) \r 0043200 ( C 0043220 L : P U S H ( L I S T * : I 0043240 N C L U D E P A R E N T - T Y 0043260 P E R E D E F I N E D - S L O 0043300 T S ) \r 0043320 C L A S 0043340 S - O P T I O N S ) \r 0043360 ( C L : 0043400 S E T F S L O T - D E S C R I 0043420 P T I O N S ( 006 002 f o r 006 001 0043440 S L O T 006 002 i n 006 001 S L O T 0043460 - D E S C R I P T I O N S \r 0043500 * 0043540 006 002 u 0043560 n l e s s 006 001 ( C L : M E M B 0043600 E R S L O T R E D E F I N E 0043620 D - S L O T S ) 006 002 c o l l e 0043640 c t 006 001 S L O T ) ) \r 0043660 ) ) \r 0043700 ( C L : U N L E S S 0043720 ( A N D N I L % % C O N D 0043740 I T I O N - T Y P E S - R E A L 0043760 ) \r ( 0044000 C L : S E T F E N C A P S U L 0044020 A T I O N ( M A K E - E N C A 0044040 P S U L A T I O N N A M E ( 0044060 N C O N C ( M A P C A R ( S 0044100 L O T - L I S T P A R E N T - 0044120 T Y P E ) \r 0044140 * 0044240 # ' E X T R A C T - S L O T - 0044260 N A M E ) \r 0044300 * 0044360 ( M A P C A 0044400 R S L O T - D E S C R I P T I 0044420 O N S \r 0044440 * 0044520 # 0044540 ' E X T R A C T - S L O T - N A 0044560 M E ) ) ) ) ) \r ( 006 0044600 002 f o r 006 001 P A I R 006 002 i n 0044620 006 001 K E Y S \r 0044640 006 002 d o 006 001 \r 0044660 ( D E S T R U C T U R I N G - 0044700 B I N D \r ( 0044720 K E Y V A L U E ) \r 0044740 P A I R \r 0044760 ( C A S E K E Y ( : 0045000 C O N C - N A M E ( C L : P U 0045020 S H P A I R C L A S S - O P 0045040 T I O N S ) ) \r 0045060 ( : R E P O R T 0045100 - F U N C T I O N ( 006 002 i f 006 0045120 001 R E P O R T E R \r 0045140 * 0045200 006 002 t h e n 006 001 ( C L : E R 0045220 R O R " R e p o r t f u n c 0045240 t i o n a l r e a d y s p e 0045260 c i f i e d f o r ~ S . " 0045300 N A M E \r 0045320 * 0045360 ) \r 0045400 0045420 006 002 e 0045440 l s e 006 001 ( C L : S E T F R 0045460 E P O R T E R V A L U E ) ) ) 0045500 \r 0045520 ( : R E P O R T ( 006 002 i f 006 0045540 001 R E P O R T E R \r 0045560 0045600 006 002 t h e n 006 001 0045620 ( C L : E R R O R " R e p o 0045640 r t f u n c t i o n a l r e 0045660 a d y s p e c i f i e d f o 0045700 r ~ S . " N A M E ) \r 0045720 0045740 006 002 e l s e 006 001 0045760 ( C L : S E T F R E P O R T 0046000 E R ( C L : I F ( A N D N 0046020 I L % % C O N D I T I O N - T 0046040 Y P E S - R E A L ) \r 0046060 * 0046140 ( M A K E - R E P O R T 0046160 - F U N C T I O N V A L U E 0046200 ' C O N D I T I O N N A M E ) 0046220 \r 0046240 * 0046300 ( M A K E - 0046320 F A K E - R E P O R T - F U N C 0046340 T I O N V A L U E \r 0046360 * 0046440 ' C O N D 0046460 I T I O N E N C A P S U L A T 0046500 I O N ) ) ) ) ) \r 0046520 ( : H A N D L 0046540 E R - F U N C T I O N ( 006 002 I 0046560 F 006 001 H A N D L E R \r 0046600 * 0046640 006 002 T H E N 006 001 ( C L : 0046660 E R R O R " H a n d l e r a 0046700 l r e a d y s p e c i f i e d 0046720 f o r ~ S . " N A M E ) \r 0046740 * 0047000 006 002 E L S E 006 001 ( C 0047020 L : S E T F H A N D L E R V 0047040 A L U E ) ) ) \r 0047060 ( : H A N D L E 0047100 ( 006 002 I F 006 001 H A N D L E R 0047120 \r 0047140 006 002 0047160 T H E N 006 001 ( C L : E R R O R 0047200 " H a n d l e r a l r e a d 0047220 y s p e c i f i e d f o r 0047240 ~ S . " N A M E ) \r 0047260 0047300 006 002 E L S E 006 001 ( 0047320 C L : S E T F H A N D L E R 0047340 ` ( L A M B D A ( C O N D I T 0047360 I O N ) \r 0047400 * 0047440 , ( C L : I F 0047460 ( N U L L E N C A P S U L A 0047500 T I O N ) \r 0047520 * 0047600 V A L U E \r 0047620 * 0047700 ` ( L E T , E N C A P 0047720 S U L A T I O N , V A L U E ) 0047740 ) ) ) ) ) \r 0047760 ( O T H E R W I S E 0050000 ( C L : C E R R O R " S k i 0050020 p k e y - v a l u e p a i r 0050040 " " I l l e g a l k e y w o 0050060 r d ~ S i n ~ S . " K E 0050100 Y \r 0050120 0050140 ' D E F I N E - C O N D 0050160 I T I O N ) ) ) ) ) \r 0050200 ` ( P R O G N ( D E F S T R 0050220 U C T ( 006 002 ( \ , N A M E ) 0050240 006 001 , @ C L A S S - O P T I O 0050260 N S ) , @ S L O T - D E S C R 0050300 I P T I O N S ) \r \r 0050320 , @ ( C L : I 0050340 F ( N E Q N A M E P A R E 0050360 N T - T Y P E ) \r 0050400 0050420 ` ( ( F I X - I N H E R I T A N 0050440 C E - L I N K S ' , N A M E 0050460 ' , P A R E N T - T Y P E ) ) ) 0050500 \r , 0050520 @ ( C L : I F ( C L : C O N S 0050540 P H A N D L E R ) \r 0050560 0050600 ( L E T ( ( H A N D L E R 0050620 - N A M E ( % % S U F F I X - 0050640 S Y M B O L N A M E " d e 0050660 f a u l t h a n d l e r " ) ) 0050700 ) \r 0050720 ( P 0050740 R O G 1 ` ( ( C L : S E T F 0050760 ( C L : S Y M B O L - F U N C T 0051000 I O N ' , H A N D L E R - N A 0051020 M E ) \r 0051040 * 0051100 # ' , H A N D L E R ) ) ( S E 0051120 T Q H A N D L E R H A N D L 0051140 E R - N A M E ) ) ) ) \r 0051160 ( C L : S E 0051200 T F ( C O N D I T I O N - H A 0051220 N D L E R ' , N A M E ) \r 0051240 0051260 , ( A N D H A N D L E R 0051300 ` # ' , H A N D L E R ) ) \r 0051320 , @ ( 0051340 C L : I F ( C L : C O N S P 0051360 R E P O R T E R ) \r 0051400 0051420 ( L E T ( ( R E P O R T E R 0051440 - N A M E ( % % S U F F I X - 0051460 S Y M B O L N A M E " r e 0051500 p o r t m e t h o d " ) ) ) \r 0051520 0051540 ( P R O 0051560 G 1 ` ( ( C L : S E T F ( C 0051600 L : S Y M B O L - F U N C T I O 0051620 N ' , R E P O R T E R - N A M 0051640 E ) \r 0051660 0051700 # 0051720 ' , R E P O R T E R ) ) ( S E 0051740 T Q R E P O R T E R R E P O 0051760 R T E R - N A M E ) ) ) ) \r 0052000 ( C L : 0052020 S E T F ( C O N D I T I O N - 0052040 R E P O R T E R ' , N A M E ) 0052060 \r 0052100 , ( A N D R E P O 0052120 R T E R ` # ' , R E P O R T E 0052140 R ) ) \r 0052160 ' , N A M E ) ) ) ) ) \r \r ( 0052200 D E F M A C R O 006 002 C L : C H 0052220 E C K - T Y P E 006 001 ( P L A C 0052240 E T Y P E S P E C & O P T I 0052260 O N A L C L : S T R I N G ) \r 0052300 ( W I T H - E R R - L O O 0052320 P - V A R S " C H E C K - T Y 0052340 P E " ` ( C L : B L O C K , 0052360 B L O C K - N A M E \r 0052400 * 0052440 ( C L : T A G B O 0052460 D Y , A G A I N \r 0052500 * 0052540 ( L E 0052560 T ( ( , V A L , P L A C E ) 0052600 ) \r 0052620 * 0052660 ( C L : W H 0052700 E N ( T Y P E P , V A L ' 0052720 , T Y P E S P E C ) \r 0052740 * 0053020 ( C L : R E 0053040 T U R N - F R O M , B L O C K 0053060 - N A M E ) ) \r 0053100 * 0053160 ( C L : S E T F , P L A C E 0053200 ( C H E C K - T Y P E - F A I L 0053220 \r 0053240 * 0053320 T \r 0053340 * 0053440 ' , P L A C E \r 0053460 * 0053560 , V A L \r 0053600 * 0053700 ' , T Y P E S P E C \r 0053720 * 0054020 , C L : S T R I 0054040 N G ) ) \r 0054060 * 0054120 ( G O 0054140 , A G A I N ) ) ) ) ) ) \r \r ( 0054160 D E F M A C R O 006 002 C L : E T 0054200 Y P E C A S E 006 001 ( K E Y F O 0054220 R M & B O D Y C L A U S E S 0054240 ) \r ( W I T H - G E N S Y 0054260 M S ( V A L U E ) \r 0054300 " E T Y P E C A S E " 0054320 \r ( L E T 0054340 ( ( C A S E - S E L E C T O R S 0054360 ( C O N S ' O R ( C O L L 0054400 E C T - C A S E - S E L E C T O 0054420 R S C L A U S E S ' C L : E 0054440 T Y P E C A S E ) ) ) ) \r 0054460 ` ( L E 0054500 T ( ( , V A L U E , K E Y F 0054520 O R M ) ) \r 0054540 ( C L : T 0054560 Y P E C A S E , V A L U E , 0054600 @ C L A U S E S ( T ( C H E 0054620 C K - T Y P E - F A I L N I L 0054640 ' , K E Y F O R M , V A L U 0054660 E \r 0054700 * 0054740 ' 0054760 , C A S E - S E L E C T O R S 0055000 N I L ) ) ) ) ) ) ) \r \r ( D E F 0055020 M A C R O 006 002 C T Y P E C A S 0055040 E 006 001 ( K E Y P L A C E & B 0055060 O D Y C L A U S E S ) \r 0055100 ( L E T ( ( C A S E - S E L E 0055120 C T O R S ( C O N S ' O R 0055140 ( C O L L E C T - C A S E - S E 0055160 L E C T O R S C L A U S E S 0055200 ' C T Y P E C A S E ) ) ) ) \r 0055220 ( W I T H - E R R 0055240 - L O O P - V A R S \r 0055260 " C T Y P E C A S E " \r 0055300 ` ( C L : B L 0055320 O C K , B L O C K - N A M E 0055340 ( C L : T A G B O D Y \r 0055360 0055400 , A G 0055420 A I N \r 0055440 0055460 ( L E T ( ( , V A L 0055500 , K E Y P L A C E ) ) \r 0055520 * 0055560 ( C L : R E T U R N - F R 0055600 O M , B L O C K - N A M E \r 0055620 * 0055660 ( C L : 0055700 T Y P E C A S E , V A L , @ 0055720 C L A U S E S \r 0055740 * 0056000 ( T ( 0056020 C L : S E T F , K E Y P L A C 0056040 E ( C H E C K - T Y P E - F A 0056060 I L \r 0056100 * 0056160 T \r 0056200 * 0056300 ' , K E Y 0056320 P L A C E \r 0056340 * 0056440 , V A L \r 0056460 * 0056560 ' , C A S E - S E L E C T O R 0056600 S N I L ) ) \r 0056620 * 0056660 ( 0056700 G O , A G A I N ) ) ) ) ) ) ) 0056720 ) ) ) \r \r ( D E F M A C R O 006 0056740 002 C L : E C A S E 006 001 ( K E Y 0056760 F O R M & R E S T C L A U S 0057000 E S ) \r ( W I T H - G E N 0057020 S Y M S ( V A L U E ) \r 0057040 " E C A S E " \r 0057060 ( L E T ( ( 0057100 C A S E - S E L E C T O R S ( 0057120 C O L L E C T - C A S E - S E L 0057140 E C T O R S C L A U S E S ' 0057160 C L : E C A S E ) ) ) \r 0057200 ( C L : I 0057220 F C A S E - S E L E C T O R S 0057240 ` ( L E T ( ( , V A L U E 0057260 , K E Y F O R M ) ) \r 0057300 * 0057340 ( C A S E , V A L 0057360 U E , @ C L A U S E S ( T 0057400 ( E C A S E - F A I L N I L \r 0057420 * 0057520 ' , K E 0057540 Y F O R M \r 0057560 * 0057660 , V A L U E \r 0057700 * 0060000 ' , C A S E - S E L E 0060020 C T O R S ) ) ) ) \r 0060040 0060060 ` ( C L : E R R O R " E m p t 0060100 y c a s e s t a t e m e n t 0060120 . " ) ) ) ) ) \r \r ( D E F M A C 0060140 R O 006 002 C L : C C A S E 006 001 0060160 ( K E Y F O R M & B O D Y C 0060200 L A U S E S ) \r ( L E T 0060220 ( ( C A S E - S E L E C T O R S 0060240 ( C O L L E C T - C A S E - S 0060260 E L E C T O R S C L A U S E S 0060300 ' C L : C C A S E ) ) ) \r 0060320 ( C L : U N L E S S 0060340 C A S E - S E L E C T O R S 0060360 ( C L : E R R O R " E m p t y 0060400 C C A S E . " ) ) \r 0060420 ( W I T H - E R R - L O O 0060440 P - V A R S \r 0060460 " C C A S E " \r 0060500 ` ( C L : B L O C K , B L O 0060520 C K - N A M E ( C L : T A G B 0060540 O D Y \r 0060560 0060600 , A G A I N \r 0060620 0060640 ( L E 0060660 T ( ( , V A L , K E Y F O R 0060700 M ) ) \r 0060720 0060740 ( C L : R E 0060760 T U R N - F R O M , B L O C K 0061000 - N A M E \r 0061020 * 0061060 ( C A S E , V A L , @ 0061100 C L A U S E S \r 0061120 * 0061160 ( T ( C 0061200 L : S E T F , K E Y F O R M 0061220 ( E C A S E - F A I L \r 0061240 * 0061340 T \r 0061360 * 0061460 ' , K E Y F O R M \r 0061500 * 0061600 , V A L \r 0061620 * 0061720 ' , C A S E - S E L E C T O R 0061740 S ) ) \r 0061760 * 0062020 ( G O , A 0062040 G A I N ) ) ) ) ) ) ) ) ) ) \r \r 0062060 ( D E F M A C R O 006 002 C L : A 0062100 S S E R T 006 001 ( T E S T - F O 0062120 R M & O P T I O N A L P L A 0062140 C E S C L : S T R I N G & R 0062160 E S T A R G S ) \r ( C L 0062200 : U N L E S S ( C L : L I S T 0062220 P P L A C E S ) \r 0062240 ( C L : E R R O R " ~ 0062260 S s h o u l d b e a l i 0062300 s t o f p l a c e s . " P 0062320 L A C E S ) ) \r ( W I T H 0062340 - E R R - L O O P - V A R S " 0062360 A S S E R T " ` ( C L : B L O 0062400 C K , B L O C K - N A M E ( 0062420 C L : T A G B O D Y , A G A I 0062440 N ( C L : W H E N \r 0062460 * 0062560 , T E S T - F O R M 0062600 \r 0062620 * 0062700 ( C L : 0062720 R E T U R N - F R O M \r 0062740 * 0063040 , B L O C K - N 0063060 A M E \r 0063100 * 0063200 ( C L : V A L U E S ) ) ) \r 0063220 * 0063300 ( A S S 0063320 E R T - F A I L , C L : S T R 0063340 I N G , @ A R G S ) \r 0063360 * 0063440 ( G O , A 0063460 G A I N ) ) ) ) ) \r \r ( D E F M 0063500 A C R O 006 002 H A N D L E R - B 0063520 I N D 006 001 ( B I N D I N G S 0063540 & R E S T F O R M S ) " E v 0063560 a l f o r m s u n d e r t 0063600 e m p o r a r y n e w c o n 0063620 d i t i o n h a n d l e r s . 0063640 " \r ` ( L E T ( ( * C O 0063660 N D I T I O N - H A N D L E R - 0063700 B I N D I N G S * ( L I S T * 0063720 , @ ( E X T R A C T - C O N D 0063740 I T I O N - B I N D I N G S ( 0063760 \r 0064000 * 0064060 N O R M A 0064100 L I Z E - C O N D I T I O N - C 0064120 L A U S E S \r 0064140 * 0064240 B I N D I N G S ) ) 0064260 \r 0064300 * 0064340 * C O N D I T I O N - H A N D L 0064360 E R - B I N D I N G S * ) ) ) \r 0064400 , @ F O R M S 0064420 ) ) \r \r ( D E F M A C R O 006 002 0064440 C O N D I T I O N - B I N D 006 001 0064460 ( B I N D I N G S & R E S T 0064500 F O R M S ) \r 0064520 0064540 " E v a l f o r m s u n d 0064560 e r t e m p o r a r y n e w 0064600 c o n d i t i o n h a n d l 0064620 e r s ; s y n o n y m f o r 0064640 H A N D L E R - B I N D " \r 0064660 ` ( H A N D L E R - B I N D 0064700 , B I N D I N G S , @ F O R 0064720 M S ) ) \r \r ( D E F M A C R O 0064740 006 002 C O N D I T I O N - C A S E 0064760 006 001 ( F O R M & R E S T B 0065000 I N D I N G S ) \r 0065020 0065040 " E v a l f o r m 0065060 u n d e r c o n d i t i o n 0065100 h a n d l e r s t h a t p r 0065120 o v i d e a l t e r n a t e 0065140 c o n t i n u a t i o n s . " \r 0065160 ( W I T H - G E N S Y M S 0065200 \r ( C O N D I T I O N 0065220 C L : V A L U E S B N A M E 0065240 H A N D L E R ) \r " C O 0065260 N D I T I O N - C A S E " \r 0065300 ( L E T \r ( ( C L 0065320 A U S E S ( N O R M A L I Z E 0065340 - C O N D I T I O N - C L A U S 0065360 E S B I N D I N G S ) ) ) \r 0065400 ( 006 002 i f 006 001 ( N U L 0065420 L C L A U S E S ) \r 0065440 006 002 t h e n 006 001 F O R 0065460 M \r 006 002 e l s e 006 0065500 001 ` ( L E T * ( ( , C O N D 0065520 I T I O N N I L ) \r 0065540 ( 0065560 , C L : V A L U E S ( C O N D 0065600 I T I O N - B L O C K \r 0065620 0065640 , B N 0065660 A M E \r 0065700 0065720 ( L E T ( ( , H A N 0065740 D L E R ( F U N C T I O N ( 0065760 C L : L A M B D A ( C ) \r 0066000 * 0066100 ( C L : S E T F , C O N D I T 0066120 I O N C ) \r 0066140 * 0066220 ( C O N D I T 0066240 I O N - R E T U R N , B N A M 0066260 E ) ) ) ) ) \r 0066300 0066320 ( H A 0066340 N D L E R - B I N D ( ( , ( C 0066360 L : M A P C A R ( F U N C T I 0066400 O N C A R ) \r 0066420 * 0066500 C L A U S E S ) , 0066520 H A N D L E R ) ) \r 0066540 * 0066600 ( C L : M U L T I 0066620 P L E - V A L U E - L I S T , 0066640 F O R M ) ) ) ) ) ) \r 0066660 ( C 0066700 L : I F , C O N D I T I O N 0066720 , ( 006 002 i f 006 001 ( E Q L ( L 0066740 E N G T H C L A U S E S ) \r 0066760 * 0067020 1 ) 0067040 \r 0067060 0067100 006 002 t h e 0067120 n 006 001 ( C A D R ( C A R ( 0067140 M A S S A G E - C A T C H - C O 0067160 N D I T I O N - C L A U S E S 0067200 C L A U S E S \r 0067220 * 0067300 C O N D I T 0067320 I O N ) ) ) \r 0067340 0067360 006 0067400 002 e l s e 006 001 ` ( C O N D I T 0067420 I O N - T Y P E C A S E , C O 0067440 N D I T I O N , @ ( \r 0067460 * 0067560 M A S S A G E - C A T C H - 0067600 C O N D I T I O N - C L A U S E 0067620 S \r 0067640 * 0067740 C L A U S E S C O N D I T 0067760 I O N ) \r 0070000 * 0070040 ( T ( C L 0070060 : E R R O R \r 0070100 * 0070140 " B u g i 0070160 n c o n d i t i o n - c a s e 0070200 ! ~ & U n e x p e c t e d c o 0070220 n d i t i o n : ~ S . " \r 0070240 * 0070320 , C O 0070340 N D I T I O N ) ) ) ) ( C L : 0070360 V A L U E S - L I S T \r 0070400 * 0070500 , C L : V 0070520 A L U E S ) ) ) ) ) ) ) \r \r ( D 0070540 E F M A C R O 006 002 R E A L - C 0070560 O N D I T I O N - C A S E 006 001 0070600 ( F O R M & R E S T C A S E 0070620 S ) \r 0070640 " 0070660 E v a l f o r m u n d e r 0070700 c o n d i t i o n h a n d l e 0070720 r s t h a t p r o v i d e 0070740 a l t e r n a t e c o n t i n 0070760 u a t i o n s . " \r ( W I 0071000 T H - G E N S Y M S \r ( 0071020 O U T E R I N N E R C O N D 0071040 I T I O N D U M M Y ) \r 0071060 " C O N D I T I O N - C A S E 0071100 " \r ` ( C L : B L O C K 0071120 \r , O U T E R \r 0071140 ( C L : M U L T I P L E 0071160 - V A L U E - C A L L \r 0071200 ' C L : F U N C A L L \r 0071220 ( C L : B L O C K \r 0071240 , I N N E R \r 0071260 ( H A N D L E R - 0071300 B I N D \r , ( 0071320 006 002 F O R 006 001 C A S E 006 002 I 0071340 N 006 001 C A S E S \r 0071360 006 002 C O L L E C T 0071400 006 001 \r 0071420 ( D E S T R U C T U R I N G - B 0071440 I N D \r 0071460 ( T Y P E S B V L . B 0071500 O D Y ) \r 0071520 C A S E \r 0071540 ` ( , T Y P E S \r 0071560 # 0071600 ' ( C L : L A M B D A \r 0071620 ( 0071640 , C O N D I T I O N ) \r 0071660 ( 0071700 C L : R E T U R N - F R O M \r 0071720 0071740 , I N N E R \r 0071760 ( C 0072000 L : V A L U E S # ' ( C L : L 0072020 A M B D A , @ ( C L : I F B 0072040 V L ( L I S T B V L ) \r 0072060 * 0072140 ` ( ( , D U M M Y ) \r 0072160 * 0072240 ( 006 002 D E C L A R E 006 0072260 001 ( I G N O R E , D U M M Y 0072300 ) ) ) ) , @ B O D Y ) \r 0072320 0072340 , C O N D I T I 0072360 O N ) ) ) ) ) ) \r 0072400 ( C L : R E T U R N - F R O 0072420 M , O U T E R , F O R M ) ) 0072440 ) ) ) ) ) \r \r ( D E F M A C R O 0072460 006 002 I G N O R E - E R R O R S 0072500 006 001 ( & B O D Y F O R M S ) 0072520 " E v a l f o r m s w i t 0072540 h h a n d l e r f o r a n 0072560 y c o n d i t i o n o f t 0072600 y p e E R R O R . " \r ` 0072620 ( C O N D I T I O N - C A S E 0072640 ( P R O G N , @ F O R M S ) \r 0072660 ( E R R O 0072700 R ( C O N D I T I O N ) \r 0072720 0072740 N I L ) ) ) \r \r ( D E F M A C R 0072760 O 006 002 P R O C E E D - C A S E 0073000 006 001 ( F O R M & R E S T C 0073020 L A U S E S ) \r 0073040 * 0073100 " E v a l f o r m s , 0073120 e s t a b l i s h i n g a 0073140 p l a c e t o p r o c e e d 0073160 f r o m e r r o r s . " \r 0073200 ( W I T H - G E N S Y M S \r 0073220 ( S E L E C T O R C L 0073240 : V A L U E S T A G ) \r 0073260 " P R O C E E D - C A S E " \r 0073300 ( C L : M U L T I P L E 0073320 - V A L U E - B I N D \r 0073340 ( C A S E S B O D I E S ) \r 0073360 ( S P L I T - P R O C 0073400 E E D - C L A U S E S C L A U 0073420 S E S T A G ) \r ( 006 0073440 002 i f 006 001 ( N U L L C A S E 0073460 S ) \r 006 002 t h 0073500 e n 006 001 F O R M \r 0073520 006 002 e l s e 006 001 ` ( D E S T 0073540 R U C T U R I N G - B I N D ( 0073560 , S E L E C T O R \ , C L : 0073600 V A L U E S ) \r 0073620 ( L E T 0073640 ( ( , T A G ( L I S T N I 0073660 L ) ) ) \r 0073700 ( C 0073720 L : C A T C H , T A G ( C O 0073740 N S : N O R M A L ( L E T 0073760 ( ( * P R O C E E D - C A S E S 0074000 * ( L I S T * , @ C A S E S 0074020 \r 0074040 * 0074140 * P R O C E E D - C 0074160 A S E S * ) ) \r 0074200 * 0074260 ) \r 0074300 * 0074360 ( C L : M U L T I P L E - V A 0074400 L U E - L I S T , F O R M ) ) 0074420 ) ) ) \r 0074440 ( C L : I F ( 0074460 E Q , S E L E C T O R : N O 0074500 R M A L ) \r 0074520 0074540 ( C L : V A L U E S - L I S T 0074560 , C L : V A L U E S ) \r 0074600 0074620 ( C L : A P P L 0074640 Y , ( 006 002 i f 006 001 ( E Q L 0074660 ( L E N G T H B O D I E S ) \r 0074700 * 0074740 1 0074760 ) \r 0075000 0075020 006 002 t h 0075040 e n 006 001 ( C A D R ( C A R 0075060 B O D I E S ) ) \r 0075100 * 0075140 006 002 e l s e 006 001 ` ( C A S E 0075160 , S E L E C T O R , @ B O D 0075200 I E S ) ) , C L : V A L U E S 0075220 ) ) ) ) ) ) ) \r \r ( D E F M A C 0075240 R O 006 002 R E A L - P R O C E E 0075260 D - C A S E 006 001 ( F O R M & 0075300 R E S T C L A U S E S ) \r 0075320 * 0075360 " E v a l 0075400 f o r m s , e s t a b l i s h 0075420 i n g a p l a c e t o p 0075440 r o c e e d f r o m e r r o 0075460 r s . " \r ( W I T H - G E 0075500 N S Y M S ( O U T E R T A G 0075520 D U M M Y ) \r 0075540 " P R O C E E D - C A S E " 0075560 \r ` ( C L : 0075600 B L O C K , O U T E R ( L E 0075620 T * ( ( , T A G ( L I S T 0075640 N I L ) ) \r 0075660 0075700 ( * P R O C E 0075720 E D - C A S E S * ( L I S T * 0075740 , @ ( M A P C A R C L A U S 0075760 E S \r 0076000 * 0076060 # ' ( C L : L A M 0076100 B D A ( C L A U S E ) \r 0076120 * 0076220 ( \r 0076240 * 0076340 P R O C E E D 0076360 - C A S E - F R O M - C L A U S 0076400 E \r 0076420 * 0076520 C L A U S E T A G D U M M Y 0076540 ) ) ) \r 0076560 * 0076640 * P R O C E E D - C A S E S * ) 0076660 ) ) \r 0076700 0076720 ( C L : M U L T I P L 0076740 E - V A L U E - C A L L ' C L 0076760 : F U N C A L L ( C L : C A T 0077000 C H , T A G \r 0077020 * 0077120 ( C L : R E T U R N - 0077140 F R O M \r 0077160 * 0077260 , O U T E R \r 0077300 * 0077400 , F O R M ) ) ) 0077420 ) ) ) ) \r \r ( D E F D E F I N E 0077440 R 006 002 D E F I N E - P R O C E 0077460 E D - F U N C T I O N 006 001 \r 0077500 F U N C T I O N S \r ( N 0077520 A M E & R E S T T A I L & 0077540 A U X V A R S ) \r ( C L 0077560 : M U L T I P L E - V A L U E - 0077600 B I N D \r ( T E S T R 0077620 E P O R T A R G L I S T ) \r 0077640 ( P R O C E S S - P R O C 0077660 E E D - K E Y W O R D S N A M 0077700 E T A I L ) \r ( C L : 0077720 S E T F V A R S ( M A P C A 0077740 R A R G L I S T # ' ( L A M 0077760 B D A ( X ) \r 0100000 0100020 ( C 0100040 L : I F ( C L : S Y M B O L P 0100060 X ) \r 0100100 * 0100140 X \r 0100160 * 0100220 ( C A R X ) ) ) ) ) \r 0100240 ( C L : U N L E S S T E S T 0100260 ( C L : S E T F T E S T ' T 0100300 R U E ) ) \r ( C L : U N 0100320 L E S S R E P O R T ( C L : 0100340 S E T F R E P O R T ' D E F 0100360 A U L T - P R O C E E D - R E P 0100400 O R T E R ) ) \r ` ( P R 0100420 O G N , @ ( C L : I F ( C L 0100440 : C O N S P T E S T ) \r 0100460 0100500 ( L E T ( ( T E S T E R 0100520 ( % % S U F F I X - S Y M B O L 0100540 N A M E " - p r o c e e d - 0100560 t e s t " ) ) ) \r 0100600 0100620 ( P R O G 1 ` ( ( C L : 0100640 S E T F ( C L : S Y M B O L - 0100660 F U N C T I O N ' , T E S T E 0100700 R ) \r 0100720 0100740 # ' , 0100760 T E S T ) ) ( S E T Q T E S 0101000 T T E S T E R ) ) ) ) \r 0101020 ( C L : S E T 0101040 F ( D E F A U L T - P R O C E 0101060 E D - T E S T ' , N A M E ) \r 0101100 0101120 ' , T E S T ) \r 0101140 , @ ( C L : I F 0101160 ( C L : C O N S P R E P O R T 0101200 ) \r 0101220 ( L E T ( ( R E 0101240 P O R T E R ( % % S U F F I X 0101260 - S Y M B O L N A M E " - p 0101300 r o c e e d - r e p o r t e r " 0101320 ) ) ) \r 0101340 ( P 0101360 R O G 1 ` ( ( C L : S E T F 0101400 ( C L : S Y M B O L - F U N C T 0101420 I O N ' , R E P O R T E R ) \r 0101440 * 0101500 # ' , R E P 0101520 O R T ) ) ( S E T Q R E P O 0101540 R T R E P O R T E R ) ) ) ) \r 0101560 ( C L : 0101600 S E T F ( D E F A U L T - P R 0101620 O C E E D - R E P O R T ' , N 0101640 A M E ) \r 0101660 ' , R E P O R T 0101700 ) \r ( C 0101720 L : S E T F ( P R O C E E D - 0101740 A R G - C O L L E C T O R ' , 0101760 N A M E ) \r 0102000 # ' ( C L : L 0102020 A M B D A ( & O P T I O N A L 0102040 C O N D I T I O N , @ A R G 0102060 L I S T ) \r 0102100 0102120 ( L I S T , @ V A R S ) ) 0102140 ) \r ( D 0102160 E F U N ( 006 002 \ , 006 001 N A M 0102200 E ) ( & O P T I O N A L C O 0102220 N D I T I O N , @ A R G L I S 0102240 T ) ( C O N D I T I O N - C A 0102260 S E \r 0102300 * 0102360 ( I N V O K E - P R O C E E D 0102400 - C A S E \r 0102420 * 0102500 ' , N A M E C O N D 0102520 I T I O N , @ V A R S ) \r 0102540 * 0102620 ( B A D 0102640 - P R O C E E D - C A S E N I 0102660 L N I L ) ) ) \r ) ) ) \r \r ( D 0102700 E F M A C R O 006 002 C A T C H - 0102720 A B O R T 006 001 ( P R I N T - F 0102740 O R M & B O D Y F O R M S ) 0102760 ` ( P R O C E E D - C A S E 0103000 ( P R O G N , @ F O R M S ) \r 0103020 * 0103100 ( A B O R T ( C 0103120 O N D I T I O N ) \r 0103140 * 0103220 : R E P O R T \r 0103240 * 0103320 , P 0103340 R I N T - F O R M : T E S T 0103360 T R U E ( C L : V A L U E S \r 0103400 * 0103520 N I L C O N D I T 0103540 I O N ) ) \r 0103560 * 0103620 ) ) \r 0103640 \r \r ( P U T P R O P S 006 002 C L 0103660 - E R R O R F I L E T Y P E 006 0103700 001 C L : C O M P I L E - F I L 0103720 E ) \r ( D E C L A R E % : D O 0103740 N T E V A L @ L O A D D O E V 0103760 A L @ C O M P I L E D O N T C 0104000 O P Y C O M P I L E R V A R S 0104020 \r \r ( A D D T O V A R 006 002 N 0104040 L A M A 006 001 ) \r \r ( A D D T O 0104060 V A R 006 002 N L A M L 006 001 ) \r 0104100 \r ( A D D T O V A R 006 002 L A M 0104120 A 006 001 ) \r ) \r ( P U T P R O P 0104140 S C L - E R R O R C O P Y R 0104160 I G H T ( " X e r o x C o r 0104200 p o r a t i o n " 1 9 8 6 ) ) 0104220 \r ( D E C L A R E % : D O N T 0104240 C O P Y \r ( F I L E M A P 0104260 ( N I L ) ) ) \r S T O P \r 0104275