<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Fri, 18 Jul 1986 05:27:53 GMT
From   : Michael Kersenbrock <michaelk%copper.uucp@BRL.ARPA>
Subject: Unix-compatable SHAR for CP/M

#	This is a shell archive.
#	Remove everything above and including the cut line.
#	Then run the rest of the file through sh.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar:    Shell Archiver
#	Run the following text with /bin/sh to create:
#	READ_ME
#	SHAR.C
#	SHAR.UUE
# This archive created: Thu Jul 17 02:03:12 1986
# By:	Michael D. Kersenbrock (Oregon HomePower Software)
echo shar: extracting read_me
sed 's/^XX//' << \SHAR_EOF > read_me
XX
XX			READ_ME
XX
XXThis program is both a "shar" and a "unshar" program for those
XXof us with no shell.
XX
XXI have ported the recently posted shar.c to (z80) CP/M.  This
XXdistribution has been shar'd with this program.
XX
XXWhen run under CP/M 3.0 with time-of-day supported,
XXshar files created will have archive creation time included.
XX
XXThe uuencoded binary included (shar.com) looks for a file
XX"ENVIRON.DAT" or "A:ENVIRON.DAT" for the environment variables.
XXVariables used are "NAME=" and "ORGANIZATION=".
XX
XXUuencoding of the binary was done with the recently posted
XXturbo-pascal uuencode.com program.
XX
XXThe attached binary was compiled using Manx Aztec C II v1.05g (z80).
XX
XXMike Kersenbrock (usenet:{decvax,ucbvax...}!tektronix!copper!michaelk)
XXAloha, Oregon
XX7/17/86
SHAR_EOF
if test 752 -ne "`wc -c read_me`"
then
echo shar: error transmitting read_me '(should have been 752 characters)'
fi
echo shar: extracting shar.c
sed 's/^XX//' << \SHAR_EOF > shar.c
XX/* 
XX *  Shar puts readable text files together in a package
XX *
XX *  from which they are easy to extract.
XX *
XX *    v 860716 M. Kersenbrock (tektronix!copper!michaelk) for Z80-CPM
XX *	- enhanced usage message
XX *
XX *    v 860712 D. Wecker for ULTRIX and the AMIGA
XX *	- stripped down.. does patterns but no directories
XX *	- added a -u (unshar) switch
XX */
XX
XX#define CPM
XX
XX#ifdef CPM
XX#include "c:stdio.h"
XX#include "c:fcntl.h"
XX#else
XX#include <stdio.h>
XX#endif
XX
XX#ifdef CPM
XX#define void int
XX#define fputc putc
XXextern char *getenv(),*malloc(),*index(),*rindex();
XXint cpmversion;
XX
XX#endif
XX
XX#ifdef	AMIGA
XX#include <exec/types.h>
XXextern char *getenv(),*scdir(),*malloc(),*index();
XX#endif
XX
XX#ifdef	ULTRIX
XX#include <sys/types.h>
XXextern char *getenv(),*scdir(),*malloc(),*index();
XX#endif
XX
XX#ifdef	VMS
XX#include <types.h>
XXextern char *getenv(),*scdir(),*malloc();
XX#endif
XX
XX
XX#define BADCH	((int)'?')
XX#define EMSG	""
XX#define tell(s)	{fputs(*nargv,stderr);fputs((s),stderr);fputc(optopt,stderr);fputc('\n',stderr);return(BADCH);}
XX#define rescanopts()	(optind = 1)
XX
XXint	optind = 1,		/* index into parent argv vector */
XX	optopt;			/* character checked for validity */
XXlong	fsize;			/* length of file */
XXchar	*optarg;		/* argument associated with option */
XXchar	*sav[100];		/* saved file names */
XXint	savind;			/* save index */
XX
XX/* OPTIONS */
XXint 	Verbose = 0;           /* provide append/extract feedback */
XXint 	Basename = 0;          /* extract into basenames */
XXint 	Count = 0;             /* count characters to check transfer */
XXchar	*Delim = "SHAR_EOF";   /* put after each file */
XXchar	Filter[100] = "cat";   /* used to extract archived files */
XXchar	*Prefix = NULL;        /* line prefix to avoid funny chars */
XXint	UnShar = 0;	       /* do we unshar an input file? */
XX
XXchar Usage1[] = 
XX"\nSHAR: Create/extract file archive for extraction by /bin/sh (normally).\n\
XX\n\
XXusage: shar [-u archive] [[-a] [-p prefix]\
XX [-d delim] [-bcv] files > archive]\n\
XX\n\
XX	where:	-a  all the options (v,c,b,-pXX)\n";
XX
XXchar Usage2[] = 
XX"		-b  extract absolute paths into current directory\n\
XX		-c  check filesizes on extraction\n\
XX		-d  use this EOF delimiter instead of SHAR_EOF\n";
XX
XXchar Usage3[]
XX"		-p  use this as prefix to each line in archived files\n\
XX		-u  unshar <archive>\n\
XX		-v  verbose on extraction, incl. echoing filesizes\n";
XX
XX
XX#define	SED "sed 's/^%s//'"    /* used to remove prefix from lines */
XX
XX#ifdef CPM
XX#define	OPTSTRING "U:AP:D:BCV"
XX#else
XX#define	OPTSTRING "u:ap:d:bcv"
XX#endif
XX
XX#ifdef	VMS
XXchar *index(s,c)
XXchar    *s;
XXchar    c;
XX{
XX    while (*s != 0 && *s != c) s++;
XX    if (*s == 0 && *s != c) s = 0;
XX    return(s);    
XX}
XX#endif
XX
XXint header(ppchFiles)
XXchar *ppchFiles[];
XX{
XX    extern char *ctime();
XX    register int i;
XX    auto long clock;
XX    register char **ppchList;
XX    char *pchOrg;
XX    char *pchName;
XX    register int  problems = 0;
XX
XX    pchOrg = getenv("ORGANIZATION");
XX    pchName = getenv("NAME");
XX
XX    puts("#\tThis is a shell archive.");
XX    puts("#\tRemove everything above and including the cut line.");
XX    puts("#\tThen run the rest of the file through sh.");
XX    puts("#----cut here-----cut here-----cut here-----cut here----#");
XX    puts("#!/bin/sh");
XX    puts("# shar:    Shell Archiver");
XX    puts("#\tRun the following text with /bin/sh to create:");
XX    for (ppchList = ppchFiles; *ppchList; ++ppchList)
XX        printf("#\t%s\n", *ppchList);
XX#ifdef CPM
XX  if (cpmversion >= 0x30) {
XX#endif
XX    (void) time(& clock);
XX    printf("# This archive created: %s", ctime(&clock));
XX#ifdef CPM
XX  }
XX#endif
XX    if (pchName)
XX        printf("# By:\t%s (%s)\n", pchName, 
XX        pchOrg ? pchOrg : "Dave Wecker Midnight Hacks");
XX    return(0);
XX}
XX
XXint archive(input, output)
XXchar *input, *output;
XX{
XX    auto char line[BUFSIZ];
XX    register FILE *ioptr;
XX
XX    if (ioptr = fopen(input, "r")) {
XX        printf("%s << \\%s > %s\n", Filter, Delim, output);
XX        while(fgets(line, BUFSIZ, ioptr)) {
XX            if (Prefix) fputs(Prefix, stdout);
XX            fputs(line, stdout);
XX            if (Count) fsize += strlen(line);
XX        }
XX        puts(Delim);
XX        (void) fclose(ioptr);
XX        return(0);
XX    } 
XX    else {
XX        fprintf(stderr, "shar: Can't open '%s'\n", input);
XX        return(1);
XX    }
XX}
XX
XX
XXvoid shar(file)
XXchar *file;
XX{
XX    register char *basefile;
XX    basefile = file;
XX    if (!strcmp(file, "."))
XX        return;
XX    fsize = 0;
XX    if (Basename) {
XX        while(*basefile)
XX            basefile++;        /* go to end of name */
XX        while(basefile > file && *(basefile-1) != '/')
XX            basefile--;
XX    }
XX    if (Verbose) printf("echo shar: extracting %s\n", basefile);
XX    if (archive(file, basefile)) exit(66);
XX    if (Count) {
XX        printf("if test %ld -ne \"`wc -c %s`\"\n",fsize,basefile);
XX        printf("then\necho shar: error transmitting %s ",basefile);
XX        printf("'(should have been %ld characters)'\nfi\n",fsize);
XX    }
XX}
XX
XXint main(argc, argv)
XXint argc;
XXchar **argv;    
XX{
XX    auto char *ppchFiles[256];
XX    register int  C;
XX    register char **ppchList = ppchFiles;
XX    register int errflg = 0;
XX
XX#ifdef CPM
XX    cpmversion = (bdoshl(0x0c,0) & 0xff);
XX#endif
XX
XX    while(EOF != (C = getopt(argc, argv, OPTSTRING))) {
XX#ifdef CPM
XX        switch(isupper(C) ? tolower(C) : C ) {
XX#else
XX        switch(C) {
XX#endif
XX        case 'v': 
XX            Verbose++; 
XX            break;
XX        case 'c': 
XX            Count++; 
XX            break;
XX        case 'b': 
XX            Basename++; 
XX            break;
XX        case 'd': 
XX            Delim = optarg; 
XX            break;
XX        case 'a': /* all the options */
XX            optarg = "XX";
XX            Verbose++;
XX            Count++;
XX            Basename++;
XX            /* fall through to set prefix */
XX        case 'p': 
XX            (void) sprintf(Filter, SED, Prefix = optarg); 
XX            break;
XX        case 'u':
XX            UnShar++;
XX            dounshar(optarg);
XX            break;
XX        default: 
XX            errflg++;
XX        }
XX    }
XX    if (UnShar) exit(0);
XX
XX    C = getarg(argc, argv);
XX    if (errflg || EOF == C) {
XX        if (EOF == C)
XX            fprintf(stderr, "shar: No input files\n");
XX        fprintf(stderr, "%s%s%s", Usage1, Usage2, Usage3);
XX        exit(1);
XX    }
XX
XX    savind = 0;
XX    do {
XX        if (getpat(optarg)) exit(2);
XX    } 
XX    while (EOF != (C = getarg(argc, argv)));
XX
XX    sav[savind] = 0;
XX    header(sav);
XX    for (ppchList = sav; *ppchList; ++ppchList) {
XX
XX#ifdef CPM
XX	 strlower(*ppchList);
XX#endif
XX
XX	 shar(*ppchList);
XX    }
XX    puts("#\tEnd of shell archive");
XX    puts("exit 0");
XX    exit(0);
XX}
XX
XXgetpat(pattern)
XXchar *pattern;
XX{
XX    register char *ptr;
XX    int temp;
XX
XX#ifdef AMIGA
XX    while (ptr = scdir(pattern)) {
XX#else
XX    ptr = pattern;
XX    {
XX#endif
XX	sav[savind] = malloc(strlen(ptr)+1);
XX	strcpy(sav[savind++],ptr);
XX#ifdef CPM
XX	temp = open(ptr,O_RDONLY);
XX	if (temp == -1) {
XX#else
XX	if (access(ptr,4)) {
XX#endif
XX	    printf("No read access for file: %s\n",ptr);
XX	    return(-1);
XX	}
XX
XX#ifdef CPM
XX	close(temp);
XX#endif
XX    }
XX    return(0);
XX}
XX
XX
XX/*
XX * get option letter from argument vector
XX */
XXint
XXgetopt(nargc, nargv, ostr)
XXint nargc;
XXchar **nargv, *ostr;
XX{
XX    register char    *oli;        /* option letter list index */
XX    static char    *place = EMSG;    /* option letter processing */
XX    if(!*place) {            /* update scanning pointer */
XX        if(optind >= nargc || *(place = nargv[optind]) != '-' || !*++place)
XX		 return(EOF);
XX        if (*place == '-') {    /* found "--" */
XX            ++optind;
XX            return EOF;
XX        }
XX    }                /* option letter okay? */
XX    if ((optopt = (int)*place++) == (int)':' || !(oli = index(ostr,optopt)))
{
XX        if(!*place) ++optind;
XX        tell(": illegal option -- ");
XX    }
XX    if (*++oli != ':') {        /* don't need argument */
XX        optarg = NULL;
XX        if (!*place)
XX            ++optind;
XX    } 
XX    else {                /* need an argument */
XX        if (*place) {            /* no white space */
XX            optarg = place;
XX        } 
XX        else {
XX		if (nargc <= ++optind) {    /* no arg */
XX        	        place = EMSG;
XX	                tell(": option requires an argument -- ");
XX                }
XX	        else {
XX	            optarg = nargv[optind];    /* white space */
XX		}
XX        }
XX        place = EMSG;
XX        ++optind;
XX    }
XX    return(optopt);            /* dump back option letter */
XX}
XX
XX
XXint
XXgetarg(nargc, nargv)
XXint nargc;
XXchar **nargv;
XX{
XX    if (nargc <= optind) {
XX        optarg = (char *) 0;
XX        return EOF;
XX    } 
XX    else {
XX        optarg = nargv[optind++];
XX        return 0;
XX    }
XX}
XX
XXdounshar(ArcNam)
XXchar *ArcNam;
XX{
XX    register int i,j;
XX    register FILE *inptr,*outptr;
XX    auto char line[BUFSIZ];
XX    int DirNum = -1;
XX    int Prefix = 0;
XX    char Dirs[5][40],FilNam[128],Delim[40],ScrStr[128];
XX    char *ptr;
XX
XX    if (!(inptr = fopen(ArcNam,"r"))) {
XX        fprintf(stderr,"shar: Can't open archive '%s'\n", ArcNam);
XX        return;
XX    }
XX    while (fgets(line,BUFSIZ,inptr)) {
XX        if (strncmp(line,"sed ",4) == 0) {
XX            Prefix = 0;
XX            if (!(ptr = index(line,'/'))) goto getfil;
XX            if (*++ptr == '^') ++ptr;
XX            while (*ptr++ != '/') Prefix++;
XX            goto getfil;
XX        }
XX        else if (strncmp(line,"cat ",4) == 0) {
XX            Prefix = 0;
XX            ;
XXgetfil:
XX
XX#ifdef    VMS
XX            strcpy(FilNam,"[");
XX#else
XX            FilNam[0] = 0;
XX#endif
XX
XX            for (i = 0; i <= DirNum; i++) {
XX
XX#ifdef    VMS
XX                strcat(FilNam,".");
XX                strcat(FilNam,Dirs[i]);
XX#else
XX                strcat(FilNam,Dirs[i]);
XX                strcat(FilNam,"/");
XX#endif
XX
XX            }
XX
XX
XX#ifdef    VMS
XX            strcat(FilNam,"]");
XX#endif
XX
XX            getshpar(line,">",ScrStr);
XX            strcat(FilNam,ScrStr);
XX
XX#ifdef CPM
XX	    tocpmformat(FilNam);	/* tweek format as needed */
XX#endif
XX            getshpar(line,"<<",Delim);
XX            fprintf(stderr,"Creating %s ...",FilNam);
XX            outptr = fopen(FilNam,"w");
XX            while (fgets(line,BUFSIZ,inptr)) {
XX                if (strncmp(line,Delim,strlen(Delim)) == 0) break;
XX                if (outptr) fputs(&line[Prefix],outptr);
XX            }
XX            if (outptr) {
XX                fclose(outptr);
XX                fprintf(stderr,"...done\n");
XX            }
XX            else fprintf(stderr,"...error in creating file\n");
XX        }
XX        else if (strncmp(line,"mkdir ",6) == 0) {
XX            sprintf(stderr,"Need to make directory: %s\n",&line[6]);
XX        }
XX        else if (strncmp(line,"chdir ",6) == 0) {
XX            if (line[6] == '.' && line[7] == '.') DirNum--;
XX            else strcpy(Dirs[++DirNum],&line[6]);
XX            if (DirNum < -1) DirNum = -1;
XX        }
XX        else if (strncmp(line,"cd ",3) == 0) {
XX            if (line[3] == '.' && line[4] == '.') DirNum--;
XX            else strcpy(Dirs[++DirNum],&line[3]);
XX            if (DirNum < -1) DirNum = -1;
XX        }
XX    }
XX    fclose(inptr);
XX}
XX
XXgetshpar(line,sea,par)
XXchar *line,*sea,*par;
XX{
XX    register int i,j,k;
XX    register char *scr1,*scr2;
XX
XX    while (*line) {
XX        scr1 = line;
XX        scr2 = sea;
XX        while (*scr1 && *scr2 && *scr1 == *scr2) { 
XX            scr1++; 
XX            scr2++; 
XX        }
XX        if (*scr2 == 0) {
XX            if (*scr1 == 0) { 
XX                *par = 0; 
XX                return; 
XX            }
XX            while ( *scr1 == ' ' || *scr1 == '\t' ||
XX                *scr1 == '\\' || *scr1 == '\'' || *scr1 == '"') scr1++;
XX            while ( *scr1 != 0 && *scr1 != ' ' && *scr1 != '\t' &&
XX                *scr1 != '\\' && *scr1 != '\'' && *scr1 != '"' &&
XX                *scr1 != '\n' && *scr1 != '\r') *par++ = *scr1++;
XX            *par = 0;
XX            return;
XX        }
XX        line++;
XX    }
XX    *par = 0;
XX}
XX
XX
XX#ifdef CPM
XX
XXtocpmformat(filename)
XXchar *filename;
XX{
XX	char buffer[100];
XX	char extension[100];
XX	register char *temp;
XX	int mod = 0;
XX
XX	strcpy(buffer,filename);
XX
XX	/* 
XX 	 * Make sure we get rid of any pathnames
XX	 */
XX	if ((temp=rindex(buffer,'/')) != 0) {
XX		strcpy(buffer,(char *)((temp-buffer)+filename+1));
XX		mod = 1;
XX	}
XX
XX	if (strlen(filename) <= 8) {
XX		if (mod != 0) {
XX			strcpy(filename,buffer);
XX		}
XX		return(0);
XX	}
XX
XX	/*
XX	 * If it already is in "CPM" format we'll check if we need
XX	 * to truncate the front filename part.
XX	 */
XX	if ((temp=index(buffer,'.')) != 0 ) {
XX		if ((temp-buffer) < 8) {
XX			if (mod != 0) {
XX				strcpy(filename,buffer);
XX			}
XX			return(0);
XX		}
XX		else {
XX			strcpy(extension,temp);
XX			strcpy(&buffer[8],extension);
XX			buffer[12] = '\0';
XX			strcpy(filename,buffer);
XX			return(1);
XX		}
XX	}
XX			
XX	/*
XX	 * OK, filename is longer than can be handled, and it doesnt have
XX	 * a filetype "." marker already.  We will put one in to minimize
XX	 * truncation.
XX	 */
XX	strcpy(extension,&buffer[8]);
XX	buffer[8] = '.';
XX	strcpy(&buffer[9],extension);
XX	buffer[12] = '\0';
XX	strcpy(filename,buffer);
XX	return(2);
XX}
XX
XX
XX	
XXstrlower(string)
XXchar *string;
XX{
XX	register char *pointer;
XX	char c;
XX	for (pointer = string ; (c=*pointer) != '\0' ; pointer++ ) {
XX		if (isupper(c))
XX			*pointer = tolower(c);
XX	}
XX}
XX
XX#endif
SHAR_EOF
if test 12942 -ne "`wc -c shar.c`"
then
echo shar: error transmitting shar.c '(should have been 12942 characters)'
fi
echo shar: extracting shar.uue
sed 's/^XX//' << \SHAR_EOF > shar.uue
XXbegin 644 SHAR.COM
XXMPT$F4TA!4E]%3T8`S3,5^/\A``#E_>$A`@+ES083T>LA!@`Y<R-R(0\"Y<T&
XXM$]'K(00`.7,C<B$4`N7-0AK1(2\"Y<U"&M$A90+ES4(:T2&1`N7-0AK1(<L"
XXMY<U"&M$AU0+ES4(:T2'O`N7-0AK1(10`.5XC5M7=X<.$`=WEX2,CY=WAW>7A
XXM?B.VRJ`!W6X`W68!Y2$@`^7-.A?1T<-\`2H,5Q$P`.O-D17*R0$A"``YY<W&
XXM1]$A"``YY<T32='E(28#Y<TZ%]'1(00`.7XCMLK^`2$&`#E^([;*Z`$A!@`Y
XXM7B-6Z\/K`2%0`^4A!@`Y7B-6U2%!`^7-.A?1T=$A``#)3U)'04Y)6D%424].
XXM`$Y!344`(PE4:&ES(&ES(&$@<VAE;&P@87)C:&EV92X`(PE296UO=F4@979E
XXM<GET:&EN9R!A8F]V92!A;F0@:6YC;'5D:6YG('1H92!C=70@;&EN92X`(PE4
XXM:&5N(')U;B!T:&4@<F5S="!O9B!T:&4@9FEL92!T:')O=6=H('-H+@`C+2TM
XXM+6-U="!H97)E+2TM+2UC=70@:&5R92TM+2TM8W5T(&AE<F4M+2TM+6-U="!H
XXM97)E+2TM+2,`(R$O8FEN+W-H`",@<VAA<CH@("`@4VAE;&P@07)C:&EV97(`
XXM(PE2=6X@=&AE(&9O;&QO=VEN9R!T97AT('=I=&@@+V)I;B]S:"!T;R!C<F5A
XXM=&4Z`",))7,*`",@5&AI<R!A<F-H:79E(&-R96%T960Z("5S`",@0GDZ"25S
XXM("@E<RD*`$1A=F4@5V5C:V5R($UI9&YI9VAT($AA8VMS`,TS%0#\(3`$Y2$.
XXM!#E>(U;5S9P7T=%$37RURA8$(0X$.5XC5M4JH%;E(:)6Y2$R!.7-.A?K(0@`
XXM.?G%(0`$Y2$(`#GES7$9T='1R@4$*@97?+7*S0,A)%;E*@97Y<V&&M'1(216
XXMY2$&`#GES88:T=$JGE9\M<H"!"%06>4A!@`YY<V10M'-7T?-043AY<WO0\VK
XXM1.'-`D3#I0,JH%;ES4(:T<7-,QW1(0``R2$,!#E>(U;5(4($Y2$O5N7-71?1
XXMT=$A`0#)<@`E<R`\/"!<)7,@/B`E<PH`<VAA<CH@0V%N)W0@;W!E;B`G)7,G
XXM"@#-,Q4``"$,`#E>(U9"2R$U!>4A#@`Y7B-6U<TS0M'1PGP$R2%06>7-Z$,`
XXM````X<T"1"J25GRURLT$8&E^M\JC!&!I(T1-*\.3!&!IZR$,`#E^(V9OS><6
XXMRLT$(?__"5X6`"$O`,V!%<K-!&!I*T1-(\.C!"H.5WRURM\$Q2$W!>7-.A?1
XXMT<4A#@`Y7B-6U<UK`]'1RO@$(4(`Y<V.*M$JGE9\M<HT!<4A4%G-[T/-%40A
XXM407ES3H7ZR$(`#GYQ2%O!>7-.A?1T2%06<WO0\T51"&6!>7-.A?1T=')+@!E
XXM8VAO('-H87(Z(&5X=')A8W1I;F<@)7,*`&EF('1E<W0@)6QD("UN92`B8'=C
XXM("UC("5S8"(*`'1H96X*96-H;R!S:&%R.B!E<G)O<B!T<F%N<VUI='1I;F<@
XXM)7,@`"<H<VAO=6QD(&AA=F4@8F5E;B`E;&0@8VAA<F%C=&5R<RDG"F9I"@#-
XXM,Q4`_B$$`#GEW>$A``#E_>$A``#E(0P`Y<U1)M'1$?\`S2(5(@Q7(=P'Y2$0
XXM`CE>(U;5(1`".5XC5M7-S0C1T=%$3>4A___1S8$5RL8&Q<US0]'*'0;%S<1#
XXMT<,?!F!IPZ`&*@Y7(R(.5RO#PP8JGE8C(IY6*\/#!BJ25B,BDE8KP\,&*J!9
XXM(J!6P\,&(><'(J!9*@Y7(R(.5RLJGE8C(IY6*RJ25B,BDE8K*J!9(@97Y2'J
XXM!^4AHE;ES:\?T='1P\,&*A!7(R(05RLJH%GES>D*T</#!OWEX2/E_>$KP\,&
XXMS;$6!P!V`"(&8P`M!F(`.`9D`$,&80!,!G``:@9U`((&E0;#Y@4J$%=\M<K6
XXM!B$``.7-CBK1(0X".5XC5M4A#@(Y7B-6U<VL"M'11$W]Y>%\M<(`!R'__U!9
XXMS7(5RCT'(?__4%G-<A7*&`<A^`?E(2]6Y<U=%]'1(5]8Y2'55^4A$E?E(0X(
XXMY2$O5N7-71?K(0H`.?DA`0#ES8XJT2$``")L6BJ@6>7-,PC1RE8'(0(`Y<V.
XXM*M$A#@(Y7B-6U2$.`CE>(U;5S:P*T=%$3>4A___1S8$5PD,'(0``Y2IL6BD1
XXMI%D9T7,C<B&D6>7-#`'1(:19Y=WAPZ$'W>7A(R/EW>'=Y>%^([;*PP?=;@#
XXM9@'ES;T2T=UN`-UF`>7-6031PYD'(14(Y<U"&M$A+`CES4(:T2$``.7-CBK1
XXMR54Z05`Z1#I"0U8`6%@`<V5D("=S+UXE<R\O)P!S:&%R.B!.;R!I;G!U="!F
XXM:6QE<PH`)7,E<R5S`",)16YD(&]F('-H96QL(&%R8VAI=F4`97AI="`P`,TS
XXM%?[_(0X`.5XC5D)+Q<V10M$CY<W@,M'E*FQ:*1&D61G1<R-RQ2IL6B,B;%HK
XXM*1&D61E>(U;5S6Q"T=$A``#EQ<TL-M'1ZR$$`#ES(W(A!``Y7B-6(?__S7(5
XXMRJ`(Q2&P".7-.A?1T2'__\DA!``Y7B-6U<V8-]$A``#)3F\@<F5A9"!A8V-E
XXM<W,@9F]R(&9I;&4Z("5S"@#-,Q4``"H\47ZWPC<)*DY9ZR$,`#E^(V9OS9$5
XXMPAD)*DY9*>LA#@`Y?B-F;QE>(U;K(CQ17A8`(2T`S8$5PAD)*CQ1(R(\47ZW
XXMPAT)(?__R2H\45X6`"$M`,UR%<HW"2I.62,B3EDA___)*CQ1(R(\42M>%@#K
XXM(J)9$3H`S7(5PF<)*J)9Y2$2`#E>(U;5S1-#T=%$37RUPK8)*CQ1?K?"=@DJ
XXM3EDC(DY9(2]6Y2$0`#E>(U;K7B-6U<V&&M'1(2]6Y2%S"N7-AAK1T2$O5N4J
XXMHEGES9P<T=$A+U;E(0H`Y<V<'-'1(3\`R6!I(T1-7A8`(3H`S8$5RM\)(0``
XXM(J!9*CQ1?K?"W`DJ3EDC(DY9PVX**CQ1?K?*\`DJ/%$BH%G#80HJ3EDC(DY9
XXMY2$.`#E>(U;AS9(5RDP*(8@*(CQ1(2]6Y2$0`#E>(U;K7B-6U<V&&M'1(2]6
XXMY2&)"N7-AAK1T2$O5N4JHEGES9P<T=$A+U;E(0H`Y<V<'-'1(3\`R2I.62GK
XXM(0X`.7XC9F\97B-6ZR*@62&K"B(\42I.62,B3EDJHEG)`#H@:6QL96=A;"!O
XXM<'1I;VX@+2T@```Z(&]P=&EO;B!R97%U:7)E<R!A;B!A<F=U;65N="`M+2``
XXM`,TS%0``(0P`.5XC5BI.6<V2%<K+"B$``"*@62'__\DJ3EDC(DY9*RGK(0X`
XXM.7XC9F\97B-6ZR*@62$``,G-,Q4(^B'__^LA^`$Y<R-R(0``ZR'V`3ES(W(A
XXMG`[E(08&.5XC5M7-G!?1T>7]X7RUPC0+(00&.5XC5M4AG@[E(2]6Y<U=%]'1
XXMT<G]Y2$`!.4A_@$YY<UQ&='1T<J5#B$$`.4AO0[E(?X!.>7-JD+1T='"XPLA
XXM``#K(?8!.7,C<B$O`.4A_`$YY<T30]'1ZR$$`#ES(W)ZL\H$#"$$`#GE?B-F
XXM;R/KX7,C<NM>%@`A7@#-<A7*KPLA!``YY7XC9F\CZ^%S(W(A!``YY7XC9F\C
XXMZ^%S(W+K*UX6`"$O`,V!%<K@"R'V`3GE?B-F;R/KX7,C<NLKPZ\+PP0,(00`
XXMY2'"#N4A_@$YY<VJ0M'1T<)-#2$``.LA]@$Y<R-R(0``ZR&N`#ES(0``1$W#
XXM&PQ@:2-$32M@:>LA^`$Y?B-F;\V2%<I6#&!I$2@`S2H6ZR$N`3D9Y2&P`#GE
XXMS=="T=$AQP[E(;``.>7-UT+1T<,5#"$&`#GE(<D.Y2'^`3GES3(/T='1(08`
XXM.>4AL``YY<W70M'1(:X`.>7-71'1(88`.>4ARP[E(?X!.>7-,@_1T=$AK@`Y
XXMY2'.#N4A+U;ES5T7T='1(=X.Y2&P`#GES9P7T='K(?H%.7,C<OWE(0`$Y2'^
XXM`3GES7$9T='1RA<-(88`.>7-D4+1Y2&(`#GE(?X!.>7-JD+1T='*%PTA^@4Y
XXM?B.VRA0-(?H%.5XC5M4A^`$Y7B-6(?P!.1GES88:T='#OPPA^@4Y?B.VRCT-
XXM(?H%.5XC5M7-,QW1(>`.Y2$O5N7-71?1T<-*#2'I#N4A+U;ES5T7T='#D@XA
XXM!@#E(00/Y2'^`3GES:I"T='1PGD-(0`".>4A"P_E(2]6Y<VO']'1T<.2#B$&
XXM`.4A)P_E(?X!.>7-JD+1T='"!PXA``(Y7A8`(2X`S7(5RL,-(0$".5X6`"$N
XXM`,UR%<K##2'X`3GE?B-F;ROKX7,C<NLCP^D-(0`".>4A^@$YY7XC9F\CZ^%S
XXM(W(A*`#-*A;K(3`!.1GES6Q"T=$A^`$Y7B-6(?__S:P5R@0.(?__ZR'X`3ES
XXM(W+#D@XA`P#E(2X/Y2'^`3GES:I"T='1PI(.(?T!.5X6`"$N`,UR%<I1#B'^
XXM`3E>%@`A+@#-<A7*40XA^`$YY7XC9F\KZ^%S(W+K(\-W#B']`3GE(?H!.>5^
XXM(V9O(^OA<R-R(2@`S2H6ZR$P`3D9Y<UL0M'1(?@!.5XC5B'__\VL%<J2#B'_
XXM_^LA^`$Y<R-RPS0+_>7-,QW1R7(`<VAA<CH@0V%N)W0@;W!E;B!A<F-H:79E
XXM("<E<R<*`'-E9"``8V%T(``O`#X`/#P`0W)E871I;F<@)7,@+BXN`'<`+BXN
XXM9&]N90H`+BXN97)R;W(@:6X@8W)E871I;F<@9FEL90H`;6MD:7(@`$YE960@
XXM=&\@;6%K92!D:7)E8W1O<GDZ("5S"@!C:&1I<B``8V0@`,TS%?S_(1``.5XC
XXM5NM^M\I.$2$0`#E>(U8A!@`Y<R-R(1(`.5XC5B$$`#ES(W(A!@`Y7B-6ZWZW
XXMRKT/(00`.5XC5NM^M\J]#R$$`#E>(U;K7A8`U2$(`#E>(U;K7A8`X<UR%<J]
XXM#R$&`#GE?B-F;R/KX7,C<NLK(00`.>5^(V9O(^OA<R-RZRO#8`\A!``Y7B-6
XXMZUX6`'JSPCH1(08`.5XC5NM>%@!ZL\+L#R$``.4A%@`Y7B-6Z]%SR2$&`#E>
XXM(U;K7A8`(2``S7(5PE`0(08`.5XC5NM>%@`A"0#-<A7"4!`A!@`Y7B-6ZUX6
XXM`"%<`,UR%<)0$"$&`#E>(U;K7A8`(2<`S7(5PE`0(08`.5XC5NM>%@`A(@#-
XXM<A7*9!`A!@`YY7XC9F\CZ^%S(W+K*\/L#R$&`#E>(U;K7A8`>K/**Q$A!@`Y
XXM7B-6ZUX6`"$@`,V!%<HK$2$&`#E>(U;K7A8`(0D`S8$5RBL1(08`.5XC5NM>
XXM%@`A7`#-@17**Q$A!@`Y7B-6ZUX6`"$G`,V!%<HK$2$&`#E>(U;K7A8`(2(`
XXMS8$5RBL1(08`.5XC5NM>%@`A"@#-@17**Q$A!@`Y7B-6ZUX6`"$-`,V!%<HK
XXM$2$&`#GE?B-F;R/KX7,C<NLK7A8`U2$6`#GE?B-F;R/KX7,C<NLKT7/#9!`A
XXM``#E(18`.5XC5NO1<\DA$``YY7XC9F\CZ^%S(W+K*\,W#R$``.4A%@`Y7B-6
XXMZ]%SR<TS%3;_(0``ZR$$`#ES(W(AU@`Y7B-6U2%L`#GES6Q"T=$A+P#E(6P`
XXM.>7--4/1T41-?+7*OQ%@:>LA:@`YS886ZR'6`#E^(V9O&2/E(6P`.>7-;$+1
XXMT2$!`.LA!``Y<R-R(=8`.5XC5M7-D4+1$0@`Z\V2%<KU$2$$`#E^([;*\1$A
XXM:@`YY2'8`#E>(U;5S6Q"T=$A``#)(2X`Y2%L`#GES1-#T=%$37RURG<28&GK
XXM(6H`.<V&%A$(`.O-K!7*/A(A!``Y?B.VRCH2(6H`.>4AV``Y7B-6U<UL0M'1
XXM(0``R<4A"``YY<UL0M'1(08`.>4A=``YY<UL0M'1(0``ZR%V`#ES(6H`.>4A
XXMV``Y7B-6U<UL0M'1(0$`R2%R`#GE(0@`.>7-;$+1T2$N`.LA<@`Y<R$&`#GE
XXM(74`.>7-;$+1T2$``.LA=@`Y<R%J`#GE(=@`.5XC5M7-;$+1T2$"`,G-,Q7_
XXM_R$-`#E>(U9"2\/4$F!I(T1-*V!I7A8`(00`.7-ZL\H%$R$$`#E>%@#5S7-#
XXMT<H"$R$$`#E>%@#5S<1#T>M@:7/#SA+)S3,5K/<A8`@Y7B-6U<V10M$13P#K
XXMS:T5RB43(0``R2$.%>4A`A7ES9P7T='K(00`.7,C<GJSPET3(1X5Y2$0%>7-
XXMG!?1T>LA!``Y<R-R>K/"71,A``#)(6`(.5XC5M4A"@@YY<UL0M'1(2`5Y2$*
XXM"#GES=="T=$A"`0Y1$TA``#K8&ES(00`.5XC5M7-^AG1ZR$&`#ES(W(A___-
XXM@17*RA,A!@`Y7B-6(0H`S8$5RLH3(08`.5XC5M5@:2-$32O1<\.*$R$``.M@
XXM:7-@:>LA"`0YS7(5RO(3(08`.5XC5B'__\UR%<KR$R$``,DA"`@YY<V10M'E
XXM(0H$.>4A#`@YY<VJ0M'1T<(2%,,5%,-]$R$("#GES9%"T>LA"`0Y&41-Q2$*
XXM`#GES6Q"T=$A"`0Y1$TA``#K8&ES(00`.5XC5M7-^AG1ZR$&`#ES(W(A___-
XXM@17*?A0A!@`Y7B-6(0H`S8$5RGX4(08`.5XC5M5@:2-$32O1<\,^%"$``.M@
XXM:7,A"`0Y7A8`U<U<0]'*V!0A"`0YY<V10M'*V!0A"``YY<V10M'E(0H$.>7-
XXMD4+1T1D1``3KS:P5RM$4(0@$.>4A"@`YY<W70M'1P]44(0``R</;%,/>%,,Q
XXM%"$(`#GES9%"T2/ES6,ST41->+'*_Q0A"``YY<7-;$+1T6!IR45.5DE23TXN
XXM1$%4`'(`03I%3E9)4D].+D1!5`!R`#T`?*)G?:-OM,E\+V=]+V^TR>GAW>7]
XXMY<5>(U8C1$TA```YZSGYU6!IS3(5Z^'YP?WAW>'K?+7)>JPR/U'-UQ7K.C]1
XXMM_I"%GVTR<WP%>M]M,E]D\)\%7R2RHL5(0``K\E]D\*+%7R2RGP5(0$`?;3)
XXMZWRJ^J05?9-\FC\^`,X`;R8`R7H'Y@%O)@#)ZWRJ^KX5?9-\FCX`S@!O)@#)
XXM?`?F`6\F`,EZ,C]1S=<5.C]1M_I"%GRUR7RW\N(5+V=]+V\C>K?R\!4O5WLO
XXM7Q/#\!7%1$TA```^$#(^42GK*>O2`Q8C?9%O?)AGTAL6"3H^43TR/E'"^Q7!
XXM?;3)$SH^43TR/E'"^Q7!?;3)Q41-(0``/A`IZRGKTCH6"3W",A;!?;3)?2]O
XXM?"]G(WVTR7RURHL5PWP5?+)G?;-OM,GK>^8?7\J#%GRT\OL6?#<?9WT?;QW"
XXM:1:TR>M[YA]?RH,6*1W"?A9]M,GK?9-O?)IGM<GKX<5.(T8CZPGK3B-&(WJX
XXMVJ<6>[G2JQ8C(QD97B-6Z\'IZ^'%0DM>(U8;>K?ZT18C>;[*RQ8C(R/#N18C
XXM>+["QA8C?B-F;\'IZWV3?)H^`#_.`&\F`,GK?9-\FCX`S@!O)@#)ZWOF'U_*
XXM@Q9\MQ]G?1]O'<+[%K3)?*IG?:MOM,GML,G1(0(`.=WE_>7%U1%`408&?A(C
XXM$P7"(Q<A,!?CZ<']X=WA?+7)-\G-,Q4``"$D5B)&42$.`#GE(0X`.5XC5M4A
XXMA1?ES?X?T='1R<TS%0``(0P`.5XC5NLB1E$A$``YY2$0`#E>(U;5(847Y<W^
XXM']'1T<G-,Q4``"I&4>4A#@`Y7B-6U<W$&M'1R<TS%0``(1E61$U@:1$&`!E^
XXMM\K*%V!I$0L`&41-$9)6Z\W8%LK'%R$``,G#IA<A#@`Y7B-6ZR->%@`A*P#-
XXM<A7EW>$A#@`Y7B-6ZUX6`.O#PAC=Y>%\M<K\%R$"`,/_%R$``.4A#@`Y7B-6
XXMU<TL-M'1ZR$'``ES(?__S7(5RB`8(0``R</5&-WEX7RURC$8(0(`PS08(0$`
XXM$0`#S506Y2$.`#E>(U;5S2PVT='K(0<`"7,A___-<A7*6Q@A``#)P]48W>7A
XXM?+7*;!@A`@##;Q@A`0`1``'-5!;E(0X`.5XC5M7-+#;1T>LA!P`)<R'__\UR
XXM%<J6&"$``,DA`@#ES>A#`````,T51"$'``E>%@#5S;4_ZR$(`#GYP]48(?K_
XXM(I99(0``R<VQ%@,`<@#N%W<`(QAA`%X8N!@A`0#K(08`"7,A``3K(0D`"7,C
XXM<B$``.M@:7,C<B$"``ES(W(A!``)<R-R8&G)S3,5```A#``Y7B-60DLA&5;E
XXMS?H9T>7=X1'__\V!%<I`&=WEX1$*`,V!%<I`&=WEX>5@:2-$32O1<\,1&2$`
XXM`.M@:7/=Y>$1___-<A7*:!E@:>LA#``Y?B-F;\UR%<IH&2$``,DA#``Y7B-6
XXMZ\G-,Q4``"$,`#E>(U;5W>$A#@`YY7XC9F\KZ^%S(W(A``#-K17*RADA$``Y
XXM7B-6U<WZ&=%$31'__\V!%<K*&6!IY=WEX2/EW>$KT7-@:1$*`,UR%<+*&<.`
XXM&2$``-UU`&!I$?__S7(5RO$9W>7AZR$,`#E^(V9OS7(5RO$9(0``R2$,`#E>
XXM(U;KR<TS%0``(0P`.4XC1L7-6!O1$7\`S2(5Y=WAPRL:8&GE?B-F;ROKX7,C
XXM<B'__\G#!AK-L18#`!H`%QH-`"@:```H&CX:W>7AR<TS%0``(0P`.4XC1F!I
XXM?K?*>!HA)%;E8&DC1$TK7A8`U<W$&M'1$?__S7(5RG4:(?__R<-.&B$D5N4A
XXM"@#ES<0:T=')S3,5```A#``Y3B-&8&E^M\K`&B$.`#E>(U;58&DC1$TK7A8`
XXMU<W$&M'1$?__S7(5RKT:(?__R<.2&B$``,G-,Q4``"$,`#E.(T8A#@`Y7B-6
XXMU=WA(7\`4%G-(A5$36!I$0H`S7(5R@<;W>4A#0#ES9P<T=$1___-<A7*!QLA
XXM___)W>7%S9P<T=')S3,5```A#``Y7B-6U<U8&]%$31'__\UR%<)$&R$,`#E>
XXM(U;5S5@;T>7=X1'__\UR%<I(&R'__\G=Y>$1"`#KS7864%G-5!;)S3,5```A
XXM#``Y3B-&(0(`"5XC5M5@:5XC5N'-V!;*'!PA!@`)7A8`(0@`S2(5RHP;(?__
XXMR2'[_^5@:1$&`!G1Y6XF`,TB%>OA<V!I$00`&7XCML*R&\7-&1_1(0D`"5XC
XXM5M4A!``)7B-6U2$'``E>%@#5S:<YT='1Y=WA$0``Z\V2%<H$'-WEX7RUPNL;
XXM(0@`P^X;(1``Y6!I$08`&='E;B8`S506Z^%S(?__R2$$``E>(U9@:7,C<MWE
XXMX1GK(0(`"7,C<F!IY7XC9F\CZ^%S(W+K*UX6`"'_`,TB%<G-,Q4``"$O5N4A
XXM#@`Y7B-6U<V<'-'1R<TS%0``(0P`.4XC1B$.`#E>(U;5Q<V<'-'1$0``Z\VL
XXM%<IT'"'__\DA#@`Y7B-6U6!I$0@`Z\WS%N7-G!S1T1$``.O-K!7*F1PA___)
XXM8&G)S3,5```A#@`Y3B-&(0(`"5XC5M5@:5XC5N'-V!;*T1PA#``Y7B-6(?\`
XXMS2(5Y<7-TAW1T<DA#``Y7B-6U6!IY7XC9F\CZ^%S(W+K*]%S(?\`S2(5R<TS
XXM%0``(?__Y2$.`#E>(U;5S=(=T=')S3,5```A&59$36!I$9)6Z\WF%LHR'6!I
XXM$0L`&41-$?7_&>7-,QW1PQ(=R<TS%?[_(0X`.4XC1B$``.LA!``Y<R-R8&D1
XXM!@`9?K?*P!TA!@`)7A8`(00`S2(5RG<=(?__Y<7-TAW1T>LA!``Y<R-R(0<`
XXM"5X6`-7-F#?1ZR$$`#GE?B-F;\U4%NOA<R-R(08`"5X6`"$"`,TB%<K`'2J<
XXM5N4A!``)7B-6Z]%S(W(A!``)7B-6ZR*<5B$``.LA!@`)<R$$`#E>(U;KR<TS
XXM%0``(0P`.4XC1B$&``E>%@`A!`#-(A7*/!XA!``)7B-6U6!I7B-6X<V&%N7
XXMX=WE(00`"5XC5M4A!P`)7A8`U<WC/-'1T1'__\UR%<H\'B$0`.5@:1$&`!G1
XXMY6XF`,U4%NOA<R'__\DA#@`Y7B-6(?__S7(5RG4>(?O_Y6!I$08`&='E;B8`
XXMS2(5Z^%S(0``ZV!I<R-R(0(`"7,C<B$``,E@:1$$`!E^([;"AA[%S1D?T2$)
XXM``E>(U8A`0#-<A7*OQXA`0#E(1``.>4A!P`)7A8`U<WC/-'1T1'__\UR%<(C
XXM'B$.`#E>(U;KR2$$``E>(U9@:7,C<B$)``E>(U;5(00`"5XC5N$9ZR$"``ES
XXM(W(A!`#E8&D1!@`9T>5N)@#-5!;KX7,A#@`Y7B-6U6!IY7XC9F\CZ^%S(W+K
XXM*]%S(?\`S2(5R<TS%?[_(0X`.4XC1B$)``E>(U8A`0#-<A7*1!]@:1$(`!GK
XXM(00`"7,C<LDJG%9\M<ID'RJ<5NLA!``Y<R-R*IQ67B-6ZR*<5L.+'R$)``E>
XXM(U;5S6,ST>LA!``Y<R-R>K/"BQ\A`0#K(0D`"7,C<L,U'R$"`.5@:1$&`!G1
XXMY6XF`,U4%NOA<R$$`#E>(U8A!``)<R-RR<TS%0``(0P`.5XC5NLB2%$A$``Y
XXMY2$0`#E>(U;5(>`?Y<W^']'1T2$``.4J2%'1<\G-,Q4``"$,`#E>(U;5*DA1
XXM(R)(42O1<R'_`,TB%<G-,Q6^_R%.`#E.(T8A4``Y7B-6U=WAW>7A(^7=X2M>
XXM%@#5_>%ZL\H0)?WEX1$E`,UR%<H%)2$``.LA&@`Y<R$!`.LA1``Y<R-R(2``
XXMZR%"`#ES(W(A_W_K(4``.7,C<MUN`"8`Y?WA$2T`S7(5RH<@(0``ZR%$`#ES
XXM(W+=Y>$CY=WA*UX6`-7]X?WEX1$P`,UR%<J>("$P`.LA0@`Y<R-R(0``ZR$^
XXM`#ES(W+=Y>$CY=WA*UX6`-7]X2$P`,V1%<KM(/WEX1$Y`.O-DA7*[2`A/@`Y
XXM7B-6(0H`S2H6_>71&1'0_QGK(3X`.7,C<L.I(/WEX1$N`,UR%<I((2$``.LA
XXM0``Y<R-RW>7A(^7=X2M>%@#5_>$A,`#-D17*2"']Y>$1.0#KS9(5RD@A(4``
XXM.5XC5B$*`,TJ%OWET1D1T/\9ZR%``#ES(W+#!"']Y>$1;`#-<A7*B"'=Y>$C
XXMY=WA*UX6`-7]X2$Z`#GE(50`.>5^(V9O$00`&>OA<R-RZQ'\_QG-[T/AS0)$
XXMPR<B_>7A$60`S7(5RKHA(3H`.>4A5``YY7XC9F\C(^OA<R-RZRLK7B-6Z\U?
XXM1^'-`D3#)R+]Y>$190#-<A7"WB']Y>$19@#-<A7"WB']Y>$19P#-<A7*!"(A
XXM!``YY2%4`#GE?B-F;Q$(`!GKX7,C<NL1^/\9S7I'X<UZ1\,G(B$Z`#GE(50`
XXM.>5^(V9O(R/KX7,C<NLK*UXC5NO-44?AS0)$_>7AP]$C(1H`.>4A"`#E(3X`
XXM.<WO0\T51,US)>LA"``Y^2$T`#ES(W+#^",A.@`YS>]#S=I#`````,TG1\JF
XXM(B$:`#GE(0H`Y2$^`#G-[T/-4$3-%43-$27K(0@`.?DA-``Y<R-R(2T`Y2$V
XXM`#GE?B-F;ROKX7,C<NO1<\/)(B$:`#GE(0H`Y2$^`#G-[T/-%43-$27K(0@`
XXM.?DA-``Y<R-RP_@C(1H`.>4A"@#E(3X`.<WO0\T51,US)>LA"``Y^2$T`#ES
XXM(W+#^",A&@`YY2$0`.4A/@`YS>]#S15$S7,EZR$(`#GY(30`.7,C<L/X(R$Z
XXM`#G-[T/-<D?K(30`.7,C<M7-D4+1ZR$X`#ES(W+#$"3]Y>$190#-<A7*3",A
XXM``##3R,A`0#E(4(`.5XC5B'_?\UR%<IF(R$&`,-N(R%"`#E>(U;KY2$0`#GE
XXM(0H`.<UZ1\UZ1\UZ1^LA#@`Y^2$,`#GK(30`.7,C<M7-D4+1ZR$X`#ES(W(A
XXMR`#K(4``.7,C<L,0)"$Z`#G-[T/-<D?E_>']Y>'E(1L`.>LA-@`Y<R-RZ]%S
XXMP_@CS;$6"`!O`"TB9`!3(G4`S")X`/(B<P`8(V4`.B-F`#HC8P"N([LC(1H`
XXM.>LA-``Y?B-F;\V&%NLA.``Y<R-R(3@`.5XC5B%``#E^(V9OS:T5RC,D(4``
XXM.5XC5B$X`#ES(W(A1``Y?B.VRFXD(3X`.>5^(V9O*^OA<R-RZR/K(3@`.7XC
XXM9F_-K17*;B0A0@`Y7B-6U6!IS3(5T<,])"$``.LA-@`Y<R-RPXLD(38`.>5^
XXM(V9O(^OA<R-R(30`.5XC5NM^M\K+)"$V`#E>(U8A0``Y?B-F;\VL%<K+)"$T
XXM`#GE?B-F;R/KX7,C<NLK7A8`U6!IS3(5T<-\)"%$`#E^([;"`B4A/@`YY7XC
XXM9F\KZ^%S(W+K(^LA.``Y?B-F;\VM%<H")2$@`.5@:<TR%='#U23##27]Y6!I
XXMS3(5T<,4(,G-,Q4``"$0`#E.(T8A$@`Y7B-6U=WA8&G-7T?-%40A$``YS>]#
XXMS2U$S=5%S7)'$4I1&5X6`-7=Y>$KY=WAT7,A#``YY6!IS5]'S4%$X>7-[T/-
XXMFT7AS0)$S6!$PB<EW>7AR<TS%0``(1``.4XC1B$2`#E>(U;5W>$A#``YS>]#
XXMS=I#`````,TG1\HI)B$,`#G-[T/-<D<1`0#-(A7E_>$A#``YY2$.`#G-[T/-
XXMVD,!````S5)%S=I#____?\W71.'-`D1@:1$!`.O-7!;-7T?-%40A$``YS>]#
XXMS2U$S=5%S7)'*?WET1D12E$97A8`U=WEX2OEW>'1<R$,`#GE8&D1`0#KS5P6
XXMS5]'S4%$X>7-[T/-FT7AS0)$W>7%(1``.<WO0\T51,T1)>LA"``Y^>O)*@8`
XXM^<T^)P$``,T%`,-()LT3%\U<)NO)S1,7*D!11$TJ0E'KS04`ZV\F`,G-$Q?-
XXM>B9O)@#)S1,7*D!1ZRH!`"LK*QD9&>LJ0E%$32I$4>OIQ2$$`#E.(T8C7B-6
XXM:V(V`",^"S8@(SW"I28^!#8`(SW"KB;K`PK^.@L^`,+A)@KF?_Y!VALG_EO2
XXMTB;60,/>)OYAVALG_GO2&R?68'<#`R,>"!P*`_XNROPFM\H5)QW*Y";-(B=W
XXM(\/E)AU[A6]\S@!G'@,*`[?*%2?-(B=W(QW"!B<A``"OP<DA__]\M\')_F'8
XXM_GO0UB#))%!)4$4N24X`)%!)4$4N3U54`,TS%0``(7\`Y2&!`.4A6U+ES?=!
XXMT='1(0``Y3J``&\F`!%_`,TB%1%;4AG1<R$``'TR@``A9RHB6U$A6U+EW>$A
XXM`0`BVU(JVU(1@`#KS:P5RE0JW6X`)@`1(`#-<A7"K2?=;@`F`!$)`,UR%<JW
XXM)]WEX2/EW>'#D2?=;@`F`'RUPL0GPU0JW6X`)@`1?`#-<A7*\"<A`0`BW5+
XXMY>$CY=WA(M]2*@I7Y?WA(0$`1$W#N2C=;@`F`!$^`,UR%<H&*"$!`$1-PQDH
XXMW6X`)@`1/`#-<A7*0"DA``!$3=WEX2/EW>%>%@`A(`#-<A7".BC=;@`F`!$)
XXM`,UR%<H]*,,9*-WEX>7]X=WEX2/EW>%^M\I_*-UN`"8`$2``S7(5PFLHW6X`
XXM)@`1"0#-<A7*?"@A``#EW>7A(^7=X2O1<\-_*,-#*'BQPKDH_>7-23+1RKDH
XXM(0$`Y2K;4BD16U$9Y?WES?`NT='1$0$`S7(5RKDH*MM2*1%;41E>(U;5_>'%
XXMS9@WT7BQROPH(;8!Y?WES0PVT=%$36!I*2DI$?18&5XC5B%[.<UR%<KY*"$`
XXM!.5@:1$+`,TJ%A$B5AG1<R-RPPDI(0``Y?WES2PVT=%$36!I$?__S7(5RC(I
XXM(6@JY<V@+-']Y<V@+-$ABRKES:`LT2$*`.7-CBK1*MU2?+7*/2G#5"K#42K
XXM;@`F`!$B`,UR%<JC*=WEX2/EW>'E*MM2(R+;4BLI$5M1&=%S(W+=Y>%^M\J(
XXM*=UN`"8`$2(`S8$5RH@IW>7A(^7=X2O#9RG=;@`F`'RURJ`I(0``Y=WEX2/E
XXMW>$KT7/#42K=;@`F`!$R`,UR%<K/*=UN`28`$3X`S7(5RL\IW>7A(^7=X2LA
XXM`@!$3<,9*-WES4DRT<H`*B&``.LJVU+-AA8KY2K;4BD16U$9Y=WES?`NT='1
XXMZRK;4ADBVU+#%2K=Y>'E*MM2(R+;4BLI$5M1&=%S(W+=Y>$CY=WA?K?*42K
XXM;@`F`!$@`,UR%<(]*MUN`"8`$0D`S7(5RDXJ(0``Y=WEX2/EW>$KT7/#42K#
XXM%2K#A"<A6U'E*MM2Y<V^!='1Y<V.*M')`$-A;B=T(&]P96X@9FEL92!F;W(@
XXM<F5D:7)E8W1I;VXZ(#P`/@H`S3,5``#-"!TJ"%?ES=%!T2$,`#E^([;*L"HA
XXM>"OES=%!T2K=4GRURG0K*@A7Y2H*5^7->4'1T2K?4EX6`"$@`,UR%<+C*BK?
XXM4EX6`"$)`,UR%<KN*BK?4B,BWU(KP\4J*M]21$U@:7ZWRA\K8&E>%@`A(`#-
XXM@17*'RM@:5X6`"$)`,V!%<H?*V!I(T1-*\/S*F!I?K?*,BLA``#E8&DC1$TK
XXMT7,A``#EQ2H(5^4A@BOE*M]2Y<V_*^LA"@`Y^2&$*^7-H"S1*M]2Y<V@+-$A
XXMJ"OES:`LT2&M*^7-T4'1(;<KY<W10='-2";)03HD)"0N4U5"`#P`0V]U;&1N
XXM)W0@;W!E;B!F:6QE(&%T(&5N9"!O9B!P:7!E.B``+D-/30!!.B0