home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
sources
/
games
/
volume16
/
nethack31
/
part42
< prev
next >
Wrap
Internet Message Format
|
1993-02-01
|
59KB
Path: uunet!news.tek.com!master!saab!billr
From: billr@saab.CNA.TEK.COM (Bill Randle)
Newsgroups: comp.sources.games
Subject: v16i050: nethack31 - display oriented dungeons & dragons (Ver. 3.1), Part42/108
Message-ID: <4344@master.CNA.TEK.COM>
Date: 30 Jan 93 01:13:12 GMT
Sender: news@master.CNA.TEK.COM
Lines: 1266
Approved: billr@saab.CNA.TEK.COM
Xref: uunet comp.sources.games:1599
Submitted-by: izchak@linc.cis.upenn.edu (Izchak Miller)
Posting-number: Volume 16, Issue 50
Archive-name: nethack31/Part42
Supersedes: nethack3p9: Volume 10, Issue 46-102
Environment: Amiga, Atari, Mac, MS-DOS, OS2, Unix, VMS, X11
#! /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 42 (of 108)."
# Contents: include/emin.h sys/share/termcap.uu sys/vms/vmsunix.c
# Wrapped by billr@saab on Fri Jan 29 17:08:41 1993
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'include/emin.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'include/emin.h'\"
else
echo shar: Extracting \"'include/emin.h'\" \(345 characters\)
sed "s/^X//" >'include/emin.h' <<'END_OF_FILE'
X/* SCCS Id: @(#)emin.h 3.1 90/15/12 */
X/* Copyright (c) David Cohrs, 1990. */
X/* NetHack may be freely redistributed. See license for details. */
X
X#ifndef EMIN_H
X#define EMIN_H
X
X#include "dungeon.h"
X
Xstruct emin {
X aligntyp min_align; /* alignment of minion */
X};
X
X#define EMIN(mon) ((struct emin *)&(mon)->mextra[0])
X
X#endif /* EMIN_H */
END_OF_FILE
if test 345 -ne `wc -c <'include/emin.h'`; then
echo shar: \"'include/emin.h'\" unpacked with wrong size!
fi
# end of 'include/emin.h'
fi
if test -f 'sys/share/termcap.uu' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'sys/share/termcap.uu'\"
else
echo shar: Extracting \"'sys/share/termcap.uu'\" \(39089 characters\)
sed "s/^X//" >'sys/share/termcap.uu' <<'END_OF_FILE'
XFrom izchak@linc.cis.upenn.edu Tue Jan 26 02:35:27 1993
XReceived: from master.CNA.TEK.COM by saab.CNA.TEK.COM (4.1/6.24)
X id AA28971; Tue, 26 Jan 93 02:35:25 PST
XReceived: from tektronix.TEK.COM by master.CNA.TEK.COM (4.1/7.1)
X id AA16582; Tue, 26 Jan 93 02:35:07 PST
XReceived: from linc.cis.upenn.edu by tektronix.TEK.COM (4.1/8.0)
X id AA10093; Tue, 26 Jan 93 02:35:21 PST
XReceived: by linc.cis.upenn.edu
X id AA24633; Tue, 26 Jan 93 04:53:35 -0500
XDate: Tue, 26 Jan 93 04:53:35 -0500
XFrom: izchak@linc.cis.upenn.edu (Izchak Miller)
XPosted-Date: Tue, 26 Jan 93 04:53:35 -0500
XMessage-Id: <9301260953.AA24633@linc.cis.upenn.edu>
XTo: billr@saab.CNA.TEK.COM
XSubject: Shr.termcap.uu
XStatus: O
X
Xbegin 644 termcap.zip
XM4$L#!`H````&`)H!#`VHK'I&:@4``-0*```(````1D=%5$Q2+D,-`@$2(Q05
XM-C=HB9K;/`4&$A-$Q?:6]U^J5!$<+=A0(4B5"1,$%\WYT+=P\\I->Q8M79`H
XMQZ8$&3,G3IDL01J56Y8,\4X[%\UY/$@0P3LH6[8@I:S/.<:[[-RR<NV8+V48
XM;%BJ:/PWR+EOS=*]&X99@PSKENS+MW)!DGT[MF[;LF[IAJ6;]JU;$."GO=F6
XM#3N'W<UT/]RZ8MFF'?-?DNG>=*QNL7726W=S5\[:;5@V7;<;X]UR[-LVR%KN
XMV#3/&V2=_PTB>K/-ZT(?9YJV;5HZTRXG;4WWC?BPWVW?3&NS>5DL'??VC>)Z
XM8!\-LRXK-@\P>5;.^*9#M6`'-W;+A?NF6<\QUG#EOK6;EDSYTT7C5`VK+)<_
XM/@9*U/[JN\>6*2O;ADWSUO#Z6#K_S/U!CKG?;L]TG[\<8^3+9?./F9EQ:Q=S
XM*B15V#.[T2R]8KWF_:HUB"E-[,QS5YMQ-N.]-LVTWZ&KT0`3T7J.FTO=]#J=
XM(\;:)UM'GRR+%TZ9MK[:-8@A#U]EW6WG$+/CA7U0F#`E3J:!-W+S*]S>WRTV
XMS?BZ%TRWF>/MAGO/(;/Y3SCPJZW7>=9R@@DU2Q>O"]<<9]FHPA?$*W@S$-XO
XMFEN=FVE2H5*#2LU"V%W5Z5"J29\ZJ1Y`NQDYE5XMA[$#^4&R?7MF[K+"X%QU
XM;#EPV)F[#5.EU9Q8\-GY7EK$6%]]*I7HE&%PRHUPHP@5O^NZ'9,Z.<<^.36K
XMTZ=0IR:I3P!I]UK%?HU2+%P6PGMN6CV7TV;AIO".H]X[FMOJ#P*\>JZ-)F5:
XMA/^Z*W"::-&I0Z4FA=(54F5T6#*Q/=EOBXW'*W#B'ODRWB*6M8C(B=#78+59
XM,UXHZ.6N10SS.G4XF_^Z3ACVO^&0]I#W'3RTF\*\B*K5_AK-=EMG\W=;!K%3
XM#F;O,_;?FI>E%;4N\SME;TU7_"Y#NQ/<42E9X#ZJ!_7JW%+>+E)-N*_:E]5U
XMC!"OTVQNG%:_O>-OFE%6O-.J3)FZ4(L.TA5,9Q7YLNU2G"+>98!N.:N1://.
XM`8^?4RRXWAL'S,85O+J*@SB+$6;\V9XNUGH8:Q^R77A-]+<@U/)>.^?NHTTQ
XM-4'+]IJQ6%1ICE?G^69S6L88XU?>*UX=>I$S9F^S;92KONQW$"76^AST9V/U
XMEMAR\T2+,_:;MY:Z86QT"J[8?M.BS@/9.]YER<BRB^DV(\V0,^P<:(225=P$
XM[)N.:;0;NH=*"[KE%'%S]QE>-3Z<S:<'E!8$'!!8D!01(GJ/2:OEC&JF"2O?
XM,)I)GD!ZH!7SHQZU.RVTZA',(@`?@"`L^7F`Y9I0[CM0MYG"ZSM]S\Q!K)8R
XM0^ZR(&:'2)P`LI`%JWB4+6<9I:8I)@8*Z7J^.Q'00O$LL>MTJVM*47V$]M*D
XMKN,)&B2/8V5*_=8E6A^>BH3I7;0JT2>;[R>$44;10LN>(07;-!RI9A*CI!E3
XM;#:8X6X,2=U)23;!WHN(+Z>4JQ<DR#>UH%ZGE/PV48*_(_J`$L6^D[K9JS;N
XMECPB]AM)?UDY059CT2"^HMC?#&L282+&S,`F^!;8&?D8+4:>,&HSOZJN+8VQ
XM&&`2^:6+]'#0J/-Q-4Y7;&-KN'!@-]NP\2Z6)HM(W^3KN5J.09*`O/A+2`FG
XMGE`>72320%E"$$U"'"1$:H3X/<AV;MZCJ6+T1KOCN<JOQX0/\&))C8)<SAF'
XM"+)G#\(;\D*VFSFF$@5T0R;[V*DJO^[VS>!7(`C$:#?'-CYN?L.1?A/,>XMW
XM[R(]UJ7*EBVRA_8^R=7MB6[*:'9,^U@)9;]-@CB/YW)>)KC[*U>"T*]W0)<@
XMSE;.C<UR#%*\131?&0.JW(%.]CG^/E(1;"OL8OM02P,$"@````8`I@$,#;2E
XM)0;\`@``3`4```D```!)4T1)1TE4+D,-`@$2(Q05-C=HB9K;/`4&$A-$Q?:6
XM]U^J5!$<+=A0(4B5"1,$%\WYT+=P\\I->Q8M79`HQZ8$&3,G3IDL01J56Y8,
XM\4X[%\UY/$@0P3LH6[8@I:S/.<:[[-RR<NV8+V48;%BJ:/PWR+EOS=*]&X99
XM@PSKENS+MW)!DGT[MF[;LF[IAJ6;]JU;$."GO=F6#3N'W<UT/]RZ8MFF'?-?
XMDNG>=*QNL7726W=S5\[:;5@V7;<;X]UR[-LVR%KNV#3/&V2=_PTB>K/-ZT(?
XM9YJV;5HZTRXG;4WWC?BPWVW?3&NS>5DL'??VC>)Z8!\-LRXK-@\P>5;.^*9#
XMM6`'-W;+A?NF6<\QUG#EOK6;EDSYTT7C5`VK+)<_/@9*U/[JN\>6*2O;ADWS
XMUO#Z6#K_S/U!CKG?;L]TG[\<8^3+9?./F9EQ:Q=S*B15V#.[T2R]8KWF_:HU
XMB"E-[,QS5YMQ-N.]-LVTWZ&KT0`3T7J.FTO=]#J=(\;:)UM'GRR+%TZ9MK[:
XM-8@A#U]EW6WG$+/CA7U0F#`E3J:!-W+S*]S>WRTVS?BZ%TRWF>/MAGO/(;/Y
XM3SCPJZW7>=9R@@DU2Q>O"]<<9]FHPA?$*W@S$-XOFEN=FVE2H5*#2LU"V%W5
XMZ5"J29\ZJ1Y`FUQ55Y_1NQH[OE2"KR*FG"J^K)PVJ#MMCST&SO&Z0ZOL,_8]
XM-:O3IU"G)IV"C&AR@V`F<*O1IM"#8K9HWV&?)%ITZE"I2:$(C:1;34?+[2;/
XM355JU2))2J-!F4Y!7HI;\<J+5:W/M$[#D>W?L4/3H9S]<7XH)H3NU!9'CHI;
XM9>%AY*:L$[7C=%T030JM>N1NLFF8-;89.C2;V1KDKGZG*<(T9_!&K-'@+\VX
XMW3+,<$`HLP):]'HIU4F36*/BY"/P5^!V';T;)`\EU=[]UB5:']4->INQ-K!T
XMC.<$6AJ&^.@S-#V3>[JMBX.K(&50MT^0)W.>!,F7S_:1J^4-\\2H%/B%]H:4
XM**)YRAWQ=9_-;C:+-N\XH*,[9;R$'U!+`P0*````!@`/6GX9X0ZOD6X?``!D
XM5@``"@```$Q)0E1%4DU#+D$/`!(#)!4V)S@Y:GM,G6X?"08!$S3E]I;W0_(,
XM*W<L6I\*Z9XM2[>L6[HNWX($$<QOPJ1),Z9,&<$M.XQH5DS'A`G3AG#'R[1Y
XM`YH&"5;AP0!'CU'`U$C,!(YI/,]DU<3E![,GN+@H0F/++ZZ*,'$%:OU?%R'Z
XM5,>>&%BP%^4_F#C!PL#K;B!WP#@!TDV(2VH'N-[M>H2X__\+?GU9R.O%P,\?
XM+4`"^+0J:K-O?@;STRT"/8-I-2!OTXI@VE^P._I"^H+M?=CY@*Q'PFU=KZ!K
XM8TO70^C:S.8'NEYT3.#K`28?3K6HU*9#@T(%*!=`L@)\,:7'OK#2<MN.#0NG
XMR#1#M*KB';T*J1E>B@\O3A</7N/#2^$<L_D5''.N=`6N%XE65ILY?O3U_='C
XM_,JB"Y#/?SW4]3S1TII:K7FCZ4U-DZ"?WKWV]L=F2M[K0H"V/+%ID\LG0NJ:
XMH\T%M%::]O4!(16Y-Z*">F1=!^:GC^3MD-,O*M;%31DF;LH/;T."*T:H4T'4
XM+5M>BO#?<<(C7$_NF:Y+0@FDA&/.)\IR[#JB[`KJ1/^HTSS&20O;I(-UT@#2
XM.AY2,X:62UP/P0P"'5_*1?*EC7[F:/<A?$,QQX;Y3K#+,3GEV(E<^X]C%W+L
XM)HY=Q[&'^"8/W)/_`3S3T@%\T\V>R3_'GN+9[QS[B6.7<NPCCCW"L7,0GB&!
XM<RJ82QAV,LO$M@,$M$SZ6(:'L@Q_9QD>TC*\JV5X9LOPYI;A$0981JY8AD>R
XM#$]F&=[.,GRB9?A0R_"MEN&U+<,K%+",U+`,/V(9_L4R/(]E^"/+7F#4X)8P
XMHF4XP]W`,IH1$_N2O'N`*<)=WQC`J&M6`=.TL6NTHSNWC'X,<,8R"G3FL8RF
XM#-#(D61JXFYD98!?CIW-5B3<`->X98!SCIW..^C+`/<<.Y]KT)@!1EI&:PJV
XM9=PS0%++:-``41T[H7TG,4T^6G90@R_#;FF9V+-^NA/);[(]U;(#6[8OJ:IE
XM8LFZ:IGX2UDM.[AC%[4'62;65E?+<$/1X^X$?VYR^:LE@T8/D-PR.CU`=LMH
XM]0#]'?NM=U"U>88[H=T#!+&,?@\0Q[+[>@<-'R`3:#=V#3H^P"O[Z($!N2RC
XM"P9TL^S.[D3\I=SN!#]N3?#IEDE\R_YNF:2W[/;61+Q9[TV)=/,UNF:`VT?$
XMM9UE=,Z`?I;1.P,R6D;S#"AI&=TSH*MEM,^`T);10`-J6T8'#8AO&2TD>0'+
XM.-&`!I91K;&%9<<W9N(I%3A@S,B$`S8/*7'`FY$8!UR9FDLS#K@R=;1J6'80
XM5R1-+/O9L6._CGW;%FY:MF7)N@10,?&Q`-,4]XG'["DWYLZ6,F/2O$D3YTP;
XMP^]01M_<":!@E#`27X;X,G?"W*$SBW:V;]V>!8'/9^`#>EVW<].>=>-VZC0-
XM=0'ZEC'^B6[(&MW(N6C?RJ533=OPFL^8>QM95RQ[8T`A;]R#L1H2AS=MLV;-
XMF37V8<HA<Q`-9TW-F9JH_<WF/(X[4_4H;S+&/2VCZ[8W<_5ADJ@RII5&M:7J
XM;^N*86/21B:.0UKV9M=H&M=HNV_3DH$V(B4<HY_VK=BZ9G52C<'GY\J$,8?`
XM\I@L8;+P\SN_PJ53]S'BO$H9S0:M7-@7&W:.TDW/`HZ%LWP3:SWPGM/&,ZOJ
XML&=U*!=D&][&NYKY?=?!W]Z]EW=X;S0ITR)XNXV@#ON5;=HY0-:;`,QVLFG-
XMFOWR^7)Q6[,HB\/\2^T1R"4_%H[:YK2Z)3,U4S9N9_-1_GKV#7?R/?N8-K=5
XMQU&]'._=Q"ZNTVA,@&+AZH1CMKL-V[8,,C?S?`PTK*(H<QWZBSJW([2_A9-O
XM0>L8W.F8AIL7P-QHG6;L8QH;FJE.Q8:U&5.S;4HQN8%W$TX@F=1YI-G"DC>)
XMBL52+$%<B@7*Y4=?BH4I.5BPM#H.(<5"-HA9S"0/6:T.!*?F6@(*)Y)05K()
XM)`K9"A+G49!(&M:TD&N<Q#61D:TCF;*!X8'K%T(*2'2#@#2!C>P&UV/J<52D
XMF;5W2*F6J+HAI0)FAXH&_V,9/LHR/)YE^$C+\*^6X9LMPY];AD]P)G@6R_!)
XMEN'++,/?6897M`PO:AG>U3+\MF7X!3D-?L,R/(EE>!C+\#V6X9&D5-!*EN&=
XM)$PNI>>"?O+Z?,LUJ),PBF5TE)0*+R78EO$I+*IE=)43WI;Q+"T,:GDM-:UC
XM%]/3X=T4;/@Z!1M^3TR'Y]-RB'WM*R#A`U?;3.$#_D_A`QXK:EGX<);0R^)Y
XM7%0M2I*-%54,*Y(*MM5MW3:@B(4B%OF%(I!K[%4HPJ*K3'A$-YG$$(JP#$(1
XMIQ>*G%XHPM,+1?Z0,"P:6)I?)&REJ/0:41\6IE1MTA:)%CZB9:H5J6]>%\\V
XM39?"L4V;#V(K@/]KP93M>J['?'$`_CC,N@F<QX^`!V#(KB`#9M@_]#5HH]?Z
XMSP6B!$`-X0+/_^'KIO@6OB=&/A@X-+8;=XF)@P>,%FUA^WIE`H`^V("N0>^0
XMU*8"0/D0U`XFD0#`[&"`9]M%;%FOI!)[P;!K))9(P+-<@ZJ$LZB$\"^6T5L!
XM>EE&B>9QEE'5ZUE&M9`'6D:#&5++:+$`)2VCR?S@',S=H,N4++9,R>:YEE$[
XM?VC+:#8;=,OH-@<$3Q/SX>G$?/@],1]^T`T-K^B&AH>4\.`C+1-+5DD5C[0V
XM[).6B;654L@#IM9EA0/\'\@#/%;MV<<#9?P<^,^FI6.YV,F#NWJV=<!R`&=1
XM-@\-0)WQ\';SP.:$<?.`*J-R[>;!@@^PB4@TR"2,P20R!("GDB%``PD0)(X,
XM`1[%-2DA0^`]Z1XP$'YA0NP@ZQEPK0L\'GN>4H>@@N((VN,Y(P#*CD?0KUZ.
XM61*W<NR*$&DN0\_3*]V.ZV="DKJ@KHM@:VKB+J8NB6XL7Z]BFF6GU(H5`@[_
XM$1%:\NSK)7Q%41<MU#+WZS5-N[I?SL)O$=R\(QK!W?5%ITHUB$9AFZ52BW
XM`<I.XK4Q"?$^%A?%LCF#B<U]^YO8R*/&]@?`L,C!??D+_(NB',=4#C\1>%G\
XM`["-RA.$C@`^H6:X7MJ81:B^XNN/0JHG_]>P@Z+GZB^@0]*UT&X`76)64D8)
XM?81ZT[,SD*89'$FJ+6:I!:(==("516\.<$B<P,/1),_NXYA8F&`!+$R:P,0$
XM/+Z;9?@Y$Q.H="8F4.N44/!V2BCX.R44/)Z`9<NXGI1M(XL:@PJZ1OM)H=DR
XM_6<MCN9G`\:R,GBPQ,+"'<UL^$<;FY@S-O6ZUH8[G1$MHW^=/ENF@5W-EFGA
XM`&:L0EH323+`-<;@+S:.2E[9,@HS[K:,/K8W6Z:3`Q2WC&I?WC)J!=S>,MK9
XMI+>,?@[PP-JHCO:#971T@!26'=.4B"7KJ"G!JYH2_*PIP>?Z:/#`OD3L68-]
XMB9A:A2V[20"O2#L7\"<:W-UH@@'VC%P84,4RFF%`&\M^[?%`-PRX9!SM,."3
XM9522C[.,AABPSCC\GV6TQ("$EM$3`TI:1I6UK&5TQ8#"EM$7`R);1FL,B&T9
XMO3&@MY\O:R+^TG5K@I^W)GA]:X(7.&!-R(,#%B*RX8`[47M6AP/N1'VM#P?,
XM).!BCE``@/^;28#'JCV;22`1I[D-5[F83/(;,PG;OVP89#O"*E``N/???BT[
XM9W>SIW6:T:;<86@W=2ZFC<73;</"\8I/:?8OS(1*0#A-V<VV.!VD&589LZ^O
XM\R<9;*-S4Q,2U\[Z+=TW+0'U$O`95.HE`)4&3/C&2X"E/^`W:"JO0``&B0#E
XMDD^?0IT24>@^@EX+,*YI7:]W/9Z>DD&^(1%V/UX0*`&A*>DA2(^#V9!G@#R/
XM;4[#:3*4NJ!$?9%,ENB(A\+7Q16>Y:#R`LGZSVF^OB#Z$6@K<DCD;"<YKK`E
XMI/(2%NV2,&40ZTPR*XE$:'5*/\4U4\F^+2(/+)H>C+_IP\,ANI*&M#2I_3]X
XM;<RN;AA$_@*6D=:6X8;5J8``G+H';AAX'.<`;ACPEPJ"*M>X"N9]A#T_`"
XM*^8T"YV^H@$`Y,85!D5/O=\K',T8%+VR9/MQYUK6@,$.KVY)L$-,WPEU'=+0
XM(%8:&@EI:+2AH8&>96B@:AH:R61HM)"A@5YA:*:[U-"JF&&EH>5WE<;OHM._
XM!U`.GD(Y7R3;[$=HG1]U=($.:@>Q#S\;0%D89U.+LX1R>B<%MWC?CHL[TF`=
XM3$=Z0(*=K&6<7F_@F(03-,U`GJ$PYLP3"P\N7N!B19NIB;(I:QXL9M7`*J)K
XM77]C;TK/57MC0%FS<A1UT9%+].LA9"99(C9)@(W+PM_JQ3/CR\D/>)FL,#LF
XMI1V3QXY)8,=DK6.RU3$9ZICD=$Q6.B85'9."CLD]QR2=8Y+-,6GFF.1R3%XY
XM)I\<DTB.R1_'9(YCTL4QB>*8%'%,0C@F%1R3`X[)_@*.:7G')+MCDMPQV>V8
XMO'9,)CLF@QV3NHZ=QP_CM9Y)6,>NX]E7/9.E1A1-$-0SF>F8G'1,%CHF^QR3
XM=IXFXSR3;)XFSSR389XFN3R358[))\=DD&,RQS$IXVFRQ3.)XFERQ#/9X6D2
XMPS,9X9A<<$P:^"8%')/^`QS3^HY)>\>DO&/2W3&I[I@T=TR*.R:]'9/:CDEK
XMQZ2T8]+9,:GLF#1V3`H[)GT=D[J.25O'I*QCTM4QJ>J8-'5,BCHF/1V3FHY)
XM2\>DI&/2T3&IZ)@T=$P*.B;]')-ZCDD[QZ2<8]+-,:GFF#1S3(HY)KT<DUJ.
XM22O'I)1CTLDQJ>28-'),"CDF?1R3.HY)&\>DC&/2Q3&IXI@T<4R*."8]'),:
XMCDD+QZ2$8]+!,:G@F#1P3`HX)OU]`*2^8]+>,2GOF'1W3*H[)LT=D^*.26_'
XMI+9CTMHQ*>V89'9,\CKA:8*OCDE5QV2B8S+0,2GGF&1S3(HY)KD<DU*.223'
XMY(]C,L<Q">.8/'%,CC@F.QR3$)XB"1Q3P5S"L).Y`;`/!)[',KR39?@ZR_".
XMEN%9+<,K6X8GMPSW1UG&4RS#&UF&%[,,3V<9_M`R_*=E^%7+\-B6X1$*6$9B
XM6(8/L0S?8AE>QS)\D1&0-#"`HOTLP_\%F&`9%?^#950`-(9C9[*J-$"B!*[Q
XM07-W[%"N"9NI6)9)(.-HP@!7''N7:Q+'-;HP0!I?HPT#[''L8\8)`(M=?QC@
XMD7%4`GB4953GOF49O1@@GF-?<\O4"LJN:4=S1BW_Z`!@RW0DE-$?Y04A]JQ^
XM7A#X0B\(/*1E8G.5LX`+A/J2=EHF[E;/`D80NL\>9)F$M#::VE/PUP&B6D9C
XM!^AJ&:TM)+";)Q(@<4UN!\ABVE-=@^8V^&R9]E9BV#+]C89N&574B9;1X@HT
XM6Z;'Y?B64;USLV6TN1[-ENGS`.TMH].%*+9,I=HR!RSC[%HT6Z;;`ZRRC!*(
XMRUE&Q_M2R^AY#98MT_2V:AE=[\XMHT+E6,MH?"&&+=/Y8$K+J$8>VS*:/T!M
XMR^A^.KYE]+\>PV-]/O%'Y?7;)#\.]_]A>R"6H,3>0+QKL65',=CDMF7B<+3<
XM,G$[BF^9V&P^8)E:+#VP[&?'CCF!?]L6S@;B9%T"Z"#HL0`T`"8"\I8R-(AO
XMTL0Y@P1N!DD9]0"8`4#%@"Z#`+00@(&`#)_/P`<T"JP2*`TTME.G#@`&]"UC
XM_!/=D#6ZD7/1OI5+IYJVX343`;]I(^N*96\,*.2->S!60^+PIFW6K#FSQCY,
XM.60.HN&LJ3E3&4A_LSF/X\Y4/<J;C'%/R^BZ[<U<?9@DJHQII5%M+Y#7%:/&
XMI(U,'(>T[,VNT32NT7;?IB4#;41*N!?0WXJM:U8GU1A\?JY,&'$H`U26,%GX
XM^9U?X=*INPWPGBIE-!NT9-R_B@T[1^FF9P''PEF^B;4>>,]IXYE5==BS.I0+
XML@UOXUW-]+Z1`#&G`,PB[_#>:%*F1?!V&T$=]BO;M'.`+#M`9CO9M&;-?OE\
XM!7AGS:(L)=!?9H^!Y6Z&&_)TX0AWS(@#_^R<XN%P;F"JV>'*?3NV[-PYH4OK
XM-`*UCVVK$XZQDZF>SOALEDV9O9T26Y;)TJ]SZE."FT$VO@LKL".:U&GF>[IE
XM9F<=YC(WK7-JC,H_C.73,_8X`+NI:@=@E!Q[CFYB^!CR$FUZMW7&7`'0.M?E
XM6Y`@@LF;,&ML:9@P;\I8=AC1K)C*_6':$.[XF3=QI)-@%1X@9>=WRO`D/@YV
XM3%9-7'XP>X*#^XS"Z2I<7!3!"%T@\/4,TW]S14V?K5B/%_EGW/9!.E3TR_\I
XM8-*#ER,'3A<%]?P2*!]0?.+@`9-AD)X8^6#@T!=727<)T1XMVO_9OYXXI',P
XM:7.7=95TV]7XG*OA+;P;TB!"6L>/K,,;"%O-:4O4JZS;8(?PAZ^;,H!'1%DI
XMX%/1#B5YB/^AY?MZ<A[$M:QLNNH-$QV3,8Z)E0*VP#*9$<#,1XH$L"E@OYB!
XMH:[/.9S/II'<CHD[H.J0[V2'(GT<=0#*<:M?'6!1U`$>C<J%J0.MB$LC$AX0
XM'L[Y-T&QO_0[</U!R#&!KU>X'B&N=ET?$%*8JXE`YA"2X'TLPT-9AK^S#`]I
XM&=[5,CRS97ASR_`(*A+\BF5X),OP9);A[2S#)UJ[4,WVH97MLRO(*""*]A
XM&7[$,OQ+`86/:#@TC&7X&!T17D9FH98[2'M81K'J)EJN"@A,Y)".`I]40..!
XMZ7ULY0+^;^4"3FG4P+P\(SRS>/'N"LV>+3/REL,*$+5&XH11:T#27D:MP1(J
XM;7@:(XZ$L`I@$?ZO$TC792`\0O3L#)%D8(C7/:!K'A;R>B_72NU:`F&^Z`.K
XMQ,*KXO_?%)\MC8^6;!%76-?&RI]_0+\PIBGHN=8M<>S&\(H3@Q;D`7QMR#-<
XM\3]0*,KC1W^(:1/;`J%%"D?1JW1#"(](K2*H4,$W-"I\CV7X)\OP=I;A'RW#
XMMUJ&7[8,7VX9_D"@PJM8AC^R##]F&;[.,CRB97A0R_"LEN&S+<,G2!3X#,OP
XM(I;A780*J`026]8O#Q2W,<."!@NPPS):3*;P'N.@`N47RZ@NCF,9769S6D8)
XME*\LH\]4;<LXFFQ;QM<"Y+.,;I.#V@Q"-1(.I9'@KZP0\&%6"'@V+SP\G642
XMW[+KV>&),>N>9>)JY7/`$6MKGV5X/ZT(JK8(#![P?ZP(>"7.HX[I.2L254VE
XM""X63HI@QK%M'(*;@18VKB)I=UNW328T3V@-PF^D-J>#;_]=!+A.V-_MQ&G:
XM"(5`NC]&*(3%+:`SD)R.250-$FJ5[!`MP8PP<0-JD81BR`((K16>6!@DG']A
XM:;4H&H9'8`D\_2"2J)!^X0J&QQ69_G]]G>7E+*<_?S2>*$(K*$1("1V-]BD!
XMGR3$;],CF.8[V!W]'G).8%OA*%-RB\$?86.A_WJ!TW70%U]_86TLQ?$$RUN&
XMM.,4P">8:E&I38<&.7"]L60QH%W.GPX+1U":TV-?,&-G)AFB%:;LZ!&<C5AY
XMIN4?$A;DPG%\7E8]Q_S%!BLL3S981XE6V918QONY/WQ%,"4TW00VO*?C!?+4
XM0IX:#8=5]*K]=0U/C]Q1Z$^O7R/U8SS'*4";G+7/-)5D5_-O9RO::$1KF;3!
XM+DC;UQN%=#9USE1H1=_C'%@/YZYA>+4`HH:?Z(\)Q)SD]N'&_,BZ$OX^_:G'
XMI]-_.J8713!\T<3DBA$43)>P;%\2FV4B%"<W;M&\+HH9!NYXOG09'+/$*H;9
XMP1OP)D^M%-(&C6/X)B&\DPB<UO&0OHEG:Y)S^$MD3Z0SDSK]9V9R_8!S^TO3
XM!V@%O"'Y``V#$_QV3/XZM@WE#74]D[6.R4O7I*1GLM$Q^>?8%US[FF-7<.Q2
XM`T0\WK#)-]GBGBSQ3-*+>73#=P6-)L@H8\BS!VIX=$,NUW3#"!D$S:"EP4[(
XM(.`Y9!#$MI8X)M$-.XP8`A['.XD/VH%<PR-9AH>R#(]E&?[+,OR99?@WR_!W
XM(C!:A@0&M:H4<LD!2HUDL:QNR=@RNV3DV3?<!8*>?0PD?&X94$9_V>=VKOTM
XM'&>Q]C%8=TS#S6--/*]@;,%$@63LD<F:-!X9*#I_FB!B')`J*"S&05UVALP`
XMVP9K':2JYGX/,RV<2F$;9U/(]MG<QV>3-JQI(=>XB6O2P;%-&^[(#7*#RR8C
XM7/8H4C>!2$]1:T?<#@.8+!`\0.2X`WL0SOX@I`F9-@`<Z*BE9.QV<SWSH^
XM6!L_$L@T9<IH(C2_)L+S."8B4*R6Z*F+9@)/W)6>$SE]].6<"$L/$/57*&E1
XM^HN$38I*7S%&G!H?%@YEB9R>GRS\2LN4%JEO,M`WFFZ&8[NV1K%88`^/WXD%
XM*F;XXT7"8N<<9MT$SN.[HJX_@.P*5D6P_:%OB%+10ZD$6,;SD8N[\G_XNBL^
XMN6K@QCX8.+2Z&W>%B8<'7!9M9OMZ9;W"UT^(946![Y`*#A;#IS\\PI<-5:*3
XM%QJ?3!#I`!Y`I!/+>(ME>!N9#Y0_&.:#-$.BPF7:0A_4SP#RC1]?Z$,3%!`7
XM(D7A,'(T\5H`'LQK@59R6:20UP(OXYJT\%IXCXD;9OF(QE<+DX`"VRL",.C$
XMQ-#UBG8+$8-3#H0O1O#S6,SG9F(^Z87AJD`>%/.$/+W2#;G^QM0&\BFI;6U'
XMOZ9JXN'YBX?'4J[,JT+`X3\B1I!S20H5AU00+=2Z7L!03NF=-6"29O&;XSL6
XMHD[DE.,;EZ\NNE$L0K,,W2J4VT"H.@LC-]#FJDB',U@<;FJ@8XOC38T7W0^`
XML(D$Q`7^95&.`RJ'OPB\[/X!V*X8(F#AT!%6W5?4#-='F]BTXJ;[TN+KESRS
XM??Z_!N4K>A\^`V:ER<:2PQ#FO(QF4-KLVJAG0$U5+#G:%A;:Q>BY[P"E3><.
XM<'`X0;X!+@YMY9B89+``?@[16`"X=X4T[#7>29X!8B"J@10KJY%W^">Q!93'
XMLM@"D6P9\X8[]K=?R\[9(/_:9B=4(44Q$3O/=NYO$A.UF.B;,G8>D&OFS+&8
XML!S83%(9=CQCD2#H3#Y]"G5*+>%]T'3=A;B:=3W?]7H>DFPHX]?C!4$4.XQA
XMDQZ"]"20V4JZ(8IMSL)K,I2ZZ+:^2"9+TNT8"E\75WB6P^<%DO6?TWQ]0?0C
XMU%;DD,A983NNL*61[?,O(0!>$J8,8IU)YC/Q*?S4UBQV==OD+DR:UMWD:,\I
XM_*'@(:WOBPD6YH8)%-Q?H;Y2&`9^P#*2O8!M2"[/3FH:W#"@(UD:;AAP)D,&
XMD=Q:`)W3N(>*?/U/LS")-3!F16M)BEKC#(I>>3\*R=&P0='W[H?#X\,##XO6
XMQ!W(-9UD**2C0<QT-%+0T;!UC@9JG*.!ZNEHI(ZC85L<#=041S/&H8!6Q1PK
XM-:V(,3Q-10Z=?D"Y0CJ'7?3;K)T4F.%=.12%JB>;`Q@+0VVJ9EHYG9.!7-SO
XM"VX":H3X&2C&^`=832?FD&4B6RIB']^2:3SV5#<UT*UH^,8,*WTTGAG%/\*;
XM-Z98")L--->TK>MG/%G8X@3*0?\7),XA_"99XC*(?J?7T+A#`B^+$RQP3/H?
XM<$S'.R;9'9/ECLEMQ^2R8]+8,?GKF)1U3+(Z)DD=DYV.24O')*-CTM`Q^>>8
XME'-,LCDFS1R37XY)+,?DDV,RR3'IXYC$<4S*."91'),ACLD-QV2%8Q+!,2G@
XMF-0OX)B>=TRV.R;%'9/<CLGG`GXH6MDS*>R8;MCKF;RU4:@G]4RR.B9+'9.:
XMCDE*Q^2AITE!SZ2>I\DZS^2;ITDUSR298[++,2GEF&1R3/YXFM3Q3,IXFFSQ
XM3)YXFA3Q3'(X)BL<DQ"^20;')()C8B:2!`$<D_Q^,!+?`8H=D_".27;')+IC
XMX@+&P1V3W(Y);,<DM6,2VC')[)A$=DP2.R:!'9.\CDE<QR2M8Q+6,<GJF$1U
XM3)(Z)D$=DYR.24S')*5C$M(QR>B81'1,$CHF`1V3?(Y)/,<DG6,2SC')YIA$
XM<TR2.2;!')-<CDDLQR258Q+*,<GDF$1R3!(Y)H$<DSR.21S')(UC$L8QR>*8
XM1'%,DC@F01R3'(Y)#,<DA6,2PC')X)A$<$P2."8!')/\7A*)[YBD=TS".R;9
XM'9/HCDERQR2X8Y+;,4GMF`0.X%")8[+5,=GHF"QT3-HY)N$<DV:.23#'I)5C
XMDLDQ.>28['%,TC@F5QR3)X[)$,>DA`,'&"M.-1P3A4`]+!,+5TTL$Z4H6Y,`
XM)J'&6"8TH>:8FB0U[$(F'/R29?@I'PZ8$6\SWMT,_[8N73C"'3/BP\H].Z=X
XM..G7==/L<.6^'4/B@O8YR:E/I\!20$>_`GF=,^)`>"&!/#-GC1<2F@%7V)0E
XM`@2NCD\!<4I7P0=-UY5P\DY_'L#+XNF_'5,U,!J!"L>+<<#P*!#X^3<F0'-X
XM`%^O8Y2>=2,P4[<1>.,!G2>N<T+S8>>@W.8NZR[YX1G6-!NLX60(01I$2.LX
XMD'7X`V&KN0N62;W*N@T7J0<#MH$7CQC`B'SVMG:%^'\:OZ\G-W_CLO2W>JE8
XMSFN!I1M".B9O'!,3+)`UW#[\B-L'[@ZRPL,A$S<06!PK/)!CRL1Q^-`L#!_Q
XM!U0P=OBNZ$PC$AX0XI_S;X)B?^EWX/H$![`RF(#E%.5'4DNF1B@@#1D,7[B9
XM$=K9RB$<Q%XXCA,&R#?V@F2T%CR,8Q+"X,#,0`Z!`>`(T;.[?,[@\K7."J!G
XM5@`5LP+(]M!FG^`]"Z`?P`!9!?0_#$CQ??X*Z^)X@#V@7QG0.->Z)XZ-)R<3
XM+@(M"Z",'0KJ*_AO=`HKO.OB1Q](;>KR;$LDBPN4A+#[@+AA]^%%+,.K&"((
XM>Z*.Z3F6C@902P,$"@`&``8`U75V%MH3R5_Z"P``K2````D```!41T5414Y4
XM+D-A"GL'!AL&NPQ+`PD'"PD+"0<6!P@&!08'!@4V!Q87"PH&"`H+!085!`87
XM!0H(!085!@HE!@@'&`H'"@@+!PL$)00E!`H&!`44!0DT!P87"1HK_/S\^_O[
XM#`LL"RP+/`LL*ZP,`2(C%!4V-VB)FML\!082(Q3E]I;W,6/%$CA*4%3\8\6-
XM*W#5N(SV4KCMJE:67]@H^)/HZ3GY/V6[ZS_E6BM.)___/S[/W[%ZU]^YUWN+
XM<-<IC\,>;U6N]:][;8E_MOL_1SWFOOWZWIC+][$\R[4?'^AO]WD_*_:OZ?S2
XMW#ROAM^U?JW+=C5GJ4?GN;=U/YXS_Q_[,6WLY?*]-:[G_/-Z__TXP^717_I7
XM^5I,_R8U+SO1F__+>_VJA<NW6-V_[QEG`^W*O=W-<(#7ZO8<"\H4^XC2O)7V
XM]5[S?VG;(UQUI;]4GN4_Y\E_:8`V'_MR-6[EM?Q<WAM^-Q;_A^O_1N4YJCJ?
XM_VTP]-OI?V%JN>MY_[<J0GM>*A:[_"1X_6/_ICW1&N[O-<X?[B=<IC_^6BJ`
XMU^U>2S?UI]^+0]5JUV?ZZQV^I-Q?RQGN&_2-\[G**^)SE6$^:$UX$U\O\(_\
XM^5>NO3S-Z[S<W^W7KN6XUQ6IP_>6GDU[S^>S"5ZI6O.\$Z%QPAK1A)A%Q47%
XMP:VH.*;&\W]_D-H9=T+[*8F]46O0[:F\`,M2O1?:'C-^[D_]-^=:[=[L.I_E
XM;^$\%[WN5;MPJ_=6OM1SO\O_8;ZA_<C=SK!->FKT&T_IU^:CP16[JCQR<:K.
XMMDM\J5[PM!U:KYO4'@">PN3?95K8+.4?3_DNH$Q7GNW':I:"D<:)SAN,,$^'
XM;WO4&209#WO#+YMT3A^WRU5'+2<_)`S?L'YMV\M$#^#X.F_`QRE;.A^[V&MQ
XMBRL]_*_JU^K16D.B60H+*/X'1'_]C7G;K/\93O!>5\(X3M!F">B%^-A^ES_)
XMS<G2/%T)_Z!&-7(=JFV8(0A?W+P*_U'_H?AF*YX`WN')]HK5+'.-O[3#S9L[
XMYMG(_!+X*:F$2]OU"'BO(NXSU(WW8/WM7N;M$/!7;1Z?ZT[J]T:=U^MHW+33
XMF=!MDR6,L#>UB81O_=)\GV5=]NVI>OJOZ]Z0?]5\(Q2&T"&<GX/[RZVU[:;Z
XM,X?_2>?%ZM+`^(">[GK^]^(UO"4=E?'KSQN)-TEUIX_O":S51[;--E7MY9OK
XM=^V93Q/KF/?2B.E]+3!>9?YU7$<5L;?:$:YM/ZS<RCT1'L^^*?IA5NK?>CO)
XMHW$2^2NP7=_2LU3TLZA>G>_59=<=`])DP[N1[7';M?D4C*G?S;E:Q7^/.UZJ
XMX^,NOL3M=5MO-.(CDQ/;+??O]97;SX\=,S994ME"YO]+9&:QJKNNZU4]N-J,
XMD_K.[V1!/<&.AGU0LQ=D%)?F;]*L^!+:+XV*XB?P%>N;-Y4_*-_0O72AW/R!
XM?#]/U^7&=#?M-X>/^-@%C*@-YKGSMA([/7R/3B>?;<(=,/VD>^D^B$I_+M9#
XM8&[E"]J1O$.2W;[W;>+:7==U;DCY=:W25$#?;=LW.]\_A^P@J.G[7Y?-W-DQ
XM5-<A[_O'_797W,:.N0SE#GK]&O_>KL9?PI6<UY*JJ5KGVOE4/^RV<F_N.YK[
XM074P9C7LA_AZ)1&><]:-P3K29AXGMJ)T.S)C9H5%+C$!39J>/LG-S58(SUMS
XM_Z-?>>3UU#"JI<*"?%ME@[YQ"AL;Z]:WQ#X$T1$TN<'DJAUH_C]B1/@ZM3N*
XM&!$W2%EVKYJN^:M6KGHYMJ\%SRN.>J."&YC"CTR4V?9O2I.\/\W.X]`YF`@Y
XMGW/]_B&Q+O5KSZN$97*D5Q?E8?FJ7HS"G<3W3SQ.4R3K]^>"G*8FIK0'(?(:
XM6F'4CAGKCZ4M7:^0NG>0ZWM3-LL4U&+J=^UU(Z8,^F_</YWPW1UG6\&SY/'8
XM"W>,9C3="W?R]EJBVC\7[F"=?MTEJMSQ=N)H]+;;CCWYH71T8>R_B;W;<8N^
XM-QJWWN'/<3L('*$0(>[-->]J<GO89?8/)M_S.GQ3QHG]5L1.M]OZ<=A\C>-;
XM%7B`OYH3#[\0N729U>I^,+JE??^WZ_Y8"%$8U(/)?:@*5SZ4U!-'S\+C&*ZN
XMEJAY./M#-Q.KCK@T2GIU,(KK/B=)J(5WZRC\+C<!5%K:Y92)2^UEDM1^$X?=
XM/^H.7^K`J6)VD!6%C?QN^/SU1&]WA&LWT*:]-G;9?RRXEEJ]'?P+0RC`D$BG
XMD&K-5`2B4Z<RMLUQF3Z\)*S^4O]$41,N_@FG=*)^FU<-4Z#ON.^YWD2'R48E
XMNF"8@1X5.T>NN*P4VOM6!U6^:TK\4"C+*0PY]C=4VE8>92BO\4+Y<RQ,(W%'
XM"*X"6DB(J?4J>%.O7C;['4<<,8^41+;0E6\4I:&HKMX7^1'ZV>/$XHVO*(L2
XM5ZXIK6_(XW1'4+QZB<>-R^RRG@`\G8`1HUA%]=-IH8.0/XO@`LV'6$#<#NTG
XM8'M3=W'/;F\(XOCE\;F4C_!I?D2'*I,?GIMC_[3?2^SW@Q'(#1T4Y1OS_=V-
XM%!;6G%[!TV:IH."GR=T%W_K'57HUWU"B'.=[V80NI"FE?^,&O7_SU4*'<T45
XMNNEOJ!.DRB^LL?;GIMIUMS6_1K%27A36ZBZN_<`WX]QQ:S!&'+?OP[4T2Y'(
XMK;6].=?I)%2[-78('['%KC0C")'Q;I81XH$57&V>H*<YQT4>E<T4X+;2_*!'
XMY6*#GJ-Q;]QW8D'K-[N]SA4A&08N%<N,$:<U#'<XZ:9M-!4+K&6&,&O%0F*?
XMD5B@<$+-E(E3;1*G8D'3L$"/E^4NEU0H/G<*KXRC@AX,G%QF=1?>]?-69>J*
XMK-18",=015#(0@^U_.R@L=Y3:*TVMJ3;<'*<FBJEX?G1H;2D;F9CS!5V`0^?
XM"KH["(BS:2Z[#'RON'P(7Y=>.LPL=)0/!RXHV((S,!2-N5>'\"T_=04CY*5L
XM3*&7^USG:LE'.AN04BSVXJOP@'/52LZ#HIX"#P'.8.(Q?V.@!KL1F6I*:FW!
XM53N^`')!-!M_"NFH.I&V``EEH&%.1(<#F:XSSU?U9A3+PR`L'1BSQCRC,A2P
XM<0QAGE/RVVB[659G%Z^IO09XXX`9&Y1M^@`4TP_WC`JG85)LHJOI,9/0RZ9A
XM3H<]XDGE#<+T/(M.LD(+-9=/#Q6W-_!+LJJOXO`&%)I.I0?-/!`,)V1,$.U0
XMBN_#@0UVF3#K#&5.BE$@%4/2X((:L*X*SG%DE\8O?8!`1]MAP<',\YDU!7SU
XM'1BK%F\')+9#Y'4HQ6HAN254=P/F/10>*3415#0BKJ<AKI?F&D>T-8ZF,;".
XMJ>MIJ.M(/K[87)BT=;R&0`A\C4L(AS#'.6P,^B1O-'5#M#6BM@CM.)O[8>P&
XM3JJ+N,$Z.M%\#LK!/`\>ZR7+&^62^JOVB=7D"EVYS;=&*9RKUH;X%5670NMV
XM@><3C#@O08]!@Z*X!I,/PL'`N:3%*`_FJ@]!]RT<%3['I^/B)-?GW/%-Q?1K
XM_5)EV1?#)LX<//]S=FQ6_=0:6C:N6<?MX'A7MX.37"WI",_1V]L/V"D2VQJ#
XMY7^XEF#R\=AL=S,73C)HD87M.*4">"+)7Y2B/M[K?1LRZ;62(X"U4H$L(*
XM`<`MD[VBC#@@<3M#J-1Q#!QH>%RW41O,WF^>D2VK)M6F'^^1U;T8H),/2S7@
XM@X])_+7>HB;`*;0Y3=Q:%P6%W7`I(]NA4:!D;%&FV-ZP%:3K=L<865"#XUH\
XM(#:G%-7,JHPJB(D<V=&F0=;G>0YK&&9$^E:7*L_MJM/)\S48D/"%D.SASY-N
XM[DJX2AXA;EF-2119E'/RX+<Z,Z)`+R$#(L57T$..-#=XF!_#)@XI>;XZ)J\7
XM2.HI*LCBT'(+BET0"E<UU;JA((S+NU"K00QQWDA@/B'4B5,LT52AQ=.$!#,`
XM0_$2)G4WV3;`8`-1#5@(`IOXX1X":E)J5J2M@XFTI:R>ZB\:'*:SZ,'@U/6*
XMSQ;33_A*OB$/N?"+:)&C%';8P<C%7^$'/1A#N&YE+5Y?8.+Q\)L%F89`;(WC
XM$,9V3)A>%HX)R3)A9U*7A>.6_!K'0X!]Y1FC-*YSIK*I2E-1`P9T-2D-.VQF
XM)F.=I4T,DG%02P,$"@````8`DKL5#Z_;B%XL!```_P<```H```!41T541DQ!
XM1RY##0(!$B,4%38W:(F:VSP%!A(31,7VEO=?JE01'"W84"%(E0D3!!?-^="W
XM<//*37L6+5V0*,>F!!DS)TZ9+$$:E5N6#/%..Q?->3Q($,$[*%NV(*6LSSG&
XMN^S<LG+MF"]E&&Q8JFC\-\BY;\W2O1N&68,,ZY;LR[=R09)].[9NV[)NZ8:E
XMF_:M6Q#@I[W9E@T[A]W-=#_<NF+9IAWS7Y+IWG2L;K%UTEMW<U?.VFU8-EVW
XM&^/=<NS;-LA:[M@TSQMDG?\-(GJSS>M"'V>:MFU:.M,N)VU-]XWXL-]MWTQK
XMLWE9+!WW]HWB>F`?#;,N*S8/,'E6SOBF0[5@!S=VRX7[IEG/,=9PY;ZUFY9,
XM^=-%XU0-JRR7/SX&2M3^ZKO'EBDKVX9-\];P^E@Z_\S]08ZYWV[/=)^_'&/D
XMRV7SCYF9<6L7<RHD5=@SN]$LO6*]YOVJ-8@I3>S,<U>;<3;CO3;-M-^AJ]$`
XM$]%ZCIM+W?0ZG2/&VB=;1Y\LBQ=.F;:^VC6((0]?9=UMYQ"SXX5]4)@P)4ZF
XM@3=R\RO<WM\M-LWXNA=,MYGC[89[SR&S^4\X\*NMUWG6<H()-4L7KPO7'&?9
XMJ,(7Q"MX,Q#>+YI;G9MI4J%2@TK-0MA=U>E0JDF?.JD>0#L=.35=,V3WF<9>
XMDBOP!<44^_:-G_;%>E/+;3LV+%P0PW>6J,_6]](BR_KJ4ZE$IR`CVBOQY-2L
XM3I]"G9HD/$Z=1&'Z3I%Y):1:<ZMHWCOHDT2+3ATJ-2D4L9$TL^GHN=UDJ:E*
XMK5JDBL6G6D(8+RV.>0E?$V(WM\1ZW,GM:2AK]VWZY7SVC09E.N5^Z6Y)]B1?
XM?]HU)F8?T;[DT'5LIT'R\.WR0[]UB=;'=`3<J<DIZF9]T8M>B:&,UC&>$]\T
XM#.CC>M,/LNE4HD^G.`_P@G&FI0:Q;&^U'.MQ=>'FH@6<-G6[!6%D_97N6#B^
XMV69W++[F6.-*3T(H!V']9LO$^M_$UHXO[]`";DQ=M`J\!CGTR9Y+SK30LF>:
XM''`2TNU5,JD;(E1M/*W>,LPHR?(R:Z#@85W<IZ_05K,9/TH+.&48UAZJ-)G]
XMD9B+],]9;#WE-BM8%5I5"VD;K^!4B#5(*\J:6>&YN\83)C7#&$KXW$<^?;<,
XMHV\)BWXWYM7=;L:[<)]DE,\/*:>4+3T.]0*,MI\LRD;H^HX`1P./([0],9['
XM<IQV?F>OB$X)PQRYYX@A&*79TI%*N8\Y84J7RFT$V\;O$;]JBZ[%PMWA7%T>
XMJ?>.,H7V<5?E&V1/$*QGTI78YG(;A79[KY0WRY,Z3Z8`.!TB>CNMRI0)\E+W
XM!-5[Y8KY3T"81^%NS.M]P3_9K3"[@C1I`NAPSYP+\'3,+L!4N^`OLH=ZY\M'
XM/3$OT)LL#LV)8HFQ=^3W/ED5$_<="4D&GCC^/E,IX\(\3/@#4$L#!`H````&
XM`*.[%0\(FH[8U`0``.@)```)````5$=%5$Y532Y##0(!$B,4%38W:(F:VSP%
XM!A(31,7VEO=?JE01'"W84"%(E0D3!!?-^="W<//*37L6+5V0*,>F!!DS)TZ9
XM+$$:E5N6#/%..Q?->3Q($,$[*%NV(*6LSSG&N^S<LG+MF"]E&&Q8JFC\-\BY
XM;\W2O1N&68,,ZY;LR[=R09)].[9NV[)NZ8:EF_:M6Q#@I[W9E@T[A]W-=#_<
XMNF+9IAWS7Y+IWG2L;K%UTEMW<U?.VFU8-EVW&^/=<NS;-LA:[M@TSQMDG?\-
XM(GJSS>M"'V>:MFU:.M,N)VU-]XWXL-]MWTQKLWE9+!WW]HWB>F`?#;,N*S8/
XM,'E6SOBF0[5@!S=VRX7[IEG/,=9PY;ZUFY9,^=-%XU0-JRR7/SX&2M3^ZKO'
XMEBDKVX9-\];P^E@Z_\S]08ZYWV[/=)^_'&/DRV7SCYF9<6L7<RHD5=@SN]$L
XMO6*]YOVJ-8@I3>S,<U>;<3;CO3;-M-^AJ]$`$]%ZCIM+W?0ZG2/&VB=;1Y\L
XMBQ=.F;:^VC6((0]?9=UMYQ"SXX5]4)@P)4ZF@3=R\RO<WM\M-LWXNA=,MYGC
XM[89[SR&S^4\X\*NMUWG6<H()-4L7KPO7'&?9J,(7Q"MX,Q#>+YI;G9MI4J%2
XM@TK-0MA=U>E0JDF?.JD>0#L=.=7=U:5B["&Y`%]/C.;KJO*NJ1K.ZJHU5_?2
XM4\MM.S8L7!!$O-P\^YG\7EHD6E]]*I7H%&<$>H4'A<8V6]?MF&(Y9SXY-:O3
XMIU"G)I&/"UJCX'VGL*^P5$%J%<U[QWR2:-&I0Z4FA8(W$FPV'2BUVSENTW8&
XMM^N6V6+XFQ4YCV+MDP47LV4,)[09Y[;?T]0^Z:AQ7I?DQE'5O._0X6*>%_5:
XMW:9SV:MV,:`Y_GWG]05UT;?G?89V5KD)$J8+H]F9?,3UNGW7V>T"5X-9@]MO
XM7:+U,1W!Z\+LHJZ*GO1"NIM.)?ITBO-@ONU=)K&&O/&"0#]U+<=ZF*DT8]EB
XMBBNZW8*0LOY*=RP<T&BS.UI?52C#JBAB05B_V3*3]C>3N>.S.OB`<U,7K0*O
XM00Y]<J3R,RVD*=N3B&Z0G$G=>%66_K1ZRRRC9LO+!![AG71QG[Y2YF8S?K46
XMAIQA&FN)W&3VAVI.UC^'M?44S*A@96I5+:1MO(JL2JW%6I%Q907@[!I/F-1,
XM:RCA<Q_Y]-TRK7ZW=**G&_/J;C<C'M<%&4;SU'JB]D)?E7IQL=8>[=W%,;(H
XM&Z<KO5`R3G,54UM>3;6+[]P,Z24(S/N<S*OP\0Y#+:>68?IC!'F,-LET,:)@
XMSA+',F8/!Q^$,6'$IW)EH@_FUB=H>+$H43,7@XW%MR`C5?,[S*+-"&6&Q@^W
XM'*>=!2.B1YQ`61^`@W-,"M*0&@V_)_R@S7)63+.XLN^HKLYKL7"<"]Q"\DQ'
XMF4+[N*OR#;(GB,9DTM7<%C,:A79[KY0WRY,Z3Z88Z!TB>CNMRI0)\@)ZA=9P
XM5ZZ8_P2.>A3NQKS>%_R3W0JS*TB3)H`.]\RY`$_'[`),"67\E7HHT']RY`GT
XMJN8NSXEB5RKON.]]KJK4K[NB'/6^87`/I]FZ/`D#&%O+=!_4&T=Y^X_ACH\Q
XM3/<A'D@6AEN!4I7==*9EBF8X>EIECSRQZMB5/:+,6PQMTPBDA'E;BCC^/GQ2
XMQL5;2$P?4$L#!`H`!@`&`*Z[%0^]CPE%^0D``,,9```)````5$=%5%-44BY#
XM80I[!P8;!KL,2P,)!PL)"PD'%@<(!@4&!P8%-@<6%PL*!@@*"P4&%00&%P4*
XM"`4&%08*)08(!Q@*!PH("P<+!"4$)00*!@0%%`4)-`<&%PD:*_S\_/O[^PP+
XM+`LL"SP++"NL#`$B(Q05-C=HB9K;/`4&$B,4Y?:6]S%CQ1(X2E!4_&/%C2MP
XMU;B,]E*X[:I6EE_8*/B3Z.DY^3]EN^L_Y5HK3B?__S\^S]^Q>M??N==[BW#7
XM*8_#'F]5KO6O>VV)?[;[/T<]YK[]^MZ8R_>Q/,NU'Q_H;_=Y/ROVK^G\TMP\
XMKX;?M7ZMRW8U9ZE'Y[FW=3^>,_\?^S%M[.7RO36NY_SS>O_].,/ET5_Z5_E:
XM3/\F-2\[T9O_RWO]JH7+MUC=O^\99P/MRKW=S7"`U^KV'`O*%/N(TKR5]O5>
XM\W]IVR-<=:6_5)[E/^?)?VF`-A_[<C5NY;7\7-X;?C<6_X?K_T;E.:HZG_]M
XM,/3;Z7]A:KGK>?^W*D)[7BH6N_PD>/UC_Z8]T1KN[S7.'^XG7*8__EHJ@-?M
XM7DLW]:??BT/5:M=G^NL=OJ3<7\L9[AOTC?.YRBOB<Y5A/FA->!-?+_"/_/E7
XMKKT\S>N\W-_MUZ[EN-<5J</WEIY->\_GLPE>J5KSO!.A<<(:T8281<5%Q<&M
XMJ#BFQO-_?Y#:&7="^RF)O5%KT.VIO`#+4KT7^1HS?H=?-H^J0_:H_L93TIW4
XMMKW\EWLKF_SO4&_A^"[_A_F&]B-W.\.VZ"G4373:#JW736H/A$[I^NW'DK\6
XM7O5\\OHIH#FYZL%(XR06SQN,/$^';WO4&20Q#HMJ^6WK6V^0('5(7/6PB.+G
XMT\!YK\4^MYK%?G.NU6ZS>OG0#TCP4X_P'%@/RB.7+>U@<;5[_X=6_Y\(SW4^
XMS5/]W;>G>N=YC%/0_QW^(<REPU>-9JGMY[G'ZPR[O*/)'I&PTNO<4KO..YKG
XM.6Z(A$A:2$,:TI!BW*&%EA8NG,#+<4>.G!8?'P]0M'(??YT;U.'UBH`9U@VO
XMYO[R;VBAY?\0"1'C.7)DH_!YFCW-^3KK2D/`M`U&S.]<AS47_.?*G$W\UJYM
XM7:P?U0?9?YFWXS]N;>!>K0>\\YU?MV>]&[N4'Z^#DWZI%IA.Y=KJ%KZ]#A9E
XM"WGW]N56<'T_C0KTK9*F]S]FNV_<O8X'U%NB%_?LMH[T4E?'HB.!.$K8VAG-
XM^V[<P&Z;X3R6QK/MX!OH\@M#>)(=0S$:]"T_I1+6M]D[U[UO#&Z]MT!F9PSO
XM)]]I'EM"HR_Q._')>H=LOH_&_8/!^#?M^O*]>M\?MWK>K)?I6&/GYDX*?(_`
XM*KY7XOR6/;GT@H]]*S\0W>;32%C/9ZWP=ZD"\YS]KAX3PK9/OU>/*Z2JG7,_
XMJEBE"^+_`';!K!*.6?R:ON/V:#``&8SN,=S9V07FMNJ>LA_I$TD(OXSN:6']
XM'QONC?U_(>[!(Y7CAG"3ZW22RW5JOY2>AMBA:F(G66*GEKO\:S?-%COL$#O)
XM$3L][OCS.NZ8""_<V>RRF9UDFIV"Y]NE[$T?A>SX0G8R(3L%,B<9=+U>M[I*
XM?*OWV9J7O?T6#J.T?E6O1>L27O82GNH+_,)]$XQCG?(>:6]Q,+F.QCG7[Q\2
XMZU*_]KQ*6"9'.H>BW#S.];OVD]O#;IOCQ?@H/5RX?H<'\=NH;"SO#1>NR;[R
XMSK?^],>*N#1*3N[!*&[<F+%^B\C$76WA\81E!3%(4OM-'';_J#M\`9-3[RJ"
XM71?3(@_X.CB<[)]3/J?V<"H;]SZ>YW:.7!&T=WIIPKSA1\CY-G:Z\VNUL0O<
XM;B=<I;]'N#6"C>[UUM-^3*U]/'C<04U0M9>O\G?\+:!\+"(OJVFWN49T(N]6
XMR_WQ,83J-&Y',]U+[/?S]$[?<[V!KBUX]96R:W<%D[(<&BUHQV4^4M7CM3BA
XMN<2+=$7.[B<FC]!KWT0R64L#2Z41)PT9@G3?]Z/<S5(PXKC9$L/-%!8$(ZGC
XM=6#O^HWRL-S-TD_[P"DDM^#R"PMI'L2[6<J/'2UV0<$/99KE4O#]?]QF*>RP
XMS7Y<>OU"@QUVV#\-[-<CY8;Z0QYRE97KPG$%.D]"!;RU7[PKU:%!?NRTV%!W
XM7`W/A?9/,)*[!KU_^]4^QWBG7-NO0W7J\(.>[LQP!3TBZ+D%;-!KO9W>N"\I
XM00/??G_Q2H2%3/,_TH/RFMA>E210*PNW#9Q"ZDUT)`)<MI(`[1D%3`*7_^>2
XML"_,<GAKX;.%GWQO02&UYCM=K#W,V$\SG)K!:I[8>O,L1"H&]%["GL&>",\Y
XMW\3\NDNV#I6X!?WG4OWAO6*(F-081*3GWD!E^ZDMM)Z"K4`"UE?KX*E7L:Q1
XM%]M^35,3HXH4;5FZ0LY=S&T-2MJGOAL)E&]]/^#9)7WJ][H0/_O!*ZE/-Q^`
XM.;ZPS7M!69M,^]FJ1&[WN5IA72O[J:V90ZX,9S3.*F,5F4K:@$=+0]J0[,,=
XM7:2<#4G%:FFVEO'SKBV2-C2U>J-"T.4Z@N<>P3+^'/%QTAN-S*%#M6#G:OB:
XM5*E-L+-*A1V22I$G>)Z,NKU6I]L?I(1F>C)2D*S+V/5(HXRH!7>D19N7FS)"
XM(QVG/QG>M6<^%_*3T`FY`9+$^'!:NZM.Q\,"U9,18!;+/B^0795(Y"PMW^4F
XM^(\GJD@=QO#QF:]@IXEP(5#'E0>)8A)H'>$P*+_5-RF6R6@N"&(N(3-!-4KY
XM2+]ZZ)C(/2)+KF.2!H%9;I=M3`IF07-9B<9E*4-9Z?6X&XK9V"$<PK&C>5A*
XM:T;[VL"VS@\[;*NO94D3(1N,W,[!@.VLM@W-_EA<[P_YS\W.,#M;&.IWK$Z8
XMS'<DUB%\3*35A7BUGVKU&HU`<YS&U`<C51.3^J@FH"`Z?B^UKQI>?7PX-0U8
XMSE;&//_B?V3.))_C^'78F<`G*<RWPP@IE_);T->1[^RR/$UQ/H[%8*=*ML-)
XMQ^+0;6U%R!*.0*Z#P098_87!IAI4]:);@(4+B9:+\1$IU]<3!H478A'1OI</
XM9AB+WGO;N5Q"R2RD[FR[>[4Y-7?30,7/0]C%TW4N0XH(5,X@IP9"MCIF><$2
XM5DNNYC#Y#8UKZ9^TV.&&X#RF])3PV#B-#8[5,D;)+F,QPW"<)H"XAF,V*0(M
XMPD?"G:T$T!PG)H[J:Z(P#,,ARL48#GCC#=%)^]BNQGF5&&V&<+,6PK4CA(\M
XMA+<EA)<X-/[!2%U`X0)2Y8(6+!:(Z%5D"U"?CT7.P1L51P?S\-B##XKFROE>
XMJUW&W2$H@MC6W`(,Y:6ZX/P"0P$%T4[[N:*NH--:2+2H/%KS#PFB.)4]X/%@
XMI/_##EM8H(AO2(1$VL\.1AJ7$$A#F*<_=FYL2@%F[P:H%W)BO\3%X*O16MB`
XMXU&0TGROF7,8XC%1>[0."<\'CVU@/L$Z$NA,RH>\[!T)4$L#!`H`!@`&`*`T
XMHQ#G\S+[#PD``!`8```'````5$=/5$\N0V$*>P<&&P:[#$L#"0<+"0L)!Q8'
XM"`8%!@<&!38'%A<+"@8("@L%!A4$!A<%"@@%!A4&"B4&"`<8"@<*"`L'"P0E
XM!"4$"@8$!10%"30'!A<)&BO\_/S[^_L,"RP++`L\"RPKK`P!(B,4%38W:(F:
XMVSP%!A(C%.7VEO<Q8\42.$I05/QCQ8TK<-6XC/92N.VJ5I9?V"CXD^CI.?D_
XM9;OK/^5:*TXG__\_/L_?L7K7W[G7>XMPURF/PQYO5:[UKWMMB7^V^S]'/>:^
XM_?K>F,OWL3S+M1\?Z&_W>3\K]J_I_-+</*^&W[5^K<MV-6>I1^>YMW4_GC/_
XM'_LQ;>SE\KTUKN?\\WK__3C#Y=%?^E?Y6DS_)C4O.]&;_\M[_:J%R[=8W;_O
XM&6<#[<J]W<UP@-?J]AP+RA3[B-*\E?;U7O-_:=LC7'6EOU2>Y3_GR7]I@#8?
XM^W(U;N6U_%S>&WXW%O^'Z_]&Y3FJ.I__;3#TV^E_86JYZWG_MRI">UXJ%KO\
XM)'C]8_^F/=$:[N\USA_N)URF/_Y:*H#7[5Y+-_6GWXM#U6K79_KK';ZDW%_+
XM&>X;](WSN<HKXG.583YH37@37R_PC_SY5ZZ]/,WKO-S?[=>NY;C7%:G#]Y:>
XM37O/Y[,)7JE:\[P3H7'"&M&$F$7%1<7!K:@XIL;S?W^0VAEW0OLIB;U1:]#M
XMJ;P`RU+=5?K/T-7H-F;5''#7ZV;]>AW5SY)E^+5M+_\&P7]*Z%/"R_]AOJ']
XMR-W.L*UZ>F]EJ4]TV@ZMUTUJ#X1.^?KMQ])_"AOE_/J]+HW]='C.Z[@+D$X:
XMY6"D\7CEW^D*<B38&XRL3X=O>]09)#$/Z]S+O!VK[\#D0_[&SA<+O2S(>:-L
XM,(./J<Y@?7F/<&->.#[)GLN'SH0_3/>XK$#C/(NQ8&QM/\\]WO^Y0S;?!TNH
XMBC]N3O:OHS3CQ+>J>DS^OR7C]T9Z:O[!;SS?I?-IW&3+4Y*-E[;K4?1?Y^:Z
XM7`N8%ZU6HV>?%]W7<HZ&,HX;C.MQR<YJ:^,J^_I'>,[Y_H5V?]P>#08LY;C!
XM.`=B)]P_&->_F#=YK-]:N^Z3/;2^5$RZ.5;7;*L#G6UUS;.Z-CRN88<'N>`]
XM;/4*,<-,*?S#NS:PC8?$J4S?("^5=W,UU)VL=`_N6]^!W/XX6.]<BB-1\?VN
XM'8K2U=][0/+HQ\3E<\MA_QQ"9YOGNUSIWN,.OU`^RRY]L^7[$>'>--WJ-PDK
XM?+BX5XWKMIU9>JSC/-9BGE:W&[C>H)T>#DU9VF(AX:&N_E]FU^M(APB7)W_=
XM>)R)_TJ62*T7.TMYM?&"'%UH$*-IEBNYKG2M7=NZ_*:D\UU[YG,I,+Y<<1$J
XM*VU4CV7E"HS[`:]80?"GU]&PLI:W+7D-QG&K5P2[#UD]87+,Q;OWZ)'BN-&N
XMS?^G)D8U]^APY[*RT-IQ?43TR\K%Y5U&[]9X_+]>4K"XH>6G3I:?3-;Q][4Q
XMFQ.[7_[&ZR_$M0J:T7F#L8I_,$[-_R'_P7CH/R7+P^WSKSQFWJI)P7N5MPZG
XM^<>S&3M4F7ZI=!\KXCBFHDW3TW,S<[,_A7KXFS.TBFVXL<^88>;H$)J/!).F
XM*T.4F[A532WW="-QXOB%;?4RBO)+N-DZD>8Z0S19CW?&6>I>[T/0LFB\QWR>
XM.KK&4JA_VL\-1H`9QUK$W^]<H]NK@IZ\/\W.`YY*F1PWV4#_/D^#>I^5ZV6N
XMU3Q-#B8>^3G7[Q\2ZU*_]KQ*6"9',JXH#\L7B.._R>/0QYVH;0RW1<4KM-(&
XM?W2LZPA&<>/&C/4'NOGF6'\GM39=HFB4UM)^^;P`"]\QX^UW)PE=G7I:1Z6T
XMAA,[[F06R'N-I#$--1C!O<E/^*L\E^7Z<M/OTZDU^IJ6S?T0'EYRK@_UZXCB
XM-3O;NLI6.PU.,D>*D16JVX73$^"IE`9+:K^)P^X?=8<O7.#4NZIG%4LO9#%J
XM7%Y9\8JV#::T66_+YH82-AO]>]OLS*%*)<_ON3)[.CBN157Z"NFM=ARD\#RH
XM@R351_>6.C*%Q(U2+^;6(\:[5<FE4M<V@#:%6*K;Q:W4P?9V$8O:-PEW`UTB
XM5ZY31,\&Y>0!#%M\*I=X-06[05LM7:+VJ=P\Q"Z&VS1N&]%M.+5H^^0\SE/5
XMIG&3:(K:9I?-=@.[(G9<?U\UC]OBC5=<*0LL<JJFAI$6H3RE>.62*7WFEX&Q
XMEPF\C%27$2%H^L6_G3'D_VEIOY?8[Q=\EA]7V'5AG"Z]=)R"8`1U![U_R_0^
XMCVD\[0L_<<E<:\X>+Y>?W%!-/O6)RCU1N7#,<5E\@[O1^&B=7\CK_4-I,=QH
XM`G.-'8QCN]QQ);V&'3;?E_EAAQV,J*Y*(W&E4@L+<,X.W^"%=MAZ5'"V'A<5
XM!SU<'QOT6F^G-^X[\*'Y?/F0/B[AZNJA'1.=4P6M<"FV`E`VJ6YC&@$(.E%O
XM\9OWPF9M[GW`F&SS2@1"G1Y>&RMGA;#,ODK6W!?%JZ$-F2_SLCUH$>,YU5VU
XM97C_1M-'\NUZL`ZW@J/D,DN-[6Y.-50>6Y]2#$+T;'>!E"C7?>YXHCE$(Q4%
XML0:>Z41JZ'YOʪ_>&&Z\:'1O-@-%&?*_F"DQ(APM9($U=W#_;3KA*?X\`
XMYYJOH(D>W;I185++ULC_U!3>8`QU'KE0_['KL:.)N#9UA97_$JXD%?%?&.$A
XMX-YD\/?E!T&4SGVI612R%;Q5Z)H**SPA&(D?D2-^H"!YSJ$^`,JF/F"SJ0^`
XM\F)+']&0/ESO(,.&&HSO,#7?>ZVVJAA,>8BP*`^7Y+(2!Q<\R$WP8%QY?DZ]
XM@[ST+@/W*'ZG3#SK'60PUKN,&'0L7S%05I]('AR0T54AQ,M@QT`P*;BK`XUO
XM"CR[=[F$^D$NE%8H7MJ[4-<*N164MX$9:-P5C/ZQU.BLYL<)QO4X^<IF4#R'
XM'7:H!3PFFI%KNYVUML:RTT&^B3G3/.;J'RLWQ/4#S'B*;]Y#9O$</\G@?
XM')U1CR0[^+#)#O*'#:Q3ND,KA/@S6JAV$NH/Z[,5U>=:YWC89AKQTHA_$24M
XMVH<6"XD+EF4:,E1CE8DOBD-.@`X/VT*)?"KTH7!#1(^QS(1'HC388.S92(_O
XM=+BOZE!+`P0*````!@!(3@P-?V^F=W,(```^%0``!P```%105513+D,-`@$2
XM(Q05-C=HB9K;/`4&$A-$Q?:6]U^J5!$<+=A0(4B5"1,$%\WYT+=P\\I->Q8M
XM79`HQZ8$&3,G3IDL01J56Y8,\4X[%\UY/$@0P3LH6[8@I:S/.<:[[-RR<NV8
XM+V48;%BJ:/PWR+EOS=*]&X99@PSKENS+MW)!DGT[MF[;LF[IAJ6;]JU;$."G
XMO=F6#3N'W<UT/]RZ8MFF'?-?DNG>=*QNL7726W=S5\[:;5@V7;<;X]UR[-LV
XMR%KNV#3/&V2=_PTB>K/-ZT(?9YJV;5HZTRXG;4WWC?BPWVW?3&NS>5DL'??V
XMC>)Z8!\-LRXK-@\P>5;.^*9#M6`'-W;+A?NF6<\QUG#EOK6;EDSYTT7C5`VK
XM+)<_/@9*U/[JN\>6*2O;ADWSUO#Z6#K_S/U!CKG?;L]TG[\<8^3+9?./F9EQ
XM:Q=S*B15V#.[T2R]8KWF_:HUB"E-[,QS5YMQ-N.]-LVTWZ&KT0`3T7J.FTO=
XM]#J=(\;:)UM'GRR+%TZ9MK[:-8@A#U]EW6WG$+/CA7U0F#`E3J:!-W+S*]S>
XMWRTVS?BZ%TRWF>/MAGO/(;/Y3SCPJZW7>=9R@@DU2Q>O"]<<9]FHPA?$*W@S
XM$-XOFEN=FVE2H5*#2LU"V%W5Z5"J29\ZJ1Y`.QVK:_)C['Q;9WF",'P<L?IL
XM1S6<-$]XH:$JOZ>:+!GLP\_>]](BSOKJ4ZE$IRPCJMQMQ\PO\>34K$Z?0IV:
XM)#RN75QFPV49UJS9,7YN%O-&FE5ZY:2Z<ZO(WCN:F^8/0KQZ3J)4T=Y1IMP!
XMCB1:=.I0J4FA1(7\M,Y4"BDQIT[#.[:'07:#T+?>WO4T6]?M&,:T:E%8UM_\
XM6(K3;^^`#R`7D34=V`TDX]TL3HM!JPH?4A:YDW(2>Y!Q%\,\2-YFO=^`?M][
XM3C"K3\"^W91VC*_(V=65K^]$3@$K7H_*V-`ZC/>);NF^O*[`23F2:\."L$,V
XM:G+&ZW',A`[ME3I=!K.>U(SI*NT8H;L.TMLVW1Q1D=J3G6;#Z^.2BE:&6>;*
XM?&5=J-PL^ML;FRI(/<'ZK0LG4:\90+\-I8_O&6U8`L?<==2G$V[)FG?=JK(K
XM#_E"_<8J-+4/\^0=5$V="=ASD#U]'%?IMZBU6U48`V/U2DFQMG49)YWL'-J2
XM*M"'D_D<657WC=,#R$*]((IZLJ61H0\S]1Q+'5`&:MN5L0NP0M(J_#1Q^MUN
XMMLS@<I$NI0D2YF0=ABLS"/#$(\^6;J16L1^&U+HO`BOHDF(Q]-8K25:8IE
XM&*[4ERM^&6+(_XO(M]P7QVM2N@[T?CGW+!U4;1>HK\-JH3!;"LUI$R;,%&2D
XMJ+?0JD=*DR32BIW&=]V.Y"SC23$6SY;?#<N[W3))QEUO.O6-\"7`*9G30)
XM-OH%H>(3-O&D3;&H6%JJH\HSLZY9,ZI*CS!;@E##)JM\WVA]5+=\;8:.70:M
XM;CJ5Z).O%V>UST$TJ7=T<=H*>5T1J>.J:M8>@R6]`[X7"7.L'4%:E)"4UG,<
XM5H[I>"%YG[NU"^L;Y)ZT-\J'R3(!/4W%X1V-(E"Q5^4<AIE?YYAJGS+&5/#M
XM/>@UX,/'G#ES!GP0WJP!'S$GS!SO01@S1CCXFS3``2_HI@$?T:9-&_"!-Q1L
XMC;F`0^7!1Y@+V#/@P\:0&K@VX,/BG&%'X,>8&GK-&O&!BR,^+,T8\8$ODT9\
XM6!F,"UP:XZ`QH>"#,`=>R'UW_%:TTM.:61AP$:N+5G',!CGT2<\I6:>%ECTS
XMJGG&%/2;Y^8N('ZI0@1:-N35*M5)51)#6X62RK&5Z&6:6SG1F)NPBQ\!92EY
XMR-M%,[K(+9<D2B,.=QZQ9NXB,<FLJJ-,@Y-,82CW3@00A"?L-I@\3&HS*2_$
XM-UT7W\F@8R;".O(@U@HI9M:^'C,C+XNZ@7'&7`<EJZ;2BMAZ;K/9^$X'2`3'
XMAY[D$EW.PC>#U68N-=.@Z`B)ZY4F$S0YI<0WG'UV-BNSB8U#AF!G@4^A;2!/
XM)`477AG#(95IS6099XAK0Y,IT()-T<SD,_>8H.<P*!\^?@;51V))UF5-%\U#
XMQ[V#XMV:<3-OUTU5]2!?46.S+:.78&%U'I&"<X(5"1<Z6Y]M%&&0N0YV24+V
XMD1@X_!ULX5Q385"?8\%.18N#I-9UW+II%-C1+LYJ0GE\-G7S*`@'5H/#*3BD
XM`P=C\87UA&/GD+@XAZ;=J"Y8DTZ17)G&)!D2#)M=DV8(L)%N]_AY[;0J4Z8@
XM^?*9.ISS%!0W--CU9NYXK_LXJ]+<=9L)B1+.1%87MW=PHX#M6[6DKUSQ7]D/
XM\UIE#U#]#NG(*WN"@)\@6X(\"?.$U9FPS_"YAR,[K)8G79ZH1HP+9VQ\!(TI
XMKQ.40VI?YW!-V7%A!_L/S9OWD5H,C54Q-$YM*@B4UDCZHYOHGR&PA#D?:F!=
XMVU^,HL)X8/\2.`).BG"5+V*:DGT,H?V'L81,@X)VC?B?=&(;3C(QN,UR:)`J
XMBE@;G!&:(FPE0P,L5MAEYR0&>!1VM8HS$8.B1G%9E'_;+/B4+%@,U#,S[FX^
XM%/!$@DH@39&I"T\`PYQHU:.@1;BZL>#!;!`YB:C9F%J`NZ';;8L'.C"1TD5<
XM>F7`$VFID>4@V/`SZS'9DNG;MVLX3,T\QL&$(PRSD&PA7HH.>3+VB/OST\XW
XM&Y2U]^`/?=O&34/!,*"+PZ&$>QS!0/)12.A#XXA22#T1VL>!0YD4+,3]0DAN
XM0B`$U&8#![,Q@`!L.4WXG)!BW^^F[)R[(SLDR.DQFQ"IL96M'<:LJ>EA.!JD
XM#^H':=)$Y0@+ID9Y"E0EOJS4*"@X3_D2A'-Q[2E3R"HA;K!P.)S:K[M,0BCD
XM`UC+2"4J;G5_XO4+M,5V0_@.<L=X[H/A9\L6S94A%%!F@%6[B-P'5S`*C@90
XM2P,$"@````8`[UE^&8YBK8N,`0``W@$```L```!-04M%1T-#+DQ)0@T"`1(C
XM%!4V-VB)FML\!082$T3%]I;W1X*<.G3H5)!)R>H$"13ER)1-PZXM>P1ZNV2;
XM5BS(F2YC@LPI\Z4,X0TS9T,%Z-MI6;IHPXY="[+-^)M-R[8L2+-OY8(T*K<L
XM&>2==BY:D'3+RFUC/\.Z@=Y$E1Z%"A5DRY8@EY:UF]:-N&[[ENW:MW?GKDUS
XM;,(K>(5KD"![@CP[=HSR&V4:].B4YF_!?.;R:9UJ33>LW#/MFB5(N'7I@OC_
XMNVGR-<B\;[`/W.5L[[1EYZ1OJD6E-F6:5$C^41^_'.LR3#!-A7F&A0M23ORF
XMT[_6MPOV9_J5Z5.A2HL.I:+N">EP>UFW=%V^2>YFV88]H[Q!+'>W==M4/Q?X
XMG<"YSZ4KA[R_I?OF^)#7TY^#/,`;74TV[=DTQ=*,^K-)OZ[<Y=2J1HTFQ5IT
XM2I3:95D\92YM=SFF^,6J(=YAY[89K];NMSJ&G22*)'=*$,5'9$O>+=^25/%^
XMQ#_FO&6OLF1*'>M'%#[%]@I2(;E!Q@4AG@01'H:.#5!+`P0*````!@!8G%49
XMA@0);WH!``"_`0``"P```$U!2T5-4T,N3$E"#0(!$B,4%38W:(F:VSP%!A(3
XM1,7VEO=')IPZ=.A4D$G)Z@0)%.7(E$W#KBUK-BW;LB[9IA6;<*;+F`ESPGPI
XM4^9+F#(5H&^G9>FB#3MV+<@VXR5(LV_E@C0JMRP9Y)UV+EJ0=,O*;5/_(%NV
XM!.D$>Y%OMR";EF5;=RR:_*T@7"?L"7(L6Y`OQRIL^I1H42;-SX1Z&V4:].@4
XMY7\9E"0*ZYY">3^=,_QAAO>1X]<*-P;QO@KC_T>"I,+M8\/"!2GW;5VZ:=V6
XMG>M2(=6B4ILR32H49`]\3.Y8?ZI,OS)]*E1IT:%4JNJ>">F>H;O+NJ7K\DUR
XM-\LV[!GE#6*YNZW;IOJY*DS0W.?2E3/>W])]<WS(&XZYGH,\O@=733;MV33#
XMTDSZLT$_<W<YM:I1HTFQ%IURYW99%L^2R]I=CBE^L6J(=]BY;<+GF.:MPW]M
XM57T55E5\;IE8-_J6I(KV(_XQY8>]D)(I=:@?W_@4^JM)\9W`4J\$$1YQIT*%
XM4$L#!`H````&`#V7JQ8:XK(J(`L``$$:```+````5$5234-!4"Y,24(/`!(#
XM)!4V)S@Y:GM,G6X?"08!$S3E]I;WX3<8WH+P`IYQP`L!)J1[MBS=LF[INAP+
XM'E'S`$<?>":1(SX`[DVG@ASJ%G$"Y#\S99I4Z-"B)1$;6+XS3+9/U2%KZ(!#
XMK=ZT7`-Y@T2/2GU:%2I#JD>+4BWJE.H7XK%2)3CT*=&B!;\2#4HU*`%B+?"\
XMTRG5?Q4Z=>J`8;>(Z>N1CA0XD&!`=LDJ$V!!@P&W)0M7'SP8$$&R7#W"A`$/
XM:D;PUO\'_B?X7Z!53G[YP(`"!0:H'VC`H@&!,U:P_E>S;^&X-5R`?&$[</_K
XM5[ICX8JM:Q9@&*N7S'@!M#69.)\V`S5O-JU;,N^G95L6X&5&7:?_7+IRQ[:%
XM,[2.9?MV;AED<7>V<K1)N'F0_>P;J4<;)IK"WXV:@YO*EJS5+D"(D!]4=8"T
XM$<S[MPTAVMI&KFJ^/*2NDJYIW'"`\1$3@%YTP.B@C/B`).A5S@4!(@=H5>!/
XMT">\G/-5%[,?S)Z@5>)>#9HTEJ0=K=$7#U]L%:')4<B;3&Q!3$N%ZA"=\ENW
XM)C;*/[%5_PNAU\6BKHH/8LZT/-V"N()^_5C<__^O]_K?+@/A%0B/0'@#\3J8
XM.,*%P.FN:-Z?\/PUX2U#UTTQDXOA(:V`\?Y72#<WKK-?ST&=Q@V0()1S.*-7
XM8/1U17M=7+[K,K4X`_`!>H0R-$'5^*A:'U)N9^GQ4>6+D5G%T0+._V*KB.=:
XMER-N!.UN<,K2)(+V[7T[$C!O/_UA@+@5)`VW9:7[8BCKV_4)CR\>Z]LS1%-5
XM02-<"3SS^J*X'P3MN",8C8&-U_V,.P.V;L`&;<A^*->CX%85W)B6T02@Q'^.
XMK%N@_/2%KC>JX*P9W)%>_T"..,5_T`EO@`A4\?Q-XCC,QW&3=3M84T8B%01I
XM/D92G77.P&EP0S^XMG#":5\G='C/M^ZAPB>@-V#X!%<*DO-7@(8[6DW8W*_5
XM@,7S=BY.MW/SL%87%N>2_)7DD23[D.1])!^C]FZ>T6K!Y@'HFCC_SLS/84\<
XMG/&WFEV6\9NM'F0^UZI"YF:M&B1L1>D)D[32YCT0SL3@&QXBY[:@;:B:,/I2
XMFPX-"A6@G&1F;*:]W+9CP\))]A>R_=@7SHADW+<B>TLL!42;*[@L-<LV[!E0
XM?3$BYT!U!-#XG%`%T&V$*KI!J*I1ID&/B"I`#4>HZAB`J/H@1Z5$U1N(*@#]
XM0Z7")_RR%Q9J))HYGQ42J[-L1/.I-AWH`8&"E@Q@TW&(5BA=388:]D6/;H]+
XMX]8)$(IFP'W.!CX=IQN%=O</!#,I8^>'F93N">I>%SDQ^)HG`+B<%^+X8F_;
XM^-&`=5<UCI0.>8#;>=PN*:"Q\PW>D=-?,R]I=2!Q"6!-O,&P)^3,Q`_8QT>[
XMK=OU_[^(AG__7Q`>"=5FW"!X""!AZ-#PJ$#P#0*/@`%PJIO&P/".G3SB6;
XM]FR:-7^$$,")"_/U"!^(U0@?38'P`9A,")^F5ZM&^#0]P@<@,B!\'4$*[!-X
XMT6.15Z,9MYW:,.L>:%X?DUZ?P=@&\?424F7]]]WBFSUO3!1Z@.+LK6@2"BGH
XM$ZE"=&WEXSL\GIXSA<,;V*^W>.#%+![J\6#^9(^WL\=#/+NMQP.`F_VE/!Y`
XM)1#[BN"EZX%DE?!XNH_1`7"RCV4>F"$[P*&T]-H@V;)CWPP/,#OC":F'0)[L
XMVZ]EYXX%*`GUX.*%>?:VRO8`]60GY6NH#`*>QK)ZUU`90&2@,E".!D!GXFB`
XM#TA<WI-N`9JM$48>!?*<WTDG.`;<074%5WU`^*L"@J)F+GHQ],78E%8P-U>W
XMMN2B>F-$BI3NC,@)Z8TH;()L-[%YKV?F<PDH4]1F-@%U54[DOKZ5MR^JFI/\
XM2-P./4U@IK`O&\+>$=($0[:E8/ZLB\)L4561DSZ1=(UMS.O3"ZF@7=QL:H4P
XM=6#ZQP"CZ#9.=Z<QWK+5<H``R"DG.]3$3NU]HRW&'BC=+'[%1NVSA(G`MU3A
XM8+_Z!_*=!CW^]4"L)KRPC5YJ.-@/#*`KP.5#[D@E21'IHBN0C.SMV*QA'!KU
XMEN;GM--N;BQE7GS8S?S7S3R2;]X\SO"$]6E,GV09O(!EN`#+L.$LX[*@(VA,
XM+;I1+$*S#-TJE-N0#N[<&51NNX/3X$@YR>[,H+_'&U"_(>6]A@W8W_3&LDI#
XM1Q=HYIIV`T"?L1MH!;OQ4ZI/<@.@HMH,Y388'I!&;D`"R`U5D*Q.<D-SY0:@
XM<R@-GPM7CH2*9"4@K2XV(9%;:2'PQOW;,;#Y7(`\(3T&&R>4AV[K,9@W>6=Y
XM7X^!@P_@F]00>G`Q(5]JP#AC[>O#.&_`=GT4>2BJ.W_<H!*!DO4>F>`$9]"C
XM[`T^6D"UJ97MN8?Q="*2@V!=DFZ$Z=ZS_!_^-Z#=<,JOWV;:NKZ:->,=XS"^
XM?E/GH`U:.==0PB]*VW1O?;HW?R!W&^>MCW,UG5<O]G!VX@T???S_6T:/NP"'
XMM=9-J897$KNX`A<-6V#YT4K8XNG]`]@'A_%=F#2X,[W^E;0XK_A0DR4O/?`M
XM>6EZW@"V89PL;78!B/XU9M1EBCC/(>Y^7MXVKK%=/4"TK]_3K.OKC-.+HDW,
XM^S.NDTW9CK@_XSXXO])-_Y/V?\]ZQ"CY6]KD)=?G[$'A_/==F2RR^'F6!G[#
XMU_YG.<#8D1A/P-@W_O>/S-A/-+_`V,T8;\+8E?MG4=FG$C0>D'-S@,4M?RXN
XM27A&PB,27I#P?(1#X"\>1W@UPI,1WHOP6(2'(CP3X8T(#T1X',+3$'Z%\">$
XM'R%\!^$M""]!^`7"'Q`^X&?B^SL3QU>\/.'="8]N^7+%?Q-^F_#4A(<F?///
XMS(T%+`]F?"Z`Y;:@ER4\J_)3%3]*^$_"1Q+^D/"#A`<D_!OAT7XF+(9&.9?D
XMC)IX%.%["']#^!G"MQ`.J(D!-?$0P@U5A$QXAIUW@[90Z_KT*=2I`$N2$1ZF
XM#&*=0?PI5"<^G<.MDW'[]#]].M&LASX=``NURL;LTP%JI4#79RE1A:1$B$]'
XM9$R`.:'292T)F?!H$AV[9LKWP@U\6D!$!6:\02V<?A#$X#FK2^#^`L<E=)8-
XMY/W=K@UD[D^$1`UDB'*4"D&[K.NCX:+082A!15.@1EU</B!JN*?1ZXRF5=9E
XMT&J&-66.4#5UP+$IG^]>&6Y=;VYU>"(I.7-)GF:X9=R/"L=B&8GX1UB0C]
XMW?TDZIFT]I,`\$FG$DUZ-"F5T@>H)`Y?,92^YBM]`.@%G0]?(2$1SQCS##X?
XMY_#Y)&"_!G/^-5#L,/L2(*F-J1O6B&>`)7A`>.CGE!"=C8/UK(B8<](&G.D@
XM30+0:30)9;@U6&?"8`'R&S=K(B8I(B8!0&\`.-86E7"0!J(9:S^/P!'?Q/)W
XMMH0WVFW$0=I!3:2$1Y"1+.)C@642@7^QAMOX>3R['7H`<GIE4G?4\,=&.JZP
XMK@R+X@']LER:J(#C7.N*R$578./5BTMB9%.([2ON!PK5X)2'(TA3!H=5V0GW
XM0>69MZ@=MW#+SZD=R/B-`P0V.&?`_P4#`(:IHEAW`OQ`#5N"%\\(T(8S&B@"
XM#D889[HA^&`N!#?+-NS9D$<!(J!AR)"$`4#0:$(]-.%N[79!H\(M()+``60"
XMW)_B`?XO&'`!@*`6/\"9)"=,P^(D<DR[!.@38(IC5WJ@5NF0+3IAG)`,R3%`
XM[]-NZ[8-.2;R3?-YB,T7S><A_0-@9%1]R75;#7S8`*T`\>\)OR@N?N3T"*9]
XMC*<!_B\8@"TO]$?P\YTD`"&,$L`>8[0)U;X5_C(!_*W1C&"8`/ZT!GXQ\H
XMY@:&.8!B`@8<4$L#!`H````&`-U;?AF)C4+O?P$``'<"```%````1DE,15,-
XM`@$2(Q05-C=HB9K;/`4&$A-$Q?:6]QLJ-)J6;=FY(-.Z!4FWK-RV8\/"=:DW
XM+9SJ%;Q;@GPJ-^V9ZQV6+4BC<LN2(=YIYZ(9ST'.?5M7[M@R_'^T*%6F4D&"
XM!#ED^(*[S)LW98*$B;-E3)DM<=H`WTFG$DUZ-"D5\/B8,VO:`(^G$NQ%G8#'
XMXIQILP;XGME2!OC.&0.\-LHTZ!%Q>)@T;P1+F3&"]0WPVFG5)D-C:\ZT`1Y^
XM*E4IX''@.F<-\,A/J3X%41369DR;,,!WS19&'R<.\(=:)5B!1ZY)<R:.HG!N
XMSJ!DR::EF_8-G+-IV+5ES5S)P[K)<\/Q<[<<^[8M'.ACWFS3BI4;!DNEO>1W
XMTZ!+BQX=(NU,DPJQ)K"J:AV#ZIX)0Z^6X?PMDM$@S;Z5"Y*H$O>[7^XGYY;:
XM!'\'>8L=56_7?03UEB_PP>>QIYM.L8<`I<>$X>2P![%IVK%RW\2AS=(%P6_Y
XM/"B4_G@;<.@8:XY_>V/U5_`)OB`,?5!+`0(+``H````&`)H!#`VHK'I&:@4`
XM`-0*```(``````````$`(`````````!&1T543%(N0U!+`0(+``H````&`*8!
XM#`VTI24&_`(``$P%```)``````````$`(````)`%``!)4T1)1TE4+D-02P$"
XM"P`*````!@`/6GX9X0ZOD6X?``!D5@``"@```````````"````"S"```3$E"
XM5$5234,N05!+`0(+``H`!@`&`-5U=A;:$\E?^@L``*T@```)``````````$`
XM(````$DH``!41T5414Y4+D-02P$""P`*````!@"2NQ4/K]N(7BP$``#_!P``
XM"@`````````!`"````!J-```5$=%5$9,04<N0U!+`0(+``H````&`*.[%0\(
XMFH[8U`0``.@)```)``````````$`(````+XX``!41T543E5-+D-02P$""P`*
XM``8`!@"NNQ4/O8\)1?D)``##&0``"0`````````!`"````"Y/0``5$=%5%-4
XM4BY#4$L!`@L`"@`&``8`H#2C$.?S,OL/"0``$!@```<``````````0`@````
XMV4<``%1'3U1/+D-02P$""P`*````!@!(3@P-?V^F=W,(```^%0``!P``````
XM```!`"`````-40``5%!55%,N0U!+`0(+``H````&`.]9?AF.8JV+C`$``-X!
XM```+``````````$`(````*59``!-04M%1T-#+DQ)0E!+`0(+``H````&`%B<
XM51F&!`EO>@$``+\!```+``````````$`(````%I;``!-04M%35-#+DQ)0E!+
XM`0(+``H````&`#V7JQ8:XK(J(`L``$$:```+````````````(````/U<``!4
XM15)-0T%0+DQ)0E!+`0(+``H````&`-U;?AF)C4+O?P$``'<"```%````````
XF``$`(````$9H``!&24Q%4U!+!08`````#0`-`,H"``#H:0``````
X`
Xend
X
END_OF_FILE
if test 39089 -ne `wc -c <'sys/share/termcap.uu'`; then
echo shar: \"'sys/share/termcap.uu'\" unpacked with wrong size!
fi
# end of 'sys/share/termcap.uu'
fi
if test -f 'sys/vms/vmsunix.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'sys/vms/vmsunix.c'\"
else
echo shar: Extracting \"'sys/vms/vmsunix.c'\" \(15072 characters\)
sed "s/^X//" >'sys/vms/vmsunix.c' <<'END_OF_FILE'
X/* SCCS Id: @(#)vmsunix.c 3.1 93/01/24 */
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed. See license for details. */
X
X/* This file implements things from unixunix.c, plus related stuff */
X
X#include "hack.h"
X#include "date.h" /* generated by 'makedefs' */
X
X#include <descrip.h>
X#include <dvidef.h>
X#include <jpidef.h>
X#include <ssdef.h>
X#include <errno.h>
X#include <signal.h>
X#undef off_t
X#ifdef GNUC
X#include <sys/stat.h>
X#else
X#include <stat.h>
X#endif
X#include <ctype.h>
X
X#ifndef L_tmpnam
X#define L_tmpnam 256
X#endif
X
Xextern unsigned long SYS$SETPRV();
Xextern unsigned long LIB$GETDVI(), LIB$GETJPI(), LIB$SPAWN(), LIB$ATTACH();
Xextern unsigned long SMG$INIT_TERM_TABLE_BY_TYPE(), SMG$DEL_TERM_TABLE();
X#define vms_ok(sts) ((sts) & 1) /* odd => success */
X
Xstatic long exe_time = BUILD_TIME;
X
Xstatic int FDECL(veryold, (int));
Xstatic char *NDECL(verify_term);
X#if defined(SHELL) || defined(SUSPEND)
Xstatic void FDECL(hack_escape, (BOOLEAN_P,const char *));
Xstatic void FDECL(hack_resume, (BOOLEAN_P));
X#endif
X
Xvoid
Xgethdate(name) /* get the creation date & time of file 'name' */
Xconst char *name; /* assumed to be argv[0], full path to nethack.exe */
X{
X struct stat hbuf;
X /*
X [f]stat() won't work across a DECnet link. Would somebody be
X masochistic enough to try ``$ RUN node::NETHACK''? One hopes
X not, but don't inadvertently forbid it. If stat() fails, use
X the compile time provided by 'makedefs' instead of just quitting.
X The playground must be local, otherwise all level files will
X fail their status check, but the exe image could be remote.
X
X Note that we care about the executable's creation time, not
X its modification time, since the latter is touched by changing
X file protection or renaming, two naive ways someone might use
X to disable the program during prime time.
X */
X if (stat(name, &hbuf) == 0) exe_time = hbuf.st_ctime;
X}
X
Xboolean
Xuptodate(fd)
Xint fd;
X{
X struct stat buf;
X
X if (fstat(fd, &buf) != 0)
X pline("Cannot get status of saved level? ");
X else if (buf.st_mtime < exe_time)
X pline("Saved level is out of date. ");
X else
X return TRUE; /* passed the test */
X wait_synch();
X return FALSE; /* failed the test */
X}
X
Xstatic int
Xveryold(fd)
Xint fd;
X{
X register int i;
X time_t date;
X struct stat buf;
X
X if(fstat(fd, &buf)) return(0); /* cannot get status */
X#ifndef INSURANCE
X if(buf.st_size != sizeof(int)) return(0); /* not an xlock file */
X#endif
X (void) time(&date);
X if(date - buf.st_mtime < 3L*24L*60L*60L) { /* recent */
X int lockedpid; /* should be the same size as hackpid */
X unsigned long status, dummy, code = JPI$_PID;
X
X if (read(fd, (genericptr_t)&lockedpid, sizeof(lockedpid)) !=
X sizeof(lockedpid)) /* strange ... */
X return 0;
X status = LIB$GETJPI(&code, &lockedpid, 0, &dummy);
X if (vms_ok(status) || status != SS$_NONEXPR)
X return 0;
X }
X (void) close(fd);
X
X /* cannot use maxledgerno() here, because we need to find a lock name
X * before starting everything (including the dungeon initialization
X * that sets astral_level, needed for maxledgerno()) up
X */
X for(i = 1; i <= MAXDUNGEON*MAXLEVEL + 1; i++) {
X /* try to remove all */
X set_levelfile_name(lock, i);
X (void) delete(lock);
X }
X set_levelfile_name(lock, 0);
X if(delete(lock)) return(0); /* cannot remove it */
X return(1); /* success! */
X}
X
Xvoid
Xgetlock()
X{
X register int i = 0, fd;
X
X /* idea from rpick%ucqais@uccba.uc.edu
X * prevent automated rerolling of characters
X * test input (fd0) so that tee'ing output to get a screen dump still
X * works
X * also incidentally prevents development of any hack-o-matic programs
X */
X if (isatty(0) <= 0)
X error("You must play from a terminal.");
X
X /* we ignore QUIT and INT at this point */
X if (!lock_file(HLOCK, 10)) {
X wait_synch();
X error("Quitting.");
X }
X
X regularize(lock);
X set_levelfile_name(lock, 0);
X if(locknum > 25) locknum = 25;
X
X do {
X if(locknum) lock[0] = 'a' + i++;
X
X if((fd = open(lock, 0, 0)) == -1) {
X if(errno == ENOENT) goto gotlock; /* no such file */
X perror(lock);
X unlock_file(HLOCK);
X error("Cannot open %s", lock);
X }
X
X if(veryold(fd)) /* if true, this closes fd and unlinks lock */
X goto gotlock;
X (void) close(fd);
X } while(i < locknum);
X
X unlock_file(HLOCK);
X error(locknum ? "Too many hacks running now."
X : "There is a game in progress under your name.");
X
Xgotlock:
X fd = creat(lock, FCMASK);
X unlock_file(HLOCK);
X if(fd == -1) {
X error("cannot creat lock file.");
X } else {
X if(write(fd, (char *) &hackpid, sizeof(hackpid))
X != sizeof(hackpid)){
X error("cannot write lock");
X }
X if(close(fd) == -1) {
X error("cannot close lock");
X }
X }
X}
X
Xvoid
Xregularize(s) /* normalize file name */
Xregister char *s;
X{
X register char *lp;
X
X for (lp = s; *lp; lp++) /* note: '-' becomes '_' */
X if (!(isalpha(*lp) || isdigit(*lp) || *lp == '$'))
X *lp = '_';
X}
X
X#undef getuid
Xint
Xvms_getuid()
X{
X return (getgid() << 16) | getuid();
X}
X
X/* return a copy of the 'base' portion of a filename */
Xchar *
Xbasename(name)
Xconst char *name;
X{
X unsigned len;
X char *base;
X register const char *p;
X
X /* skip directory/path */
X if ((p = strrchr(name, ']')) != 0) name = p + 1;
X if ((p = strrchr(name, '>')) != 0) name = p + 1;
X if ((p = strrchr(name, ':')) != 0) name = p + 1;
X if ((p = strrchr(name, '/')) != 0) name = p + 1;
X if (!*name) name = "."; /* this should never happen */
X
X /* find extension/version and derive length of basename */
X if ((p = strchr(name, '.')) == 0 || p == name) p = strchr(name, ';');
X len = p && p > name ? p - name : strlen(name);
X
X /* copy and return name */
X base = strncpy((char *)alloc(len + 1), name, len);
X base[len] = '\0';
X return lcase(base);
X}
X
X#ifndef FAB$C_STMLF
X#define FAB$C_STMLF 5
X#endif
X/* check whether the open file specified by `fd' is in stream-lf format */
Xboolean
Xfile_is_stmlf(fd)
Xint fd;
X{
X int rfm;
X struct stat buf;
X
X if (fstat(fd, &buf)) return FALSE; /* cannot get status? */
X
X#ifdef stat_alignment_fix /* gcc-vms alignment kludge */
X rfm = stat_alignment_fix(&buf)->st_fab_rfm;
X#else
X rfm = buf.st_fab_rfm;
X#endif
X return rfm == FAB$C_STMLF;
X}
X
X/*------*/
X#ifndef LNM$_STRING
X#include <lnmdef.h> /* logical name definitions */
X#endif
X#define ENVSIZ LNM$C_NAMLENGTH /*255*/
X
X#define ENV_USR 0 /* user-mode */
X#define ENV_SUP 1 /* supervisor-mode */
X#define ENV_JOB 2 /* job-wide entry */
X
X/* vms_define() - assign a value to a logical name */
Xint
Xvms_define(name, value, flag)
Xconst char *name;
Xconst char *value;
Xint flag;
X{
X struct dsc { int len; const char *adr; }; /* string descriptor */
X struct itm3 { short buflen, itmcode; const char *bufadr; short *retlen; };
X static struct itm3 itm_lst[] = { {0,LNM$_STRING,0,0}, {0,0} };
X struct dsc nam_dsc, val_dsc, tbl_dsc;
X unsigned long result, SYS$CRELNM(), LIB$SET_LOGICAL();
X
X /* set up string descriptors */
X nam_dsc.len = strlen( nam_dsc.adr = name );
X val_dsc.len = strlen( val_dsc.adr = value );
X tbl_dsc.len = strlen( tbl_dsc.adr = "LNM$PROCESS" );
X
X switch (flag) {
X case ENV_JOB: /* job logical name */
X tbl_dsc.len = strlen( tbl_dsc.adr = "LNM$JOB" );
X /*FALLTHRU*/
X case ENV_SUP: /* supervisor-mode process logical name */
X result = LIB$SET_LOGICAL(&nam_dsc, &val_dsc, &tbl_dsc);
X break;
X case ENV_USR: /* user-mode process logical name */
X itm_lst[0].buflen = val_dsc.len;
X itm_lst[0].bufadr = val_dsc.adr;
X result = SYS$CRELNM(0, &tbl_dsc, &nam_dsc, 0, itm_lst);
X break;
X default: /*[ bad input ]*/
X result = 0;
X break;
X }
X result &= 1; /* odd => success (== 1), even => failure (== 0) */
X return !result; /* 0 == success, 1 == failure */
X}
X
X/* vms_putenv() - create or modify an environment value */
Xint
Xvms_putenv(string)
Xconst char *string;
X{
X char name[ENVSIZ+1], value[ENVSIZ+1], *p; /* [255+1] */
X
X p = strchr(string, '=');
X if (p > string && p < string + sizeof name && strlen(p+1) < sizeof value) {
X (void)strncpy(name, string, p - string), name[p - string] = '\0';
X (void)strcpy(value, p+1);
X return vms_define(name, value, ENV_USR);
X } else
X return 1; /* failure */
X}
X
X/*
X Support for VT420 was added to VMS in version V5.4, but as of V5.5-2
X VAXCRTL still doesn't handle it and puts TERM=undefined into the
X environ[] array. getenv("TERM") will return "undefined" instead of
X something sensible. Even though that's finally fixed in V6.0, site
X defined terminals also return "undefined" so query SMG's TERMTABLE
X instead of just checking VMS's device-type value for VT400_Series.
X
X Called by verify_termcap() for convenience.
X */
Xstatic
Xchar *verify_term()
X{
X char *term = getenv("NETHACK_TERM");
X if (!term) term = getenv("HACK_TERM");
X if (!term) term = getenv("EMACS_TERM");
X if (!term) term = getenv("TERM");
X if (!term || !*term
X || !strcmpi(term, "undefined") || !strcmpi(term, "unknown")) {
X static char smgdevtyp[31+1]; /* size is somewhat arbitrary */
X static $DESCRIPTOR(smgdsc, smgdevtyp);
X static $DESCRIPTOR(tt, "TT:");
X unsigned short dvicode = DVI$_DEVTYPE;
X unsigned long devtype = 0L, termtab = 0L;
X
X (void)LIB$GETDVI(&dvicode, (unsigned short *)0, &tt, &devtype,
X (genericptr_t)0, (unsigned short *)0);
X
X if (devtype &&
X vms_ok(SMG$INIT_TERM_TABLE_BY_TYPE(&devtype, &termtab, &smgdsc))) {
X register char *p = &smgdevtyp[smgdsc.dsc$w_length];
X /* strip trailing blanks */
X while (p > smgdevtyp && *--p == ' ') *p = '\0';
X /* (void)SMG$DEL_TERM_TABLE(); */
X term = smgdevtyp;
X }
X }
X return term;
X}
X
X/*
X Figure out whether the termcap code will find a termcap file; if not,
X try to help it out. This avoids modifying the GNU termcap sources and
X can simplify configuration for sites which don't already use termcap.
X */
X#define GNU_DEFAULT_TERMCAP "emacs_library:[etc]termcap.dat"
X#define NETHACK_DEF_TERMCAP "nethackdir:termcap"
X#define HACK_DEF_TERMCAP "hackdir:termcap"
X
Xchar *
Xverify_termcap() /* called from startup(src/termcap.c) */
X{
X struct stat dummy;
X char *tc = getenv("TERMCAP");
X if (tc) return verify_term(); /* no termcap fixups needed */
X if (!tc && !stat(NETHACK_DEF_TERMCAP, &dummy)) tc = NETHACK_DEF_TERMCAP;
X if (!tc && !stat(HACK_DEF_TERMCAP, &dummy)) tc = HACK_DEF_TERMCAP;
X if (!tc && !stat(GNU_DEFAULT_TERMCAP, &dummy)) tc = GNU_DEFAULT_TERMCAP;
X if (!tc && !stat("[]termcap", &dummy)) tc = "[]termcap"; /* current dir */
X if (!tc && !stat("$TERMCAP", &dummy)) tc = "$TERMCAP"; /* alt environ */
X if (tc) {
X /* putenv(strcat(strcpy(buffer,"TERMCAP="),tc)); */
X vms_define("TERMCAP", tc, ENV_USR);
X } else {
X /* perhaps someday we'll construct a termcap entry string */
X }
X return verify_term();
X}
X/*------*/
X
X#ifdef SHELL
X# ifndef CLI$M_NOWAIT
X# define CLI$M_NOWAIT 1
X# endif
X#endif
X
X#if defined(CHDIR) || defined(SHELL) || defined(SECURE)
Xstatic unsigned long oprv[2];
X
Xvoid
Xprivoff()
X{
X unsigned long prv[2] = { ~0, ~0 }, code = JPI$_PROCPRIV;
X
X (void) SYS$SETPRV(0, prv, 0, oprv);
X (void) LIB$GETJPI(&code, 0, 0, prv);
X (void) SYS$SETPRV(1, prv, 0, 0);
X}
X
Xvoid
Xprivon()
X{
X (void) SYS$SETPRV(1, oprv, 0, 0);
X}
X#endif /* CHDIR || SHELL || SECURE */
X
X#if defined(SHELL) || defined(SUSPEND)
Xstatic void
Xhack_escape(screen_manip, msg_str)
Xboolean screen_manip;
Xconst char *msg_str;
X{
X suspend_nhwindows(msg_str); /* clear screen, reset terminal, &c */
X (void) signal(SIGQUIT,SIG_IGN); /* ignore ^Y */
X (void) signal(SIGINT,SIG_DFL); /* don't trap ^C (implct cnvrs to ^Y) */
X}
X
Xstatic void
Xhack_resume(screen_manip)
Xboolean screen_manip;
X{
X (void) signal(SIGINT, (SIG_RET_TYPE) done1);
X# ifdef WIZARD
X if (wizard) (void) signal(SIGQUIT,SIG_DFL);
X# endif
X resume_nhwindows(); /* setup terminal modes, redraw screen, &c */
X}
X#endif /* SHELL || SUSPEND */
X
X#ifdef SHELL
Xunsigned long dosh_pid = 0, /* this should cover any interactive escape */
X mail_pid = 0; /* this only covers the last mail or phone; */
X/*(mail & phone commands aren't expected to leave any process hanging around)*/
X
Xint dosh()
X{
X return vms_doshell("", TRUE); /* call for interactive child process */
X}
X
X/* vms_doshell -- called by dosh() and readmail() */
X
X/* If execstring is not a null string, then it will be executed in a spawned */
X/* subprocess, which will then return. It is for handling mail or phone */
X/* interactive commands, which are only available if both MAIL and SHELL are */
X/* #defined, but we don't bother making the support code conditionalized on */
X/* MAIL here, just on SHELL being enabled. */
X
X/* Normally, all output from this interaction will be 'piped' to the user's */
X/* screen (SYS$OUTPUT). However, if 'screenoutput' is set to FALSE, output */
X/* will be piped into oblivion. Used for silent phone call rejection. */
X
Xint
Xvms_doshell(execstring, screenoutput)
Xconst char *execstring;
Xboolean screenoutput;
X{
X unsigned long status, new_pid, spawnflags = 0;
X struct dsc$descriptor_s comstring, *command, *inoutfile = 0;
X static $DESCRIPTOR(nulldevice, "_NLA0:");
X
X /* Is this an interactive shell spawn, or do we have a command to do? */
X if (execstring && *execstring) {
X comstring.dsc$w_length = strlen(execstring);
X comstring.dsc$b_dtype = DSC$K_DTYPE_T;
X comstring.dsc$b_class = DSC$K_CLASS_S;
X comstring.dsc$a_pointer = (char *)execstring;
X command = &comstring;
X } else
X command = 0;
X
X /* use asynch subprocess and suppress output iff one-shot command */
X if (!screenoutput) {
X spawnflags = CLI$M_NOWAIT;
X inoutfile = &nulldevice;
X }
X
X hack_escape(screenoutput, command ? (const char *) 0 :
X " \"Escaping\" into a subprocess; LOGOUT to reconnect and resume play. ");
X
X if (command || !dosh_pid || !vms_ok(status = LIB$ATTACH(&dosh_pid))) {
X# ifdef CHDIR
X (void) chdir(getenv("PATH"));
X# endif
X privoff();
X new_pid = 0;
X status = LIB$SPAWN(command, inoutfile, inoutfile, &spawnflags,
X (struct dsc$descriptor_s *) 0, &new_pid);
X if (!command) dosh_pid = new_pid; else mail_pid = new_pid;
X privon();
X# ifdef CHDIR
X chdirx((char *) 0, 0);
X# endif
X }
X
X hack_resume(screenoutput);
X
X if (!vms_ok(status)) {
X pline(" Spawn failed. (%%x%08X) ", status);
X mark_synch();
X }
X return 0;
X}
X#endif /* SHELL */
X
X#ifdef SUSPEND
X/* dosuspend() -- if we're a subprocess, attach to our parent;
X * if not, there's nothing we can do.
X */
Xint
Xdosuspend()
X{
X static long owner_pid = -1;
X unsigned long status;
X
X if (owner_pid == -1) /* need to check for parent */
X owner_pid = getppid();
X if (owner_pid == 0) {
X pline(
X " No parent process. Use '!' to Spawn, 'S' to Save, or 'Q' to Quit. ");
X mark_synch();
X return 0;
X }
X
X /* restore normal tty environment & clear screen */
X hack_escape(1,
X " Attaching to parent process; use the ATTACH command to resume play. ");
X
X status = LIB$ATTACH(&owner_pid); /* connect to parent */
X
X hack_resume(1); /* resume game tty environment & refresh screen */
X
X if (!vms_ok(status)) {
X pline(" Unable to attach to parent. (%%x%08X) ", status);
X mark_synch();
X }
X return 0;
X}
X#endif /* SUSPEND */
X
X/*vmsunix.c*/
END_OF_FILE
if test 15072 -ne `wc -c <'sys/vms/vmsunix.c'`; then
echo shar: \"'sys/vms/vmsunix.c'\" unpacked with wrong size!
fi
# end of 'sys/vms/vmsunix.c'
fi
echo shar: End of archive 42 \(of 108\).
cp /dev/null ark42isdone
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 31 32 33 34 35 36 37 38 39 40 \
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 \
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 \
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 \
101 102 103 104 105 106 107 108 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 108 archives.
echo "Now execute 'rebuild.sh'"
rm -f ark10[0-8]isdone 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