$ od -c -N 50000 [eris]<LispCore>SOURCES>CMLSEQMAPPERS!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 " X C
0000040 L " 247 P A C K A G E " L I S
0000060 P " ) \r 006 001 ( I L : F I L E C R
0000100 E A T E D " 2 0 - O c t - 8 6
0000120 1 7 : 2 8 : 0 6 " 006 004 I L :
0000140 { E R I S } < L I S P C O R E >
0000160 S O U R C E S > C M L S E Q M A
0000200 P P E R S . \ ; 8 006 001 2 3 3 1
0000220 4 \r \r I L : | c
0000240 h a n g e s | I L : | t o : |
0000260 ( I L : V A R S I L : C M
0000300 L S E Q M A P P E R S C O M S )
0000320 \r
0000340 ( I
0000360 L : F U N C T I O N S I L : E
0000400 L T - S L I C E I L : M A P -
0000420 F O R - E F F E C T ) \r \r
0000440 I L : | p r e v i o u s |
0000460 I L : | d a t e : | " 1 2 -
0000500 O c t - 8 6 1 7 : 3 1 : 0 6 "
0000520 I L : { E R I S } < L I S P C
0000540 O R E > S O U R C E S > C M L S
0000560 E Q M A P P E R S . \ ; 7 ) \r \r
0000600 \r ; C o p y r i g h t ( c )
0000620 1 9 8 6 b y X e r o x C
0000640 o r p o r a t i o n . A l l
0000660 r i g h t s r e s e r v e d
0000700 . \r \r ( I L : P R E T T Y C O M
0000720 P R I N T I L : C M L S E Q M
0000740 A P P E R S C O M S ) \r \r ( I L
0000760 : R P A Q Q 006 002 I L : C M L S
0001000 E Q M A P P E R S C O M S 006 001
0001020 ( ( I L : D E C L A R E \ : I
0001040 L : E V A L @ C O M P I L E I
0001060 L : D O N T C O P Y ( I L : F
0001100 I L E S I L : C M L S E Q C O
0001120 M M O N ) ) \r
0001140
0001160 ( I L : F U N C T
0001200 I O N S I L : E L T - S L I C
0001220 E I L : M A P - F O R - E F F
0001240 E C T I L : % M A P - F O R -
0001260 E F F E C T \r
0001300
0001320 I
0001340 L : % M A P - S I N G L E - F O
0001360 R - E F F E C T I L : M A P -
0001400 T O - L I S T I L : % M A P -
0001420 T O - L I S T \r
0001440
*
0001500 I L : % M A P - S I N G L E - T
0001520 O - L I S T I L : M A P - T O
0001540 - S I M P L E I L : % M A P -
0001560 T O - S I M P L E \r
0001600
*
0001640 I L : % M A P - S I N G L E
0001660 - T O - S I M P L E M A P ) \r
0001700
*
0001740 ( I L : O P T I M I Z E R S I
0001760 L : % M A P - F O R - E F F E C
0002000 T I L : % M A P - T O - L I S
0002020 T I L : % M A P - T O - S I M
0002040 P L E \r
0002060
0002100 M A P )
0002120 \r
0002140
0002160 ( I L : F U N C T I O N S I
0002200 L : % S I N G L E - S O M E S
0002220 O M E I L : % S I N G L E - E
0002240 V E R Y E V E R Y \r
0002260
*
0002320 I L : % S I N G L E - N O
0002340 T A N Y N O T A N Y I L : %
0002360 S I N G L E - N O T E V E R Y
0002400 N O T E V E R Y ) \r
0002420
0002440 ( I L : O P
0002460 T I M I Z E R S S O M E E V
0002500 E R Y N O T A N Y N O T E V
0002520 E R Y ) \r
0002540
0002560 ( I L : F U N C T I O
0002600 N S I L : L I S T - R E D U C
0002620 E - F R O M - E N D I L : L I
0002640 S T - R E D U C E \r
0002660
*
0002720 I L : M U M B L E - R E D U
0002740 C E - F R O M - E N D I L : M
0002760 U M B L E - R E D U C E R E D
0003000 U C E ) \r
0003020
0003040 ( I L : P R O P I L
0003060 : F I L E T Y P E I L : C M L
0003100 S E Q M A P P E R S ) ) ) \r ( I
0003120 L : D E C L A R E \ : I L : E
0003140 V A L @ C O M P I L E I L : D
0003160 O N T C O P Y \r ( I L : F I L
0003200 E S L O A D I L : C M L S E Q
0003220 C O M M O N ) \r ) \r ( D E F M A
0003240 C R O 006 002 I L : E L T - S L I
0003260 C E 006 001 ( I L : S E Q U E N C
0003300 E S I L : N ) ` ( M A P C A
0003320 R ( I L : F U N C T I O N (
0003340 L A M B D A ( I L : S E Q ) \r
0003360
*
0003460 ( E L T I L :
0003500 S E Q , I L : N ) ) ) \r
0003520
*
0003600 , I L : S E Q U E N C E S ) ) \r
0003620 \r ( D E F M A C R O 006 002 I L :
0003640 M A P - F O R - E F F E C T 006 001
0003660 N I L ` ( I F ( N U L L
0003700 I L : M O R E - S E Q U E N C E
0003720 S ) \r
0003740
0003760 ( I L : S E Q -
0004000 D I S P A T C H I L : F I R S
0004020 T - S E Q U E N C E ( I L : M
0004040 A P C I L : F I R S T - S E Q
0004060 U E N C E \r
0004100
*
0004200 I L : F U N C T I O
0004220 N ) \r
0004240
0004260 (
0004300 D O T I M E S ( I L : I ( I
0004320 L : V E C T O R - L E N G T H
0004340 I L : F I R S T - S E Q U E N C
0004360 E ) ) \r
0004400
*
0004440 ( F U N C A L L
0004460 I L : F U N C T I O N ( A R E
0004500 F I L : F I R S T - S E Q U E
0004520 N C E I L : I ) \r
0004540
*
0004620 ) ) ) \r
0004640
0004660 ( D O
0004700 ( ( I L : S E Q S I L : M O
0004720 R E - S E Q U E N C E S ( C D
0004740 R I L : S E Q S ) ) \r
0004760
*
0005020 ( I L : M I N - L E
0005040 N G T H ( L E N G T H I L :
0005060 F I R S T - S E Q U E N C E ) )
0005100 ) \r
0005120
0005140 ( ( N U L
0005160 L I L : S E Q S ) \r
0005200
*
0005240 ( D O ( ( I L : I N
0005260 D E X 0 ( 1 + I L : I N D
0005300 E X ) ) ) \r
0005320
*
0005360 ( ( = I L : I N D E X
0005400 I L : M I N - L E N G T H ) \r
0005420
*
0005460 N
0005500 I L ) \r
0005520
*
0005560 ( A P P L Y I L : F U N C
0005600 T I O N ( I L : E L T - S L I
0005620 C E I L : S E Q U E N C E S
0005640 I L : I N D E X ) \r
0005660
*
0005720 )
0005740 ) ) \r
0005760
0006000 ( L E T
0006020 ( ( I L : L E N G T H ( L E
0006040 N G T H ( C A R I L : S E Q
0006060 S ) ) ) ) \r
0006100
*
0006140 ( W H E N ( < I L :
0006160 L E N G T H I L : M I N - L E
0006200 N G T H ) \r
0006220
*
0006260 ( I L : S E
0006300 T Q I L : M I N - L E N G T H
0006320 I L : L E N G T H ) ) ) ) ) )
0006340 \r \r ( I L : D E F U N I L : %
0006360 M A P - F O R - E F F E C T (
0006400 I L : F U N C T I O N I L : F
0006420 I R S T - S E Q U E N C E & R
0006440 E S T I L : M O R E - S E Q U
0006460 E N C E S ) \r ( L
0006500 E T ( ( I L : S E Q U E N C E
0006520 S ( C O N S I L : F I R S T
0006540 - S E Q U E N C E I L : M O R
0006560 E - S E Q U E N C E S ) ) ) \r
0006600 ( I L : M
0006620 A P - F O R - E F F E C T ) ) )
0006640 \r ( I L : D E F U N I L : % M
0006660 A P - S I N G L E - F O R - E F
0006700 F E C T ( I L : F U N C T I O
0006720 N S E Q U E N C E ) \r
0006740 ( I L : S E Q - D I S P A
0006760 T C H S E Q U E N C E ( I L
0007000 : M A P C S E Q U E N C E I
0007020 L : F U N C T I O N ) \r
0007040 ( D O T I M
0007060 E S ( I L : I ( I L : V E C
0007100 T O R - L E N G T H S E Q U E
0007120 N C E ) ) \r
0007140 ( F U N C
0007160 A L L I L : F U N C T I O N
0007200 ( A R E F S E Q U E N C E I
0007220 L : I ) ) ) ) ) \r ( D E F M A C
0007240 R O 006 002 I L : M A P - T O - L
0007260 I S T 006 001 N I L ` ( I F (
0007300 N U L L I L : M O R E - S E Q
0007320 U E N C E S ) \r
0007340
0007360 ( I L : S E
0007400 Q - D I S P A T C H I L : F I
0007420 R S T - S E Q U E N C E ( I L
0007440 : M A P C A R I L : F I R S T
0007460 - S E Q U E N C E \r
0007500
*
0007600 I L : F U N C T I
0007620 O N ) \r
0007640
0007660 ( 006 002
0007700 I L : | f o r | 006 001 I L : I
0007720 006 002 I L : | f r o m | 006 001 0
0007740 006 002 I L : | t o | 006 001 ( I L :
0007760 V E C T O R - L E N G T H \r
0010000
*
0010120 I L : F I R S T - S E Q U E
0010140 N C E ) \r
0010160
*
0010220 006 002 I L : | c o l l e c t | 006
0010240 001 ( F U N C A L L I L : F U
0010260 N C T I O N ( A R E F I L :
0010300 I \r
0010320
*
0010420 I L : F I R S T -
0010440 S E Q U E N C E \r
0010460
*
0010560 ) ) )
0010600 ) \r
0010620
0010640 ( D O ( ( I L : S E Q
0010660 S I L : M O R E - S E Q U E N
0010700 C E S ( C D R I L : S E Q S
0010720 ) ) \r
0010740
0010760 ( I L : M I
0011000 N - L E N G T H ( L E N G T H
0011020 I L : F I R S T - S E Q U E N
0011040 C E ) ) ) \r
0011060
0011100 ( ( N U
0011120 L L I L : S E Q S ) \r
0011140
*
0011200 ( 006 002 I L : F O R 006 001 I
0011220 L : I N D E X 006 002 I L : F R O
0011240 M 006 001 0 006 002 I L : T O 006 001
0011260 ( 1 - I L : M I N - L E N G T
0011300 H ) \r
0011320
0011340 006 002 I
0011360 L : C O L L E C T 006 001 ( A P P
0011400 L Y I L : F U N C T I O N (
0011420 I L : E L T - S L I C E I L :
0011440 S E Q U E N C E S \r
0011460
*
0011560 I L : I N D
0011600 E X ) ) ) ) \r
0011620
0011640 ( L E
0011660 T ( ( I L : L E N G T H ( L
0011700 E N G T H ( C A R I L : S E
0011720 Q S ) ) ) ) \r
0011740
*
0012000 ( W H E N ( < I L : L E
0012020 N G T H I L : M I N - L E N G
0012040 T H ) \r
0012060
*
0012120 ( S E T F I L : M I
0012140 N - L E N G T H I L : L E N G
0012160 T H ) ) ) ) ) ) \r \r ( I L : D E
0012200 F U N I L : % M A P - T O - L
0012220 I S T ( I L : F U N C T I O N
0012240 I L : F I R S T - S E Q U E N
0012260 C E & R E S T I L : M O R E
0012300 - S E Q U E N C E S ) \r
0012320 ( L E T ( ( I L : S E Q
0012340 U E N C E S ( C O N S I L :
0012360 F I R S T - S E Q U E N C E I
0012400 L : M O R E - S E Q U E N C E S
0012420 ) ) ) \r
0012440 ( I L : M A P - T O - L I S T )
0012460 ) ) \r ( I L : D E F U N I L :
0012500 % M A P - S I N G L E - T O - L
0012520 I S T ( I L : F U N C T I O N
0012540 S E Q U E N C E ) \r
0012560 ( I L : S E Q - D I S P A T
0012600 C H S E Q U E N C E ( I L :
0012620 M A P C A R S E Q U E N C E
0012640 I L : F U N C T I O N ) \r
0012660 ( I L : |
0012700 f o r | I L : I I L : | f r
0012720 o m | 0 I L : | t o | ( I
0012740 L : V E C T O R - L E N G T H
0012760 S E Q U E N C E ) \r
0013000 I
0013020 L : | c o l l e c t | \r
0013040
0013060 ( F U N C A L L I L : F U N
0013100 C T I O N ( A R E F I L : I
0013120 S E Q U E N C E ) ) ) ) ) \r (
0013140 D E F M A C R O 006 002 I L : M A
0013160 P - T O - S I M P L E 006 001 N I
0013200 L ` ( I F ( N U L L ( C D
0013220 R I L : S E Q U E N C E S ) )
0013240 \r
0013260
0013300 ( L E T * ( ( I L :
0013320 L E N G T H ( L E N G T H I
0013340 L : F I R S T - S E Q U E N C E
0013360 ) ) \r
0013400
0013420 ( I
0013440 L : R E S U L T ( I L : M A K
0013460 E - S E Q U E N C E - O F - T Y
0013500 P E I L : R E S U L T - T Y P
0013520 E \r
0013540
*
0013620 I L : L E N G T H ) ) ) \r
0013640
*
0013700 ( I L : S E Q - D
0013720 I S P A T C H I L : F I R S T
0013740 - S E Q U E N C E \r
0013760
*
0014020 ( 006 002 I L
0014040 : | f o r | 006 001 I L : X 006 002
0014060 I L : | i n | 006 001 ( T H E L
0014100 I S T I L : F I R S T - S E Q
0014120 U E N C E ) \r
0014140
*
0014200 006 002 I L :
0014220 | a s | 006 001 I L : I 006 002 I L
0014240 : | f r o m | 006 001 0 \r
0014260
*
0014340 006 002 I L : | d o | 006 001 ( S E T
0014360 F ( A R E F I L : R E S U L
0014400 T I L : I ) \r
0014420
*
0014500 ( F U N C A
0014520 L L I L : F U N C T I O N I
0014540 L : X ) ) \r
0014560
*
0014620 006 002 I L : |
0014640 f i n a l l y | 006 001 ( R E T U
0014660 R N I L : R E S U L T ) ) \r
0014700
*
0014760 ( D O T I M E S ( I L : I I
0015000 L : L E N G T H I L : R E S U
0015020 L T ) \r
0015040
*
0015100 ( S E T
0015120 F ( A R E F I L : R E S U L
0015140 T I L : I ) \r
0015160
*
0015240 ( F U N C A L L I
0015260 L : F U N C T I O N \r
0015300
*
0015400 ( A R E F ( T H E V E C T O
0015420 R \r
0015440
*
0015540 I L : F I R S T - S E Q U
0015560 E N C E ) \r
0015600
*
0015700 I L : I ) ) ) ) ) ) \r
0015720
*
0015760 ( D O ( ( I L : S E Q S I L
0016000 : M O R E - S E Q U E N C E S
0016020 ( C D R I L : S E Q S ) ) \r
0016040
*
0016100 ( I L : M I N -
0016120 L E N G T H ( L E N G T H I
0016140 L : F I R S T - S E Q U E N C E
0016160 ) ) ) \r
0016200
0016220 ( ( N U
0016240 L L I L : S E Q S ) \r
0016260
*
0016320 ( D O ( ( I L : I N
0016340 D E X 0 ( 1 + I L : I N D
0016360 E X ) ) \r
0016400
*
0016440 ( I L : R E S U L T ( I
0016460 L : M A K E - S E Q U E N C E -
0016500 O F - T Y P E I L : R E S U L
0016520 T - T Y P E \r
0016540
*
0016620 I L : M I N - L
0016640 E N G T H ) ) ) \r
0016660
*
0016720 ( ( = I L : I N D
0016740 E X I L : M I N - L E N G T H
0016760 ) \r
0017000
*
0017040 I L : R E S U L T ) \r
0017060
*
0017120 ( S E T F ( A
0017140 R E F I L : R E S U L T I L
0017160 : I N D E X ) \r
0017200
*
0017240 ( A P P L
0017260 Y I L : F U N C T I O N ( I
0017300 L : E L T - S L I C E I L : S
0017320 E Q U E N C E S \r
0017340
*
0017440 I L : I N D E X )
0017460 ) ) ) ) \r
0017500
0017520 ( L E
0017540 T ( ( I L : L E N G T H ( L
0017560 E N G T H ( C A R I L : S E
0017600 Q S ) ) ) ) \r
0017620
*
0017660 ( W H E N ( < I L :
0017700 L E N G T H I L : M I N - L E
0017720 N G T H ) \r
0017740
*
0020000 ( S E T F I
0020020 L : M I N - L E N G T H I L :
0020040 L E N G T H ) ) ) ) ) ) \r \r ( I
0020060 L : D E F U N I L : % M A P -
0020100 T O - S I M P L E ( I L : R E
0020120 S U L T - T Y P E I L : F U N
0020140 C T I O N I L : F I R S T - S
0020160 E Q U E N C E & R E S T I L
0020200 : M O R E - S E Q U E N C E S )
0020220 \r ( L E T ( ( I
0020240 L : S E Q U E N C E S ( C O N
0020260 S I L : F I R S T - S E Q U E
0020300 N C E I L : M O R E - S E Q U
0020320 E N C E S ) ) ) \r
0020340 ( I L : M A P - T O -
0020360 S I M P L E ) ) ) \r ( I L : D E
0020400 F U N I L : % M A P - S I N G
0020420 L E - T O - S I M P L E ( I L
0020440 : O U T P U T - T Y P E - S P E
0020460 C I L : F U N C T I O N S E
0020500 Q U E N C E ) \r (
0020520 L E T * ( ( I L : L E N G T H
0020540 ( L E N G T H S E Q U E N C
0020560 E ) ) \r
0020600 ( I L : R E S U L T ( I L
0020620 : M A K E - S E Q U E N C E - O
0020640 F - T Y P E I L : O U T P U T
0020660 - T Y P E - S P E C I L : L E
0020700 N G T H ) ) ) \r
0020720 ( I L : S E Q - D I S
0020740 P A T C H S E Q U E N C E (
0020760 I L : | f o r | I L : X I L
0021000 : | i n | ( T H E L I S T
0021020 S E Q U E N C E ) \r
0021040
*
0021100 I L : | a s |
0021120 I L : I I L : | f r o m | 0
0021140 I L : | d o | \r
0021160
*
0021220 ( S E T F ( A R
0021240 E F I L : R E S U L T I L :
0021260 I ) \r
0021300
*
0021340 ( F U N C A L L
0021360 I L : F U N C T I O N I L : X
0021400 ) ) \r
0021420
*
0021460 I L : | f i n a l l y | \r
0021500
*
0021540 ( R E T
0021560 U R N I L : R E S U L T ) ) \r
0021600
0021620 ( D O T I M E S ( I L
0021640 : I I L : L E N G T H I L :
0021660 R E S U L T ) \r
0021700
0021720 ( S E T F ( A R E F I
0021740 L : R E S U L T I L : I ) \r
0021760
*
0022020 ( F U N C A L L I L : F U N C
0022040 T I O N ( A R E F ( T H E
0022060 V E C T O R S E Q U E N C E )
0022100 \r
0022120
*
0022160 I L :
0022200 I ) ) ) ) ) ) ) \r ( I L : D E F
0022220 U N M A P ( I L : R E S U L
0022240 T - T Y P E I L : F U N C T I
0022260 O N I L : F I R S T - S E Q U
0022300 E N C E & R E S T I L : M O
0022320 R E - S E Q U E N C E S ) \r
0022340 " F U N C T I O N m
0022360 u s t t a k e a s m a n y
0022400 a r g u m e n t s a s t h
0022420 e r e a r e s e q u e n c e
0022440 s p r o v i d e d . T h e
0022460 r e s u l t i s a s e q
0022500 u e n c e s u c h t h a t
0022520 e l e m e n t i i s t h e
0022540 r e s u l t o f a p p l y
0022560 i n g F U N C T I O N t o
0022600 e l e m e n t i o f e a c
0022620 h o f t h e a r g u m e n
0022640 t s e q u e n c e s . " \r
0022660 ( L E T ( ( I L : S
0022700 E Q U E N C E S ( C O N S I
0022720 L : F I R S T - S E Q U E N C E
0022740 I L : M O R E - S E Q U E N C
0022760 E S ) ) ) \r
0023000 ( C A S E ( I L : T Y P E
0023020 - S P E C I F I E R I L : R E
0023040 S U L T - T Y P E ) \r
0023060 ( N I
0023100 L ( I L : M A P - F O R - E F
0023120 F E C T ) ) \r
0023140 ( L I S T (
0023160 I L : M A P - T O - L I S T ) )
0023200 \r
0023220 ( ( S I M P L E - V E C T
0023240 O R S I M P L E - S T R I N G
0023260 V E C T O R S T R I N G A
0023300 R R A Y S I M P L E - A R R A
0023320 Y B I T - V E C T O R \r
0023340
0023360 S I M P L E - B
0023400 I T - V E C T O R ) \r
0023420 ( I
0023440 L : M A P - T O - S I M P L E )
0023460 ) \r
0023500 ( T ( E R R O R " ~
0023520 S : i n v a l i d o u t p u
0023540 t t y p e s p e c i f i e r
0023560 . " I L : R E S U L T - T Y P
0023600 E ) ) ) ) ) \r ( I L : D E F O P
0023620 T I M I Z E R 006 002 I L : % M A
0023640 P - F O R - E F F E C T 006 001 (
0023660 I L : F U N C T I O N S E Q U
0023700 E N C E & R E S T I L : M O
0023720 R E - S E Q U E N C E S ) \r
0023740 ( C O N D \r ( ( N
0023760 U L L I L : M O R E - S E Q U
0024000 E N C E S ) \r ` (
0024020 I L : % M A P - S I N G L E - F
0024040 O R - E F F E C T , I L : F U
0024060 N C T I O N , S E Q U E N C E
0024100 ) ) \r ( T ' C O M
0024120 P I L E R : P A S S ) ) ) \r \r (
0024140 I L : D E F O P T I M I Z E R
0024160 006 002 I L : % M A P - T O - L I S
0024200 T 006 001 ( I L : F U N C T I O N
0024220 S E Q U E N C E & R E S T
0024240 I L : M O R E - S E Q U E N C E
0024260 S ) \r ( C O N D \r
0024300 ( ( N U L L I L : M O R E
0024320 - S E Q U E N C E S ) \r
0024340 ` ( I L : % M A P - S I N
0024360 G L E - T O - L I S T , I L :
0024400 F U N C T I O N , S E Q U E N
0024420 C E ) ) \r ( T ' C
0024440 O M P I L E R : P A S S ) ) ) \r
0024460 \r ( I L : D E F O P T I M I Z E
0024500 R 006 002 I L : % M A P - T O - S
0024520 I M P L E 006 001 ( I L : O U T P
0024540 U T - T Y P E - S P E C I L :
0024560 F U N C T I O N S E Q U E N C
0024600 E & R E S T I L : M O R E -
0024620 S E Q U E N C E S ) \r ( C
0024640 O N D \r ( ( N U L L
0024660 I L : M O R E - S E Q U E N C
0024700 E S ) \r ` ( I L :
0024720 % M A P - S I N G L E - T O - S
0024740 I M P L E , I L : O U T P U T
0024760 - T Y P E - S P E C , I L : F
0025000 U N C T I O N , S E Q U E N C
0025020 E ) ) \r ( T ' C O
0025040 M P I L E R : P A S S ) ) ) \r \r
0025060 ( I L : D E F O P T I M I Z E R
0025100 006 002 M A P 006 001 ( I L : R E S
0025120 U L T - T Y P E I L : F U N C
0025140 T I O N & R E S T I L : S E
0025160 Q U E N C E S & C O N T E X T
0025200 I L : C T X & A U X I L :
0025220 R E S - T Y P E ) \r ( C O
0025240 N D \r ( ( I L : Z E
0025260 R O P ( C O M P I L E R : C O
0025300 N T E X T - V A L U E S - U S E
0025320 D I L : C T X ) ) \r
0025340 ` ( I L : % M A P - F O R -
0025360 E F F E C T , I L : F U N C T
0025400 I O N , @ I L : S E Q U E N C
0025420 E S ) ) \r ( ( P R O
0025440 G 1 ( I L : S E T Q I L : R
0025460 E S - T Y P E ( I L : C O N S
0025500 T A N T E X P R E S S I O N P
0025520 I L : R E S U L T - T Y P E ) )
0025540 \r (
0025560 I L : S E T Q I L : R E S - T
0025600 Y P E ( C A R I L : R E S -
0025620 T Y P E ) ) ) \r (
0025640 C A S E I L : R E S - T Y P E
0025660 ( N I L ` ( I L : % M A P -
0025700 F O R - E F F E C T , I L : F
0025720 U N C T I O N , @ I L : S E Q
0025740 U E N C E S ) ) \r
0025760 ( L I S T ` ( I L
0026000 : % M A P - T O - L I S T , I
0026020 L : F U N C T I O N , @ I L :
0026040 S E Q U E N C E S ) ) \r
0026060 ( I L : O T H
0026100 E R W I S E ` ( I L : % M A P
0026120 - T O - S I M P L E , I L : R
0026140 E S - T Y P E , I L : F U N C
0026160 T I O N , @ I L : S E Q U E N
0026200 C E S ) ) ) ) \r ( T
0026220 ' C O M P I L E R : P A S S )
0026240 ) ) \r \r ( I L : D E F U N I L
0026260 : % S I N G L E - S O M E ( I
0026300 L : P R E D I C A T E S E Q U
0026320 E N C E ) \r ( I L
0026340 : S E Q - D I S P A T C H S E
0026360 Q U E N C E ( D O L I S T (
0026400 I L : E ( T H E L I S T S
0026420 E Q U E N C E ) \r
0026440
*
0026500 N I L ) \r
0026520
*
0026560 ( L E T ( ( I L : X
0026600 ( F U N C A L L I L : P R E
0026620 D I C A T E I L : E ) ) ) \r
0026640
*
0026700 ( W H E
0026720 N I L : X ( R E T U R N I
0026740 L : X ) ) ) ) \r
0026760 ( D O T I M E S (
0027000 I L : I ( I L : V E C T O R -
0027020 L E N G T H S E Q U E N C E
0027040 N I L ) \r
0027060
0027100 ( L E T ( ( I L : X ( F
0027120 U N C A L L I L : P R E D I C
0027140 A T E ( A R E F ( T H E V
0027160 E C T O R S E Q U E N C E ) \r
0027200
*
0027300 I L : I ) ) ) ) \r
0027320
*
0027360 ( W H E N I L : X ( R E T U
0027400 R N I L : X ) ) ) ) ) ) ) \r (
0027420 I L : D E F U N S O M E ( I
0027440 L : P R E D I C A T E I L : F
0027460 I R S T - S E Q U E N C E & R
0027500 E S T I L : M O R E - S E Q U
0027520 E N C E S ) \r " P
0027540 R E D I C A T E i s a p p l
0027560 i e d t o t h e e l e m e
0027600 n t s w i t h i n d e x 0
0027620 o f t h e s e q u e n c e
0027640 s , t h e n p o s s i b l y
0027660 t o t h o s e w i t h i
0027700 n d e x 1 , a n d s o o
0027720 n . S O M E r e t u r n s
0027740 t h e f i r s t n o n - (
0027760 ) v a l u e e n c o u n t e
0030000 r e d , o r ( ) i f t h
0030020 e e n d o f a s e q u e
0030040 n c e i s r e a c h e d . "
0030060 \r ( I F ( N U L
0030100 L I L : M O R E - S E Q U E N
0030120 C E S ) \r
0030140 ( I L : % S I N G L E - S O M E
0030160 I L : P R E D I C A T E I L
0030200 : F I R S T - S E Q U E N C E )
0030220 \r ( D O
0030240 ( ( I L : S E Q S I L : M O R
0030260 E - S E Q U E N C E S ( C D R
0030300 I L : S E Q S ) ) \r
0030320 ( I L : L
0030340 E N G T H ( L E N G T H I L
0030360 : F I R S T - S E Q U E N C E )
0030400 ) \r
0030420 ( I L : S E Q U E N C E S
0030440 ( C O N S I L : F I R S T - S
0030460 E Q U E N C E I L : M O R E -
0030500 S E Q U E N C E S ) ) ) \r
0030520 ( ( N U
0030540 L L I L : S E Q S ) \r
0030560 ( D O
0030600 ( ( I L : I N D E X 0 ( 1 +
0030620 I L : I N D E X ) ) ) \r
0030640
0030660 ( ( = I L : I N D E X I L
0030700 : L E N G T H ) \r
0030720 N I
0030740 L ) \r
0030760 ( L E T ( ( I L
0031000 : R E S U L T ( A P P L Y I
0031020 L : P R E D I C A T E ( I L :
0031040 E L T - S L I C E I L : S E Q
0031060 U E N C E S I L : I N D E X )
0031100 ) ) ) \r
0031120 ( W H
0031140 E N I L : R E S U L T ( R E
0031160 T U R N I L : R E S U L T ) )
0031200 ) ) ) \r
0031220 ( L E T ( ( I L : T H I
0031240 S ( L E N G T H ( C A R I
0031260 L : S E Q S ) ) ) ) \r
0031300 (
0031320 W H E N ( < I L : T H I S
0031340 I L : L E N G T H ) \r
0031360
0031400 ( I L : S E T Q I L
0031420 : L E N G T H I L : T H I S )
0031440 ) ) ) ) ) \r ( I L : D E F U N
0031460 I L : % S I N G L E - E V E R Y
0031500 ( I L : P R E D I C A T E S
0031520 E Q U E N C E ) \r
0031540 ( I L : S E Q - D I S P A T C H
0031560 S E Q U E N C E ( D O L I S
0031600 T ( I L : E ( T H E L I S
0031620 T S E Q U E N C E ) \r
0031640
*
0031700 T ) \r
0031720
*
0031760 ( U N L E S S ( F
0032000 U N C A L L I L : P R E D I C
0032020 A T E I L : E ) \r
0032040
*
0032100 ( R E T U R N
0032120 N I L ) ) ) \r
0032140 ( D O T I M E S (
0032160 I L : I ( I L : V E C T O R -
0032200 L E N G T H S E Q U E N C E )
0032220 \r
0032240 T )
0032260 \r
0032300 ( D E C L A R E (
0032320 V E C T O R S E Q U E N C E )
0032340 ) \r
0032360 ( U N L E S S (
0032400 F U N C A L L I L : P R E D I
0032420 C A T E ( A R E F S E Q U E
0032440 N C E I L : I ) ) \r
0032460
0032500 ( R E T U R N N
0032520 I L ) ) ) ) ) \r ( I L : D E F U
0032540 N E V E R Y ( I L : P R E D
0032560 I C A T E I L : F I R S T - S
0032600 E Q U E N C E & R E S T I L
0032620 : M O R E - S E Q U E N C E S )
0032640 \r " P R E D I C A
0032660 T E i s a p p l i e d t o
0032700 t h e e l e m e n t s w i
0032720 t h i n d e x 0 o f t h
0032740 e s e q u e n c e s , t h e
0032760 n p o s s i b l y t o t h
0033000 o s e w i t h i n d e x 1
0033020 , a n d s o o n . E V
0033040 E R Y r e t u r n s ( ) a
0033060 s s o o n a s a n y i n
0033100 v o c a t i o n o f P R E D
0033120 I C A T E r e t u r n s ( )
0033140 , o r T i f e v e r y
0033160 i n v o c a t i o n i s n o
0033200 n - ( ) . " \r ( I
0033220 F ( N U L L I L : M O R E -
0033240 S E Q U E N C E S ) \r
0033260 ( I L : % S I N G L
0033300 E - E V E R Y I L : P R E D I
0033320 C A T E I L : F I R S T - S E
0033340 Q U E N C E ) \r
0033360 ( D O ( ( I L : S E Q S
0033400 I L : M O R E - S E Q U E N C
0033420 E S ( C D R I L : S E Q S )
0033440 ) \r
0033460 ( I L : L E N G T H ( L E
0033500 N G T H I L : F I R S T - S E
0033520 Q U E N C E ) ) \r
0033540 ( I L : S E Q
0033560 U E N C E S ( C O N S I L :
0033600 F I R S T - S E Q U E N C E I
0033620 L : M O R E - S E Q U E N C E S
0033640 ) ) ) \r
0033660 ( ( N U L L I L : S E Q
0033700 S ) \r
0033720 ( D O ( ( I L : I N D E
0033740 X 0 ( 1 + I L : I N D E X
0033760 ) ) ) \r
0034000 ( ( = I L : I
0034020 N D E X I L : L E N G T H ) \r
0034040
0034060 T ) \r
0034100 ( L E T
0034120 ( ( I L : R E S U L T ( A P
0034140 P L Y I L : P R E D I C A T E
0034160 ( I L : E L T - S L I C E I
0034200 L : S E Q U E N C E S I L : I
0034220 N D E X ) ) ) ) \r
0034240
0034260 ( U N L E S S I L : R E S
0034300 U L T ( R E T U R N N I L )
0034320 ) ) ) ) \r
0034340 ( L E T ( ( I L : T H
0034360 I S ( L E N G T H ( C A R
0034400 I L : S E Q S ) ) ) ) \r
0034420
0034440 ( W H E N ( < I L : T H I S
0034460 I L : L E N G T H ) \r
0034500
0034520 ( I L : S E T Q I
0034540 L : L E N G T H I L : T H I S
0034560 ) ) ) ) ) ) \r ( I L : D E F U N
0034600 I L : % S I N G L E - N O T A
0034620 N Y ( I L : P R E D I C A T E
0034640 S E Q U E N C E ) \r
0034660 ( I L : S E Q - D I S P A T
0034700 C H S E Q U E N C E ( D O L
0034720 I S T ( I L : E ( T H E L
0034740 I S T S E Q U E N C E ) \r
0034760
*
0035020 T ) \r
0035040
*
0035100 ( W H E N ( F
0035120 U N C A L L I L : P R E D I C
0035140 A T E I L : E ) \r
0035160
*
0035220 ( R E T U R N
0035240 N I L ) ) ) \r
0035260 ( D O T I M E S ( I
0035300 L : I ( I L : V E C T O R - L
0035320 E N G T H S E Q U E N C E ) \r
0035340
0035360 T ) \r
0035400
0035420 ( D E C L A R E ( V
0035440 E C T O R S E Q U E N C E ) )
0035460 \r
0035500 ( W H E N ( F U N
0035520 C A L L I L : P R E D I C A T
0035540 E ( A R E F S E Q U E N C E
0035560 I L : I ) ) \r
0035600
0035620 ( R E T U R N N I L ) )
0035640 ) ) ) \r ( I L : D E F U N N O
0035660 T A N Y ( I L : P R E D I C A
0035700 T E I L : F I R S T - S E Q U
0035720 E N C E & R E S T I L : M O
0035740 R E - S E Q U E N C E S ) \r
0035760 " P R E D I C A T E
0036000 i s a p p l i e d t o t h
0036020 e e l e m e n t s w i t h
0036040 i n d e x 0 o f t h e s
0036060 e q u e n c e s , t h e n p
0036100 o s s i b l y t o t h o s e
0036120 w i t h i n d e x 1 , a
0036140 n d s o o n . N O T A N
0036160 Y r e t u r n s ( ) a s
0036200 s o o n a s a n y i n v o
0036220 c a t i o n o f P R E D I C
0036240 A T E r e t u r n s a n o
0036260 n - ( ) v a l u e , o r T
0036300 i f t h e e n d o f a
0036320 s e q u e n c e i s r e a
0036340 c h e d . " \r ( I
0036360 F ( N U L L I L : M O R E -
0036400 S E Q U E N C E S ) \r
0036420 ( I L : % S I N G L
0036440 E - N O T A N Y I L : P R E D
0036460 I C A T E I L : F I R S T - S
0036500 E Q U E N C E ) \r
0036520 ( D O ( ( I L : S E Q
0036540 S I L : M O R E - S E Q U E N
0036560 C E S ( C D R I L : S E Q S
0036600 ) ) \r
0036620 ( I L : L E N G T H ( L
0036640 E N G T H I L : F I R S T - S
0036660 E Q U E N C E ) ) \r
0036700 ( I L : S E
0036720 Q U E N C E S ( C O N S I L
0036740 : F I R S T - S E Q U E N C E
0036760 I L : M O R E - S E Q U E N C E
0037000 S ) ) ) \r
0037020 ( ( N U L L I L : S E
0037040 Q S ) \r
0037060 ( D O ( ( I L : I N D
0037100 E X 0 ( 1 + I L : I N D E
0037120 X ) ) ) \r
0037140 ( ( = I L :
0037160 I N D E X I L : L E N G T H )
0037200 \r
0037220 T ) \r
0037240 ( L E
0037260 T ( ( I L : R E S U L T ( A
0037300 P P L Y I L : P R E D I C A T
0037320 E ( I L : E L T - S L I C E
0037340 I L : S E Q U E N C E S I L :
0037360 I N D E X ) ) ) ) \r
0037400
0037420 ( W H E N I L : R E S U
0037440 L T ( R E T U R N N I L ) )
0037460 ) ) ) \r
0037500 ( L E T ( ( I L : T H I
0037520 S ( L E N G T H ( C A R I
0037540 L : S E Q S ) ) ) ) \r
0037560 (
0037600 W H E N ( < I L : T H I S
0037620 I L : L E N G T H ) \r
0037640
0037660 ( I L : S E T Q I L
0037700 : L E N G T H I L : T H I S )
0037720 ) ) ) ) ) \r ( I L : D E F U N
0037740 I L : % S I N G L E - N O T E V
0037760 E R Y ( I L : P R E D I C A T
0040000 E S E Q U E N C E ) \r
0040020 ( I L : S E Q - D I S P A
0040040 T C H S E Q U E N C E ( D O
0040060 L I S T ( I L : E ( T H E
0040100 L I S T S E Q U E N C E ) \r
0040120
*
0040160 N I
0040200 L ) \r
0040220
0040240 ( L E T
0040260 ( ( I L : X ( F U N C A L L
0040300 I L : P R E D I C A T E I L :
0040320 E ) ) ) \r
0040340
*
0040400 ( W H E N I L : X ( R E
0040420 T U R N T ) ) ) ) \r
0040440 ( D O T I M E
0040460 S ( I L : I ( I L : V E C T
0040500 O R - L E N G T H S E Q U E N
0040520 C E ) \r
0040540
0040560 N I L ) \r
0040600 ( D E C L
0040620 A R E ( V E C T O R S E Q U
0040640 E N C E ) ) \r
0040660 ( L E T
0040700 ( ( I L : X ( F U N C A L L
0040720 I L : P R E D I C A T E ( A
0040740 R E F S E Q U E N C E I L :
0040760 I ) ) ) ) \r
0041000
0041020 ( W H E N I L : X ( R E T U
0041040 R N T ) ) ) ) ) ) \r ( I L : D
0041060 E F U N N O T E V E R Y ( I
0041100 L : P R E D I C A T E I L : F
0041120 I R S T - S E Q U E N C E & R
0041140 E S T I L : M O R E - S E Q U
0041160 E N C E S ) \r " P
0041200 R E D I C A T E i s a p p l
0041220 i e d t o t h e e l e m e
0041240 n t s w i t h i n d e x 0
0041260 o f t h e s e q u e n c e
0041300 s , t h e n p o s s i b l y
0041320 t o t h o s e w i t h i
0041340 n d e x 1 , a n d s o o
0041360 n . N O T E V E R Y r e t
0041400 u r n s T a s s o o n a
0041420 s a n y i n v o c a t i o n
0041440 o f P R E D I C A T E r e
0041460 t u r n s ( ) , o r ( )
0041500 i f e v e r y i n v o c a t
0041520 i o n i s n o n - ( ) . " \r
0041540 ( I F ( N U L L
0041560 I L : M O R E - S E Q U E N C
0041600 E S ) \r (
0041620 I L : % S I N G L E - N O T E V
0041640 E R Y I L : P R E D I C A T E
0041660 I L : F I R S T - S E Q U E N
0041700 C E ) \r (
0041720 D O ( ( I L : S E Q S I L :
0041740 M O R E - S E Q U E N C E S (
0041760 C D R I L : S E Q S ) ) \r
0042000 ( I
0042020 L : L E N G T H ( L E N G T H
0042040 I L : F I R S T - S E Q U E N
0042060 C E ) ) \r
0042100 ( I L : S E Q U E N C
0042120 E S ( C O N S I L : F I R S
0042140 T - S E Q U E N C E I L : M O
0042160 R E - S E Q U E N C E S ) ) ) \r
0042200 (
0042220 ( N U L L I L : S E Q S ) \r
0042240 (
0042260 D O ( ( I L : I N D E X 0
0042300 ( 1 + I L : I N D E X ) ) ) \r
0042320
0042340 ( ( = I L : I N D E X
0042360 I L : L E N G T H ) \r
0042400
0042420 N I L ) \r
0042440 ( L E T (
0042460 ( I L : R E S U L T ( A P P L
0042500 Y I L : P R E D I C A T E (
0042520 I L : E L T - S L I C E I L :
0042540 S E Q U E N C E S I L : I N D
0042560 E X ) ) ) ) \r
0042600
0042620 ( U N L E S S I L : R E S U L
0042640 T ( R E T U R N T ) ) ) ) )
0042660 \r
0042700 ( L E T ( ( I L : T H I S (
0042720 L E N G T H ( C A R I L : S
0042740 E Q S ) ) ) ) \r
0042760 ( W H E
0043000 N ( < I L : T H I S I L :
0043020 L E N G T H ) \r
0043040
0043060 ( I L : S E T Q I L : L E
0043100 N G T H I L : T H I S ) ) ) )
0043120 ) ) \r ( I L : D E F O P T I M I
0043140 Z E R 006 002 S O M E 006 001 ( I L
0043160 : P R E D I C A T E S E Q U E
0043200 N C E & R E S T I L : M O R
0043220 E - S E Q U E N C E S ) ( C O
0043240 N D \r
0043260
*
0043340 ( ( N U
0043360 L L I L : M O R E - S E Q U E
0043400 N C E S ) \r
0043420
*
0043520 ` ( I L : % S I N G L E - S O M
0043540 E \r
0043560
*
0043640 , I
0043660 L : P R E D I C A T E \r
0043700
*
0044000 , S E Q U E N C
0044020 E ) ) \r
0044040
*
0044120 ( T
0044140 ' C O M P I L E R : P A S S ) )
0044160 ) \r \r ( I L : D E F O P T I M I
0044200 Z E R 006 002 E V E R Y 006 001 ( I
0044220 L : P R E D I C A T E S E Q U
0044240 E N C E & R E S T I L : M O
0044260 R E - S E Q U E N C E S ) ( C
0044300 O N D \r
0044320
*
0044400 ( (
0044420 N U L L I L : M O R E - S E Q
0044440 U E N C E S ) \r
0044460
*
0044560 ` ( I L : % S I N G L E -
0044600 E V E R Y \r
0044620
*
0044720 , I L : P R E D I C A T E
0044740 \r
0044760
*
0045040 , S
0045060 E Q U E N C E ) ) \r
0045100
*
0045200 ( T ' C O M P I L E R
0045220 : P A S S ) ) ) \r \r ( I L : D E
0045240 F O P T I M I Z E R 006 002 N O T
0045260 A N Y 006 001 ( I L : P R E D I C
0045300 A T E S E Q U E N C E & R E
0045320 S T I L : M O R E - S E Q U E
0045340 N C E S ) \r ( C O N D \r
0045360 ( ( N U L L I L : M
0045400 O R E - S E Q U E N C E S ) \r
0045420 ` ( I L : % S I N G
0045440 L E - N O T A N Y , I L : P R
0045460 E D I C A T E , S E Q U E N C
0045500 E ) ) \r ( T ' C O
0045520 M P I L E R : P A S S ) ) ) \r \r
0045540 ( I L : D E F O P T I M I Z E R
0045560 006 002 N O T E V E R Y 006 001 ( I
0045600 L : P R E D I C A T E S E Q U
0045620 E N C E & R E S T I L : M O
0045640 R E - S E Q U E N C E S ) \r
0045660 ( C O N D \r ( ( N
0045700 U L L I L : M O R E - S E Q U
0045720 E N C E S ) \r ` (
0045740 I L : % S I N G L E - N O T E V
0045760 E R Y , I L : P R E D I C A T
0046000 E , S E Q U E N C E ) ) \r
0046020 ( T ' C O M P I L E R
0046040 : P A S S ) ) ) \r \r ( D E F M A
0046060 C R O 006 002 I L : L I S T - R E
0046100 D U C E - F R O M - E N D 006 001
0046120 ( I L : F U N C T I O N S E Q
0046140 U E N C E I L : S T A R T I
0046160 L : E N D I L : I N I T I A L
0046200 - V A L U E \r
0046220
*
0046260 I L : I N I T I A L - P R O V
0046300 I D E D ) \r ` ( L E T (
0046320 ( S E Q U E N C E ( N T H C D
0046340 R ( - ( L E N G T H , S E
0046360 Q U E N C E ) \r
0046400
0046420 , I L : E N D ) \r
0046440
0046460 ( I L : R
0046500 E V E R S E , S E Q U E N C E
0046520 ) ) ) ) \r ( W
0046540 H E N , I L : I N I T I A L -
0046560 P R O V I D E D ( P U S H ,
0046600 I L : I N I T I A L - V A L U E
0046620 S E Q U E N C E ) ) \r
0046640 ( D O * ( ( 006 002 I L
0046660 : C O U N T 006 001 ( - , I L :
0046700 E N D , I L : S T A R T ( I
0046720 F , I L : I N I T I A L - P R
0046740 O V I D E D 0 1 ) ) \r
0046760
0047000 ( 1 - I L : C O U N T )
0047020 ) \r
0047040 ( S E Q U E N C E S E Q U E
0047060 N C E ( C D R S E Q U E N C
0047100 E ) ) \r
0047120 ( I L : V A L U E ( C A
0047140 R S E Q U E N C E ) \r
0047160
0047200 ( F U N C A L L , I L : F
0047220 U N C T I O N ( C A R S E Q
0047240 U E N C E ) \r
0047260
0047300 I L : V A L U E ) ) ) \r
0047320 ( (
0047340 = I L : C O U N T 0 ) \r
0047360 I L :
0047400 V A L U E ) ) ) ) \r \r ( D E F M
0047420 A C R O 006 002 I L : L I S T - R
0047440 E D U C E 006 001 ( I L : F U N C
0047460 T I O N S E Q U E N C E I L
0047500 : S T A R T I L : E N D I L
0047520 : I N I T I A L - V A L U E I
0047540 L : I N I T I A L - P R O V I D
0047560 E D ) \r ` ( L E T ( ( S
0047600 E Q U E N C E ( N T H C D R
0047620 , I L : S T A R T , S E Q U E
0047640 N C E ) ) ) \r
0047660 ( W H E N , I L : I N I T I A
0047700 L - P R O V I D E D ( P U S H
0047720 , I L : I N I T I A L - V A L
0047740 U E S E Q U E N C E ) ) \r
0047760 ( D O * ( ( 006 002
0050000 I L : C O U N T 006 001 ( - I L
0050020 : E N D I L : S T A R T ( I
0050040 F , I L : I N I T I A L - P R
0050060 O V I D E D 0 1 ) ) \r
0050100
0050120 ( 1 - I L : C O U N T )
0050140 ) \r
0050160 ( S E Q U E N C E S E Q U E
0050200 N C E ( C D R S E Q U E N C
0050220 E ) ) \r
0050240 ( I L : V A L U E ( C A
0050260 R S E Q U E N C E ) \r
0050300
0050320 ( F U N C A L L , I L : F
0050340 U N C T I O N I L : V A L U E
0050360 ( C A R S E Q U E N C E ) )
0050400 ) ) \r
0050420 ( ( = I L : C O U N T 0 )
0050440 \r
0050460 I L : V A L U E ) ) ) ) \r \r ( D
0050500 E F M A C R O 006 002 I L : M U M
0050520 B L E - R E D U C E - F R O M -
0050540 E N D 006 001 ( I L : F U N C T I
0050560 O N S E Q U E N C E I L : S
0050600 T A R T I L : E N D I L : I
0050620 N I T I A L - V A L U E I L :
0050640 R E F ) \r ` ( D O ( ( I
0050660 L : I N D E X ( 1 - , I L :
0050700 E N D ) \r
0050720 ( 1 - I L : I N D E
0050740 X ) ) \r ( I L
0050760 : V A L U E , I L : I N I T I
0051000 A L - V A L U E ) \r
0051020 ( I L : T E R M I N U S
0051040 ( 1 - , I L : S T A R T ) ) )
0051060 \r ( ( < = I L
0051100 : I N D E X I L : T E R M I N
0051120 U S ) \r I L :
0051140 V A L U E ) \r (
0051160 I L : S E T Q I L : V A L U E
0051200 ( F U N C A L L , I L : F U
0051220 N C T I O N ( , I L : R E F
0051240 , S E Q U E N C E I L : I N D
0051260 E X ) \r
0051300
0051320 I L : V A L U E ) ) )
0051340 ) \r \r ( D E F M A C R O 006 002 I
0051360 L : M U M B L E - R E D U C E 006
0051400 001 ( I L : F U N C T I O N S
0051420 E Q U E N C E I L : S T A R T
0051440 I L : E N D I L : I N I T I
0051460 A L - V A L U E I L : R E F )
0051500 \r ` ( D O ( ( I L : I N
0051520 D E X , I L : S T A R T ( 1
0051540 + I L : I N D E X ) ) \r
0051560 ( I L : V A L U E
0051600 , I L : I N I T I A L - V A L U
0051620 E ) ) \r ( ( > =
0051640 I L : I N D E X , I L : E N
0051660 D ) \r I L : V
0051700 A L U E ) \r ( I
0051720 L : S E T Q I L : V A L U E
0051740 ( F U N C A L L , I L : F U N
0051760 C T I O N I L : V A L U E (
0052000 , I L : R E F , S E Q U E N C
0052020 E I L : I N D E X ) ) ) ) ) \r
0052040 \r ( I L : D E F U N R E D U C
0052060 E ( I L : F U N C T I O N S
0052100 E Q U E N C E & K E Y I L :
0052120 F R O M - E N D ( I L : S T A
0052140 R T 0 ) \r
0052160 I L
0052200 : E N D \r
0052220 ( I L
0052240 : I N I T I A L - V A L U E N
0052260 I L I L : I N I T I A L - P R
0052300 O V I D E D ) \r
0052320
0052340 & A U X \r
0052360 ( I L
0052400 : L E N G T H ( L E N G T H
0052420 S E Q U E N C E ) ) ) \r
0052440 ( U N L E S S I L : E N
0052460 D ( I L : S E T Q I L : E N
0052500 D I L : L E N G T H ) ) \r
0052520 ( I L : C H E C K - S
0052540 U B S E Q S E Q U E N C E I
0052560 L : S T A R T I L : E N D I
0052600 L : L E N G T H ) \r
0052620 ( C O N D ( ( = I L : E N
0052640 D I L : S T A R T ) \r
0052660 ( I F I L
0052700 : I N I T I A L - P R O V I D E
0052720 D I L : I N I T I A L - V A L
0052740 U E ( F U N C A L L I L : F
0052760 U N C T I O N ) ) ) \r
0053000 ( ( L I S T P
0053020 S E Q U E N C E ) \r
0053040 ( I F I L : F
0053060 R O M - E N D ( I L : L I S T
0053100 - R E D U C E - F R O M - E N D
0053120 I L : F U N C T I O N S E Q
0053140 U E N C E I L : S T A R T I
0053160 L : E N D \r
0053200
0053220 I L : I
0053240 N I T I A L - V A L U E I L :
0053260 I N I T I A L - P R O V I D E D
0053300 ) \r
0053320 ( I L : L I S T - R E D
0053340 U C E I L : F U N C T I O N
0053360 S E Q U E N C E I L : S T A R
0053400 T I L : E N D I L : I N I T
0053420 I A L - V A L U E \r
0053440
0053460 I L : I N I T I A L - P
0053500 R O V I D E D ) ) ) \r
0053520 ( T ( C O N D
0053540 ( I L : F R O M - E N D ( U
0053560 N L E S S I L : I N I T I A L
0053600 - P R O V I D E D ( S E T Q
0053620 I L : E N D ( 1 - I L : E N
0053640 D ) \r
0053660
*
0053740 I L : I N I T I
0053760 A L - V A L U E \r
0054000
*
0054060 ( A
0054100 R E F S E Q U E N C E I L :
0054120 E N D ) ) ) \r
0054140
0054160 ( I L : M U M B L E - R
0054200 E D U C E - F R O M - E N D I
0054220 L : F U N C T I O N S E Q U E
0054240 N C E I L : S T A R T I L :
0054260 E N D \r
0054300
0054320 I L : I N I T
0054340 I A L - V A L U E A R E F ) )
0054360 \r
0054400 ( T ( U N L E S
0054420 S I L : I N I T I A L - P R O
0054440 V I D E D ( S E T Q I L : I
0054460 N I T I A L - V A L U E ( A R
0054500 E F S E Q U E N C E I L : S
0054520 T A R T ) \r
0054540
*
0054620 I L : S T A R T \r
0054640
*
0054720 ( 1 + I L : S T A R
0054740 T ) ) ) \r
0054760 ( I
0055000 L : M U M B L E - R E D U C E
0055020 I L : F U N C T I O N S E Q U
0055040 E N C E I L : S T A R T I L
0055060 : E N D I L : I N I T I A L -
0055100 V A L U E A R E F \r
0055120
0055140 ) ) ) ) )
0055160 ) \r \r ( I L : P U T P R O P S
0055200 006 002 I L : C M L S E Q M A P P E
0055220 R S I L : F I L E T Y P E 006 001
0055240 C O M P I L E - F I L E ) \r (
0055260 I L : P U T P R O P S I L : C
0055300 M L S E Q M A P P E R S I L :
0055320 C O P Y R I G H T ( " X e r o
0055340 x C o r p o r a t i o n " 1
0055360 9 8 6 ) ) \r ( I L : D E C L A R
0055400 E \ : I L : D O N T C O P Y \r
0055420 ( I L : F I L E M A P ( N
0055440 I L ) ) ) \r I L : S T O P \r
0055456