[comp.sources.games] v09i004: NetHack3 - display oriented dungeons & dragons

billr@saab.CNA.TEK.COM (Bill Randle) (02/24/90)

Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
Posting-number: Volume 9, Issue 4
Archive-name: NetHack3/Patch7d
Patch-To: NetHack3: Volume 7, Issue 56-93



#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 4 (of 30)."
# Contents:  patch7.22
# Wrapped by billr@saab on Wed Feb 21 10:04:25 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'patch7.22' -a "${1}" != "-c" ; then 
  echo shar: Renaming existing file \"'patch7.22'\" to \"'patch7.22.orig'\"
  mv -f 'patch7.22' 'patch7.22.orig'
fi
echo shar: Extracting \"'patch7.22'\" \(56824 characters\)
sed "s/^X//" >'patch7.22' <<'END_OF_FILE'
X*** src/Old/topten.c	Mon Feb 19 19:03:06 1990
X--- src/topten.c	Mon Feb  5 18:28:48 1990
X***************
X*** 1,9 ****
X! /*	SCCS Id: @(#)topten.c	3.0	89/11/15
X  /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X  /* NetHack may be freely redistributed.  See license for details. */
X  
X  /* block some unused #defines to avoid overloading some cpp's */
X- #define MONATTK_H
X  #include "hack.h"
X  
X  #ifndef MACOS
X--- 1,10 ----
X! /*	SCCS Id: @(#)topten.c	3.0	89/12/31
X  /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X  /* NetHack may be freely redistributed.  See license for details. */
X  
X+ #define MONATTK_H	/* comment line for pre-compiled headers */
X+ #define MONFLAG_H	/* comment line for pre-compiled headers */
X  /* block some unused #defines to avoid overloading some cpp's */
X  #include "hack.h"
X  
X  #ifndef MACOS
X***************
X*** 12,20 ****
X--- 13,28 ----
X  extern short macflags;
X  extern WindowPtr	HackWindow;
X  #endif
X+ 
X  #ifdef NO_FILE_LINKS
X  #include <fcntl.h>	/* Ralf Brown */
X  #endif
X+ #include <ctype.h>
X+ 
X+ #ifdef LATTICE
X+ static void FDECL(lattice_mung_line,(char*));
X+ static void FDECL(lattice_unmung_line,(char*));
X+ #endif
X  
X  #define newttentry() (struct toptenentry *) alloc(sizeof(struct toptenentry))
X  #define	NAMSZ	10
X***************
X*** 22,27 ****
X--- 30,36 ----
X  #define	PERSMAX	 3		/* entries per name/uid per char. allowed */
X  #define	POINTSMIN	1	/* must be > 0 */
X  #define	ENTRYMAX	100	/* must be >= 10 */
X+ 
X  #ifndef MSDOS
X  #define	PERS_IS_UID		/* delete for PERSMAX per name; now per uid */
X  #endif
X***************
X*** 37,48 ****
X  	char date[7];		/* yymmdd */
X  } *tt_head;
X  
X! static char *FDECL(itoa, (int)), *FDECL(ordin, (int));
X  static void outheader();
X  static int FDECL(outentry, (int,struct toptenentry *,int));
X  
X  void
X! topten(){
X  	int uid = getuid();
X  	int rank, rank0 = -1, rank1 = 0;
X  	int occ_cnt = PERSMAX;
X--- 46,67 ----
X  	char date[7];		/* yymmdd */
X  } *tt_head;
X  
X! static char *FDECL(itoa, (int));
X! static const char *FDECL(ordin, (int));
X  static void outheader();
X  static int FDECL(outentry, (int,struct toptenentry *,int));
X  
X+ /* must fit with end.c */
X+ static const char *killed_by_prefix[] = {
X+ 	"killed by ", "choked on ", "poisoned by ", "", "drowned in ",
X+ 	"", "crushed to death by ", "petrified by ", "",
X+ 	"", "",
X+ 	"", "", "" };
X+ 
X  void
X! topten(how)
X! int how;
X! {
X  	int uid = getuid();
X  	int rank, rank0 = -1, rank1 = 0;
X  	int occ_cnt = PERSMAX;
X***************
X*** 57,63 ****
X  	char *reclock = "record_lock;1";
X  	char recfile[] = RECORD;
X  #else
X! 	char *recfile = RECORD;
X  #endif
X  #if defined(UNIX) || defined(VMS)
X  	int sleepct = 100;
X--- 76,82 ----
X  	char *reclock = "record_lock;1";
X  	char recfile[] = RECORD;
X  #else
X! 	const char *recfile = RECORD;
X  #endif
X  #if defined(UNIX) || defined(VMS)
X  	int sleepct = 100;
X***************
X*** 99,106 ****
X  	t0->uid = uid;
X  	(void) strncpy(t0->name, plname, NAMSZ);
X  	(t0->name)[NAMSZ] = 0;
X! 	(void) strncpy(t0->death, killer, DTHSZ);
X! 	(t0->death)[DTHSZ] = 0;
X  	Strcpy(t0->date, getdate());
X  
X  #ifdef LOGFILE		/* used for debugging (who dies of what, where) */
X--- 118,138 ----
X  	t0->uid = uid;
X  	(void) strncpy(t0->name, plname, NAMSZ);
X  	(t0->name)[NAMSZ] = 0;
X! 	(t0->death)[0] = 0;
X! 	switch (killer_format) {
X! 		default: impossible("bad killer format?");
X! 		case KILLED_BY_AN:
X! 			Strcat(t0->death, killed_by_prefix[how]),
X! 			(void) strncat(t0->death, an(killer), DTHSZ);
X! 			break;
X! 		case KILLED_BY:
X! 			Strcat(t0->death, killed_by_prefix[how]),
X! 			(void) strncat(t0->death, killer, DTHSZ);
X! 			break;
X! 		case NO_KILLER_PREFIX:
X! 			(void) strncat(t0->death, killer, DTHSZ);
X! 			break;
X! 	}
X  	Strcpy(t0->date, getdate());
X  
X  #ifdef LOGFILE		/* used for debugging (who dies of what, where) */
X***************
X*** 195,203 ****
X  		if (!(rfile = fopen(recfile,"r"))) {
X  			short	i;
X  	
X! 			rfile = openFile(recfile);
X  			
X- 			t = (term_info *)GetWRefCon(HackWindow);
X  			for (i = 0;i < t->maxRow; i++) {
X  			    MoveTo(Screen_Border,
X  				t->ascent + (i * t->height) + Screen_Border);
X--- 227,234 ----
X  		if (!(rfile = fopen(recfile,"r"))) {
X  			short	i;
X  	
X! 			rfile = openFile(recfile,"r");
X  			
X  			for (i = 0;i < t->maxRow; i++) {
X  			    MoveTo(Screen_Border,
X  				t->ascent + (i * t->height) + Screen_Border);
X***************
X*** 226,251 ****
X  	tprev = 0;
X  	/* rank0: -1 undefined, 0 not_on_list, n n_th on list */
X  	for(rank = 1; ; ) {
X! #ifdef OLD_TOS
X! 	    char k1[2],k2[2];
X! 	    if(fscanf(rfile, "%6s %d %d %d %d %d %ld %1s%1s %s %s]",
X  #else
X  	    if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X! #endif
X  		t1->date, &t1->uid,
X  		&t1->level, &t1->maxlvl,
X  		&t1->hp, &t1->maxhp, &t1->points,
X- #ifdef OLD_TOS
X- 		k1, k2,
X- #else
X  		&t1->plchar, &t1->sex,
X! #endif
X  		t1->name, t1->death) != 11 || t1->points < POINTSMIN)
X  			t1->points = 0;
X! 
X! #ifdef OLD_TOS
X! 	    t1->plchar=k1[0];
X! 	    t1->sex=k2[0];
X  #endif
X  	    if(rank0 < 0 && t1->points < t0->points) {
X  		rank0 = rank++;
X--- 257,279 ----
X  	tprev = 0;
X  	/* rank0: -1 undefined, 0 not_on_list, n n_th on list */
X  	for(rank = 1; ; ) {
X! #ifdef LATTICE
X! 	    if(fscanf(rfile,"%6s %d %d %d %d %d %ld%*c%c%c %s %s",
X  #else
X  	    if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X! #endif /* LATTICE */
X  		t1->date, &t1->uid,
X  		&t1->level, &t1->maxlvl,
X  		&t1->hp, &t1->maxhp, &t1->points,
X  		&t1->plchar, &t1->sex,
X! #ifdef LATTICE	/* return value is broken also, sigh */
X! 		t1->name, t1->death) <1    || t1->points < POINTSMIN)
X! #else
X  		t1->name, t1->death) != 11 || t1->points < POINTSMIN)
X+ #endif
X  			t1->points = 0;
X! #ifdef LATTICE
X! 	    lattice_unmung_line(t1->death);
X  #endif
X  	    if(rank0 < 0 && t1->points < t0->points) {
X  		rank0 = rank++;
X***************
X*** 314,324 ****
X--- 342,360 ----
X  	if(!done_stopprint) outheader();
X  	t1 = tt_head;
X  	for(rank = 1; t1->points != 0; rank++, t1 = t1->tt_next) {
X+ #ifdef LATTICE
X+ 	  lattice_mung_line(t1->death);
X+ 	  if(flg) (void) fprintf(rfile,"%6s %d %d %d %d %d %ld %c%c %s %s\n",
X+ #else
X  	  if(flg) (void) fprintf(rfile,"%6s %d %d %d %d %d %ld %c%c %s,%s\n",
X+ #endif
X  	    t1->date, t1->uid,
X  	    t1->level, t1->maxlvl,
X  	    t1->hp, t1->maxhp, t1->points,
X  	    t1->plchar, t1->sex, t1->name, t1->death);
X+ #ifdef LATTICE
X+ 	  lattice_unmung_line(t1->death);
X+ #endif
X  	  if(done_stopprint) continue;
X  	  if(rank > flags.end_top &&
X  	    (rank < rank0-flags.end_around || rank > rank0+flags.end_around)
X***************
X*** 385,399 ****
X  register struct toptenentry *t1;
X  register int rank, so;
X  {
X! 	register boolean quit = FALSE, iskilled = FALSE, starv = FALSE,
X! 		isstoned = FALSE;
X! 	char linebuf[BUFSZ];
X! 	linebuf[0] = 0;
X  	if(rank) Sprintf(eos(linebuf), " %2d", rank);
X! 		else Strcat(linebuf, "   ");
X! 	Sprintf(eos(linebuf), " %7ld  %.10s", t1->points, t1->name);
X  	Sprintf(eos(linebuf), "-%c ", t1->plchar);
X  	if(!strncmp("escaped", t1->death, 7)) {
X  	  if(!strcmp(" (with the Amulet)", t1->death+7))
X  	    Strcat(linebuf, "escaped the dungeon with the Amulet");
X  	  else
X--- 421,437 ----
X  register struct toptenentry *t1;
X  register int rank, so;
X  {
X! 	register boolean second_line = TRUE;
X! 	char linebuf[BUFSZ], linebuf2[BUFSZ];
X! 
X! 	linebuf[0] = linebuf2[0] = 0;
X  	if(rank) Sprintf(eos(linebuf), " %2d", rank);
X! 	else Strcat(linebuf, "   ");
X! 
X! 	Sprintf(eos(linebuf), " %10ld  %.10s", t1->points, t1->name);
X  	Sprintf(eos(linebuf), "-%c ", t1->plchar);
X  	if(!strncmp("escaped", t1->death, 7)) {
X+ 	  second_line = FALSE;
X  	  if(!strcmp(" (with the Amulet)", t1->death+7))
X  	    Strcat(linebuf, "escaped the dungeon with the Amulet");
X  	  else
X***************
X*** 404,450 ****
X  	   Strcat(linebuf, "ascended to demigod");
X  	   if (t1->sex == 'F') Strcat(linebuf, "dess");
X  	   Strcat(linebuf, "-hood");
X  #endif
X  	} else {
X  	  if(!strncmp(t1->death,"quit",4)) {
X- 		quit = TRUE;
X  		Strcat(linebuf, "quit");
X! 	  } else if(!strcmp(t1->death,"choked")) {
X! 		Sprintf(eos(linebuf), "choked on %s food",
X! 			(t1->sex == 'F') ? "her" : "his");
X  	  } else if(!strncmp(t1->death,"starv",5)) {
X  		Strcat(linebuf, "starved to death");
X! 		starv = TRUE;
X! 	  } else if(!strcmp(t1->death,"poisoned")) {
X  		Strcat(linebuf, "was poisoned");
X! 	  } else if(!strcmp(t1->death,"crushed")) {
X  		Strcat(linebuf, "was crushed to death");
X! 	  } else if(!strncmp(t1->death, "turned to stone by ",19)) {
X! 		Strcat(linebuf, "was petrified");
X! 		isstoned = TRUE;
X! 	  } else {
X! 		Strcat(linebuf, "was killed");
X! 		iskilled = TRUE;
X! 	  }
X  #ifdef ENDLEVEL
X  	  if (t1->level == ENDLEVEL)
X  		Strcat(linebuf, " in the endgame");
X  	  else
X  #endif
X! 	    Sprintf(eos(linebuf), " on%s level %d",
X! 	      (iskilled || isstoned || starv) ? "" : " dungeon", t1->level);
X  	  if(t1->maxlvl != t1->level)
X  	    Sprintf(eos(linebuf), " [max %d]", t1->maxlvl);
X! 	  if(quit && t1->death[4]) Strcat(linebuf, t1->death + 4);
X  	}
X- 	if(iskilled) Sprintf(eos(linebuf), " by %s",
X- 	  (!strncmp(t1->death, "trick", 5) || !strncmp(t1->death, "the ", 4)
X- 	   || !strncmp(t1->death, "Mr. ", 4) || !strncmp(t1->death, "Ms. ", 4)
X- 	   || !strcmp(t1->death, "contaminated water")
X- 	   || (!strncmp(eos(t1->death)-4,"tion",4) && *(eos(t1->death)-5)!='o')
X- 	   ) ? t1->death : an(t1->death));
X- 	if (isstoned) Sprintf(eos(linebuf), " by %s", an(t1->death + 19));
X  	Strcat(linebuf, ".");
X  	if(t1->maxhp) {
X  	  register char *bp = eos(linebuf);
X  	  char hpbuf[10];
X--- 442,480 ----
X  	   Strcat(linebuf, "ascended to demigod");
X  	   if (t1->sex == 'F') Strcat(linebuf, "dess");
X  	   Strcat(linebuf, "-hood");
X+ 	   second_line = FALSE;
X  #endif
X  	} else {
X  	  if(!strncmp(t1->death,"quit",4)) {
X  		Strcat(linebuf, "quit");
X! 		second_line = FALSE;
X  	  } else if(!strncmp(t1->death,"starv",5)) {
X  		Strcat(linebuf, "starved to death");
X! 		second_line = FALSE;
X! 	  } else if(!strncmp(t1->death,"choked",6)) {
X! 		Sprintf(eos(linebuf), "choked on h%s food",
X! 			(t1->sex == 'F') ? "er" : "is");
X! 	  } else if(!strncmp(t1->death,"poisoned",8)) {
X  		Strcat(linebuf, "was poisoned");
X! 	  } else if(!strncmp(t1->death,"crushed",7)) {
X  		Strcat(linebuf, "was crushed to death");
X! 	  } else if(!strncmp(t1->death, "petrified by ",13)) {
X! 		Strcat(linebuf, "turned to stone");
X! 	  } else Strcat(linebuf, "died");
X  #ifdef ENDLEVEL
X  	  if (t1->level == ENDLEVEL)
X  		Strcat(linebuf, " in the endgame");
X  	  else
X  #endif
X! 	    Sprintf(eos(linebuf), " on dungeon level %d", t1->level);
X  	  if(t1->maxlvl != t1->level)
X  	    Sprintf(eos(linebuf), " [max %d]", t1->maxlvl);
X! 	/* kuldge for "quit while already on Charon's boat" */
X! 	  if(!strncmp(t1->death, "quit ", 5))
X! 	    Strcat(linebuf, t1->death + 4);
X  	}
X  	Strcat(linebuf, ".");
X+ 
X  	if(t1->maxhp) {
X  	  register char *bp = eos(linebuf);
X  	  char hpbuf[10];
X***************
X*** 468,491 ****
X  	    else Sprintf(eos(bp), " [%d]", t1->maxhp);
X  	  }
X  	}
X! 	if(so == 0) (void) puts(linebuf);
X! 	else if(so > 0) {
X  	  register char *bp = eos(linebuf);
X  	  if(so >= COLNO) so = COLNO-1;
X  	  while(bp < linebuf + so) *bp++ = ' ';
X  	  *bp = 0;
X  	  standoutbeg();
X! #ifdef MACOS
X! 	  puts(linebuf);
X! #else
X! 	  (void) fputs(linebuf,stdout);
X! #endif
X  	  standoutend();
X! #ifndef MACOS
X! 	  (void) putchar('\n');
X! #endif
X  	}
X! 	return(strlen(linebuf));
X  }
X  
X  static char *
X--- 498,531 ----
X  	    else Sprintf(eos(bp), " [%d]", t1->maxhp);
X  	  }
X  	}
X! 
X! /*	Line 2 now contains the killer name */
X! 
X! 	/* Quit, starved, ascended, and escaped contain no second line */
X! 	if (second_line) {
X! 		Strcpy(linebuf2, t1->death);
X! 		*linebuf2 = toupper(*linebuf2);
X! 		Strcat(linebuf2, ".");
X! 	}
X! 
X! 	if(so == 0) {
X! 	  (void) puts(linebuf);
X! 	  if (second_line)
X! 		(void) Printf("                %s\n", linebuf2);
X! 	} else if(so > 0) {
X  	  register char *bp = eos(linebuf);
X  	  if(so >= COLNO) so = COLNO-1;
X  	  while(bp < linebuf + so) *bp++ = ' ';
X  	  *bp = 0;
X  	  standoutbeg();
X! 	  (void) puts(linebuf);
X! 	  if(second_line)
X! 		(void) Printf("                %s", linebuf2);
X  	  standoutend();
X! 	  if(second_line)
X! 		(void) putchar('\n');
X  	}
X! 	return(strlen(linebuf)+strlen(linebuf2));
X  }
X  
X  static char *
X***************
X*** 499,505 ****
X  	return(buf);
X  }
X  
X! static char *
X  ordin(n)
X  int n; {
X  	register int dd = n%10;
X--- 539,545 ----
X  	return(buf);
X  }
X  
X! static const char *
X  ordin(n)
X  int n; {
X  	register int dd = n%10;
X***************
X*** 512,525 ****
X  	       (dd==1) ? "st" : (dd==2) ? "nd" : "rd");
X  }
X  
X- char *
X- eos(s)
X- register char *s;
X- {
X- 	while(*s) s++;
X- 	return(s);
X- }
X- 
X  /*
X   * Called with args from main if argc >= 0. In this case, list scores as
X   * requested. Otherwise, find scores for the current player (and list them
X--- 552,557 ----
X***************
X*** 530,540 ****
X  int argc;
X  char **argv;
X  {
X! 	char **players;
X  	int playerct;
X  	int rank;
X  	register struct toptenentry *t1, *t2;
X! 	char *recfile = RECORD;
X  	FILE *rfile;
X  	register int flg = 0, i;
X  #ifdef nonsense
X--- 562,572 ----
X  int argc;
X  char **argv;
X  {
X! 	const char **players;
X  	int playerct;
X  	int rank;
X  	register struct toptenentry *t1, *t2;
X! 	const char *recfile = RECORD;
X  	FILE *rfile;
X  	register int flg = 0, i;
X  #ifdef nonsense
X***************
X*** 546,556 ****
X  #ifdef PERS_IS_UID
X  	int uid = -1;
X  #else
X! 	char *player0;
X  #endif
X  #ifdef MACOS
X  	if(!(rfile = fopen(recfile,"r")))
X! 		rfile = openFile(recfile);
X  	if (!rfile) {
X  #else
X  	if(!(rfile = fopen(recfile,"r"))){
X--- 578,588 ----
X  #ifdef PERS_IS_UID
X  	int uid = -1;
X  #else
X! 	const char *player0;
X  #endif
X  #ifdef MACOS
X  	if(!(rfile = fopen(recfile,"r")))
X! 		rfile = openFile(recfile,"r");
X  	if (!rfile) {
X  #else
X  	if(!(rfile = fopen(recfile,"r"))){
X***************
X*** 581,612 ****
X  #endif
X  	} else {
X  		playerct = --argc;
X! 		players = ++argv;
X  	}
X  	if(outflg) (void) putchar('\n');
X  
X  	t1 = tt_head = newttentry();
X  	for(rank = 1; ; rank++) {
X! #ifdef OLD_TOS
X! 	  char k1[2], k2[2];
X! 	  if(fscanf(rfile, "%6s %d %d %d %d %d %ld %1s%1s %s %s]",
X  #else
X  	  if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X! #endif
X  		t1->date, &t1->uid,
X  		&t1->level, &t1->maxlvl,
X  		&t1->hp, &t1->maxhp, &t1->points,
X- #ifdef OLD_TOS
X- 		k1, k2,
X- #else
X  		&t1->plchar, &t1->sex,
X! #endif
X  		t1->name, t1->death) != 11)
X  			t1->points = 0;
X  	  if(t1->points == 0) break;
X! #ifdef OLD_TOS
X! 	  t1->plchar=k1[0];
X! 	  t1->sex=k2[0];
X  #endif
X  #ifdef PERS_IS_UID
X  	  if(!playerct && t1->uid == uid)
X--- 613,642 ----
X  #endif
X  	} else {
X  		playerct = --argc;
X! 		players = (const char **)++argv;
X  	}
X  	if(outflg) (void) putchar('\n');
X  
X  	t1 = tt_head = newttentry();
X  	for(rank = 1; ; rank++) {
X! #ifdef LATTICE
X! 	  if(fscanf(rfile, "%6s %d %d %d %d %d %ld%*c%c%c %s %s",
X  #else
X  	  if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X! #endif /* LATTICE */
X  		t1->date, &t1->uid,
X  		&t1->level, &t1->maxlvl,
X  		&t1->hp, &t1->maxhp, &t1->points,
X  		&t1->plchar, &t1->sex,
X! #ifdef LATTICE
X! 		t1->name, t1->death)<1)
X! #else
X  		t1->name, t1->death) != 11)
X+ #endif
X  			t1->points = 0;
X  	  if(t1->points == 0) break;
X! #ifdef LATTICE
X! 	   lattice_unmung_line(t1->death);
X  #endif
X  #ifdef PERS_IS_UID
X  	  if(!playerct && t1->uid == uid)
X***************
X*** 655,661 ****
X--- 685,693 ----
X  			   players[i][1] == t1->plchar &&
X  			   players[i][2] == 0) ||
X  			  (digit(players[i][0]) && rank <= atoi(players[i]))){
X+ #ifdef PERS_IS_UID
X  			outwithit:
X+ #endif
X  				if(outflg)
X  				    (void) outentry(rank, t1, 0);
X  #ifdef nonsense
X***************
X*** 721,727 ****
X  	int rank;
X  	register int i;
X  	register struct toptenentry *tt;
X! 	char *recfile = RECORD;
X  	FILE *rfile;
X  
X  	if (!otmp) return((struct obj *) 0);
X--- 753,759 ----
X  	int rank;
X  	register int i;
X  	register struct toptenentry *tt;
X! 	const char *recfile = RECORD;
X  	FILE *rfile;
X  
X  	if (!otmp) return((struct obj *) 0);
X***************
X*** 728,734 ****
X  
X  #ifdef MACOS
X  	if(!(rfile = fopen(recfile,"r")))
X! 		rfile = openFile(recfile);
X  	if (!rfile) {
X  #else
X  	if(!(rfile = fopen(recfile,"r"))){
X--- 760,766 ----
X  
X  #ifdef MACOS
X  	if(!(rfile = fopen(recfile,"r")))
X! 		rfile = openFile(recfile, "r");
X  	if (!rfile) {
X  #else
X  	if(!(rfile = fopen(recfile,"r"))){
X***************
X*** 740,748 ****
X  	rank = rnd(10);
X  pickentry:
X  	for(i = rank; i; i--) {
X! #ifdef OLD_TOS
X! 	  char k1[2], k2[2];
X! 	  if(fscanf(rfile, "%6s %d %d %d %d %d %ld %1s%1s %s %s]",
X  #else
X  	  if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X  #endif
X--- 772,779 ----
X  	rank = rnd(10);
X  pickentry:
X  	for(i = rank; i; i--) {
X! #ifdef LATTICE
X! 	  if(fscanf(rfile, "%6s %d %d %d %d %d %ld%*c%c%c %s %s",
X  #else
X  	  if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X  #endif
X***************
X*** 749,768 ****
X  		tt->date, &tt->uid,
X  		&tt->level, &tt->maxlvl,
X  		&tt->hp, &tt->maxhp, &tt->points,
X- #ifdef OLD_TOS
X- 		k1, k2,
X- #else
X  		&tt->plchar, &tt->sex,
X! #endif
X  		tt->name, tt->death) != 11)
X  			tt->points = 0;
X  	  if(tt->points == 0) break;
X! #ifdef OLD_TOS
X! 	  tt->plchar=k1[0];
X! 	  tt->sex=k2[0];
X  #endif
X  	}
X- 	(void) fclose(rfile);
X  
X  	if(tt->points == 0) {
X  		if(rank > 1) {
X--- 780,797 ----
X  		tt->date, &tt->uid,
X  		&tt->level, &tt->maxlvl,
X  		&tt->hp, &tt->maxhp, &tt->points,
X  		&tt->plchar, &tt->sex,
X! #ifdef LATTICE
X! 		tt->name, tt->death) <1)
X! #else
X  		tt->name, tt->death) != 11)
X+ #endif
X  			tt->points = 0;
X  	  if(tt->points == 0) break;
X! #ifdef LATTICE
X! 	  lattice_unmung_line(tt->death);
X  #endif
X  	}
X  
X  	if(tt->points == 0) {
X  		if(rank > 1) {
X***************
X*** 770,776 ****
X  			goto pickentry;
X  		}
X  		free((genericptr_t) tt);
X! 		return((struct obj *) 0);
X  	} else {
X  		otmp->corpsenm = classmon(tt->plchar, (tt->sex == 'F'));
X  		otmp->owt = weight(otmp);
X--- 799,805 ----
X  			goto pickentry;
X  		}
X  		free((genericptr_t) tt);
X! 		otmp = (struct obj *) 0;
X  	} else {
X  		otmp->corpsenm = classmon(tt->plchar, (tt->sex == 'F'));
X  		otmp->owt = weight(otmp);
X***************
X*** 779,784 ****
X  		fobj = otmp;
X  		level.objects[otmp->ox][otmp->oy] = otmp;
X  		free((genericptr_t) tt);
X- 		return otmp;
X  	}
X  }
X--- 808,830 ----
X  		fobj = otmp;
X  		level.objects[otmp->ox][otmp->oy] = otmp;
X  		free((genericptr_t) tt);
X  	}
X+ 
X+ 	(void) fclose(rfile);
X+ 	return otmp;
X  }
X+ 
X+ #ifdef LATTICE
X+ /* Lattice scanf isn't up to reading the scorefile.  What */
X+ /* follows deals with that; I admit it's ugly. (KL) */
X+ static void lattice_mung_line(p)
X+ 	char *p;
X+ 	{
X+ 	while(p=strchr(p,' '))*p='|';
X+ }
X+ static void lattice_unmung_line(p)
X+ 	char *p;
X+ 	{
X+ 	while(p=strchr(p,'|'))*p=' ';
X+ }
X+ #endif
X*** /dev/null	Tue Feb 20 01:25:09 1990
X--- mac/NH3.rsrc.hqx	Mon Feb 19 18:11:28 1990
X***************
X*** 0
X
X--- 1,311 -----
X+ (This file must be converted with BinHex 4.0)
X+ :#%j)-bjbFh*M!!!!!!!!!!!!)!!!!!!!!!!jaZRe!!!!!!%!!!!ddJ!!-p)!!!6
X+ d"!46DfP`!!!!!!#$!!`!P3%PL!K6BACP)'&c1J!!!!!)6NJc,R*cFQ-c!J!!!!!
X+ !!!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!J!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!#L"M0f!!!!!!!!1FB!!!!!!-S!$`$H!'S%#&0KGQ8J3@aX!!!!!!$+!0!!hJ%
X+ U"!C$B@jMC@`!!!!!!,B!F`$)!-S%"d0[ERCPFR5!!!!!!!$+!(-!hJ$+"!Y$Efj
X+ fCA*d)%&XE!!!!!"b!!%!!!!!!&8!%J"T!$m%!Np,!!!!!!!%!%J!C`%$L&&6Eh*
X+ b!!!#6!*-!#!!H3!Z!C-4!D!!JU!!MJ%!#J!J!(%#d!*!Q!!N!!!!#!!1!5J!!!!
X+ )!!i")J!J!(N!,J'6!!%K$rKq!!"r2i!!!H!!IJ!m!"lq!!B"i!!!2`2`qJ!#!H!
X+ !)J8i'!!!(!lq!!EJ!1F!j`!rr3!)i!!!$`2!!!!Fr!!"i!!P"6`B!"`F$[i!"Z!
X+ !ii$R!(Iq!!Y`i!!!$iI!!!!F!!Iq!!(J!#3&2KJ!("`1rJ!'i!!$JF1!F2i!"R$
X+ J!!!2Km$p!!!(rJ!"i!!N"6mB!"`F$[i!"Z!!!i($J($q!!C`i!!!$iI!r3!!"ri
X+ !!H!!*5-h'$ir(!i(JI$[J!F"`i(mIMh!r2m(`!h0`2!q22q2aq(mr`!P)c1BGa`
X+ IrKc$R1B!2J($J($R(m"`pilJ$Fh$Q(1FHmF1FjchJ#8M-pMMR"`1(1FFl!!(!F1
X+ !FF1H!($MR(!0cF1Fijaaaa`l$11!*5-af11F(!i!j`$i!!1"`i"a`j`!F11FF!c
X+ j`"cJ((((($[!ii!P)c$irj`F$JIR!2J!!i($J(($R!"`ijr`$2R!r1!FFFFF1IM
X+ MJ#8M-2MJ("`1(1F!r!!$JF1!FF1F!($MR!!-qF1Fi"aaaa`i211!*5-`H1'F(!i
X+ ij`cZ!F1!j`"a`j`!F11F-!aaaacKR(((($X-ii!P)c!iFjfF$MRMR1F"aacR!($
X+ R(!"fiij`$(((2(1FFFGZFjcMJ#8Mr"Jr$hmrRr(jrm$q($`!q(iq!$hhaq!rGr2
X+ q2cllimIMqII!S!#2S!#$r`!!!#FQ6Q9d5'&MDb"@CA*cD@pZ)$-Z-'NJCQpb)(4
X+ SC5"0B@0TER4[FfJ!!!"-!'F!!!!!!!!!!2rrrrX%4@4TG!99EQ4[)!"D!!!",3!
X+ !!!!%3h9d)!"B!!!&3fp`H5!!3`!!"P"KFh4P)!"@!!!&3faPBA)!!!!!!!!!!+S
X+ !D!!!!!!!!!!!rrrrr`P*ERCPER4[FRN-4'mJD@jfC@jdEh*j!!!!!!K3BANJBQP
X+ XE!!!!!!,4(*[F#"[BQTPBh3!!!!!&%4bEh!JFf9fCA*KE#"[BQTPBh4c!!!!!!j
X+ 3D@0V)(9`)'pLDQ9MG!!!!!!09'pRCfaP)("TBfYeF!!!!!!25@4PER4TCRNJEf*
X+ UC@0d!!!!!!a1B@eP)'e[ER0dCA)!!!!!!!!!!*-!D3!!!!!!!!!!rrrrr`C"Bh4
X+ TEfi33A"`E(N[GA0P)'pLDQ9MG!!!!!!+4@&d)'pLDQ9MG!!!!!!-8A9KCQBJF'p
X+ dD@pZ!!!!!""5C@&N)(0MFQpXE#pLEfpV!!!!!"*8D(*[GbpcD'p[G#"hC@&`Efi
X+ !!!!!#&TKF#"hB@jN!!!!!!T$BA0d)(0`C@aX!!!!!!!!!!$"!'S!!!!!!!!!!2r
X+ rrrm%8(*PF!aAD@9XC#"hC@&`Efi!!!!!#e"eG#"[EL"bD@jR!!!!!!Y5C@e[GQ8
X+ JFQPZC`!!!!!-8Q9YEhCP)'&bE@pb!!!!!!TAC@&b)'&bE@pb!!!!!!j$GA*bC@j
X+ d)(GPBA"[EJ!!!!!03h9bFQ9ZG#"KFQe[FJ!!!!!03h9bFQ9ZG#"bD@jRF`!!!!!
X+ 13h9bFQ9ZG#"KEA9XCA3!!!!!$80eFR*PER3JG'p[E(-!!!!!!!!!!*J!D`!!!!!
X+ !!!!!rrrrr`40EhCP#8p`C@iJC'p[FJ!!!!!+3fa[Ff8JC'p[FJ!!!!!*5fPMDb"
X+ NEfpb!!!!!!C6C@&bBfJ!!!!!$%G[)(9`)(0dB@PbF`!!!!!14fmJC'phEL"cG'&
X+ TFR-!!!!!#&4PE'9`Eh*d!!!!!!4AB@Pd!!!!!!p&EQGbBACP)'ePFh0KCf8!!!!
X+ !!!!!!1S!E!!!!!!!!!!!rrrrr`K&H(4PEQ4PC!4$D'&d!!!!!!T%DA!JEf*UC@0
X+ d!!!!!""'Eh*MC5"MD'9cG#"XEf0V!!!!!!4+G@e`!!!!!!K-Efpd)'*[H!!!!!!
X+ 69A0P)'e[ER0dCA)JB@*TE'PdH3!!!!!,6Q&YC5"[BQTPBh3!!!!!$dpQCQ9b)(0
X+ KBh*TCQPMC3!!!!!%8(*KH3!!!!!)8R9L)'aKEA!!!!!!#&0TG#"NEhGZ!!!!!!Y
X+ 8GA*Z)(9ZC'9KC!!!!!!09@jdFQ&`)'pLDQ9MG!!!!!!*9fP`C5"QB@0P!!!!!!!
X+ !!!'+!-J!JJ!!8Q9KE'aj)(&eDA3J2`!!!!4!!!-!!!$Frri!!!3m!!-!!!$drrm
X+ !!!!!!!-!!!$qrrm!!!!!!!-!!!%+rrm!!!!!!!-!!!&-rrm!!!3i!!-!!!(@rrd
X+ !!!!!!!-!!!*Drrd!!!!!!!-!!!+Hrri!!!-%!!-!!!6#rrm!!!3d!!-!!!6Drri
X+ !!!4!!!-!!!6brri!!!3`!!-!!!8'rri!!!-%!!-!!!@Drri!!!-%!!-!!!DJrrl
X+ rrrrm!!-!!!EXrri!!!3X!!-!!!G`rri!!!3X!!-!!!I3rri!!!3X!!-!!!Jdrri
X+ !!!3S!!-!!!K!rri!!!3S!!-!!!Kbrri!!&PPF`!!!!QHrri!!!3m!!!!!!0brri
X+ !!!FN!!!!!!0i6Qm!!!FB!!!!!!1'rri!!!FN!!!!!!13!2rq!!!('!!!!!!$Q[r
X+ q!!!(*!!!!!!$T2rq!!!($!!!!!!$V[rq!!!!$!!!!!!$Z[rq!!!(-!!!!!!$d[r
X+ q!!!(*!!!!!!$h!!"!!)!!!'+!2!!C!!!4'mJH@pe)(GKER3JG'mJD'&fC5"jEh9
X+ b)("[Ff9cFfP[ER-JD@4PER4TCQPPC#!r!!!CF!!!!!!!!#@i!!!!!!!!)i)!!!!
X+ !!!!V#J!!!!!!!!Zi!!!!!!!!!8`!!!!!!!!"8MXH!$BJY!Tq!#MdXPBL!di!+25
X+ b9L)I8J!Sp,*@)J!!!!!!!!!!)p!!!!!!!!!CC!!!!!!!!!*X!!!!!!!!!83!!!!
X+ !!!!KXJ!!!!!!!"pQ!!!!!!!!(QB!!!!!!!!HM!!!!!!!!#2S!!!!!!!!(CS!!!!
X+ !!!!2BJ!!!!!2(J&@!#MdXPBL"F`!+25b9L)('!!Sp,)!)LH`!#MdXPPPF`!!+25
X+ b9L)3"J!!!!!!!!rS!!!!!!!!"TJ!!!!!6Qm!qJ!!!!!!!!XU!!!!!!!!!*i!!!!
X+ !!!!!!!!!!!"4G@Pd!!!!!!!!)Ni!!!!!!!!@QJ!!!!!!!!Z'!!!!!!!!%$`!!!!
X+ !!!!HJ!!!!!!!!",X!!!!!!!!'Y)!!!!!!!%!!`!!!3!!!!!!I`!2i&+!1VKHJ&9
X+ 83)$rUPk"!0C5JR`U8S5S&Rq*m"S!%!#5!$rKBJ"9FN)!UUR#!Ip9`J-"VX)%I&6
X+ ##%3SJJJ!-!B2rq!+#4%J$!S!S#J-lQ!3#N5JS!Nj)%!+JU+!$%4K!!UUUJ!)!$`
X+ !$UVS!!S!X!!2rq!!!!!!!2q!$q$r`$rirm"rr2r!rrlr`Irrrm2rrrr(rrrrcrr
X+ rrprrrrrrrrm!Irrr!2rrr`(rrrm$rrrr"rrrr`rrrrmIrrrr(rrrrarrrrmIrrr
X+ q(rrrr"rrrrJIrrr`(rrri"rrrm!Irrq!(rrr!"rrrJ!Irr`!(rri!"rrm!!Irq!
X+ !!!!"!)!!!!&!!!!#)!!!""!!!!J)!!!)"!!!#!)!!(J#!!$)!J!"5!2rrNJ#!!*
X+ )!J!#5!)2mNJ##"*)!JJ55!))%NJ##"*)!JK55!))%NJ##"*)!JJ55!))%NJ$rrj
X+ )!J!"5!)!!-J#!!"i"!!!#!J!!!J3!!!))!!!"%!!!!+!!!!"rrrrrrrrrrrrrrr
X+ rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr`2rrrmlrrrr1r
X+ rrra2rrrplrrrrUrrrrc[rrrmlrrrr+rrrrb[rrrm$rrrrrrrrrrrrrrrrrrrrrr
X+ rrrrrrrrrrrrrrrrrrrrrrrrrrrm!!!%!!!!!!!!!!!!!!!!!!!&!!"rpArJ3!8!
X+ )&reIk"3"3#J!!!!S(!(!+#)!)#JL!D!S*J1J+#)#S#JL)L)S2J(!+!!!!#J8!!!
X+ S&!!!+"3!!#J8!!!S&###+"3!!#J8!!!S&!!!+"3!!#JArrrS%!!!#"rrrrJ!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!(rrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrr
X+ qIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrr
X+ qIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrq!!!!!!!!!3!!!!!
X+ !#!!!)"`!!(!)!!!J2J!!q(m!!I`8!!"32J!!q#IrrkJU!!$)-U48Q#DUP+JUkTM
X+ )-Uk8Q#DU8UJU!!$)-X6NQ#DU5UJUUNV)-Uj1Q#E+5UJU!!$)-rrrQ$i!!2J8!!"
X+ 3I`!"r$i!!2J)!!!J(!!!F!J!!#!!!!!!!!!!!!J!!#!F!!"`2J!!q$i!!2Kr!!(
X+ mri!$rRm!!IarrrrmIrrrr(rrrrarrrrmIrrrr(rrrrarrrrmIrrrr(rrrrarrrr
X+ mIrrrr(rrrrarrrrmIrrrr(rrrrarrrrmIrrrr(m!!IcrJ!2qI`!"r$i!!2Jq!!$
X+ i(!!!F!J!!#!!!!!!!!!!!Mm!!!!!#8pf!")3!&-!83!!!!KTF'4%,%![3`!!!!G
X+ KCA&bG(TD!!!!#RG38P4A+9XpA#J!!!!*Ef-%Fc`q&#j&!!!!"J!!!!!!!!!!!!j
X+ MC'CUE'eZEh"bFh4eG`!!!#3JZXh*ZmLmcXV,ZFbca&`[X1lZlrU`2$jH)Rel)ea
X+ I2$iM)`!!!!!q,Q`!!!"S!'S!!!"`Dfd!!!"TBQTZD'pXH3"VG3!!iq6QkZcYcZr
X+ bmr6epiffa-E#YIDrU+HJk,F!!'KXDQX!!!!2!!!!!J!!J!!'6@pZB@0[!!!!"d&
X+ 38%`!!!!!!!!(8d&@43!"!!!!!!GB8%a5!!)!!!!!"da&9N`!!`!!!!!(3Np143!
X+ %!!!!#BL3!!!!!!$q!!B!!2rh!!B!#`1l!!N!!J!!!$m!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$B!!!!!!!!&%%!!!!
X+ !!#P!!!!`!!!D!!!#'%!&DeL*3!@J+83JJ%!%P8"3&!&#&!!9!"3JMm$rm!(i!!!
X+ !Fi!J!!!!!!!J!!!1B!!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!F!"3L!)B"!%#J+)!"!))J!!!B!"")K0X!!!#+)!!&IL
X+ *3!@J+83JJ%!%P8"3&!&#&!!9!"3JMm$rm!d)!!!!*%"3![2!!!3J!`!*N!!!e6R
X+ X6#!!"FZF,l[ZF!!1Flc[Iqk2$'%BZmlc[aM'-ImD!J3!%"JK--!!!!!#!!!!!+Q
X+ Zq45K*!T3V9c[JHT4&%8k)*4m3N3PSZa!!NNJ"@YBL8!&S#P%))"!"*9!8"3"3K3
X+ !&3!8))r!rr!6!$i!0R4F3!Am)")D)!5!#5$ehpDbNUN!"MaLD%!aL##4M'-B`K'
X+ +$+'maM'-54M&83d0!33!%#!J%%!!!!!#!!!!!+V4q!!!'!!!!#-B!S!!!!"'*)+
X+ L3!!!-c)!!US!!"AiL8!&S#P%))"!"*9!8"3"3K3!&3!8))r!rr!M!")!#DaL)$h
X+ m2j%U*!bi18#9K9,8)A%!#QK#VhJaM9p"l'-)`K#+$5&DaM'-#4M%N45)!(qFph2
X+ p-ReRHICraM@-IUJ38jlh[FjcNQ-B1SjcSaM',ZILjmk0Uc*!!99J"@YBq8(p[qP
X+ m))"!"29rhrIrIjAi&IJ9q)r!rrGP"mMmL+rLlF[m)(c))(0m+Ik9MlP))Dr2LUL
X+ 0)-41L)!LVrd)qp2k$L%Cap(cL4M%LL5)!)aM'+4M0'ZBaMQ#4M9843339'-BaM'
X+ -8Rrr9p'-BaM'0B%m50'1CZb2rKPTN!!9ripq)D%2arrrrrqA%!!3!!"q"rmRrLI
X+ rrrriT3+&&)LXBaV,r,q4+$q)I%!1PB89Y5%K!"-T!r$%NAKI424M#-)4LSdK'-B
X+ 4L%NBe)4%5!#-B4qNBcaV'-B`FNBe*%LS%(IM'-BIrp*M'(k4M'-BaM5(j%M4M')
X+ "#!3KmNeV@2P,rEhi2%!#3!6eprphrhq"q8(p&IK2rr`)S`+*&)KdBah6r#!5'#"
X+ `Id!1P3"@XK)"!")U)LM%N3JJJ)4M'-)4LSbK'-B4M%N9E85%5!#FB4JNBc*V'-B
X+ `#Ne99&#S%53R1Fi3K"*M'&+4M'FiaM@*,NR4R'2r'!4!FNJ9q)P+*D8!!%!#3!5
X+ 8&!&8!8!!)8!P&#"2rr`)S`+6&)JN94"6r$q!##5!1)!!PB!k63`!%'(2h#FiMR8
X+ !"(4mlhi1Mh4r',S1LiML4L6q12a[R[HMic&V&hR`mE5+LrkS$L2DeVA[Hp*M(pl
X+ ZFjVAZFla*%E1E')!i!"`DC9V@)P+*D8!!%!#3!58&!&8!8!!)8!P&#"2rr`(E3+
X+ qjdKcYZ!pr#"rq5!!!)!!p3!3!!!!%#!!!!!!!!%!!!!!!!!!!!!!!!!"!!!!!!!
X+ !)!!!!!!!3#!!!%!J!!!!!%"`!R!!!!#!!!!!!!!!!!!!J!3!"N!!!!!!!!!!!!!
X+ 9q)P+*D8!!%!#3!58&!&8!8!!)8!P&#"2rr`!)!!!"!!!!!!Krq!!#5!!!!!!!!!
X+ !!!!!)!!!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$J-!!!%!J!!!!!i!
X+ !"!!!!!%!!!!!!!!!!!!(!!!!!B!!!!!!!!!!!!9V@)P+*D8!!%!#3!58&!&8!8!
X+ !)8!P&#"2rr`!!!!!"!!!!!"!!!!!#-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!%!"!!*!!i!%`!B!"S!(3!J!#8!+J!X!$%!-J!f!$X!23"#!%F!6!"4!&B!@`"
X+ J!'8!CJ"S!'X!F!"c!(J!I3##!)F!M!#4!*B!Q`#J!+8!U!#Y!,)!Y`#m!-%!aJ$
X+ ,!0!!e3$D!0m!j!$T!1i!m`$i!2d!r`%$!38"#!%1!4!"&3%D!4m"*!%T!5d"-J%
X+ h!6J"1`&!!8)"4`&-!9%"9J&E!@!"C3&T!@i"F`&i!Ad"JJ'(!BS"L`'1!C-"N`'
X+ B!Cd"SJ'R!D`"X3'f!EX"`!(&!FS"c3(3!G)"e`(F!H%"jJ(V!I!"p3(k!Im#"!)
X+ *!Ji#%`)B!Kd#)J)R!L`#-3)c!MJ#23*#!NF#5`*2!P3#@3*H!Q3#DJ*V!R!#G3*
X+ k!Rm#K!+&!SN#M3+5!TF#Q`+J!U-#U!+Y!V)#YJ+k!Vd#``,*!X`#dJ,B!YX#h`,
X+ M!ZF#l3,c![F#r3-$!`N$$`-9!aX$(`-L!b8$+3-[!c8$13-m!d)$5!0,!di$9!0
X+ D!em$C30U!fm$G30k!i!$K31+!im$P!1C!jm$T31V!l%$YJ1j!l`$[`2$!mJ$c32
X+ 4!pB$e`2F!q!$j!2R!qd!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!
X+ '!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'"JB#"J%'!!B!"J!'!!B#"J%
X+ '!JB!"J!'!3B!"J)'!3B!"J)'!!B!"J!'!!B!"J!'!!B!"J)'!3B""J!'!3B!"J!
X+ '!!B!"J!'!!B!"J!'!!B!"J%'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!
X+ '!!B!"J)'!3B#"J%'!!B""J!'!!B!"J!'!!B""J!'!!B#"J!'!!B""J!'!!B!"J!
X+ '!!B!"J!'!3B!"J!'!!B!"J!'!!B#"J)'!3B!"J!!!!B!"J!'!!B!"J!'!!B!"J!
X+ '!!B!"J%'!3B""J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!
X+ '!JB!"J!'!!B!"J%'!3B!"J!'!!B!"J!'!`B!"J!'!!B!"J!'!`B!"J!'!!B!"J!
X+ '!!B#"J!'!!B!"J!'!!B$"J!'!!B$"J!'!!B$"J)'!JB#"J!'!!B#"J!'!!B!"J!
X+ '!!B!"J)'!`B$"J)'!!B!"J!'!`B!"J!'!!B$"J!'!!B!"J!'!!B!"J!'!!B!"J!
X+ '!!B!"J!'!!B!"J!'!!B!"J!'!3B""J-'!!B!"J!'!3B!"J)'!!B!"J!'!3B!"[r
X+ r!!!,hT!!!!!!!2m!"`!!rrd!"`!2"18!$!!$!!!!3J!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$J!!!!
X+ !!!!!!!!!!!!'J!!!!!!!9DY@)P!"D!T4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rr
X+ i!!!!!!!!!!!!!!!!!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"84!!!!!!!T3!!!-!!!,!!!
X+ !))!!!&Aq)P!"D!T4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rri!!!!!!!!!!!!!m!
X+ !!#!!!!TJ!!!3!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!F(!!!!!!!!!
X+ !!!!!!!!!!!!!(!!!!!!'!!!!!%5!!!!!!!!!!!!3!!!!!!!!))!!9DY@)P!"D!T
X+ 4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rri!!!!!!!i!"J!p#!!!#!!!!f3!!$915a
X+ 5)!!#jFiAcIFi!!(!1mlhrZM`aK',[1mlmBaM(mJ5!)%!"!B)6!!!!!!!!!!!!#T
X+ VJ#)!L3%!J+Fli(X!JL!1L!dI%%L%f,h%!#++!!"9rL*3!@J+83J3!J!)LP!&!&!
X+ "338!!+3!#JJ3rJ2rq!li2J!!%FiJ!I`J!#!J!`!j)(hIeV*5U!!$(M%d%"M%##)
X+ J4M'-)4LJbKZ-BaM%NBaM%-J9!%%!"!J)6$!!!!!!J!!!!#Ud9%8S53+85eM'!+5
X+ 844&4L"#SN!#4#@M'*!!NNJ"9UeBL8!&S#P%)%!)!#)T3"3"3!8%&!!#N!!S)%2i
X+ $rrJ45#)!'j)a)!Am)!4-)!5!+8p%e9,5BA%!"43K9#!Ba"!3,dBaM#%)S0)9c'-
X+ B`*'-Ba$%')!"!!3)#!33!!!!!)!!!!!U"%!!!!B!!!!)aJ#J!!!!%BN4q*!!!!!
X+ -aL!!##!!!&Aq)P!"D!T4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rrlF8!3!#3k-4!
X+ &r$mLNL3%J#Rr4)8ae#&a!!8d*THm*dDRb&$(d)`K#+$L%DaM'-#4M&844"!!(qF
X+ ph2p-RhRHICh4M@-IUJ3Ljlh[FjcNQ-B1SjcSaM',N!")ZI1MDXBN!"C+@P@V9Mj
X+ 3IfrkA`J3!J!)qPrprprrIq8rJ+Ii#Rm3rJ2rr**(b2a%4M&i(IdJ)9)J5cJJ$d5
X+ 2Q)JKVm!*9%(iBNM'`!5@rM#2[6qJ`K'FI4miNBa)SN)3!#-BaLNBc4V'-BjLNBe
X+ 9%8N%)aM'-BaM&*M(eIaM'-BaMARr%M4MQEh%rqQDT3"9rq2IL'K$mIrrrrrrLm)
X+ !!%!!!"r!Ira(riMrrrrrr**#K54%4r'1kr`rqM!rX(`J$d5&&93K)3q*P)%3BNL
X+ m*mL@aM#-)4LJiK'-B4L%NBa84%)3!#-B4qNBcKV'-BaFNBe*%LS%)rM'-BIrp*r
X+ q&k4M'-BaM4")%M4M')!)J%%V3Y@V9Mj5rfpq$a!!)J!)qRlrqprrIq!rP!Ip#Rm
X+ )rrrm!h&#L54%4M'0Dr`J*"%J5(iJ$d3!&E+K!3!4&3%3BNL%%"!AaM#-)4LSdK'
X+ -B4L%NBeL5%%3!#-B4JNBc4V'-B`#NBe*&#S%)`M'-B3K"*M'&+4M'-BaM4**%M4
X+ M'2r`J%*r3S"9rL*5L@P!!"!!)J!)LJ+!#P!"3!!%&!"&#JJ)rrrm!"&#N54%4LU
X+ 1kr`r)2%NX(fJ$d5!9V%5!""4&K%8BNL+L##3!%BaM#%BU-S4M'%Ba*&@iNK"%!!
X+ R'-BT'-bDaM'-)T0994JU"'FCcR1-B45BaK@NBaR1-Be55j*dCaL!%3!%#U99UeB
X+ L8SPT3!!3!#)!#)S#J!T3!8!!""3!43S)#2rrr!!43U-Na$SUL#[m)!F3`!!iB!"
X+ %J$T1NJ!3B1IZ%ja(-S!!MdI1pq$SpdIaLk$SZ)iNBNr!N!"r'qFpb2M-@XAHI"a
X+ Y)U,rUJ1DjV@YFjlNQ-IZZjcQYHjc[%N4XjXBJ!i!$`TD!&Aq)P+*D8!!%!!L!!L
X+ +!S!+8!&!!!38!%8+#!Mrrr`!&N+qad)4fh!Grq$i%!!!!#!!I3!3!!`!%#!!!!!
X+ !!!#!!!!!!!!!!!!!!!!!3!!!!!!!F2!!!!!!!"!)!!!3#!!!!!!3(!%!!!!!)!!
X+ !!!!!!!!!!#!"!!%3!!!!!!!!!!!!9DY@)P+*D8!!%!!L!!L+!S!+8!&!!!38!%8
X+ +#!Mrrr`!%!!!"!!3!!!4q!!!%!!!!!!!!!!!!!!!)!!!!!!!!!%!!!!!!!!!!!!
X+ !!!!!)!!!!!!!!!!!!!!!!4!)!!!3#!!!!!%3!!%!!!!!)!!!!!!!!!!!!#!!!!(
X+ J!!!!!!!!!!!!!&Aq)P+*D8!!%!!L!!L+!S!+8!&!!!38!%8+#!Mrrr`!!!!!"!!
X+ i!!!3!!!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!1!`!!!!!!!!!!$J!!)!!!!!3!!!!!!!!!!!!F!!!!!!!!!!!!!!!!!!9DY
X+ @)P+*D8!!%!!L!!L+!S!+8!&!!!38!%8+#!Mrrr`!!!!!!!!!!!!!!!!!%!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!"!!*!!i!%`!C!"S!(3!J!#8!+J!X!$%
X+ !-J!h!$`!2J"$!%J!63"5!&F!A!"K!'B!C`"T!'d!FJ"f!(X!J3#'!)X!N!!!P3#
X+ D!*m!T!#T!+`!X3#f!,X!`!$&!-S!c`$8!0N!hJ$M!1J!l3$b!2F!r!%"!33"#3%
X+ -!4%"'!%D!4m"*!%T!5i"-`%h!6`"33&#!88"5J&-!9%"9J&E!@!"C3&U!@m"F`&
X+ i!Ad"JJ'(!B`"N3'8!C8"Q!'G!Cd"SJ'R!D`"X3'f!EX"`!(&!FS"c`(8!GF"fJ(
X+ F!H%"jJ(V!I!"p3(k!Im#"!)*!Ji#%`)B!Kd#)J)R!L`#-3)f!MX#23*#!NF#6!*
X+ 4!PB#@`*J!Q8#DJ*`!RB#G`*m!S%#L!+2!TB#P`+E!Tm#T!+T!Ud#XJ+e!VS#[`,
X+ %!XJ#c!,3!YF#hJ,L!ZN#m!,d![N#rJ-$!`S$%3-@!ad$*!-V!c)$130!!d8$530
X+ 0!e)$@30J!f3$D!0[!hB$HJ0q!i8$L`13!!19!jS$R`1P!kS$X31f!lX$`!2&!mS
X+ $c`29!pX$i!2P!qJ$k`2[!r-$q!2p"!%%"J3("!`%%!38""J%'!3I!!F!"`!(!!F
X+ !"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F
X+ !"`!(!!F!"`!(!`F#"`%(!3F""`!(!`F#"`)(!3F""`)(!3F$"`%(!3F#"`%(!3F
X+ ""`%(!3F""`%(!3F$"`)(!3F""`)(!3F!"`%(!3F""`%(!3F""`%(!3F#"`%(!3F
X+ ""`%(!3F""`%(!3F""`%(!3F""`%(!3F""`%(!3F#"`%(!JF""`!(!`F""`%(!3F
X+ ""`%(!JF""`%(!`F""`%(!JF""`%(!3F""`%(!3F""`%(!3F""`%(!3F""`%(!JF
X+ $"`)(!3F!!!%(!3F""`%(!3F""`%(!3F""`%(!3F#"`)(!JF""`%(!3F""`%(!3F
X+ ""`%(!3F""`%(!3F""`%(!3F""`%(!3F""`-(!3F""`%(!3F""`%(!3F""`%(!3F
X+ ""`-(!3F""`!(!!F!"`-(!!F!"`!(!!F!"`!(!JF!"`!(!!F!"`!(!`F!"`!(!`F
X+ !"`!(!`F#"`)(!JF!"`!(!JF!"`!(!!F!"`!(!!F#"`-(!`F#"`!(!!F!"`-(!!F
X+ !"`!(!`F!"`%(!3F""`%(!3F""`%(!!F""`%(!3F""`%(!3F""`%(!3F""`)(!JF
X+ $"`!(!3F""`%(!3F$"`%(!!F!"`%(!!%!"rrr!!!!!!!!!%*J!!#A!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!%!#3!!5iN
X+ !$!!!5i`!!!!9!$m!#J%(!@J!!3!!!!!!!!!!!)%!!!!!4!!!!3!$J!I!$q!Im!1
X+ !!i!$J!1!!i!$J!1!!i!!!!!!!3!$J!I!$q!Im$ri2rJ(`!I!"m!(`!I!"m!(`!I
X+ !!!!!!3!(!!!!4!!!I`"q!(`!IJ"r!'q!4m!$i!(`!2!!B!!!!!!!!!!!ri$rJ2m
X+ !rJ$r!2q!rm$[i-I`!rJ"q!$`!'!!!!!!!!!!!3!"!!!!4!!!!2i!IJ!q!(i!rJ(
X+ f!q)(`!q!$`!'!!!!!!!!!!!!!Im"r`$r!(m!r`(r!rm(p`rM(m!IJ!m!"J!!!!!
X+ !!!!!!3!1!!!!4!!!!!!!!!!J!$!!1$rm2rirr!!i!$!!)!!!!!!!!!!!!!!!!!"
X+ J!(!!H(rmIrjrrhrqIr`!H!"`!'!!!!!!!!!!"`!1!!!!4!!!!!!!!!!!"J!2!!q
X+ !"m!$iJ(f!2i!IJ!q!(i!rJ!!!!!!!!!!"J!2!"q!(m!2i`Ih!rm"r`$r!(m!r`(
X+ r!Im!$J!1!!!!4!!!!!!$J!1!!i!$J!1!!i!$J!1!(r!2i!I!!i!"!!!!!!!(`!I
X+ !"m!(`!I!"m!(`!I!2rJrq"r`$q!(`!1!!3!!$J!(!!!!4!!!!!!!!!!!!'!!m!(
X+ `!q"(`'q!I`"q!(`!IJ"r!!!!!!!!!!!!!'!!m!(i!rM(m1rJrm$rJ2m!rJ$r!2q
X+ !ri!!$J!"!!!!4!!!!!!!!!3!$!!F!$riIrJrq"`!$!!%!!!!!!!!!!!!!!!!!!B
X+ !$J!H!$rmIrcrr(rm2r`H!!i!"J!!!!!!!!!!"`!"!!!!"d&9@%`!"3!!!!%!!!!
X+ !!(JIm$c)j!iQV`)"kS3%%-,S$!NZ%")''"'"'"!Q33!))!!!@#$J$LJKm"m))rJ
X+ rL$2i2jJam4mB%111%"#$J"!)48%J")eQ3!)*))!(M@2!$FI(B"MJ$M"af$FF3hI
X+ GK&CG904N9qa-2&98H!![k!!!%"!!!!rJ!!!!!!"m(r"qr2rqIrrrrrrrrrrrrrr
X+ rrrrrrrrrrrrr2rrrq(rrrrarrrrmIrrrr(rrrrarrrrmIrrrr(rrrr`rrrri2rr
X+ rq"rrrr!Irrr`$rrri!rrrr!Irrri2rrrr2rrrrlrrrrqrrrrr[lrr[jqrrlq2(r
X+ mH!!rq!!!(r!!!!rJ!!!!!3!3!!!!F!%!3,!(!2!`1`pJFFB83"S'-1!CANiJH3b
X+ I)*S-T*!!$VfN8!iC4Q!m'F)!4hP!)!Ba`*!!$l-K4*2bS4"Kh4#SNZV34&Ke1+L
X+ Q+SL#e9*i+$UR#%#Rb2!!e*!!%J!kNH3F$dRfF!$m[,B!!TN@!!*)'!!"3"!!!A!
X+ m!!2SC(J"J%$i"i$`q$q2q2RrRr$rrcrJrrprm2rrrr$rrrr`rrrrq2rrrrMrrqr
X+ `rrrRm2rrir$rrq(mrrrcr[rrmrcrrrRmrrrir[rrrIlrrrhrrrrmr[rrr1Mrrrp
X+ !rrrr([rrrrirrrrq$rrrr`$rrrm!"rqq!!2m2!!(r(i!"rcq!!!!P`"Q!!!!!!!
X+ !!!$rrrkr"%CTE'8-8f9d)'p`G'P[ER2*!!!!!!j@CA*cD@pZ)'jeE@*PFJ!!!!!
X+ 05@jfCA*d)&0MFQ9PEJ!!!!!08Q9NFQ&h)(0MFQ9PEJ!!!!!68Q9`C@&d)'aKFh3
X+ JE@9cFf&RC3!!!!!",3!!!!!*8f&fC5"RB@eP!!!!!!%Y!!!!!!44G@Pd!!!!!!!
X+ !!!%!J)!!!0'!!!#UJ!!!e)!!!+5!!!$BJ!!!URrrr0P!!!DS!!!'dNbG4U%!!!E
X+ 859f'T!!!"Y*0bfDK!!!'e%!!"U30[qE43$$QT!-[CY*!,@DJ#M0Qm8!mjPJ0-kB
X+ N3$rQ'J!!"JY!!!B%P99@!fUUUJ)Irri"i!!!!!!!!!!!!!#!J!!!mB!!!2Z!!!$
X+ rJ!!!ri!!!2q!!!$rrrrmrrrrr[rrrrlrrrrqrrrrr[rrrrlrrrrqrrrrr[rrrrl
X+ rrrrqrrrrr[rrrrlrrrrqrrrrr[rrrrlrrrrqIrrrrMrrrriIrrrq$rrrrJIrrri
X+ $rrrq!rrrrJ(J!!!!!!!!!!!!!!!!!%aZD$-`!!!!!8P$6L-!"J!!!)!!!3#"!!)
X+ !JJ!$!)-!"!#%!!8!K3!'!)C'8N9'!!B!!!#!!!%!J3!#!))!!`#$!!3!K!!&!)8
X+ !"J#'!!!!"e4&@&3!"J!!!!!F!"`!'J&@!IJ!!3!!!!!!!!!"!))(6h"dD@pZF`!
X+ !!"`!)J!N!6B"C!!"!2m!!!!!!!!!J`GKFfYZB@eP!!!$ZJ!M!!!!!!%G!@!"-3'
X+ `"!P8C@e`Eh*KFRRq!!!!!!%G!#%"-3"a"!46BACP!!!!!!%G!-J"-3%B"!C$B@j
X+ MC@`!!!!!!'-!%3"c!)%&$%9iF'a[FQ8JE@pNC3!!!!!!B`##!(-!bJ8'4Q9YB@a
X+ P!!!!!!"M!-`!F`(-"5&%DA0`E'&j)%jPGh-JBA3J3Q9RD@jZD@jR)'pQ)%GKE@8
X+ -!!!!!!#-!!J!R!#)"3p'DAKPC#"*ERCPER4[FRP!!!!!!!#F!!J!V!#J"4&%DA0
X+ `E'&j)(4[E@*cG'pZC3J!!!!!!+`!#!#m!)J&#90SEhFJG'PYCAN!!!!!!,`!#!$
X+ -!*J&%&CPFQ*[Ff8JE@9cFf&RCA-!!!!!!-`!#!$F!*J&%90TE'9ZG#!SEQmJBQ9
X+ PF(-T%!!!!!!!h!!)!1`!Z!896A9XG'PQD@jNCA)J3A9dEbekEfpY9J!!!!!!l!!
X+ )!2`!J!8-5@jfCA*cC5"8CAKd!!!!!!#-!,J!R!%-"3P6Eh*d)&"KBfZB!!!!!!#
X+ F!,J!V!$i"39$Efa[FJJ!!!!!!+`!Z!#m!B`&(&"TBfYeF#"[BQTPBh4c)'&eG'p
X+ YBA4TBf&XE(N!!!!!!,`!Z!$-!6!&$d0[EQCTFQdJB@0dD@pZFdJ!!!!!!-`!Z!$
X+ F!4%&#90KCQ8JF'9dFjJ!!!!!!0`!Z!$X!6%&$9*PFh3JEfiJFh"KBf9d!!!!!!!
X+ C!*J!+3'F%!4-DA0K!!!!!!!b!*J!3J'F%!9'FQPdHT`!!!!!!%X!Q!"E!C`3"9*
X+ [GQ9bc!!!!!!""!#J!43"T"!%8'9KFJ!!!!!!M!&T!*`"`4!+)LPE*6mV)5mS+J!
X+ !!!!!l!#i!2`"&SJ28f0[FQ8JE'PcG$SJG'p`$`!!!!!!l!%D!2`",K!"-aB!!!!
X+ !!1`"9J$m!@S3!6)@!!!!!!!&!+S!&3%dL"01CA4)B@0V)$-Z-#"2F(4TEfjc!!!
X+ !!!!!'3![!#N!M)J-8'aKH@9b)%jKE@8k!!!!!!!a!#m!33"rL!P$BA3J6Q&YC6V
X+ X!!!!!!"+!#m!@J#(L!P%EfFJ6Q&YC6ST!!!!!!"h!!S!L3%BL#C8D'9cC5"[F(4
X+ TEfjc)(4KDf8JC@CQC@0d)'PYE@9ND@&dC@aj1J!!!!!!l!%b!2`"8SJ$B@jNF!!
X+ !!!!!M!%)!*`"C)J0)#dJF'&MDfpbC'9b1QN!!!!!!33!4!%8!*H)#dCbG@Pd)%j
X+ KE@8k5`!!!!!!l!&[!2`"[iJ+BA*[G@jN)'eP,J!!!Mi!&J!!!!!!k!$L!2`"(J3
X+ #6dX!!!!!!!8!#!!C!'X)$&GSEb"KFQ8JH@pe2`!!!!!!(3!+!#d"1"!+4'&bE@&
X+ bB@jdD!!!!!!!0J!)!%B!i!JI9fKKG#"VD@jN)'pQ)'0SBA*KBh4PFL"KFQ8JH@p
X+ e2f8!!!!!!%J!#!"B!(-'$%&bBfKPEfa[CfPcG!!!!!!!A!!)!'`!F`B*3Q&bBQ&
X+ bD@&Z!!!!!!!!G!!)!)3!F`B)3f&fC5eYB@i!!!!!!)`!#!#F!(-'!d9XCS-!!!!
X+ !!%J!H!"B!-X'"NKPB@aPFJ!!!!!!A!"i!'`!bJB'5fjTCfKd!!!!!!"d!(J!K!$
X+ 0"JC3FQPPFh3!!!!!!)`!H!#F!-d'"9*[Ch9P!!!!!!!!5!$B!&J",3B(8f&YGA*
X+ KDA%!!!!!!&`!f!"`!5d'"e4[GA*TFh3!!!!!!!"d!0J!K!%Y"JK@B@aVHA*TC3!
X+ !!!!!M!$B!*`",3B'9fPkBA*N!!!!!!#N!!J!Y!$!"K4-CA3JG'KP)'GKE@8JBfK
X+ [Eh0P)!!!!!!!c!#3!!$F!8J&%d4PBR9R)#KA59T"8N3T)%e[C'@#!!!!!!$-!!J
X+ !h!"i"3a&H("XEh*P)'e[C'8!!!!!!+3!f!#d!5!&"NCPE@&XC3!!!!!!hJ!)!1i
X+ !d!8B4'PcF'aKH5"ZCAGc)'*PCQpbC5"RB@eP!!!!!!$`!!J"!!#3!!835R9cG#"
X+ cD'ph)(0MEh*PF`!!!!!![!!)!-d!8`J)6h"dD@pZFcS!!!!9!!!!!!%%!AF!!3!
X+ !!!!!!!!!m'!!!!!!l!!+!!!!!!#r!4i!d3&Z"!42F'9Z!!!!!!!!!MX!8!*0"!C
X+ )D@4NC@i!!!!!!0S"(`$X!@m%"N0KEQ0PE!!!!!!!*`%D!$S"Fi!!!!!!!!"%!5!
X+ !9J&`"!9&DQ9MG&m!!!!!!&d")!"[!A!%"84bDACPi!!!!!!!3`!-!28"&`!!!!!
X+ !!!!$!'d!&3#G!!!!!!!!!*B"'`#A!A1!!!!!!!!!!!)8!'8#G)J!!!!!!!!#!$!
X+ !*J&'#$03E'9KFf8JE'pMBA4PAM!JCQPXC9ia)&ib$@pb)("bCA0c)%0KEQ0PE#"
X+ dEb"KBQpbG#lA!!!"D!!(!!!!!!#E!$`!V`"i"!*25`!!!!!!Q`#i!+m"%J3*6@p
X+ bC5"*EQC[ZJ!!!!!!#J!F!"S"0N!#!'3!!!!!!%N!E3"E!1%)'&0PC5"XD@0PER0
X+ P)'C[FL"NCA4KD@ac,J!!!!!!)`!h!$-")3JY3fp`HA*TCfKd)$%j1$8X)$%j1$B
X+ X)$%j1$FX)$%j1$JX)$%j1$NX)$%j16!Z1J!!!!!!-`!P!%8"3`Jf3RNJ8h4TBfK
X+ dD@jR)%eKG'KPE@&dDA0MD#"$C@jdFR9Y)'&ZC#"0D@YP)&0dCA"SC@jcEfiZ!!!
X+ !!!"G!$)!E`%P#$0#G@FJFQ9`Eh*dFb!Y)'9YB@PX)'jPG'KKBfXYBR9RFd"XD@j
X+ M,Q0TFbjeF'9ZELjPC(8Z!!!!!!"d!#-!K!%fL$K#FQpeCfKd)(4[)(P[G5"LH5"
X+ +EfKZERNX)%T[EL`J3@jNH5`J5f9fD@iX)%eTDf8JB@jN)&4[E3!!!&X!@`#8!,i
X+ !Z3%I%3'J&0kK&0i!+!!$k(`!!qJJ!*3![J#j!4m!"3!"!!!!!`!B!"J`'!!-!!!
X+ !!!"e)&m"!!S!P!#q!,N"(`F!"3!&#`!B!"K!!*3![J#j!4rr!!!"!!!!00)!!$2
X+ 5!!!%p!!`ca!)&J!!!"`$2J!-8%P$9!!"!'TZD$-`!!!!JNe&6P8!"J#168&XG!!
X+ "!1**3diM!!B!qNK%9%%!#J&14P*&4J!'!G*'6dj8!!)#*NC26N3!!!*+4%a24`!
X+ $!PC%594-!!-#KN098P-!"`+f3Nj%6!!!!aB!C2rr!!!!!!!!!!!6M[rr!!!cF`!
X+ aG&J!!2rr!!!#8!!!!!!!CJ!!!!!Sa!!!!!!!C`!&!!!#H`!!!!!!D!!+!!!#b`!
X+ !!!!!D3!8!!!$H3!!!!!!DJ!E!!!%%!!!!!!!D`!J!!!%e3!!!!!!E!!P!!!&F3!
X+ !!!!!J!!h!!!'A`!!!!!!J3!m!!!(l3!!!!!!J3"#)!!*H`!!!!!!JJ"0)!!+I`!
X+ !!!!!J`"D)!!,J`!!!!!!K3&l)!!-K`!!!!!!K!&M)!!Q[!!!!!!!J!&[)!!R`!!
X+ !!!!!KJ'+!!!TA`!!!!!!b3"Q!!!0L`!!!!!!bJ"a!!!0N3!!!!!!c!"l!!!0RJ!
X+ !!!!!c3#+!!!0UJ!!!!!!cJ#A!!!0Y3!!!!!!c`#T!!!0``!!!!!!b`#h!!!0d!!
X+ !!!!!d!$"!!!0fJ!!!!!!CJ$6!!!0l!!!!!!!C`$F!!!1&!!!!!!!C2rr!!!19J!
X+ !!!!!J!$M!!!1D3!!!!!!J3$[!!!1G!!!!!!!JJ$q!!!1I`!!!!!!J`%,!!!1LJ!
X+ !!!!!K!%E!!!1P3!!!!!!K3&8!!!QX3!!!!!!KJ'8!!!UX`!!!!",LIrr)!!1S!!
X+ !!!",M2rr!!!B,!!!!!",!!%Q!!!N$J!!!!!!P`%Y"!!N%J!!!!!!J3%f!!!N@!!
X+ !!!!!JJ'H!!!U[J!!!!!!J`'Z!!!UhJ!aG&$`B2rr!!!`rJ!!!!!!JIrr!!!b"`!
X+ !!!!!J[rr!!!UrJ!!!!!!J`'Q!!!Z[!!!!!$`B2rr!!!a&`!!!!!!C2rr!!!NF3!
X+ !!!!!Drrr!!!NZ3!!!!!!CIrr!!!P!3!!!!!!C[rr!!!P53!!!!!!Crrr!!!PN3!
X+ !!!!!D2rr!!!Pf3!!!!!!DIrr!!!Q)3!!!!!!D[rr!!!QD3!!!!!!J!&%!!!UB`!
X+ !!!!%4QPXC34&C'Pd#8PZGQ9ZG'pbH3C"Bh4TEfi%8(*PF!40EhCP%89iG'9ZC'9
X+ N)%0[E@eKEQ4c"&P1+#N&@8j4+#N+8f&fC@3J4f&YC3a&H("XEh*P)%GKE@8,8f&
X+ fC@3J6'9fC@`+3A"`E'8JE@9ZG3P'D@aP)'ePER815@jfC@jdEh*j)'ePER8-3@0
X+ dD@pZFb"YC@je%9"bCA"KFQ&dD@pZFb"YC@je$8e[GQ9YC@jd)'ePER8*4@4TG#"
X+ YC@je%89iG'9ZC'9N)%0[E@eKEQ4c#'GbBA"SD@0c"QYPH@eKF!Y"F("XD@0KG'P
X+ [EJj6BACP)%0SBA)J4QPXC3a&H("XEh*P)'CTE'826'9fC@`J9'9YF#"'D@aP#N*
X+ [EQ9c)%CTE'8'HR3YD@*Y#%KKBfY'Efjd$8&LEh9d)%jPG%KKBfX26Q9d5'&MDb"
X+ QEh)J6@&M$N&eH'PXD@&bH5"'D@aP#d*[EQ9c)%aPGQ9X#d&`F'aTBf&dD@pZ$N&
X+ eH'PXD@&bH5"'D@aP#94&@&3JCQPXC3P849K8)'CTE'8(6h"dD@pZF`GKFfYZB@e
X+ P"f&cDfjKE@9&6!:
X*** /dev/null	Tue Feb 20 01:29:52 1990
X--- auxil/MacHelp	Tue Feb  6 16:33:54 1990
X***************
X*** 0
X
X--- 1,35 -----
X+ y k u   7 8 9         UP 
X+  \|/     \|/          |
X+ h-.-l   4-.-6   LEFT<- ->RIGHT
X+  /|\     /|\          |
X+ b j n   1 2 3        DOWN
X+       numberpad  cursor keys
X+ Move commands:
X+ yuhjklbn: go one step in specified direction
X+ YUHJKLBN: go in specified direction until you
X+           hit a wall or run into something
X+ g<dir>:   run in direction <dir> until something
X+           interesting is seen
X+ G<dir>,
X+ [SHIFT]<dir>: same, except a branching corridor isn't considered
X+               interesting
X+ m<dir>:   move without picking up objects
X+ 
X+ If the window title shows "[MOVE]", the number keys move your character,
X+ otherwise they act as a numeric keypad.
X+ The 'g', 'G', '[SHIFT]' and 'm' modifiers may also be used with the
X+ numberpad and the cursor keys.
X+ The mouse cursor shows which direction you will try to move if you
X+ press the mouse button when the mouse is in the Nethack window.  You may
X+ use the 'g', 'G', '[SHIFT]' and 'm' modifiers with the mouse button too.
X+ The '5' key on the numberpad invokes the "open door" command.
X+ The '0' key on the numberpad invokes the "do inventory" command.
X+ 
X+ For pre-ADB keyboards (Mac+ keyboards and earlier), use the Command key
X+ for the Control key and the "`" (backquote) key for the escape key.
X+ 
X+ Press the clear key (on the numberpad) to switch between movement mode
X+ and numeric keypad mode.
X+ 
X+ The option key is the meta-key. For option-n, press option-shift-n and
X+ for option-u, press option-shift-u.
X*** Old/Files	Sun Nov 19 20:58:09 1989
X--- ./Files	Mon Feb 19 14:07:54 1990
X***************
X*** 5,12
X  
X  
X  (files in top directory)
X! Files           Install.dos     Install.unix    Makefile.top    Porting
X! README
X  
X  
X  amiga:
X
X--- 5,12 -----
X  
X  
X  (files in top directory)
X! Files           Install.ami     Install.dos     Install.mac    Install.unix
X! Install.vms     Makefile.top    Porting         README
X  
X  amiga:
X  (files for Amiga version)
X***************
X*** 8,14
X  Files           Install.dos     Install.unix    Makefile.top    Porting
X  README
X  
X- 
X  amiga:
X  (files for Amiga version)
X  Install.ami     Makefile.ami    NetHack.cnf     ami.lnk         amidos.c
X
X--- 8,13 -----
X  Files           Install.ami     Install.dos     Install.mac    Install.unix
X  Install.vms     Makefile.top    Porting         README
X  
X  amiga:
X  (files for Amiga version)
X  Makefile.ami    NHScore.uu      NHinfo.uu       NetHack.cnf     NewGame.uu
X***************
X*** 11,19
X  
X  amiga:
X  (files for Amiga version)
X! Install.ami     Makefile.ami    NetHack.cnf     ami.lnk         amidos.c
X! amifont.uu      amifont8.uu     amimenu.c       amitcap.c       amitty.c
X! amiunix.c       amiwind.c       fcntl.h         signal.h        stdio.h
X  
X  
X  auxil:
X
X--- 10,19 -----
X  
X  amiga:
X  (files for Amiga version)
X! Makefile.ami    NHScore.uu      NHinfo.uu       NetHack.cnf     NewGame.uu
X! ami.lnk         amidos.c        amifont.uu      amifont8.uu     amimenu.c
X! amitcap.c       amitty.c        amiunix.c       amiwbench.c     amiwind.c
X! compact.lat     dflticon.uu
X  
X  auxil:
X  (files for all versions)
X***************
X*** 15,21
X  amifont.uu      amifont8.uu     amimenu.c       amitcap.c       amitty.c
X  amiunix.c       amiwind.c       fcntl.h         signal.h        stdio.h
X  
X- 
X  auxil:
X  (files for all versions)
X  Guidebook.mn    castle.des      cmdhelp         data.base       endgame.des
X
X--- 15,20 -----
X  amitcap.c       amitty.c        amiunix.c       amiwbench.c     amiwind.c
X  compact.lat     dflticon.uu
X  
X  auxil:
X  (files for all versions)
X  Guidebook.mn    castle.des      cmdhelp         data.base       endgame.des
X***************
X*** 23,28
X  oracles         rumors.fal      rumors.tru      tower.des
X  (files for UNIX versions)
X  Makefile.auxil  lev_comp.6      nethack.6       nethack.sh
X  
X  
X  others:
X
X--- 22,29 -----
X  oracles         rumors.fal      rumors.tru      tower.des
X  (files for UNIX versions)
X  Makefile.auxil  lev_comp.6      nethack.6       nethack.sh
X+ (file for Macintosh version)
X+ MacHelp
X  
X  include:
X  (files for all versions)
X***************
X*** 24,29
X  (files for UNIX versions)
X  Makefile.auxil  lev_comp.6      nethack.6       nethack.sh
X  
X  
X  others:
X  (files for MSDOS version)
X
X--- 25,44 -----
X  (file for Macintosh version)
X  MacHelp
X  
X+ include:
X+ (files for all versions)
X+ MacAlert.h      amiconf.h       artifact.h      attrib.h        color.h
X+ config.h        coord.h         decl.h          def_os2.h       edog.h
X+ epri.h          eshk.h          extern.h        flag.h          func_tab.h
X+ global.h        gold.h          hack.h          lev.h           macconf.h
X+ mfndpos.h       mkroom.h        monattk.h       mondata.h       monflag.h
X+ monst.h         monsym.h        msdos.h         obj.h           objclass.h
X+ patchlevel.h    pcconf.h        permonst.h      prop.h          rm.h
X+ sp_lev.h        spell.h         system.h        termcap.h       tosconf.h
X+ tradstdc.h      trampoli.h      trap.h          unixconf.h      vault.h
X+ vmsconf.h       wseg.h          you.h           youprop.h
X+ (file for special level compiler (STRONGHOLD option))
X+ lev_comp.h
X  
X  mac:
X  (files for Macintosh version)
X***************
X*** 25,30
X  Makefile.auxil  lev_comp.6      nethack.6       nethack.sh
X  
X  
X  others:
X  (files for MSDOS version)
X  Make.ini        Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
X
X--- 40,50 -----
X  (file for special level compiler (STRONGHOLD option))
X  lev_comp.h
X  
X+ mac:
X+ (files for Macintosh version)
X+ MD.rsrc.hqx     MacAlert.c      NH3.proj.hqx    NH3.rsrc.hqx    Segments.mac
X+ mac.c           macfile.c       macinit.c
X+ 
X  others:
X  (files for MSDOS version)
X  Makefile.lib    Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
X***************
X*** 27,35
X  
X  others:
X  (files for MSDOS version)
X! Make.ini        Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
X! Makefile.tcc    Maketcc.ini     NetHack.cnf     ovlmgr.asm      ovlmgr.doc
X! ovlmgr.uu       termcap         termcap.uu      trampoli.c
X  (files for MSDOS, Amiga, and Atari versions)
X  pcmain.c        pctty.c         pcunix.c
X  (file for MSDOS and new Atari versions)
X
X--- 47,55 -----
X  
X  others:
X  (files for MSDOS version)
X! Makefile.lib    Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
X! Makefile.tcc    NetHack.cnf     ovlmgr.asm      ovlmgr.doc      ovlmgr.uu
X! termcap         termcap.uu      trampoli.c
X  (files for MSDOS, Amiga, and Atari versions)
X  lev_lex.c       pcmain.c        pctty.c         pcunix.c
X  (file for MSDOS and Atari versions)
X***************
X*** 31,38
X  Makefile.tcc    Maketcc.ini     NetHack.cnf     ovlmgr.asm      ovlmgr.doc
X  ovlmgr.uu       termcap         termcap.uu      trampoli.c
X  (files for MSDOS, Amiga, and Atari versions)
X! pcmain.c        pctty.c         pcunix.c
X! (file for MSDOS and new Atari versions)
X  msdos.c
X  (files for new Atari version)
X  Makefile.st     atari.cnf       atarifnt.uue
X
X--- 51,58 -----
X  Makefile.tcc    NetHack.cnf     ovlmgr.asm      ovlmgr.doc      ovlmgr.uu
X  termcap         termcap.uu      trampoli.c
X  (files for MSDOS, Amiga, and Atari versions)
X! lev_lex.c       pcmain.c        pctty.c         pcunix.c
X! (file for MSDOS and Atari versions)
X  msdos.c
X  (files for  Atari version)
X  Makefile.st     atari.cnf       atarifnt.uue
X***************
X*** 34,40
X  pcmain.c        pctty.c         pcunix.c
X  (file for MSDOS and new Atari versions)
X  msdos.c
X! (files for new Atari version)
X  Makefile.st     atari.cnf       atarifnt.uue
X  (file for old Atari version)
X  oldtos.c
X
X--- 54,60 -----
X  lev_lex.c       pcmain.c        pctty.c         pcunix.c
X  (file for MSDOS and Atari versions)
X  msdos.c
X! (files for  Atari version)
X  Makefile.st     atari.cnf       atarifnt.uue
X  (Berkeley random number file, which may be included in any version)
X  random.c
X***************
X*** 36,43
X  msdos.c
X  (files for new Atari version)
X  Makefile.st     atari.cnf       atarifnt.uue
X- (file for old Atari version)
X- oldtos.c
X  (Berkeley random number file, which may be included in any version)
X  random.c
X  
X
X--- 56,61 -----
X  msdos.c
X  (files for  Atari version)
X  Makefile.st     atari.cnf       atarifnt.uue
X  (Berkeley random number file, which may be included in any version)
X  random.c
X  
X***************
X*** 41,62
X  (Berkeley random number file, which may be included in any version)
X  random.c
X  
X- 
X- include:
X- (files for all versions)
X- amiconf.h       artifact.h      attrib.h        color.h         config.h
X- coord.h         decl.h          def_os2.h       edog.h          epri.h
X- eshk.h          extern.h        flag.h          func_tab.h      global.h
X- gold.h          hack.h          lev.h           macconf.h       mfndpos.h
X- mkroom.h        monattk.h       mondata.h       monflag.h       monst.h
X- monsym.h        msdos.h         obj.h           objclass.h      patchlevel.h
X- pcconf.h        permonst.h      prop.h          rm.h            sp_lev.h
X- spell.h         system.h        termcap.h       tosconf.h       tradstdc.h
X- trampoli.h      trap.h          trapname.h      unixconf.h      vault.h
X- vmsconf.h       wseg.h          you.h           youprop.h
X- (file for special level compiler (STRONGHOLD option))
X- lev_comp.h
X- 
X  src:
X  (files for all versions)
X  allmain.c       alloc.c         apply.c         artifact.c      attrib.c
X
X--- 59,64 -----
X  (Berkeley random number file, which may be included in any version)
X  random.c
X  
X  src:
X  (files for all versions)
X  allmain.c       alloc.c         apply.c         artifact.c      attrib.c
X***************
X*** 84,90
X  
X  vms:
X  (files for VMS version)
X! Install.vms     spec_lev.com    vmsbuild.com    vmsmain.c       vmsmisc.c
X  vmstty.c        vmsunix.c
X  (GNU termcap files that support VMS version)
X  vmstermcap.c    vmstparam.c
X
X--- 86,92 -----
X  
X  vms:
X  (files for VMS version)
X! Install.com     spec_lev.com    vmsbuild.com    vmsmain.c       vmsmisc.c
X  vmstty.c        vmsunix.c
X  (GNU termcap files that support VMS version)
X  vmstermcap.c    vmstparam.c
X***************
X*** 88,95
X  vmstty.c        vmsunix.c
X  (GNU termcap files that support VMS version)
X  vmstermcap.c    vmstparam.c
X- 
X- mac:
X- (files for Macintosh version)
X- Install.mac     Makedefs.rma    Nethack.rma     Segments.mac    hackfont.hqx
X- mac.c           macfile.c       macinit.c       makedefs.r      nethack.r
X
X--- 90,92 -----
X  vmstty.c        vmsunix.c
X  (GNU termcap files that support VMS version)
X  vmstermcap.c    vmstparam.c
X*** Old/mac/Segments.mac	Sun Nov 19 21:01:33 1989
X--- mac/Segments.mac	Mon Jan 29 23:49:38 1990
X***************
X*** 20,26
X  cmd.c
X  getline.c
X  mac.c
X- macfile.c
X  MacTraps
X  pcmain.c
X  prisym.c
X
X--- 20,25 -----
X  cmd.c
X  getline.c
X  mac.c
X  MacTraps
X  pcunix.c
X  random.c
X***************
X*** 22,29
X  mac.c
X  macfile.c
X  MacTraps
X! pcmain.c
X! prisym.c
X  random.c
X  rnd.c
X  termcap.c
X
X--- 21,27 -----
X  getline.c
X  mac.c
X  MacTraps
X! pcunix.c
X  random.c
X  rnd.c
X  termcap.c
X***************
X*** 27,32
X  random.c
X  rnd.c
X  termcap.c
X  
X  ===== Seg 2 =====
X  apply.c
X
X--- 25,31 -----
X  random.c
X  rnd.c
X  termcap.c
X+ topl.c
X  
X  ===== Seg 2 =====
X  mkobj.c
X***************
X*** 29,37
X  termcap.c
X  
X  ===== Seg 2 =====
X! apply.c
X! attrib.c
X! do.c
X  
X  ===== Seg 3 =====
X  dog.c
X
X--- 28,40 -----
X  topl.c
X  
X  ===== Seg 2 =====
X! mkobj.c
X! mkroom.c
X! mon.c
X! mondata.c
X! monmove.c
X! track.c
X! were.c
X  
X  ===== Seg 3 =====
X  engrave.c
X***************
X*** 34,44
X  do.c
X  
X  ===== Seg 3 =====
X! dog.c
X! dogmove.c
X! dokick.c
X! dothrow.c
X! do_name.c
X  hack.c
X  
X  ===== Seg 4 =====
X
X--- 37,43 -----
X  were.c
X  
X  ===== Seg 3 =====
X! engrave.c
X  hack.c
X  invent.c
X  mthrowu.c
X***************
X*** 40,45
X  dothrow.c
X  do_name.c
X  hack.c
X  
X  ===== Seg 4 =====
X  do_wear.c
X
X--- 39,46 -----
X  ===== Seg 3 =====
X  engrave.c
X  hack.c
X+ invent.c
X+ mthrowu.c
X  
X  ===== Seg 4 =====
X  dbridge.c
X***************
X*** 42,49
X  hack.c
X  
X  ===== Seg 4 =====
X! do_wear.c
X! eat.c
X  shk.c
X  shknam.c
X  
X
X--- 43,55 -----
X  mthrowu.c
X  
X  ===== Seg 4 =====
X! dbridge.c
X! dog.c
X! dogmove.c
X! pri.c
X! priest.c
X! 
X! ===== Seg 5 =====
X  shk.c
X  shknam.c
X  trap.c
X***************
X*** 46,51
X  eat.c
X  shk.c
X  shknam.c
X  
X  ===== Seg 5 =====
X  engrave.c
X
X--- 52,58 -----
X  ===== Seg 5 =====
X  shk.c
X  shknam.c
X+ trap.c
X  
X  ===== Seg 6 =====
X  stdio [LIB]
X***************
X*** 47,60
X  shk.c
X  shknam.c
X  
X- ===== Seg 5 =====
X- engrave.c
X- exper.c
X- extralev.c
X- fountain.c
X- invent.c
X- vault.c
X- 
X  ===== Seg 6 =====
X  lock.c
X  makemon.c
X
X--- 54,59 -----
X  shknam.c
X  trap.c
X  
X  ===== Seg 6 =====
X  stdio [LIB]
X  storage [LIB]
X***************
X*** 56,65
X  vault.c
X  
X  ===== Seg 6 =====
X! lock.c
X! makemon.c
X! mcastu.c
X! mhitm.c
X  
X  ===== Seg 7 =====
X  mhitu.c
X
X--- 55,65 -----
X  trap.c
X  
X  ===== Seg 6 =====
X! stdio [LIB]
X! storage [LIB]
X! strings [LIB]
X! Math [LIB]
X! unix [LIB]
X  
X  ===== Seg 7 =====
X  makemon.c
X***************
X*** 62,69
X  mhitm.c
X  
X  ===== Seg 7 =====
X! mhitu.c
X! uhitm.c
X  
X  ===== Seg 8 =====
X  mklev.c
X
X--- 62,71 -----
X  unix [LIB]
X  
X  ===== Seg 7 =====
X! makemon.c
X! mkmaze.c
X! prisym.c
X! read.c
X  
X  ===== Seg 8 =====
X  artifact.c
X***************
X*** 66,75
X  uhitm.c
X  
X  ===== Seg 8 =====
X! mklev.c
X! mkobj.c
X! mkroom.c
X! mon.c
X  
X  ===== Seg 9 =====
X  mondata.c
X
X--- 68,79 -----
X  read.c
X  
X  ===== Seg 8 =====
X! artifact.c
X! attrib.c
X! search.c
X! sounds.c
X! timeout.c
X! wizard.c
X  
X  ===== Seg 9 =====
X  mhitu.c
X***************
X*** 72,82
X  mon.c
X  
X  ===== Seg 9 =====
X! mondata.c
X! monmove.c
X! mthrowu.c
X! music.c
X! objnam.c
X  
X  ===== Seg 10 =====
X  pager.c
X
X--- 76,82 -----
X  wizard.c
X  
X  ===== Seg 9 =====
X! mhitu.c
X  
X  ===== Seg 10 =====
X  do_name.c
X***************
X*** 79,85
X  objnam.c
X  
X  ===== Seg 10 =====
X! pager.c
X  pickup.c
X  polyself.c
X  potion.c
X
X--- 79,85 -----
X  mhitu.c
X  
X  ===== Seg 10 =====
X! do_name.c
X  pickup.c
X  weapon.c
X  
X***************
X*** 81,88
X  ===== Seg 10 =====
X  pager.c
X  pickup.c
X! polyself.c
X! potion.c
X  
X  ===== Seg 11 =====
X  pray.c
X
X--- 81,87 -----
X  ===== Seg 10 =====
X  do_name.c
X  pickup.c
X! weapon.c
X  
X  ===== Seg 11 =====
X  mcastu.c
X***************
X*** 85,93
X  potion.c
X  
X  ===== Seg 11 =====
X! pray.c
X! pri.c
X! priest.c
X  
X  ===== Seg 12 =====
X  read.c
X
X--- 84,92 -----
X  weapon.c
X  
X  ===== Seg 11 =====
X! mcastu.c
X! mhitm.c
X! polyself.c
X  
X  ===== Seg 12 =====
X  lock.c
X***************
X*** 90,103
X  priest.c
X  
X  ===== Seg 12 =====
X! read.c
X! restore.c
X! rumors.c
X! save.c
X! search.c
X! sit.c
X! sounds.c
X! spell.c
X  
X  ===== Seg 13 =====
X  sp_lev.c
X
X--- 89,96 -----
X  polyself.c
X  
X  ===== Seg 12 =====
X! lock.c
X! vault.c
X  
X  ===== Seg 13 =====
X  decl.c
X***************
X*** 100,128
X  spell.c
X  
X  ===== Seg 13 =====
X- sp_lev.c
X- steal.c
X- timeout.c
X- topl.c
X- track.c
X- trap.c
X- weapon.c
X- were.c
X- wield.c
X- 
X- ===== Seg 14 =====
X- Math [LIB]
X- unix [LIB]
X- worn.c
X- write.c
X- zap.c
X- 
X- ===== Seg 15 =====
X- stdio [LIB]
X- storage [LIB]
X- strings [LIB]
X- 
X- ===== Seg 16 =====
X  decl.c
X  macinit.c
X  monst.c
X
X--- 93,98 -----
X  vault.c
X  
X  ===== Seg 13 =====
X  decl.c
X  macfile.c
X  macinit.c
X***************
X*** 124,129
X  
X  ===== Seg 16 =====
X  decl.c
X  macinit.c
X  monst.c
X  objects.c
X
X--- 94,100 -----
X  
X  ===== Seg 13 =====
X  decl.c
X+ macfile.c
X  macinit.c
X  monst.c
X  objects.c
X***************
X*** 129,134
X  objects.c
X  options.c
X  o_init.c
X  u_init.c
X  version.c
X  
X
X--- 100,107 -----
X  objects.c
X  options.c
X  o_init.c
X+ pcmain.c
X+ pctty.c
X  u_init.c
X  version.c
X  
X***************
X*** 132,137
X  u_init.c
X  version.c
X  
X  ===== Seg 17 =====
X  end.c
X  pctty.c
X
X--- 105,125 -----
X  u_init.c
X  version.c
X  
X+ ===== Seg 14 =====
X+ apply.c
X+ exper.c
X+ 
X+ ===== Seg 15 =====
X+ dothrow.c
X+ sit.c
X+ wield.c
X+ worn.c
X+ write.c
X+ 
X+ ===== Seg 16 =====
X+ pager.c
X+ rumors.c
X+ 
X  ===== Seg 17 =====
X  demon.c
X  do.c
X***************
X*** 133,138
X  version.c
X  
X  ===== Seg 17 =====
X  end.c
X  pctty.c
X  pcunix.c
X
X--- 121,132 -----
X  rumors.c
X  
X  ===== Seg 17 =====
X+ demon.c
X+ do.c
X+ steal.c
X+ worm.c
X+ 
X+ ===== Seg 18 =====
X  end.c
X  rip.c
X  topten.c
X***************
X*** 134,141
X  
X  ===== Seg 17 =====
X  end.c
X- pctty.c
X- pcunix.c
X  rip.c
X  topten.c
X  
X
X--- 128,133 -----
X  
X  ===== Seg 18 =====
X  end.c
X  rip.c
X  topten.c
X  
X***************
X*** 139,146
X  rip.c
X  topten.c
X  
X! ===== Seg 18 =====
X! artifact.c
X  bones.c
X  dbridge.c
X  demon.c
X
X--- 131,156 -----
X  rip.c
X  topten.c
X  
X! ===== Seg 19 =====
X! fountain.c
X! potion.c
X! 
X! ===== Seg 20 =====
X! pray.c
X! 
X! ===== Seg 21 =====
X! sp_lev.c
X! 
X! ===== Seg 22 =====
X! mklev.c
X! restore.c
X! save.c
X! 
X! ===== Seg 23 =====
X! music.c
X! spell.c
X! 
X! ===== Seg 24 =====
X  bones.c
X  MacAlert.c
X  
X***************
X*** 142,149
X  ===== Seg 18 =====
X  artifact.c
X  bones.c
X! dbridge.c
X! demon.c
X! mkmaze.c
X! wizard.c
X! worm.c
X
X--- 152,176 -----
X  
X  ===== Seg 24 =====
X  bones.c
X! MacAlert.c
X! 
X! ===== Seg 25 =====
X! do_wear.c
X! 
X! ===== Seg 26 =====
X! extralev.c
X! 
X! ===== Seg 27 =====
X! dokick.c
X! 
X! ===== Seg 28 =====
X! zap.c
X! 
X! ===== Seg 29 =====
X! eat.c
X! 
X! ===== Seg 30 =====
X! uhitm.c
X! 
X! ===== Seg 31 =====
X! objnam.c
X
END_OF_FILE
if test 56824 -ne `wc -c <'patch7.22'`; then
    echo shar: \"'patch7.22'\" unpacked with wrong size!
fi
# end of 'patch7.22'
echo shar: End of archive 4 \(of 30\).
cp /dev/null ark4isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 30 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0