$ od -c -N 50000 [eris]<LispCore>SOURCES>CMLHASH.DCOM!3 0000000 ( F I L E C R E A T E D " 1 5 0000020 - O c t - 8 6 1 7 : 0 7 : 5 9 0000040 " ( " c o m p i l e d o n 0000060 " { E R I S } < L I S P C O R 0000100 E > S O U R C E S > C M L H A S 0000120 H . ; 4 ) \r " 1 - O c t - 8 0000140 6 2 0 : 2 3 : 1 5 " " C O M 0000160 P I L E - F I L E d " i n " 0000200 X e r o x L i s p 1 - O c 0000220 t - 8 6 . . . " d a t e d 0000240 " 1 - O c t - 8 6 2 1 : 2 4 0000260 : 4 4 " ) \r ( F I L E C R E A T 0000300 E D " 1 5 - O c t - 8 6 1 7 0000320 : 0 7 : 2 2 " { E R I S } < L 0000340 I S P C O R E > S O U R C E S > 0000360 C M L H A S H . ; 4 6 4 0 7 0000400 c h a n g e s t o : ( F U N 0000420 C T I O N S \r C L : G E T H A 0000440 S H ) ( V A R S C M L H A S 0000460 H C O M S ) p r e v i o u s 0000500 d a t e : " 2 2 - A u g - 8 6 0000520 1 7 : 0 3 : 5 4 " { E R I S 0000540 } < L I S P C O R E > S O U R C 0000560 E S > C M L H A S H . ; 2 ) \r ( 0000600 R P A Q Q C M L H A S H C O M 0000620 S ( ( * ; ; " E x t e r n 0000640 a l i n t e r f a c e " ) ( 0000660 S E T F S C L : G E T H A S H 0000700 ) ( F U N C T I O N S C L : 0000720 M A P H A S H C L : G E T H A 0000740 S H \r C L : P U T H A S H H 0000760 A S H - T A B L E - C O U N T 0001000 H A S H - T A B L E - P M A K 0001020 E - H A S H - T A B L E S X H 0001040 A S H ) ( * ; ; " I n t e 0001060 r n a l i n t e r f a c e " ) 0001100 ( \r V A R I A B L E S S X H 0001120 A S H - M A X ) ( F U N C T I 0001140 O N S S X H A S H - L I S T 0001160 S X H A S H - R O T S X H A S 0001200 H - S T R I N G E Q L H A S H 0001220 B I T S F N \ E Q H A S H I N 0001240 G B I T S ) ( \r P R O P F I 0001260 L E T Y P E C M L H A S H ) ) 0001300 ) \r ( R E M P R O P ( Q U O T 0001320 E C L : G E T H A S H ) ( Q 0001340 U O T E S E T F - M E T H O D 0001360 - E X P A N D E R ) ) \r ( P U T 0001400 P R O P S C L : G E T H A S H 0001420 S E T F - I N V E R S E C L 0001440 : P U T H A S H ) \r C L : M A P 0001460 H A S H A 0 0 0 1 D 1 \r ( L 0001500 ( 1 K E Y 0 V A L U E ) 0001520 F 0 F U N C T I O N ) \0 \b 0001540 \0 001 \0 002 A @ l 002 P 016 020 \0 N I L \r 0001560 N I L \r ( ) \r C L : M A P H A S 0001600 H D 1 \r ( L ( 1 H A S H - 0001620 T A B L E ) I 0 F U N C T 0001640 I O N ) \0 \n \0 \0 \0 002 A g \0 \0 \n 0001660 \0 \0 h 020 \0 ( 6 M A P H A S H ) 0001700 \r ( 3 C L : M A P H A S H A 0 0001720 0 0 1 ) \r ( ) \r ( L E T * ( ( 0001740 A 0 3 2 6 ( Q U O T E C L : 0001760 M A P H A S H ) ) ( A 0 3 2 7 0002000 ( Q U O T E C L : F U N C T 0002020 I O N ) ) ( A 0 3 2 8 \r " C 0002040 a l l f u n c t i o n w i t 0002060 h e a c h k e y / v a l u e 0002100 p a i r i n t h e h a s 0002120 h - t a b l e " ) ) ( P R O G 0002140 N ( C O N D ( ( F B O U N D 0002160 P ( Q U O T E \r S E T - D O 0002200 C U M E N T A T I O N ) ) ( S 0002220 E T - D O C U M E N T A T I O N 0002240 A 0 3 2 6 A 0 3 2 7 A 0 3 0002260 2 8 ) ) ) A 0 3 2 8 ) ) \r C L 0002300 : G E T H A S H D 1 \r ( L ( 0002320 2 D E F A U L T 1 H A S H 0002340 T A B L E 0 K E Y ) ) \0 \t 0002360 \0 \0 \0 003 @ A B i \f \0 \0 020 \0 ( 6 0002400 G E T H A S H ) \r N I L \r ( ) \r 0002420 C L : P U T H A S H D 1 \r ( L 0002440 ( 3 D E F A U L T 2 V A 0002460 L U E 1 H A S H - T A B L E 0002500 0 K E Y ) ) \0 \t \0 \0 \0 004 @ 0002520 B A \v \0 \0 B 020 \0 ( 5 \ H A S H 0002540 A C C E S S ) \r N I L \r ( ) \r H 0002560 A S H - T A B L E - C O U N T 0002600 D 1 \r ( L ( 0 H A S H - T A 0002620 B L E ) ) \0 \t \0 \0 \0 001 @ g \0 \0 0002640 \n \0 \0 020 \0 ( 6 H A R R A Y P R 0002660 O P ) \r ( 3 N U M K E Y S ) \r 0002700 ( ) \r H A S H - T A B L E - P 0002720 D 1 \r ( L ( 0 O B J E C T ) 0002740 ) \0 006 \0 \0 \0 001 @ \t \0 \0 020 \0 ( 3 0002760 H A R R A Y P ) \r N I L \r ( ) 0003000 \r M A K E - H A S H - T A B L E 0003020 D 1 \r ( L ( 0 - a r g s - 0003040 ) ) 001 017 \v \0 002 \0 e 021 001 \0 H k 021 0003060 002 002 J d I 363 262 B 277 g \0 \0 022 021 221 \n 0003100 H k 273 272 K d J 363 262 C 277 l A 274 H k 0003120 276 275 N d M 363 262 H 277 h _ 016 277 H k _ 0003140 022 277 _ 020 277 O 022 d O 020 363 262 F 277 I 004 0003160 l 004 360 262 N h 260 L a g \0 \0 360 225 J k 0003200 330 a 260 272 J l 002 324 Z 260 252 a g \0 \0 360 0003220 225 K k 330 a 260 270 K l 002 324 [ 260 251 a g 0003240 \0 \0 360 225 N k 330 a 260 262 N l 002 324 ^ 260 0003260 244 a g \0 \0 360 263 270 O 022 l 002 324 _ 022 260 0003300 250 i 262 0 I g \0 \0 \t \0 \0 \n \0 \0 224 g 0003320 \0 \0 260 ! I g \0 \0 \t \0 \0 \n \0 \0 223 g 0003340 \0 \0 217 I g \0 \0 \t \0 \0 \n \0 \0 223 g \0 0003360 \0 200 I _ 024 d g \0 \0 360 227 277 L O 016 \n 0003400 \0 \0 020 g \0 \0 360 234 L O 016 g \0 \0 g \0 0003420 \0 \f \0 \0 020 O 024 g \0 \0 360 264 017 L O 016 0003440 g \0 \0 g \0 \0 \f \0 \0 020 g \0 \0 O 024 o 0003460 \0 \0 \0 \f \0 \0 020 \0 ( 4 1 4 Q E C 0003500 A S E - F A I L 3 7 7 Q H A 0003520 S H A R R A Y 3 5 2 Q H A S 0003540 H A R R A Y 3 3 0 Q H A S H 0003560 A R R A Y 3 0 3 Q E Q P 3 0003600 0 0 Q S Y M B O L - F U N C T 0003620 I O N 2 6 4 Q E Q P 2 6 1 0003640 Q S Y M B O L - F U N C T I O 0003660 N 2 4 4 Q E Q P 2 4 1 Q 0003700 S Y M B O L - F U N C T I O N ) 0003720 \r ( 4 0 3 Q T E S T 3 7 4 Q 0003740 C L : E Q U A L 3 7 1 Q S 0003760 X H A S H 3 6 0 Q C L : E Q 0004000 U A L 3 4 7 Q E Q L 3 4 4 0004020 Q E Q L H A S H B I T S F N 0004040 3 3 4 Q E Q L 3 1 7 Q E Q 0004060 3 0 7 Q C L : E Q U A L 2 0004100 7 5 Q C L : E Q U A L 2 7 0 0004120 Q E Q L 2 5 6 Q E Q L 2 0004140 5 0 Q E Q 2 3 6 Q E Q 2 0004160 1 3 Q : R E H A S H - T H R E 0004200 S H O L D 1 7 0 Q : R E H A 0004220 S H - S I Z E 1 4 5 Q : S I 0004240 Z E 1 2 2 Q : T E S T 2 2 0004260 Q E Q L ) \r ( 4 1 1 Q ( E 0004300 Q E Q L C L : E Q U A L ) ) 0004320 \r ( L E T * ( ( A 0 3 2 9 ( 0004340 Q U O T E M A K E - H A S H - 0004360 T A B L E ) ) ( A 0 3 3 0 ( 0004400 Q U O T E C L : F U N C T I O 0004420 N ) ) ( A 0 3 3 1 \r " C r e 0004440 a t e s a n d r e t u r n s 0004460 a h a s h t a b l e . 0004500 S e e m a n u a l f o r d 0004520 e t a i l s . " ) ) ( P R O G 0004540 N ( C O N D ( ( F B O U N D 0004560 P ( Q U O T E \r S E T - D O 0004600 C U M E N T A T I O N ) ) ( S 0004620 E T - D O C U M E N T A T I O N 0004640 A 0 3 2 9 A 0 3 3 0 A 0 3 0004660 3 1 ) ) ) A 0 3 3 1 ) ) \r S X 0004700 H A S H D 1 \r ( L ( 0 O B 0004720 J E C T ) ) \0 335 004 \0 \0 001 @ 021 001 0004740 \0 H d 303 \0 \0 230 277 @ \t \0 \0 \t \0 \0 020 0004760 \t \0 \0 262 / j @ \t \0 \0 l \r \n \0 \0 j 0005000 021 003 003 I J \n \0 \0 221 K 020 K @ I 266 006 0005020 \0 \0 323 346 l \a l 020 \v \0 \0 273 I k 324 Y 0005040 260 344 H 227 H d 303 \0 \0 262 1 277 @ j l 002 0005060 021 003 003 I 232 I 3 \b 246 J l \r \n \0 \0 221 0005100 K 020 K I 001 \t \0 \0 346 l \a l 020 \v \0 \0 0005120 273 I 002 J k 324 272 Y 260 334 \t \0 \0 224 @ \t 0005140 \0 \0 020 H d 303 \0 \0 230 277 @ 310 \0 @ 310 001 0005160 346 020 3 225 @ n 377 377 345 020 H d 303 \0 \0 0005200 262 023 277 @ \t \0 \0 \t \0 \0 @ \t \0 \0 \t \0 0005220 \0 346 020 303 \0 \0 237 @ \t \0 \0 \t \0 \0 @ \t 0005240 \0 \0 \t \0 \0 346 020 @ 322 @ 323 n 037 377 345 340 0005260 340 340 @ 323 343 342 346 346 020 \0 ( 3 0 7 Q 0005300 S X H A S H 3 0 4 Q I M A G 0005320 P A R T 3 0 0 Q S X H A S H 0005340 2 7 5 Q R E A L P A R T 2 0005360 6 3 Q S X H A S H 2 6 0 Q 0005400 D E N O M I N A T O R 2 5 4 Q 0005420 S X H A S H 2 5 1 Q N U M 0005440 E R A T O R 2 0 4 Q A R R A 0005460 Y - R A N K 1 7 7 Q C L : A 0005500 R R A Y P 1 6 2 Q R O T 1 0005520 5 2 Q S X H A S H 1 4 1 Q 0005540 % % = 7 5 Q R O T 5 2 Q 0005560 % % = 4 1 Q M I N 3 4 Q 0005600 C L : L E N G T H 2 5 Q C L 0005620 : S T R I N G P 2 1 Q S T R 0005640 I N G H A S H B I T S 1 6 Q 0005660 S Y M B O L - N A M E ) \r ( 2 7 0005700 0 Q C O M P L E X 2 4 2 Q 0005720 R A T I O 2 1 2 Q F L O A T 0005740 P 1 1 3 Q L I S T P 6 4 Q 0005760 C H A R A C T E R 1 0 Q L 0006000 I T A T O M ) \r ( ) \r ( L E T * 0006020 ( ( A 0 3 3 2 ( Q U O T E 0006040 S X H A S H ) ) ( A 0 3 3 3 0006060 ( Q U O T E C L : F U N C T I 0006100 O N ) ) ( A 0 3 3 4 \r " R e 0006120 t u r n s a f i x n u m e 0006140 q u a l h a s h f o r a n 0006160 o b j e c t . " ) ) ( P R O 0006200 G N ( C O N D ( ( F B O U N 0006220 D P ( Q U O T E S E T - D O 0006240 C U M E N T A T I O N ) ) ( \r 0006260 S E T - D O C U M E N T A T I O 0006300 N A 0 3 3 2 A 0 3 3 3 A 0 0006320 3 3 4 ) ) ) A 0 3 3 4 ) ) \r ( 0006340 S E T Q S X H A S H - M A X 0006360 1 3 ) \r ( P U T H A S H ( Q U 0006400 O T E S X H A S H - M A X ) 0006420 ( Q U O T E ( C O N S T A N T 0006440 S X H A S H - M A X ) ) C O 0006460 M P V A R M A C R O H A S H ) \r 0006500 e x p a n d - S X H A S H - L I 0006520 S T D 1 \r ( L ( 1 $ $ M A 0006540 C R O - E N V I R O N M E N T 0006560 0 $ $ M A C R O - F O R M ) ) 0006600 \0 001 \0 \0 002 @ 002 001 021 001 \0 g \0 \0 0006620 g \0 \0 H o \0 \0 \0 032 032 o \0 \0 \0 032 o 0006640 \0 \0 \0 032 032 020 \0 N I L \r ( 1 3 Q 0006660 S E Q U E N C E 1 0 Q C L : 0006700 D O ) \r ( 3 3 Q ( ( ( O R 0006720 ( A T O M S E Q U E N C E ) 0006740 ( = I N D E X S X H A S H - 0006760 M A X ) ) H A S H ) ( D E C 0007000 L A R E ( T Y P E F I X N U 0007020 M H A S H ) ) ( S E T Q H 0007040 A S H ( S X H A S H - R O T 0007060 ( L O G X O R H A S H ( S X 0007100 H A S H ( C A R S E Q U E N 0007120 C E ) ) ) 7 ) ) ) \r 2 6 Q 0007140 ( ( I N D E X 0 ( 1 + I N 0007160 D E X ) ) ( H A S H 2 ) ) 0007200 2 0 Q ( ( C D R S E Q U E N 0007220 C E ) ) ) \r ( S E T F - M A C R 0007240 O - F U N C T I O N ( Q U O T 0007260 E S X H A S H - L I S T ) ( 0007300 Q U O T E e x p a n d - S X H 0007320 A S H - L I S T ) ) \r e x p a n 0007340 d - S X H A S H - R O T D 1 \r 0007360 ( L ( 1 $ $ M A C R O - E N 0007400 V I R O N M E N T 0 $ $ M A 0007420 C R O - F O R M ) ) \0 036 003 \0 \0 0007440 002 @ 002 021 ! 002 H 001 271 H 002 001 272 g \0 \0 0007460 I J n 377 377 \t \0 \0 h 032 032 032 032 020 \0 ( 0007500 2 6 Q I N T E G E R L E N G T 0007520 H ) \r ( 1 6 Q R O T ) \r ( ) \r 0007540 ( S E T F - M A C R O - F U N C 0007560 T I O N ( Q U O T E S X H A 0007600 S H - R O T ) ( Q U O T E e 0007620 x p a n d - S X H A S H - R O T 0007640 ) ) \r ( L E T * ( ( A 0 3 3 7 0007660 ( Q U O T E S X H A S H - R 0007700 O T ) ) ( A 0 3 3 8 ( Q U O 0007720 T E C L : F U N C T I O N ) ) 0007740 ( A 0 3 3 9 " R o t a t e s 0007760 x l e f t b y n u m b 0010000 i t s . " ) ) ( \r P R O G N 0010020 ( C O N D ( ( F B O U N D P 0010040 ( Q U O T E S E T - D O C U M 0010060 E N T A T I O N ) ) ( S E T - 0010100 D O C U M E N T A T I O N A 0 0010120 3 3 7 A 0 3 3 8 A 0 3 3 9 ) 0010140 ) ) A 0 3 3 9 ) ) \r e x p a n 0010160 d - S X H A S H - S T R I N G 0010200 D 1 \r ( L ( 1 $ $ M A C R O 0010220 - E N V I R O N M E N T 0 $ 0010240 $ M A C R O - F O R M ) ) \0 f 0010260 001 \0 \0 002 @ 002 001 021 001 \0 g \0 \0 o \0 \0 0010300 \0 g \0 \0 g \0 \0 g \0 \0 H h 032 032 o \0 0010320 \0 \0 032 032 h 032 032 o \0 \0 \0 032 032 o \0 \0 0010340 \0 o \0 \0 \0 g \0 \0 g \0 \0 g \0 \0 g \0 0010360 \0 g \0 \0 g \0 \0 g \0 \0 H o \0 \0 \0 032 0010400 032 h 032 032 h 032 032 032 o \0 \0 \0 032 032 h 032 0010420 032 032 h 032 032 032 032 032 020 \0 N I L \r ( 1 0010440 0 5 Q A R E F 1 0 2 Q C H 0010460 A R - I N T 7 7 Q H A S H 0010500 7 4 Q L O G X O R 7 1 Q S 0010520 X H A S H - R O T 6 6 Q H A 0010540 S H 6 3 Q S E T Q 2 5 Q 0010560 C L : L E N G T H 2 2 Q M I 0010600 N 1 7 Q L E N G T H 1 0 Q 0010620 C L : D O ) \r ( 1 2 7 Q ( 0010640 7 ) 1 1 2 Q ( I ) 6 0 Q 0010660 ( D E C L A R E ( T Y P E F 0010700 I X N U M I L E N G T H H 0010720 A S H ) ) 5 4 Q ( ( = I 0010740 L E N G T H ) H A S H ) 4 6 0010760 Q ( ( H A S H 0 ) ) 3 5 Q 0011000 \r ( S X H A S H - M A X ) 1 0011020 4 Q ( I 0 ( 1 + I ) ) ) 0011040 \r ( S E T F - M A C R O - F U N 0011060 C T I O N ( Q U O T E S X H 0011100 A S H - S T R I N G ) ( Q U O 0011120 T E e x p a n d - S X H A S H 0011140 - S T R I N G ) ) \r ( L E T * 0011160 ( ( A 0 3 4 1 ( Q U O T E S 0011200 X H A S H - S T R I N G ) ) ( 0011220 A 0 3 4 2 ( Q U O T E C L : 0011240 F U N C T I O N ) ) ( A 0 3 4 0011260 3 \r " R e t u r n s h a s h 0011300 v a l u e f o r a n o n 0011320 - s i m p l e s t r i n g . " 0011340 ) ) ( P R O G N ( C O N D 0011360 ( ( F B O U N D P ( Q U O T E 0011400 S E T - D O C U M E N T A T I 0011420 O N ) ) ( \r S E T - D O C U M 0011440 E N T A T I O N A 0 3 4 1 A 0011460 0 3 4 2 A 0 3 4 3 ) ) ) A 0 0011500 3 4 3 ) ) \r E Q L H A S H B I T 0011520 S F N D 1 \r ( L ( 0 O B J 0011540 ) ) \0 ` 001 \0 \0 001 @ 021 001 \0 H d 303 0011560 \0 \0 221 i 020 3 225 @ n 377 377 345 020 H d 0011600 303 \0 \0 230 277 @ 310 \0 @ 310 001 346 020 303 \0 \0 0011620 237 @ \t \0 \0 \t \0 \0 @ \t \0 \0 \t \0 \0 346 0011640 020 H 303 \0 \0 237 @ \t \0 \0 \t \0 \0 @ \t \0 0011660 \0 \t \0 \0 346 020 @ 322 @ 323 n 037 377 345 340 340 0011700 340 @ 323 343 342 346 346 020 \0 ( 1 1 2 Q E 0011720 Q L H A S H B I T S F N 1 0 7 0011740 Q I M A G P A R T 1 0 3 Q 0011760 E Q L H A S H B I T S F N 1 0 0012000 0 Q R E A L P A R T 6 5 Q 0012020 E Q L H A S H B I T S F N 6 2 0012040 Q D E N O M I N A T O R 5 6 0012060 Q E Q L H A S H B I T S F N 0012100 5 3 Q N U M E R A T O R ) \r ( 0012120 7 3 Q C O M P L E X 4 6 Q 0012140 R A T I O 3 1 Q F L O A T P 0012160 1 0 Q C H A R A C T E R ) \r 0012200 ( ) \r e x p a n d - \ E Q H A S 0012220 H I N G B I T S D 1 \r ( L ( 0012240 1 $ $ M A C R O - E N V I R O 0012260 N M E N T 0 $ $ M A C R O - 0012300 F O R M ) ) \0 F 001 \0 \0 002 @ 002 001 0012320 021 001 \0 g \0 \0 g \0 \0 H h 032 032 g \0 \0 0012340 g \0 \0 g \0 \0 g \0 \0 H h 032 032 o \0 \0 0012360 \0 032 032 o \0 \0 \0 032 032 g \0 \0 g \0 \0 H 0012400 h 032 032 o \0 \0 \0 032 032 h 032 032 032 h 032 032 0012420 032 020 \0 N I L \r ( 6 1 Q \ L O L 0012440 O C 5 6 Q L R S H 3 3 Q 0012460 \ L O L O C 3 0 Q L O G A N 0012500 D 2 5 Q L L S H 2 2 Q L 0012520 O G X O R 1 3 Q \ H I L O C 0012540 1 0 Q L O G X O R ) \r ( 7 0012560 1 Q ( 1 1 Q ) 5 1 Q ( 3 ) 0012600 4 3 Q ( 1 7 7 7 7 Q ) ) \r ( 0012620 S E T F - M A C R O - F U N C T 0012640 I O N ( Q U O T E \ E Q H A 0012660 S H I N G B I T S ) ( Q U O T 0012700 E e x p a n d - \ E Q H A S H 0012720 I N G B I T S ) ) \r ( P U T P R 0012740 O P S C M L H A S H F I L E 0012760 T Y P E C O M P I L E - F I L 0013000 E ) \r ( P U T P R O P S C M L 0013020 H A S H C O P Y R I G H T ( 0013040 " X e r o x C o r p o r a t i 0013060 o n " 1 9 8 5 1 9 8 6 ) ) \r 0013100 N I L \r 0013104