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

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

Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
Posting-number: Volume 10, Issue 34
Archive-name: NetHack3/Patch8p
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 16 (of 24)."
# Contents:  others/maintain.ovl others/splitf.uu
# Wrapped by billr@saab on Mon Jun  4 15:27:26 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'others/maintain.ovl' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'others/maintain.ovl'\"
else
echo shar: Extracting \"'others/maintain.ovl'\" \(17778 characters\)
sed "s/^X//" >'others/maintain.ovl' <<'END_OF_FILE'
X			Maintaining PC NetHack
X		       ========================
X		       Last revision: 1990may27
X
XThe installation of the system of overlay management that currently
Xbrings full-featured NetHack to the IBM PC and compatibles has
Xintroduced a number of arcanities into the source code of the
Xprogramme, and unfortunately running afoul of these intricacies can
Xresult (as we ourselves have discovered) in the most bizarre and
Xstrangely inexplicable dysfunctional manifestations, aka sick bugs.
X
XThis document is required reading for anyone making substantive
Xchanges to NetHack for the PC or embarking upon a revision of its
Xoverlay structure.
X
X
X1. The overlay manager
X----------------------
XNetHack is by now a fairly large programme (in excess of 800
Xkilobytes), and in order to compile it for the PC (which typically
Xhas little more than 500k of available memory) it was necessary to
Xrely on the technique of _overlaying_, whereby not all the
Xprogramme is resident in memory at the same time, segments of the
Xprogramme being loaded and discarded as they are needed. Unlike
Xtraditional candidates for the overlaying strategy, however, NetHack
Xdoes not exhibit strongly phased behaviour; although much of the code
Xis not being used at any one moment, there is comparatively little
Xcode that can be confidently said not to be related to or potentially
Xnecessary for the immediate progress of the game.
X	Furthermore we wished to develop an overlaying strategy that
Xdid _not_ involve intimate knowledge of the operation of the
Xprogramme (since NetHack is an international team effort, and few
Xpeople have a good feeling for the totality of the code structure),
Xand which would not require substantive changes to the source code,
Ximpacting on its maintainability and portability.
X	It turned out to be impossible to satisfy these goals with
Xtools that are widely available at the time of writing, and so we
Xundertook to write our own overlay manager (compatible with
XMicrosoft's, but more in concert with NetHack's particular needs).
XThe result is called ovlmgr.asm and is documented in the file
Xovlmgr.doc. You would probably be well advised to read at least the
Xless technical parts of that file now.
X
X
X2. The trampoli mechanism
X-------------------------
XOne of the difficulties with using overlays for C (particularly
XMicrosoft C) is that while common C programming practise places heavy
Xreliance on function pointers, Microsoft's overlay linker is unable
Xto resolve calls through pointers to functions that are in remote
Xoverlays. Nor, unfortunately, does it choose to report such failures;
Xrather, it generates calls into (what often turns out to be in the
Xcase of our nonstandard overlay manager) the deepest of space. This
Xcan result in truly strange behaviour on the part of your programme -
Xincluding bugs that come and go in as close to a random pattern as
Xyou are ever likely to see.
X	Other than the creative use of pattern-matching utilities
Xsuch as grep to locate the offending calls, there is unfortunately no
Xadvice we can offer in tracking down these bugs. Once they have been
Xisolated, however, they can be remedied straightforwardly.
X
XIn order for the linker not to screw up on a pointered function call
Xit is (to simplify an actually rather complicated situation)
Xnecessary that the function called be located in the ROOT "overlay",
Xand thus not be subject to swapping. Rather than linking the full
Xtext of every pointered function into the root, however, it suffices
Xto place a "trampoline" function there which performs a direct call
Xto the "real" function that does the work, in whatever overlay it
Xmight naturally reside in. Due to a not-quite-accident of the
Xbehaviour of the C preprocessor (it was originally intended to make
Xpossible functions whose address can be taken but which expand inline
Xas macros where possible, a not unrelated function), it turns out to
Xbe possible to arrange for this without major change to the C source
Xcode - and without serious impact on the performance of "regular"
Xcalls to the same functions.
X
XThe C preprocessor's expansion of a macro with parameters is triggered
Xby an encounter with the macro name immediately followed by an open
Xparenthesis. If the name is found, but it is not followed by a
Xparenthesis, the macro is not matched and no expansion takes place.
XAt the same time it may be noted that (unless someone has been oddly
Xstrange and enclosed a function name in quite unneeded parentheses!),
Xa function name is typically followed by an open parenthesis if, and
Xonly if, it is being declared, defined or invoked; if its address is
Xbeing taken it will necessarily be followed by some other token.
XFurthermore (except in the unfortunate case of the ill-conceived
Xnew-style ANSI declaration of a function that takes no parameters) it
Xwill be observed that the number of parameters to a call of the
Xfunction (assuming that this number is fixed; if not, I grant, we
Xhave a problem) is the same in all these contexts. This implies that
Xif all the modules of a programme are uniformly processed in the
Xcontext of a macro definition such as
X
X	#define zook(a,b) plenk(a,b)
X
Xand assuming that all functions named zook() take exactly two
Xarguments, then the resulting programme will be completely identical
Xto the original (without this definition) except that the link
Xmap will report the existence of the function plenk() in place of
Xzook() -- UNLESS there was a place in the programme where the address
Xof zook was taken. In that case, the linker would report an
Xunresolved external reference for that symbol.
X	That unresolved reference is, of course, precisely what we
Xneed; if in another source file (one that did not see the macro
Xdefinition) we placed the function declaration
X
X	some_t zook(this_t a, that_t b)
X	  { extern some_t plenk(this_t, that_t);
X	    return plenk(a, b);
X	  }
X
Xthis would both satisfy the unresolved reference and restore the
Xoriginal semantics of the programme (even including pointer
Xcomparison!) -- while providing us with precisely the kind of
X"trampoline" module that we need to circumvent the problem with the
Xlinker.
X	This is the basis of the approach we have taken in PC
XNetHack; rather than using the somewhat idiosyncratic identifier
X"plenk", however, we have systematically employed (in the files
Xtrampoli.h and trampoli.c) identifiers generated by appending
Xunderscores to the ends of the names of the functions we have needed
Xto so indirect(1).
X
XThere are a few small complications. The first is ensuring that both
Xthe versions of the trampoli'd function (foo() and foo_()) are
Xsimilarly typed by the appropriate extern declarations (which
Xthemselves must be written); this can be accomplished by placing all
Xof these declarations in a header file that is processed _twice_,
Xonce before and once after the inclusion of the file containing the
Xtrampoli macro definitions, thereby ensuring that both variants of
Xthe name have been seen in connection with the appropriate types. The
Xsecond is that some care must be exercised not to employ other macros
Xthat interfere with the normal recognition of function syntax: it is
Xthe presence of the open parenthesis after the name of the function
Xthat triggers name substitution, and not the fact that the function
Xis called; and so (particularly in the case of declarations) it is
Xnecessary that if a macro is used to supply the _arguments_ of a
Xtrampoli'd function, it must also supply the name (this necessity in
Xfact triggered a change in the style of the macros that provide
Xdialect-independent function declaration in NetHack; the new style
Xwould have you write FDECL(functionName, (argTypes...)).
X	Finally, there is the case of functions declared to take no
Xarguments whatsoever; in Standard C this is notated:
X
X	some_t aFunction(void);
X
Xfor no theoretically well-motivated reason I can discern. Such a
Xdeclaration will _not_ match a macro definition such as
X
X	#define aFunction() aFunction_()
X
X-- in fact the compiler will detect an error when processing that
Xdeclaration in the scope of this macro. The only solution is to
Xeschew the use of this strange syntax and unfrabjously forgo the
Xconcomitant security of well- and thoroughly- checked typage. To
Xwhich end we have provided an ecchy macro, NDECL(functionName), which
Xuses the new syntax _unless_ the compiler is not Standard or OVERLAY
Xis enabled.
X
XThere is one further consideration: that this technique only applies,
Xof course, to functions that are published to the linker. For this
Xreason, wherever such trampoli'd functions were originally declared
Xstatic, that declaration has been changed to "STATIC_PTR", a macro
Xthat expands to "static" unless the OVERLAY flag has been selected in
Xthe configuration file, enabling the trampoli mechanism. Thus such
Xfunctions lose their privacy in this one case.
X
X
X3. OVLx
X-------
XThe strategies described above work fine, but they only stretch so
Xfar. In particular, they do not admit of an overlay structure in
Xwhich functions are linked into different overlays even though they
Xoriginate in the same source file.
X	Classically, this is not considered a real limitation,
Xbecause one has the freedom to regroup the functions into different
Xsource files as needed; however, in the case of NetHack this was not
Xa realistic option, since what structure this unwieldy programme has
Xis precisely in the current grouping of functions together.
XNonetheless, the ability to perform some functional grouping is an
Xabsolute requirement for acceptable performance, since many NetHack
Xsource modules (were.c, for example) contain one or two tiny
Xfunctions that are called with great frequency (several millions of
Xtimes per game is not unheard of) and whose return value determines
Xwhether the remaining large, slow functions of the file will be
Xrequired at all in the near future. Obviously these small checking
Xfunctions should be linked into the same overlays with their callers,
Xwhile the remainder of the source module should not.
X
XIn order to make this possible we ran a dynamic profile on the game
Xto determine exactly which functions in which modules required such
Xdistinguished treatment, and we have flagged each function for
Xconditional compilation (with #if ... #endif) in groups according
Xapproximately to their frequency of invocation and functionality.
XThese groups have been arbitrarily named in each source file (in
Xdecreasing order of frequency), OVL0, OVL1, OVL2, OVL3 and OVLB (B
Xfor "base functions", those that deserve no special treatment at
Xall). It is thus possible to compile only a small number of the
Xfunctions in a file by defining but one or two of these symbols on
Xthe compiler's command line (with the switch /DOVL2, for example);
Xthe compiler will ignore the remainder as if they did not exist.
X(There is an "escape clause" in hack.h that ensures that if none of
Xthese flags is defined on the command line, then all of them will be
Xduring compilation; this makes the non-use of this mechanism
Xstraightforward!)
X	By repeated invocation of the compiler on the _same_ source
Xfile it is possible to accumulate disjoint object modules that
Xbetween them contain the images of all the functions in the original
Xsource, but partitioned as is most convenient. Care must, of course,
Xbe taken over conflicts of name in both the object file put out (all
Xslices will by default be called SRCFILE.OBJ, and this default must
Xbe overridden with distinct file names for each output slice) and in
Xthe names of the text segments the compiler is to generate; you can
Xsee this at work in Makefile.ovl. (You may wonder, as we did at
Xfirst, why the text segment name would have to be made distinct in
Xeach object file slice (the default segment name is a function of the
Xsource file name and the compilation model only). The reason for this
Xis, quite daftly to my mind, that the linker considers the identity
Xof segment names and combine classes better reason to combine
Xsegments than the programmer's explicit instructions in the requested
Xoverlay pattern are reason to keep them apart. Programmer, ask not
Xwhy...).
X
XOnce again, that works fine except for the small matter of
Xdeclarations (where have we heard this before?). For objects that
Xonce were static must now be made visible to the linker that they may
Xbe resolved across the reaches of inter-overlay space. To this end we
Xhave provided three macros, all of which expand simply to "static" if
Xno OVLx flags are defined on the compilation command line. They are:
X
XSTATIC_DCL	which introduces a declaration (as distinct from a
X		definition) of an object that would be static were it
X		not for the requirements of the OVLx mechanism. Its
X		expansion is "static", normally, but it becomes
X		"extern" in the event that this source file has been
X		split into slices with the OVLx mechanism.
X
XSTATIC_OVL	is used when _defining_ a function (giving its text,
X		that is) that is logically static but may be called
X		across slices; it expands to "static" unless OVLx is
X		active; in the latter case it expands to null,
X		leaving the function with "previous linkage" as the
X		standard says. Note that this behaviour is quite
X		similar to, but very different from, that of
X		STATIC_PTR (described above), which has the same two
X		expansions but which is triggered not by OVLx but by
X		the OVERLAY flag which enables the trampoli mechanism.
X			STATIC_OVL also differs from the STATIC_DCL
X		and STATIC_VAR in that it is employed _within_ OVLx
X		slices, while the others are used to generate
X		declarations and are deployed in areas common to all
X		slices.
X
XSTATIC_VAR	is used to introduce uninitialised would-be-static
X		variables. Its expansion is complex, since it must
X		read as "static" in the usual case, but as "extern"
X		if OVLx is in use -- in all overlays but one, where
X		it must expand to the null sequence -- giving it
X		"previous linkage" and "tentative definition" (to
X		ensure that the variable gets defined at all).
X			This one took a while to get right, and
X		believe me, using the macro is a lot easier than
X		trying to keep the #ifdefs straight yourself!
X
XAn initialised variable that is file-level static unless OVLx is in
Xuse must now be written with a STATIC_DCL declaration, and a
Xdefinition (and static initialiser) enclosed within the bracketing
Xtag of one of the OVLx slices (any will do; we use OVLB).
X	Type definitions, macro definitions and extern declarations
Xshould, of course remain outside any OVLx slice.
X
XFinally, of course, objects whose visibility need not be extended may
Xsafely continue to be declared static. And in this case, at least,
Xthe compiler will provide diagnostics that inform you when an object
Xhas slipped through the cracks and requires the application of Magic
XMacro Salve.
X
XIt is perhaps less than obvious that when a function is _both_ called
Xacross an OVLx split and referenced through a pointer, it should be
Xtreated as a pointered function (that is, it should get trampoli
Xentries and should be defined STATIC_PTR). The reason for this is that
Xthe STATIC_xxx macros associated with OVLx _only_ change the
Xdeclaration patterns of the objects, while trampoli results in the
Xgeneration of necessary code.
X	It is correct to do this, because the declarations produced by
XSTATIC_PTR are triggered by OVERLAY's being defined, and the selection
Xof OVERLAY is an absolute precondition for the activation of OVLx.
X
X
X4. Hacking
X----------
XBefore undertaking any serious modifications to the overlay structure
Xor support mechanisms, you should know that a _lot_ of work has gone
Xinto the current scheme. If performance seems poor, remember: the
Xoverlay manager itself can be invoked up to ten thousand times in a
Xsecond, and although the space available for loading overlays (once
Xthe data and stack spaces have been accounted for) is less than half
Xthe total size of the overlays that are swapped through it, a disk
Xaccess occurs well under 0.1% of the time(2). Furthermore, this
Xperformance (such as it is) has been achieved without substantive
Xchange or restructuring of the NetHack source code, which must remain
Xportable to many platforms other than the PC.
X
XIf these observations do not daunt you, you are a true Bit Warrior
Xindeed (or aspiration anyway), and we await your comments with bait.
X
X------------------------------------------------------------------------
X
XNOTES:
X------
X
X(1) In fact, we have applied this technique throughout NetHack, even
X    in cases where it is not strictly necessary (since the pointered
X    calls are not across overlay splits, for example - though note
X    that there are more splits than might be initially apparent, due
X    to the effects of the OVLx hackage as described in section 3).
X    There is, however, one exception; and beware: it is an exception
X    with fangs. The file termcap.c contains a few pointered functions
X    that we decided _not_ to trampoli for performance reasons (screen
X    output is one of the problem areas on the PC port at the moment,
X    in terms of performance). It is therefore vital to the health of
X    PC NetHack as it currently stands that the OVLx slice termcap.0 be
X    linked into the ROOT "overlay".
X
X(2) These figures are for a 4.77 MHz PC-XT running in low memory with
X    an older version of both the overlay manager and the NetHack
X    overlay arrangement. On a more capable computer and with the
X    current software, the figures are probably more like a 100kHz peak
X    service rate and a hit rate (since we fixed the bug in the LRU
X    clock logic!) in excess of 99.99% -- hopefully not both at the
X    same time.
X
X------------------------------------------------------------------------
XStephen P Spackman                             stephen@tira.uchicago.edu
X------------------------------------------------------------------------
X			     * Hack On! *
END_OF_FILE
if test 17778 -ne `wc -c <'others/maintain.ovl'`; then
    echo shar: \"'others/maintain.ovl'\" unpacked with wrong size!
fi
# end of 'others/maintain.ovl'
fi
if test -f 'others/splitf.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'others/splitf.uu'\"
else
echo shar: Extracting \"'others/splitf.uu'\" \(38043 characters\)
sed "s/^X//" >'others/splitf.uu' <<'END_OF_FILE'
Xbegin 666 splitf.exe
XM35HE !@ 4  C )H$___9 8  Y51O .$!0     $                     
XM                    KRT   8 X0$* .$!#@#A 1( X0$6 .$!&@#A 1X 
XMX0$B .$!)@#A 2H X0$N .$!,@#A 38 X0$Z .$!/@#A 4( X0%& .$!2@#A
XM 4X X0%2 .$!-0   #X   !U    AP   .P    G 0  3 $  %X!  !I 0  
XMKP$  , !  #H 0  _0$  *X"  #' @  5P0  .4$   ^!0  M 4  .T%  !)
XM!@  8P8  -H&   <!P  A <  *0(   U"@  ^0H  !@+  "P"P  RPL  .8+
XM  #+#   Z P  "D-  #T#0   0X  &P.  "5#P  HP\  + /  #(#P  DA  
XM , 0  "=$0  ,@&/ DD"CP)_ .$!F@7A 0P&X0&J!N$!Q0?A 9$(X0$7$P  
XM3!,   D O ' $P  ZA,    4  "[&P                              
XM                                                            
XM                                                            
XM                                                            
XM                          #H!A"+1@B%P'4##?__,]NI#P!T!('+ 0#1
XMZ-'HT>C1Z /8BT8&CL"T2LTA<@4SP.L&D)I?&P  Z.P/R@0 N,X!CMB^  "+
XM#$9&B]:[ @"T0,TAL-6T3,TAZ*X/N%< BUX&"]MU) M>"'4?Q58*5K0#B_*:
XMIA   %YR#[0[S2%R!#/ ZP6:7QL  .B:#\H( .AW#XM>$(/[%'(%N 8 ZT^X
XM $3-(7)#]\*  +B$ '4_BW8.BWX,A?9Y%C/),]*+1@JT0LTA<B,#QQ/6N(, 
XM>!^+SHO7BT8*M$+-(7(-Q5X&B0>)5P(SP.L&D)I?&P  Z#4/R@P Z!(/BUX&
XM@/__=""#^Q2X!@!S(I/HT@Z+^XO8,L N($4#+B!%!+0^S2%R!3/ ZP:0FE\;
XM  #H^@[* @#HUPZX5P"+7@8+VW4D"UX(=1_%5@I6M .+\IJF$   7G(/M$'-
XM(7($,\#K!9I?&P  Z,,.R@@ B^RXO &.P":A!P F"P8) '0%)O\>!P"+1@2T
XM3,TA58OL'L5N!C/ /HA& !]=R@0 58OL'NAH#<5N!CZ)1@ SP!]=R@0 Z%L.
XMN+P!CMB^"P"+5@ZT1\TA<CNXO &.P+\+ +E  #+ _/*NND  *]'%7@:+!SO"
XM?0B)%[AO .L;D(O*N+P!CMB^"P#$?@K\\Z0SP.L&D)I?&P  Z"0.R@H Z $.
XMZ%L0M!G-(8KCCL#%7@HRY$")!TB*\+L! #/V,_^*SH#Y$'T'T\,+\^L(D(#I
XM$-/#"_LRTKL! +D0 +0.S2&T&<TA.L9T!(KP"_/^PM'#XNJ[ 0"Y"@"T#LTA
XMM!G-(3K&= 2*\ O[_L+1P^+JQ5X&B3>)?P*,P(K<BM"T#LTAZ/,/,\#HF W*
XM" #H=0VX5P"+7@8+VW4K"UX(=2;%5@Y6M .+\IJF$   7G(6L "T0\TA<@G%
XM=@J)##/ ZP6:7QL  .A:#<H, -,"TP(                             
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                     #/ 58OL*^ >!E-14E97Q78,Q'X&,\ FB06+5A"X
XM!@"#^A1R ^GF (O"Z-<++O9' R!U ^FR  O2= /IJP .'XLVSP([-M$"=7>+
XM1@H]_P!V [C_ #/)+O8&7A,&=0>X_P"+#M0#H]8#B0[8 QZXTP)0'KC6 U S
XMP%!0FL,2   +P'0#Z8< O],"B3[/ @,^V .)/M$"+O8&7A,&=2.R"K0&S2$S
XMP+_3 H ]&G0,H=@# _C'!0T*@\<"H]0#B3[1 L1^#(LVSP*+#M$"*\X[3@IV
XM XM."HO!_/.DB3;/ L5V!HD$,\#K'Y#H)@N+VHM."HO6M#_-(7,&Z"4+ZPN0
XM)HD%,\#H&@OK!9I?&P  Z.<77UY:65L''XOE7<H, .@/"\5>!C/ B0>+7A"#
XM^Q1R!;@& .LRBTX*"\EU$XO#Z,,*,\ N]D<$ 74=N 8 ZQC%5@RT0,TA<@K%
XM7@:)!S/ ZP:0FE\;  #HXPK*#                                   
XM                                 .B."KA7 (M>!@O;= /I" $+7@AT
XM ^D  <5V"HL,A<FX5P!U ^GQ /=&%,C_= :X5P#IY "T L5V&IJF$   <P/I
XMU0#%=A:#/ %T&2Z /G8% 70+@SS_=0;'! $ ZP:X!@#IM "T+\TA+HD>1@4N
XMC 9(!;0:N@  CMJZ2@7-(8O9Q'X0Q58:BTX4+L8&=@4 _"[&!G<% (-^#B1S
XM#S/ +O8&=P4!=6*X;P#K78-N#B0N@#YV!0%T(+1.+L8&=@4!S2%S-RZ!/D@0
XM_P!U"5-1FE\;  !96^LQM$_-(7,=+H$^2!#_ '4+4U&:7QL  %E;ZQ<]$@!U
XM$C/ ZPXNQ@9W!0'H" %+=9 SP,5V"BD<D[0:+L461@7-(9.%P'0&+L8&=@4"
XMZ(D)RA@ Z&8)N%< Q78&BPR%R74#Z:D N 8 @WX0 70#Z9T +O8&=@4!=0/I
XMD@"T+\TA+HD>1@4NC 9(!;0:N@  CMJZ2@7-(8O9Q'X,_"[&!G<% (-^"B1S
XM#S/ +O8&=P4!=4*X;P#K/8-N"B2T3\TA<R4N@3Y($/\ =0M349I?&P  65OK
XM'R[V!G<% 707/1( =1(SP.L.+L8&=P4!Z$< 2W6P,\#%=@8I').T&B[%%D8%
XMS2&3A<!T!B[&!G8% NC(",H, .BE"+@& (-^!@%U$"[V!G8% W0(+L8&=@4 
XM,\#HI@C* @"X  ".V(TV7P4SP":)!2:)10(FB44$)HE%!B:)11 FB442K":)
XM112M)HE%"JTFB44(K2:)10RM)HE%#KD- #/ ."1T!_[ 1N+W_L@FB$46_L"+
XMR(TV: 6-?1?SI,,   $  0     !      $    0 0   !0!            
XM                                                            
XM                            N P Z,$'QT;\  #W1@[(_[@% '5OBU8*
XMN%< BUX&"UX(=6&+1@P*Y'4'0 M&#*GL +A7 '5.]\((?W5(N P B]J!XW  
XM@^L0@_LP=S>+VH'C!P"#^P)W++0!Q78<FJ80  !R(/?" (!T<>A4!H#\"G(8
XMQ58<BTX*M&3-(7()B4;\Z5(!Z6P!Z60!Q5X<BP^ _3IU\(#AWX#I08!_ @!T
XM#X-^# &X P!TV[A7 .E$ 8K1M!G-(8KP.O)T%;0.S2&T&<TA.L:X5P!TNHK6
XMM [-(;C^_RK!B4;\Z?L Z.,%@/P#<P>!X@< B58*Q58<Z $"B$;^BT8*M#W-
XM(7,^/0( =2B ?OX N 4 =1SW1@P0 '0@]T8*!P!U%(M&$ M&$K@% '4#ZP>0
XMZ<H Z<( N0( ZT^X;@#HHP'IN0")1OSW1@P! '0:@'[^ '0,Z$P&BD;^+HA'
XM ^L#Z!$"N0$ ZRKW1@P" +AN '3,@'[^ '0/Z"@&BD;^+HA' [D# .L+N0, 
XMZ(\ <J_HX@'%7A2)#XM&_.@&!HM&"BZ)!XO[M$0RP(M>_,TA<BN+WRZ 9P/?
XM]L* ="3VP@%T!RZ 3P,@ZQB!XL\ @<H@ + !M$2+7OS-(7,%Z 8!ZQB+1OSH
XMO04N@$\$ <5>&(M&_(D',\#K!I":7QL  #T  '44BU[\@/__= R#^Q1R![0^
XMS2&X! #HTP7*&@!14HM^$(MV$H/Y W42B]\+WG4;M#Z+7OS-(7,#Z:  M#R+
XM3@[-(7,#Z90 B4;\BU[\M$7-(7,#Z84 ,\F+UPO^B_AT%8O.@^H!@]D M$(R
XMP(O?S2%R2KD! +1 B]_-(7(_.\&X< !U/4ET[K0^B]_-(7),,\DSTK1",L"+
XM7OS-(?=&#@$ =12T/HM>_,TA<B]:4HM&"K0]S2%R)/@SP.LEFE\;  !0M#Z+
XM7OS-(;0^B]_-(<56'+1!S2%8^>L'D)I?&P  ^5I9PU"<@W[\ '0,M#Z+7OS-
XM(<=&_   G5C#B_*+/(M< HI,!('GW]^ X]^!_T%5=0>#^UAU6NLA@?]04G4*
XM@_M.=4VX% #K2O;!_W5#@?]#3W46@?M-,74%N!  ZS2!^TTR=2RX$0#K*;@4
XM ('_3%!U'H'[5#%U NL8@?M4,G4%#0$ ZPV!^U0S=04- @#K C/ PU&XS &.
XMP+L, ";V!_^X  !T;[0OS2&)7O2,1O:XO &.V+H+ +0:S2'%5ARY!@"T3LTA
XMN ( <BZXO &.V+X+ (M&_.CJ XM&"BZ)!XM$&HE&^(M$'(E&^HI$%2Z(1P(S
XMP"Z 3P0"D[0:Q5;TS2$+VW0/4XM&_.BW RZ 9P3]6.L!D\56'%G#N 0 Z-$#
XMBUX*@_L4<@:X!@#IH@"+1@KHCP.X!@ N]D<#\'0#Z8\ BUX*,\F+T;1"L '-
XM(7)[B4;\B5;^B]&T0K "S2%R:XM."(7)>06X5P#K9#O*BU8&=QAR!#O0=Q*T
XM0K  S2%R2K1 ,\G-(7(EZQ^T0K  @^H!<P%)S2%R,K1 N0$ S2%R##T! +AP
XM '4),\#K!9I?&P  4(M._HM6_+1"L "+7@K-(7(#6.L(@\0"FE\;  #H.0/*
XM!@#H%@.+7@Z#^Q1R!;@& .LKN !$S2%S NL=Q%X*)L<'  #VPH!T"R;'!P$ 
XMQ%X&)HD7,\#K!I":7QL  .CX LH* .C5 O=&!O__= :X5P#K+9"+1@P+P'4#
XM#?__,]NI#P!T!('+ 0#1Z-'HT>C1Z /8M$C-(7('Q5X(B0<SP.BV LH(    
XM             (D.  0 !            (\.  4 !0           )4.  8 
XM!@           )L. !   @           *$.     .A% HM>#KYS#;D% "XY
XM''03@\8/XO:X,@"#^P=T [@! .F> "Z /KX- 706+L8&O@T!N@  CMJZR Z[
XM% ":D1,  "Z ? X!=3;%7@8NBT0(B0<NBT0*B4<"Q58*C-@+PG43+HM$ K0E
XM+L54!,TA+L9$#@#K2RZ)5 @NC%P*ZT$NBT0"M#7-(2Z)7 0NC$0&A]/%7@:)
XM%XQ' L56"HS8"\)T'BZ)5 @NC%P*N@  CMHNBU0,+HM$ K0ES2$NQD0. 3/ 
XMZ* !R@H ^R[_+GL-^R[_+HH-^R[_+ID-^R[_+J@-4"[=/K\-+J&_#3W__W02
XMJ8  = U5B^R'1@)=^R[_+K<-6"[_+K,-'E!345:^<PVY!0 SP([8+H!\#@%U
XM&BZ+7 +1X]'C+HM$!(D'+HM$!HE' B[&1 X @\8/XMI>65M8'\L  %6+["ZA
XM P^+Y5W#                4%-14E97'@8.'RZC P\NB1X:#[X0#[1C,L#-
XM(;D%  X'OQ /\Z6T1#+ ,]O-(7(0@.*!@/J!=0B[X <N@$\#(.CY .AF @<?
XM7UY:65M8RU-6'HK8"MMT&OP.'[X0#ZT+P'0/.MAR]SK<=_/YBL,?7EO+# 'K
XM]IIK#P  <P:*X*P*P/G+FI(/  !S!70#AN"KRYJ2#P  <P9T!$EU 4[+4(;@
XMXQ@FB@5'29IK#P  <@8ZX'0+Z^SC!$=)Z^:#^0%8RU RY+,%]N.[X <#V%C#
XM+H\&SQPN_P;-'"[_)L\<+H\&SQPN_P[-'"[_)L\<,\ NCP;/'%6+["O@'@93
XM45)65R[_!LT<+O\FSQPN_P[-'.BC#"Z/!L\<7UY:65L''XOE72[_)L\<    
XM            Z"L G"[_'DH0SU!3!AZX)#7-(2Z)'DH0C, NHTP0C19.$ X?
XMN"0ES2$?!UM8PRZ!/D@0_P!T("['!D@0_P!04U&:7QL  "ZC0A NB1Y$$"Z)
XM#D8065M8PU974U%2,O^*W#/_,]+\K(3 =0/IFP!'FFL/  !S ^F# #PZ="8\
XM+W1!/%QT/3P@=#D\.W0U/"YT23PJ=0/I@@ \/W1^BLCKQNF: (3_=?F#_P%T
XM](/_ G?OA/9UZX#)((#Y87+C@/EZ=]Z$_W0/@_\$=@/IFP R_S/_ZR&0@_\)
XMZ^^$_W0/@_\!=@/K6)"W 3/_ZPF0@_\)=O3K=9 R]HK(Z6K_K(3 = A'M@&*
XMR.E=_X3_= B#_P-W5_CK7X/_".OV]L,!=1ZR 3PJ=="$_W0*@_\#=SN_ P#K
XMPH/_"'<QOP@ Z[B ^P)S&ZR$P'4%N ( ZR>::P\  '(//"]T!CQ<= +KY;@#
XM .L1K(3 =.#KV;C. (32= .XT #Y6EE;7U[+4%-14C/)M$0RP(O9S2$]!@!T
XM.8O#Z/W]+H!/! 'WPH  =#,N@$\#$/?"! !T!2Z 3P. ]\(" '0%+H!/ T#W
XMP@$ =!(N@$\#(.L+D(O#Z,3]+H!G! !!@_D4<JJX P#HL_TN]D<#$'01+O9'
XM X!U"BZ 3P,(+H!G _RX! #HE?TN]D<#$'01+O9' X!U"BZ 3P,$+H!G _Q:
XM65M8PP!04C+ M#/-(2Z(%F42_L RTLTA6EC#4%(NBA9E$K !M#/-(5I8PV-O
XM;@   +1%,]O-(7(5+J.0$K0^S2&,R([8NHP2L "T/<TAP[1&+HL>D!(SR<TA
XM<@6T/LTA^,,SP%6+["O@'@9345)65^B^_W)S_,1^#L5V"HL,@?G_ +AX 7=5
XM+O8&7A,&=":+=@B#_@&X=P%W4S/2XS6T"\TA"L!U! OV=2FT!\TAJD+BZNL?
XMD+B\ 8[8N@L B_*(#+0*S2%&BA1&,\F*RO[!\Z0R]L1^"B:)50(SP(O0Z&[_
XM<@6+PNL&D)I?&P  Z( )7UY:65L''XOE7<H,  D     "0     !      D 
XM    !P     '      D     "@     "             !X&5U.-/E\3+HD1
XM+HQ9 B[V000!="PN]@:/$P%U)%.X(S7-(2Z)'G@3+HP&>A.[  ".V[I+%+@C
XM)<TA+H .CQ,!6R[V000"=#@N]@:/$P)U,"['!GT3N!2X   NHW\3N"0US2$N
XMB1Z'$RZ,!HD3NP  CMNZDA2X)"7-(2Z #H\3 EM?!Q_+5XT^7Q,NQP$  "['
XM00(  %_+C39?$S/;+O9 ! 1T#"Z+ "X+0 )T R[_&(/#!8/[*'+ERR[&!I 3
XM 5!3C1Y?$RZ*1P0NA :0$W0K+HL'+@M' G0B+O9'! AT%BZ+!RZCBQ,NBT<"
XM+J.-$UM8+O\NBQ-3+O\?6X/#!>O%+H,^@A, =0@N@SZ$$P!T!2[_+H(3G"[_
XM'H<3+L8&D!,"/ )TFL^X @#/      $  @ #  0                     
XM                                                  4  P,!50 ,
XM P.W  P# 0< !P4%H  )! $6  D$ 7< !P0""@ '! 4+  D$ 1@ "00!H0 )
XM P&?  D$ 10 " ,!;0 -! %O  <!!8X # ("4@ !! *Y  @" 8$ " (!%P %
XM 0(0  ,# H( #@0"D0 . P*0  X# IT " 0%:P + P)P  $# FP "@("40 -
XM! %<  T$ 5L #00!90 , @%3  T$ 2,  00"4  , P("  @# A\ #00!>@ '
XM! %?  T! 0P !P0!:  '! $)  <$!;4 !P0!=0 '! $-  D$ 0\ " ,"EP )
XM! &Z  D$ 0$ !P0!!@ '! %\  D$ 9D "00!>P ) P&V  D$ 5< "0,!5@ #
XM P&T  D$ 7( !P0!=@ '! &&  X# 9, #@,!A0 . P&'  X# 9( #@,!E0 .
XM P&*  X# 8P #@,!F@ ) P(A  H" GX " ,!@P '! )8  4$ QH "P<""  !
XM! 5:  X$ 8@ #@0!G@ .! $5  X$ 1$ #0,"B0 . P$R  D# [@ " 0!70 (
XM! $2  @# G$  00!60 ! @%]  @$ 6X " ,!'  !!P%4  $$ 90 # ,! P (
XM P)_  @$ 7,  P0!'@ %! */  X# 1L " 0"&0 %!P*$  X$ 68 # 0!NP (
XM! %I  T$ 7D #P0!:@ !! $D  $$!2  "@("H@ . @&<  X$ 8T #@,!BP .
XM P&6  X' 9@  00!!  !! %D  $$ 6<  00!FP !! %T  <$ 8  " 0!'0 %
XM! (3  ,' B( "P<"+P$'! $P 0<$ 3$!!P0!,@$#! $S 0<$ 30!!P0!-0$'
XM! $V 0<$ 3<! 00%. $'! $Y 0<$ 3H!!P0!/ $'! $] 0@$ 3X!#@0!/P$)
XM! %  0<$ 4$!#@(!0@$.! %# 0<$ 40! 0(!1@$'! %' 0D# 4@!!@0!20$-
XM! %* 0,$ 4L!#00!3 $,! %- 0@$ 4X! 0(%3P$)! %0 0<$ 5$!!P0!4@$-
XM! %3 0T$ 50!#00!50$-! %6 0X" 5<!" 0!6 $-! %9 0T$ 5H!#00!6P$-
XM! %= 0<$ 5X!!P0!7P$'! %@ 0<$ 6$!!P0!8@$'! %C 0<$ 60!!P0!90$'
XM! %F 0<$ 6<!!P0!: $-! %I 0T$ 6H!#00!:P$-! %L 0T$ 6T!#00!;@$'
XM! %O 0<$ 7 ! P0!<0$'! %R 0$$ 7,!" 0!= $.!@%U 0<$ 78! 00!=P$'
XM! %X 0<$ 7D!!P0!>@$'! %[ 0<$ 7P!!P0!?0$'! %^ 0$$ 7\!" (!@ $!
XM! &! 0<$ 8,!!P0!A $.! && 0X$ 8D!" (!BP$'! &, 08$ 8T!!@0!C@$'
XM! &/ 0<$ 9 !!@0!D0$&! &2 0,$ 9,!!P0!E $'! &5 0<& 98!"@(!EP$#
XM! &8 0<$ 9D!!P0!F@$,! &; 0<$ 9P! P0!G0$'! &> 0<$ 9\!# 0!H $'
XM! &A 0<$ :(!# 0!HP$-! &D 0T$ :4!!P0!I@$,! &G 0P$ :@!#00!J0$-
XM! &J 0P$ :L!#@0!K $'!@&M 0<$ :\! P0!L $'! &Q 0<$ ;(!# 0!M $'
XM! &U 0X$ ;8!!P0!   -! 'H,O8SR>L*D$&#^05R ^F- (O9T>,NB[>^%(O>
XMB\/1X]'C ]C1XRZ#O] 4 70"Z]B+1A(N.8?(%'0"Z\S$7@Z+_HO'T>?1YP/X
XMT><NBX7*%":)!\1>"BZ+A<P4)HD'Q%X&+HN%SA0FB0<NQX70%   B]'K I!"
XM@_H$<@/K%9"+VM'CB_K1YRZ+A< 4+HF'OA3KXXO:T>,NB;>^%.LSD :+1A*Y
XM^ "^_!0N.P1T"(/&!>+V@^X%*N0NBD0"Q'X.JRZ*1 /$?@JK+HI$!,1^!JL'
XM,\#H??7*#@!04U%25E=14U STC/)ZP*008/Y!7(#ZRJ0B]G1XRZ+M[X4B]G1
XMXRZ+G[X4B\/1X]'C ]C1XRZ#O] 4 '0"Z]&Z 0"#^@!T ^LQD"Z+-KX4,\GK
XM I!!@_D$<@/K%9"+V='CB_G1YRZ+A< 4+HF'OA3KXXO9T>,NB;>^%(O>B\/1
XMX]'C ]C1XU@NB8?(%%HSP(K&+HF'RA2*PBZ)A\P46HK&+HF'SA0NQX?0% $ 
XM7UY:65M8RRZC^A3HG_. _ -] ^M"D%97!AY24;19,]O-(5J*REH?!U]>/5, 
XM=2$N@3Y($/\ =1@NH4(0+HL>1! NBPY&$"['!D@0  #K&I NH_H4ZPJ0+J'Z
XM%+L$#;4!FJP:   NH?H4RS/ ,]O+*10                             
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                      #K ,,               !G %1H92!!<'!L:6-A
XM=&EO;B!0<F]G<F%M($EN=&5R9F%C92 H05!)*2!E;G1E<F5D#0IW:6QL(&]N
XM;'D@=V]R:R!I;B!-:6-R;W-O9G0@3W!E<F%T:6YG(%-Y<W1E;2\R(&UO9&4N
XM#0H         - !365,R,#DP.B!4:&4@<WES=&5M(&ES('5N86)L92!T;R!L
XM;V%D('1H92!P<F]G<F%M+@T*                                    
XM                                                            
XM                                                            
XM                            =@   &8!  #: P  ]P0  #$-        
XMA $  %@   "/    ]    "\!  !A!P  > 4  #0,  !$"   JP$   4"  "1
XM @  \ P  ,$-  "6 0                        8 <W!L:71F &4 M##-
XM(8;@+J/Y"3T  G,;N,X!CMB^< "+'$9&QP D (O6M G-(08SP%#++HP._0DN
XMC!;_"2Z,!@$*)J$" "ZC^PDFH2P +J,8"K1*N___S2$]" !T ^G1!+1*S2%S
XM ^G(!(S  ]@NB1X+"KYO#2Z+3!PSP(O8+HM4$"X#5!*#TP N W0B+@-4!H/3
XM "Z#? 8 =0%#@\(/@], @.+P@\8(XN/1V]':T=O1VM';T=K1V]':C,@#PCT 
XMH'(&N @ Z6D$+J,#"HOHN&\-B_ %#P#1Z-'HT>C1Z 4@ "Z+7!S1X]'CB]/1
XMXP/:+@,>  "#PP_1Z]'KT>O1ZXO+ \@NB0Y4 "Z+%@L**]$[U7*O@>H !CO5
XM+HL6"PIR"X'J  8N@094   &B_"+^RZA 0J+VBO8*]E+CL"T2LTA<P/I[ .+
XMV;1(S2%S ^GA X[ +J,-"HO0B\:+WP/3B\C1X='AT>&.PC/_C,J.VHOW_/*E
XMC,",PBO3B\O1X='AT>&.PC/_OF\-\J6.V(P&!0J[;PV#PP_1Z]'KT>O1ZP/8
XMCM.\  )0N!("4,N,R8[!CMF)#AX*+J$!"BZ+'O\)*]B.P+1*S2%S ^EF RZ+
XM%@4*CMHS]HOL@^PZZ+0(Z(8#Z!X)Z , Z8X*N4  *^&+_!8'\J2+W#:!/TY%
XM=1 V]T<, "!U"#;W1PP @'0%L OI( .+W.BK H/$0.A4 *$6 .@K XM$"(E&
XMUJ$4 (E&U*$: .@9 XM$"(E&[(L>& "A#@ [!AH =1$+VW4-BUP(BT0& P82
XM )/K!NCR HM$"('C_O^)7NJ)1N"T/HM>^,TAP[@! #L&' !W"^@\!8M&YHE&
XMZ.OOM$B[___-(3T( '0#Z9X"+BL>5 !R-8/K G(P@?N  '(J@?O_#W(#N_\/
XMM$C-(7,#Z7H"+L<&5@ ! "ZC6@#1X]'CT>/1XRZ)'E@ QT;D 0".7N*+#AX 
XMXP2+-@8 BT;D.P8< '<+Z& "Z!H _T;DZ^PN]P96  $ = L&M$DNC@9: ,TA
XM!\.)=NJ+1 B)1O*+% O2=0/K=Y SP(L.,@#1XM'0XOJ+R.B+!8MVZHY>XO=$
XM! @ =$T6'[D$ "OAB]3HWP6+=NJ.7N*+3 *#Z02.7O(STNC+!5A?CD;R]^<+
XMTG0&N L Z<8!"\!T(XMVZHY>XCM$!G?K*\>+R(Y>\C/V\Z3K"XM, HY>\C/2
XMZ),%BW;JCE[B]T0$  %U ^F\ (S3CMM1B]2Y @#H=@59"\EU ^FG %&,TX[;
XMC5;4N0@ Z& %CE[BBD;5) ,\ '4;BT;8,N2+7MH\_W0(Z&T!BU0(ZR2+P^AY
XM ^L=/ )T!#P!=2LNBS8)"M'FT>8N_P8)"B[$G 0 C,+H60#K2\T\/\T\7\T\
XMG\T\_S)< #VB/ -T ^D__XMVUHY>\HM&V$@]!0!V ^DM_[MU! /8 ]@#V#T$
XM '('+HL' 03K#"Z+!XD$+HI' B!$ EE)Z5+_CE[BBW;JPXMVUHY>\O9&U01T
XM!>@. .L+_S3H!P!>@_[_=?7#BD[4@.$'@/D#= J ^0!T*(#Y!74/]D;5!'0$
XM 1SK HD<@\8"@/D#= 6 ^0)U$/9&U01T" $4ZP8 '.L"B13#+J$%"HE&XHE&
XM]H[8BQX< (O+T>,#R]'CT>/1X='A2TF.1N(+VW1(+HLV  "+_@/Y40$.)  !
XM#B8  0XH  $.*@ !#@0 B\\K#B0 _?*D68LV(@"+_@/S _DSP(L.' "+V;D(
XM *JJJJKSI(O+XO'\PU"XS@&.V+YP (L,1D:+UKL" +1 S2%8M$S-(<,RY O 
XM= ](T>#1X(OPT> #Q@,&(@"+\,-6'K0PS2&&X"ZC^0D]  )S ^F>^CT  W,#
XMZ98 N?_O+HX&& HSP(OX\JZN=?M'1RZ)/@<*B_<NCAX8"K0!FJ80  !S NN&
XMB]BLZ"P%<P5U^.EY_SQ<= @\+W0$/#IU XO^3SK#=>(N*S8'"E>,R8[!OV,*
XMB\Y1+HLV!PKRI(S*CMJZ8PKH,@%>67(#Z2(!+CLV!PJX>P!T ^D; 2Z.'@$*
XMO[ *+HD^* HNC XJ"O*DZVF0C,J.VKYF "Z+#F0 C,J.PK]C"O*DN"Y%J[!8
XMJS+ JH[:NF,*5K0!B_*:IA   %YS ^GF_NC0 '(#Z<( +HX>!0J+-B8 B@PR
XM[4:_L HNB3XH"BZ,#BH*+HX&*@KRI+@N1:NP6*LRP*HNC@88"NBL "Z)-B0*
XM+L46* HNC@8J"K]C"C/)K.A*!',(=0/IB_Y!Z_(*P'0-/#MT"3/)/"!TY*KK
XMX0O)=1>!_V,*=$TF@'W_7'0*)H!]_R]T [!<JBZ)-B0*+L4V* HNB@XL"C+M
XM\Z0&'[IC"E(>5>@K %T?7G,=+HX>& HNC@8J"BZ+-B0*"_9T!H!\_P!UA; "
XMZP:)1O@?7L/I$_XNH?D)/0 #<@:X(#WK!)"X #W-(<.,P>,;#A\S_[D% +[H
XM"O.F=!!/N?_O,L#RKB8X!77I,_;#B_<&'[0#FJ80  !RN<,+P'1,2(LV!  S
XMVXH<1@O;=#X[PW(9*\-0K K = [^P+@# '4#N 8 ]^,#\%CKVHO8K#S_=1JX
XM!@#WXP/PB_Z+702*10/HHOV+5 @+TG0!P[ +Z7G]]P8,  " = /I[P")1NCH
XMA/V+1NA B4;F2(M\!#/2,\GK&4% B4;F.P8< '8#Z;T Z&+]BT;F.WP$=5.+
XM7 8+VW3@.UP"<P/IL  [!@X =3X#'A  <P<+VW0#Z9$  QX2 ','"]MT ^F$
XM '0?48O+FL(;   +P'0#ZWJ0.\MR HO968'[R !S [O( (E>W@/3@]$ "]MU
XM 4&#P@^#T0"#^0]V ^M/D-'JT>K1ZM'JT<G1R=')T<D+T8O:M$C-(7,#ZS*0
XMCL"+V(M&Z%#HQ_Q8B5P(@<, $$ [1N9R[HM,!HM\ BO/,\#1Z?.K<P&JP[C'
XM .F%_+@( .E__+@+ .EY_"[W!E8  0!T5(O!B]HN*QY@ "X;!F( <@L+P'4'
XM+CL>7@!R,(M>^#+ M$+-(7(K+J-@ "Z)%F( +HX>6@ STBZ)%EP +HL.6 "T
XM/\TA<@LNHUX PRZ)'EP P^D<_(M>^#+ M$+-(7)OB\J+T,,N]P96  $ =%>,
XMV([ B_HNCAY: "Z+-EP +J%> "O&.\AV,"O(D='I\Z5S :2143/2+HD67  N
XMBPY8 (M>^+0_S2%9<@LNHUX "\!UQ[@T$NFY^]'I\Z5S :0NB39< ,.+7OBT
XM/\TA<@'#Z9_[                                                
XM    @                                                       
XM                                                            
XM                                                            
XM                                                            
XM                        +D5810!0051(/0            !04U%25E<>
XM!@X?ONT*M&,RP,TAN04 #@>_[0KSI0<?7UY:65M8PU-6'HK8"MMT&OP.'[[M
XM"JT+P'0/.MAR]SK<=_/YBL,?7EO## 'K]NC6_W,&BN"L"L#YP^CQ_W,%= .&
XMX*O#Z.;_<P9T!$EU 4[+5AXNC@8!"B:A+ "+T"Z)%A8*2([8BPX# -'AT>'1
XMX='A+HD.#PJ.PC/ ,__RKDFN=?HNH?D)/0 #<A",P([8B_=&1C/ 23H$I'7Z
XM+HD^!PHNBQX/"BO9+HD>$0J,R8[!CMF_8PJ+]RZA^0D]  -S%3/ N8  \JZ!
XM[V,*+@$^$0HNB3X3"HO6K.A2_W,%=?CIG_D\.G3O/"]TZSQ<=.<*P'7EN0D 
XMB_*LFEL+X0%S"70$XP_K\NEY^3PN= 8*P'0"XN4K\BX!-A$*+HD6&@HNB38<
XM"BZ.!@$*OX  )HH-,NV+V2: .0UU!":(*4E!02X!#A$*+J$1"BZ+#@\*.\%S
XM ^MQD 4/ -'HT>C1Z-'HB]"+V":+#BP CL&T2LTA<@/K4I"+VK1(S2%S ^D$
XM^2ZC%@HNBPX%"CO(<PZ,T8/!(#O(<A"P".GI^ /".\AW!; (Z=[X+HX>& HN
XMH18*CL S_XOW+HL.#PK1Z?*EC-J.PK1)S2$?7L,NC@86"BZ+/@<*C,J.VHL.
XM$PKC!;YC"O.DBPX<"DF+-AH*B3X:"O.D,\"JCAX!"KZ  *R*R#+MXP+SI#+ 
XMJJJ,!BP +J'Y"8S;FAP/  ".7O:+%A( BS80 (M&X([8BT[>BT;6BU[4BW[L
XM^HMFZH[7^U!3+J$6"BZ+'AH*4%,NBQX-"H[#M$G-(3/M,_^.Q5M8RTY%!0%F
XM  ( (>)T6 (  @      &@4! " : @ "  $ #@!  %  4 !: %P %RX     
XM"0    $            8 %<O  U8+S$ NPD!#2 :!E-03$E41@    $   A$
XM3U-#04Q,4P  "E-03$E41BY%6$4                                 
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                         %6+[+@@ .C]!KA" %#H?@Z#Q *XAP!0Z'0.
XM@\0"@WX$ GP&@WX$ WXYN,4 4.A>#H/$ KCP %#H5 Z#Q *X+@%0Z$H.@\0"
XMN&4!4.A #H/$ KB! 5#H-@Z#Q *XNP'I7@&0N%P 4(M>!O]W NC[*(/$!(E&
XMX O =0N+7@:+1P*)1N#K _]&X/]VX+@(#E#H'22#Q 2X+@!0N @.4.A?*(/$
XM!(E&X O = O_1N"+7N#&!P#K#KC; 5"X" Y0Z*\C@\0$@WX$ W5:N-T!4(M>
XM!O]W!.A3*(/$! O =!2XX %0BUX&_W<$Z#\H@\0$"\!U,NC% XM>!O]W KCC
XM 5#HC@V#Q 2+7@;_=P+H' *#Q +_-O )Z$()@\0"Z-X#N/L!Z9T Z),#N ,"
XM4(M>!O]W N@2"H/$!*/V"0O =0:X!@+K?I"-1N)0BUX&_W<"Z,,J@\0$"\!T
XM!K@B NMDD(-^! -U#HM>!O]W!.CS(X/$ NL5N ( F5)0_W;R_W;PZ/DL!0$ 
XM@]( H_()B1;T"0O2?PQ\!3T! ',%N#4"ZR.+7@;_=P*X2P)0Z.4,@\0$Z!D 
XM_S;V">BB"(/$ N@^ [A? E#HRPR+Y5W#D%6+[+@( .@U!>AB @O =1BX;@)0
XMZ*\,@\0"N* "4.BE#(/$ HOE7<.XS@)0N/@-4.A)"8/$!*/P"0O =1.X^ U0
XMN-$"4.A^#(/$!(OE7<.0H?()BQ;T"8E&^HE6_,=&^ $ @W[\ 'T#Z<L ?PF#
XM?OH =0/IP "#?O@ =0/IMP"+1OJ+5OR+#FH"*]L[TW(*=P0[P78$B].+P8E&
XM_O\V]@E0N $ 4/\V; +H^ B#Q B)1OB+'O8)]D<&('08N/@-4+CR E#H_PN#
XMQ 3_-O )Z+\'Z4W__S;P"?]V^+@! %#_-FP"Z*0*@\0(BQ[P"?9'!B!T#;@5
XM U#HS N#Q +KRY"+1O@KTBE&^AE6_(M&_CE&^'4#Z4S_N/@-4*'R"8L6] DK
XM1OH;5OQ24+@W U#HE@N#Q CKE9#_-O )Z%,'@\0"N/@-4*'R"8L6] DK1OH;
XM5OQ24+A4 U#H; N#Q CIJ?Y5B^RX @#HU0/H @$+P'4#Z?< N'$#4+CX#5#H
XM_@>#Q 2C]@D+P'4.N'0#4.@W"X/$ HOE7<.XA -0_W8$Z-P'@\0$H_ )"\!U
XM!KB' ^O<D,=&_@$ BQ[V"?9'!A!T.[CX#5"XZ -0Z/P*@\0$_S;V">B\!H/$
XM NB4  O =0/IB0"X#010N/@-4.B0!X/$!*/V"0O =;J+Y5W#@W[^ '2__S;V
XM"?\V:@*X 0!0_S9L NB1!X/$"(E&_HL>]@GV1P8@=!FX^ U0N*,#4.B8"H/$
XM!/\V]@GH6 ;I5/^0_S;P"?]V_K@! %#_-FP"Z#P)@\0(BQ[P"?9'!B!U ^E7
XM_[C& U#H80J#Q +KQXOE7<-5B^RX! #HQP*!/F@"YP-^!RO B^5=PY"X" Y0
XMN/@-4.A5((/$!+@* %"-1OQ0_S9H NA+(8/$!HU&_%#H:R"#Q (] 0!U!;@0
XM!.L2C4;\4.A7((/$ CT" '4.N!,$4+CX#5#HTA^#Q 2-1OQ0N/@-4.C$'X/$
XM!/\&: *X__^+Y5W#,\#H20+K%I#_-FH"Z$D=@\0"HVP""\!U#-$N:@*!/FH"
XM  %SXX,^; ( =12X%010Z*,)@\0"N ( 4.AR 8/$ L.0,\#H!P+_-FP"Z/@<
XM@\0"P_R))D8$B29*!(P>3 1)B0Y$!*-"!(D>0 10B\064)K__P  6(;@HV8%
XMN&@%'E":__\  .@U .BC .CX >AC _\VF07_-I<%_S:5!>BH^E#H"P&X P V
XMQP9(!'<&4.AV >CG [C_ %#_%D@$NPT @#YH!0!U"\8&3 4[Q@98!0!+,_^.
XM!D($N?]_)H ] '4!1R: /0!T0[Y,!8O1B\OSIHO*= @SP/*N=.?K+@8>!XOW
XM'[]M!8/[#744L02L+$%R&=+@DJPL07(1"L*JZ^ZLF)&L_L!T 4BJXO<6'\.[
XM @!2B]2 IVT%MU"+Q%,64!92FO__   +P%AU$K% /0$ = <] @!U!K$("(]M
XM!4MYU%HSP%!0B]Q0NFP%#E(64YK__P  6%B+#JH(XRF+-D($Q0:L"(S:,]LV
XM_QZH"',%%A_IM  VQ0:P"(S:NP, -O\>J @6'[ZT"+^T".AJ ,-5B^R^Y F_
XMY GH70"^M B_M@CH5 #K U6+[+ZV"+^V".A& +D1 +L# /:';04!= 93FO__
XM  !#XO#H>0 +P'0+@WX$ '4%QT8$_P#H#0"X 0!0BD8$4)K__P  BPZJ".,'
XMNP( _QZH",,[]W,*3T^+#>/V_]'K\L, 58OLN/P 4.AJ H,^H@4 = 3_%J(%
XMN/\ 4.A8 HOE7<.X @#I8/Y9B]PKV'(*.QZD!7($B^/_X3/ Z4K^5C/VN4( 
XM,N3\K#+@XON ]%5T#>BN_[@! %#H&P*X 0!>PX\&J 6A0 2.'D($B_!.= : 
XM?/\ =?<VB3:;!3:,'IT%EO8$_W4!EC:)-J8%,]*_ 0"L0@K =?JL/"!T^SP)
XM=/<*P'1C1TZL/"!T[#P)=.@*P'14/")T)#Q<= -"Z^@SR4&L/%QT^CPB= 0#
XMT>O7B\'1Z1/1J %USNL!3JP*P'0G/")TPCQ<= -"Z_ SR4&L/%QT^CPB= 0#
XMT>O?B\'1Z1/1J %UUNN?%A^)/I4% ]='T>>+QP/")/[HCP%S!K@( .EE_:.7
XM!8O8 _@6!S:)/T-#BS:F!8X>0@2LJ@K =?KK S/ JJP\('3[/ ET]PK =0/K
XM<9 VB3]#0TZL/"!TXCP)=-X*P'1:/")T)SQ<= .JZ^@SR4&L/%QT^CPB= :P
XM7/.JZ]6P7-'I\ZIS!K BJNO)3JP*P'0J/")TOSQ<= .JZ_ SR4&L/%QT^CPB
XM= :P7/.JZ]VP7-'I\ZISGK BJNO1,\"J%A_'!P  _R:H!8\&J@6.!D($,\ S
XM]C/_N?__)CH%= ;RKD:N=?I&B\= )/Z+_M'F \;HL0!S!K@) .F'_*.9!8O/
XMB_@#_HO8!A\S]A8'2>,FBP0F.P9,!7404597OTP%N08 \Z=?7EET!2:)/T-#
XMK*H*P'7ZXMHFB0\6'Q8'_R:J!56+[%97N/__CMB.P(M6!+Z^"*T[PG000)9T
XM#)<SP+G___*NB_?KZY9?7HOE7<(" %6+[%?_=@3HQO\+P'0?DHOZ,\"Y___R
XMKO?125"+Q+L" %,>4E$64)K__P  6U^+Y5W" @!:BQY*! /8<B8['D0$<AF+
XMRTF R0]!4%$>FO__  "%P%AU#$F)#D0$AQY*!/CK#HO<*]AR"#L>I 5R HOC
XMB\/_X@ !%@(" P($& 4-!@D'# @,"0P*!PL(#!8-%@\2$ T1$A("4@U3#5<-
XM60ML#6T@<!QR"086@ J!"H()A VD"\X"UPL #0@6HVD%B19B!;C__YF+Y5W#
XMZ @ N/__F8OE7<.C:06[V@FY(0 N.@=T%D-#XO<\$W($/"1V"D,\O'($/,IV
XM 4,NBD<!F*-B!<, 58OL@^P05U:+=@2____V1 :#=0/IEP#V1 9 = /IC@!6
XMZ! )@\0"B_B+WH'KL@6Q ]/[B\/1XP/8T>.+AU8&B4;\5NA"!H/$ HI$!YA0
XMZ%,2@\0""\!\4X-^_ !T4+BL!5"-1O)0Z.T9@\0$C4;TB4;^B]B ?_Y<=!"X
XMK@50C4;R4.B1&8/$!.L#_T[^N H 4/]V_O]V_.C$&H/$!HU&\E#H8".#Q (+
XMP'0#O___QD0& (O'7E^+Y5W#58OL@^P$5U:^L@4K_^L5D/9$!H-T"U;H8 B#
XMQ ) = %'@\8(.3;*!G/FB\=>7XOE7<-5B^R#[ )6Z'01B_ +]G005O]V!O]V
XM!.@<!H/$!NL#D"O 7HOE7<.058OL@^P*5U:+=@J+1@;W9@B)1OZ)1OR#?@8 
XM= :#?@@ =0>+1OSIMP&0]D0&#'0#Z9X B]Z!Z[(%L0/3^XO#T>,#V-'C]H=2
XM!@%T ^F" (I$!YB+V/:';06 =4;W1OS_ 74_@W[\ '4#Z<8 F(E&]O]V_/]V
XM!/]V]N@T$X/$!HOX"_]U ^DY 8/__W4#Z3$!*7[\ 7X$@W[\ '4#Z9, Z\^0
XM_TP"> N+'/\$B@<JY.L(D%;HJ *#Q *+^$!U!BO Z1T!D(M>!/]&!(O'B ?_
XM3OSV1 8(= /IAP"+WH'KL@6Q ]/[B\/1XP/8T>/VAU(& 74#Z:0 ZVF!?OP 
XM G))BT;\L0G3Z-/@B4;Z4/]V!(I$!YA0Z)D2@\0&B_@+_W0%@___=1N#__]U
XM ^F< + 0"$0&BT;^*T;\*]+W=@;IH  I?OP!?@3K&5;H$@*#Q *+^$!TWHM>
XM!(O'B ?_1@3_3OR#?OP =,N#? ( =(N+1 (K1OP;R2/! T;\B4;Z4/\T_W8$
XMZ/P<@\0&BT;Z 00!1@0I1OPI1 +KR)"#?OP =)**1 >8B4;V_W;\_W8$_W;V
XMZ/T1@\0&B_@+_W0%@___=0V#__]T ^ED_[ @Z6'_*7[\ 7X$@W[\ '4#Z57_
XMZ\B07E^+Y5W#58OL@^P(5U:+=@2+?@J+1@;W9@B)1OZ)1OR#?@8 = :#?@@ 
XM=08KP.D+ 9#V108,=66+WX'KL@6Q ]/[B\/1XP/8T>/VAU(& 75,]T;\_P%U
XM(/]V_%:*10>84.B\$H/$!HE&^#W__W2]*]+W=@;IQ0"0_TT"> N*!(L=_P6(
XM!^L,D%>*!)A0Z*X!@\0$]D4&('631O]._/9%!@AU0(O?@>NR!;$#T_N+P]'C
XM ]C1X_:'4@8!=%SK)?]- G@+B@2+'?\%B ?K#)!7B@284.AH 8/$!/9%!B!U
XM4T;_3OR#?OP =$F#?0( =,^+10(K1OP;R2/! T;\B4;Z4%;_->B<&X/$!HM&
XM^@$% _ I1OPI10+KR_]V_%:*10>84.C\$8/$!HE&^#W__W0#*4;\BT;^*T;\
XMZ33_D%Y?B^5=PU6+[(/L"%=6OKH%C48&B4;\5NC/ X/$ HOXC48&4/]V!%;H
XM1P6#Q :)1OA65^@X!(/$!(M&^%Y?B^5=PU6+[(/L E:+=@2+QBVR!;$#T_B+
XMR-'@ \'1X 52!HE&_O9$!H-T!O9$!D!T![C__^F( )#V1 8"= : 3 8@Z^V 
XM3 8!BU[^@"?[]D0&#'4BB]Z!Z[(%L0/3^XO#T>,#V-'C]H=2!@%U"5;HUP&#
XMQ +K!8M$!(D$BU[^_W<"_W0$BD0'F%#HR@^#Q :)1 (+P'0%/?__=1F#? ( 
XM= 6P(.L#D+ 0"$0&QT0"  #I?O^0_TP"BQS_!(H'*N1>B^5=PU6+[(/L"%=6
XMBW8&BD0'F(E&^HO&+;(%L0/3^(O(T> #P='@!5(&B4;X]D0&@W0&]D0&0'0+
XM@$P&(+C__^D0 9#V1 8!=>^ 3 8"@&0&[RO B40"B_B)?OSV1 8,=5^+WH'K
XML@6Q ]/[B\/1XP/8T>/VAU(& 75&@?ZZ!70&@?["!74S_W;ZZ"<6@\0""\!U
XM+?\&L 6!_KH%=0:X^ GK!)"X& Z)1 2)!(M>^,=' @ "Q@<!ZPB05NC* (/$
XM O9$!@AU&8O>@>NR!;$#T_N+P]'C ]C1X_:'4@8!=%"+/"M\!(M$!$")!(M>
XM^(M' DB)1 (+_WX35_]T!/]V^NCC#X/$!HE&_.L:D(M>^O:';04@= ^X @!0
XM*\!04%/H?@R#Q B+7 2*1@2(!^L7D+\! (O'4(U&!%#_=OKHI@^#Q :)1OPY
XM?OQT ^GK_HI&!"KD7E^+Y5W#D%6+[%:+=@3V1 :#=!WV1 8(=!?_= 3H!1&#
XMQ * 9 ;W*\")!(E$!(E$ EY=PY!5B^R#[ )6BT8$+;(%L0/3^(O(T> #P='@
XM!5(&B4;^N  "4.C<$(/$ HM>!(E'! O = ^ 3P8(BU[^QT<"  +K%Y"+7@2 
XM3P8$BT;^0(E'!(M>_L=' @$ BUX$B_.+1 2)!\=' @  7HOE7<-5B^R#[ I7
XM5HMV"(M>!HH'F#UA '0H/7( = L]=P!T%"O Z<T D"O_QD;\ ;D! (I6_.L?
XMOP$#QD;\ NOOD+\) >OTD/?' @!U/X'/ @"#Y_ZR@/]&!HM>!H _ '0V"\ET
XM,HH'F#TK '3:/6( =!,]= !U%8O'J0# =0Z!SP! Z]*0B\>I ,!T!2O)Z\:0
XM@<\ @.N_B%;\B4[^N*0!4%?_=@3H10N#Q :)1OH+P'T#Z6[_BD;\B$0&_P:P
XM!8O&+;(%L0/3^(O(T> #P='@!5(&B4;X*L"+7OB(!YB)1 +'1P0  "O B02)
XM1 2*1OJ(1 >+QEY?B^5=PU6+[(/L!%:+=@3_!K %@?ZZ!74(QT;^^ GK#)"!
XM_L(%=23'1OX8#O9$!@QU&8O>@>NR!;$#T_N+P]'C ]C1X_:'4@8!= 0KP.LU
XMB\8ML@6Q ]/XB\C1X /!T> %4@:)1OR+1OZ)1 2)!(M>_+@  HE' HE$ L8'
XM 8!,!@*X 0!>B^5=PU6+[(/L E:#?@0 =%N!?@:Z!70'@7X&P@5U=HM>!HI'
XM!YA0Z!X3@\0""\!T9(M&!BVR!;$#T_B+R-'@ \'1X 52!HE&_O]V!NA+ (/$
XM HM>_L8' ,=' @  BUX&B_,KP(D$B4<$ZRJ0BUX&@7\$^ ET!X%_!!@.=1B*
XM1P>84.C#$H/$ @O = G_=@;H" "#Q )>B^5=PU6+[(/L!%=6BW8$*_^*1 8D
XM SP"=4;V1 8(=1F+WH'KL@6Q ]/[B\/1XP/8T>/VAU(& 70GBP0K1 2)1OP+
XMP'X;4/]T!(I$!YA0Z),,@\0&.T;\= > 3 8@O___BT0$B03'1 (  (O'7E^+
XMY5W#58OLN&0!Z /S5U:+=@:-AI[^H]H)BT8(H\H)BT8$H[X)QP;4"0  QP;2
XM"0  Z7P"@#PE= /I6 +'!M8) 0 KP*/&":/"":/0":/$":/.":/,":/ ":.\
XM":/("<<&X D@ (!\ 3!U/$;'!N ), #K,X \*W4-_P;&"<<&S D  .LBD( \
XM('4-@S[&"0!U%?\&S GK#_\&O GK"8 \+771_P;("4:*!)A0Z/4'@\0""\!U
XMZ%:XW E0Z&8'@\0$B_"#/MP) 'T,_P;(":'<"??8H]P)@#PN=2/_!LX)1E:X
XMU@E0Z#P'@\0$B_"#/M8) 'T*QP;6"0$ _P[."8H$F#U& '0R/4X =#4]: !T
XM(#UL '4&QP;$"0( @S[$"0!U!8 \3'4!1H \ '4;Z8@!QP;$"0$ Z^/'!L0)
XM$ #KV\<&Q D( .O3B@28B8:<_CU% '0*/4< = 4]6 !U"?\&P@F#AIS^((N&
XMG/XM8P ]%0!V ^D4 0/ DR[_I]06BQ[*"8L?H=()B0>#!LH) NEI 9#_!M )
XMQP:\"0  N H 4.A_ 8/$ NE1 9"X" #K\)#_!L )_P;""8,^S@D =0G'!M@)
XM 0#K!Y#'!M@)  #_!LX)QP;6"00 @S[$"0AU ^F( "O H\0)B4;\.0;<"70G
XMH=P)B4;\@S[("0!T"<<&W D  .L2D(,NW D%H=P)"\!] BO H]P)@P;*"0*X
XM$ !0Z/\ @\0"N#H 4.C/ X/$ H-^_ !T(H,^R D =!6+1OPM!0"CW D+P'T"
XM*\"CW GK!Y#'!MP)  "#+LH)!+@0 %#HO@"#Q +I'_^X$ #I+_\KP%#HX@'I
XM*O^0N $ Z_.0_[:<_NBY ND9_X,^Q D = .+QDZ+_D> /0!T!8 ])77UB\<K
XMQE >5NCM X/$!HOW@#P = /I?/V#/M() '59BQZ^"?9'!B!T3[C__^M-@!:<
XM%886AA:&%I 6G!60%I 6D!:0%H05L!6V%9 6D!9V%I 6F!60%I 6<!:#/M0)
XM '03@S[2"0!U$(L>O@GV1P8@=;?K!$;KF9"AT@E>7XOE7<.058OL@^P85U:#
XM?@0*= 3_!M )@S[$"0)T!X,^Q D0=1:+'LH)BP>+5P*)1OR)5OZ#!LH)!.LJ
XM@S[0"0!T$8L>R@F+!XE&_,=&_@  ZPZ0BQ[*"8L'F8E&_(E6_H,&R@D"@SZ\
XM"0!T#8M&_ M&_G0%BT8$ZP(KP*/>"8LVV@F#/M ) '4J@W[^ 'TD@WX$"G47
XMQ@0M1HM&_(M6_O?8@]( ]]J)1OR)5O['1O@! .L%QT;X  "-1NB+^/]V!%?_
XM=O[_=OSH]0V#Q B#/LX) '0A5^CU#(/$ HL.U@DKR(E.].L%D,8$,$:+P4D+
XMP'_UB4[TBP[""8H%B 0+R70'/&%\ X L($9'@'W_ '7I@S[0"0!U%*'&"0L&
XMS ET"X-^^ !U!;@! .L"*\!0Z+("@\0"7E^+Y5W#D%6+[(/L$%=6@WX$ '04
XMO@$ H<H)B4;XC%[Z@P;*"0+ID0"#/L0)$'47BQ[*"8L'BU<"B4;XB5;Z@P;*
XM"03K%9"+'LH)BP>)1OR)1OB,7OJ#!LH) H,^Q D0=0V+1O@+1OIU%+C,!NL)
XM@W[\ '4)N-,&B4;XC%[ZBT;XBU;ZB4;RB5;T*_8Y-LX)=!R+#M8)ZPZ0Q%[R
XM_T;R)H _ '051CO.?A#K[9!&Q%[R_T;R)H _ '7SBS[<"2O^@S[("0!U!U?H
XM'@&#Q )6_W;Z_W;XZ&\!@\0&@S[("0!T!U?H P&#Q )>7XOE7<-5B^R#[ 2A
XMR@F)1OZ#?@1G= :#?@1'=02P >L"*L"(1OR#/LX) '4&QP;6"08 @'[\ '0-
XM@S[6"0!U!L<&U@D! /\VP@G_-M8)_W8$_S;:"?]V_O\6^ :#Q J ?OP =!*#
XM/KP) '4+_S;:"?\6^@:#Q *#/KP) '02@S[6"0!U"_\VV@G_%OX&@\0"@P;*
XM"0C'!MX)  "AQ@D+!LP)=!/_=O[_%@ '@\0""\!T!;@! .L"*\!0Z @!B^5=
XMPU6+[%:#/M0) '4OBQZ^"?]/ G@.BD8$BS?_!X@$*N3K"Y!3_W8$Z&_U@\0$
XM0'4'_P;4">L%D/\&T@E>7<.058OL@^P"5U:#/M0) '5)BW8$"_9^0NL5_S:^
XM"?\VX GH-_6#Q 1 =03_!M0)B\9."\!^%HL>O@G_3P)XVZ#@"8L__P>(!2KD
XMZ]R#/M0) '4'BT8$ 0;2"5Y?B^5=PU6+[(/L E=6BW8(@S[4"0!U4.L<_S:^
XM"<1>!":*!YA0Z-GT@\0$0'4$_P;4"?]&!(O&3@O =!V+'KX)_T\">-3$7@0F
XMB@>+'KX)BS__!X@%*N3KTH,^U D =0>+1@@!!M()7E^+Y5W#58OL@^P*5U:+
XM-MH)*\")1OR)1OJ#/N ),'48.0;."702.0; "70&.0;8"74&QP;@"2  BS[<
XM"5;HKPF#Q *)1O@K^"M^!(,^R D =1B /"UU$X,^X DP=0RLF%#HG?Z#Q +_
XM3OB#/N ),'0+"_]^!X,^R D =!F#?@0 = ;_1OKH7P"#/MX) '0&_T;\Z&H 
XM@S[("0!U)E?HG_Z#Q *#?@0 = F#?OH =0/H-0"#/MX) '0)@W[\ '4#Z#T 
XM_W;X'E;HT_Z#Q :#/L@) '0-QP;@"2  5^AA_H/$ EY?B^5=PX,^Q@D = 6X
XM*P#K [@@ %#H!_Z#Q +#D+@P %#H^_V#Q *#/MX)$'47@S[""0!T!KA8 .L$
XMD+AX %#HW?V#Q +#D%6+[(/L!%=6BW8&QT;^ 0" /"IU#XL>R@F+/X,&R@D"
XM1NM(D( \+74&QT;^__]&*_^ /#!\-8 \.7\P.3[."74+@#PP=0;'!N ), "*
XM!)B+S]'AT>$#S]'A \B#Z3"+^4: /#!\!8 \.7[ABT;^]^^+^(M>!(D_B\9>
XM7XOE7<.058OL@^P"5K[:!HI.!.L"D$: / !T"CH,=?:X 0#K Y KP%Z+Y5W#
XMD%6+[(/L E:^L@6+#LH&]D0&@W46*\")1 *(1 :)1 2)!,9$!_^+QNL,D(O&
XM@\8(.\%UVRO 7HOE7<-5B^R+7@0['FL%<@NZ"0 SP.D [>D,[5.:J08  (7 
XM=?/&AVT% (OE7<-5B^R+7@0['FL%<@NZ"0 SP.G6[.GB[(/L!(O,4_]V"/]V
XM!O]V"A91FO__  !96H7 =>&1@*=M!?V+Y5W# %6+[(/L#K= 'O]V!!:-5OY2
XM%HU6^%(STE)2BTX(Z(8!BT8&J0 != B RA"I  1U**D  G0@@,H"4(U&_A[_
XM=@064#/ 4%":__\  (7 6'4(BT[^ZP. R@%14B4#  K'4#/ 4%":__\   O 
XM=!8];@!U#O;"\+H" '0#NA$ Z2SLZ8T BT;^.P9K!7X-4)HE'0  NA@ ,\#K
XMY(O04!:-7O13%HU&^%":"@8   O =6&+1@8SR:D @'4.J0! =0?V!N$&@'4"
XML8"(3O**1O0\ 74'QD;T0.F. #P"=0?&1O0(Z8, ,L"(1O0*R71Z]T8& @!T
XM<U*Y__]14;D" %$6C4;Z4)I?'0  "\!T##V# '0#Z:CK,\#K3U(6C4;V4+@!
XM % 6C4;X4)K__P  "\!U(SE&^'0R@W[V&G484H-N^@&#7OP _W;\_W;ZFO__
XM   +P'6^4C/ 4%!0%HU&^E":=QX   O =:J*3O3VP4AU)A[_=@06C4;X4#/ 
XM4%":NQT  /=&^ $ = . R1#W1@8( '0#@,D@"D[R@,D!B\*+V(B/;06+Y5W#
XMH60%]] CP3/)J(!U X#) <, 58OL@^P(,\"+7@0['FL%<T&+3@CC9/:';04"
XM=5U7,]*+3@B+?@8>!_:';04(=!"*AX$%/ IT"*I"2<:'@04*4P9748U&^A90
XMFIL>  !?"\!T!KH) .F<ZHM&^@O =1(+VW4.]H=M!4!T!X"/;04"ZPD#PO:'
XM;06 =02+Y5W#@*=M!?M65XMV!HO^B\CC)K0-@#P*=06 CVT%!*PZQ'0;/!IU
XM!X"/;04"ZP6(!4?BZXO'*T8&7UZ+Y5W#@_D!= > / ITZ>OD]H=M!4!T(@O;
XM=1I3C4;Y%E!1C4;Z%E":=1\   O = 5?7ND8ZK *Z[O&1OD 4XU&^19048U&
XM^A90F@H@   +P'7>]T;Z__]T-(-^" %T,_:';04(=1Q3N/__4%#WV%"-1OP6
XM4)K2'@  @'[Y"G4.Z77_BD;YB(>!!3P*= *P#>EB_X!^^0IUQ^N;58OL@^P,
XMBUX$.QYK!7((N@D ,\#IC>GVAVT%('024S/)45%!05&-1O064)I7(   ]H=M
XM!8!T;XM6!AX',\")1OZ)1OS\5U:+^HORB6;XBTX(XU:P"O*N=4OH) $]J !V
XM2H/L HO<N@ "/2@"<P.Z@  KXHO4B_H6!XM."*P\"G0-._MT&JKB].@E .F)
XM + -._MU ^@9 *JP"O]&_.OBZ X Z^%>7^F" .ML,\#I2N104U&+SRO*XQ^+
XM7@13'E)1C4;T%E":C D   O =1"+7O0!7OX+VW0&65M8B_K#@\0("\!T&#UM
XM '0-/0$ N@D =0BZ' #K [H@ /GK(/:';05 = N+7@: /QIU _CK#KH< #/ 
XM^>L&BT;^*T;\BV;X7E]R!(OE7</I>>B+3@@+R74$B\'K[HM6!E,>4E&-1O06
XM4)I"(0  "\!T%SUM '0-/0$ N@D =="Z' #KR[H@ .O&BT;T"\!UN_:';05 
XM= F+VH _&G4"ZZNZ'  SP.NH6:&D!3O$<P8KQ/?8_^$SP.OZ58OLBUX$"]MT
XM!(!/_@&+Y5W#58OL5E>[X@:#/P!U*1X'N 4 Z',!=04SP)GK)$ D_J/B!J/D
XM!I;'! $ @\8$QT3^_O^)-N@&BTX$C-B.P.@) %]>B^5=P^G. $%T^H#A_H/Y
XM[G/RBW<"_*V+_J@!=$)(.\%S%8O0 _"MJ %T- /"!0( B_>)1/[KYHO^= P#
XM^8E,_BO!2(D%ZP4#^?Y,_HO&C-J,T3O1= 4FC![P!HE_ L,FQ@;V!@(]_O]T
XM)8O^ _"MJ %T\HO^2#O!<[V+T /PK:@!=.(#P@4" (OWB43^Z^:+1P@+P'0$
XMCMCK%";^#O8&=!&,V(S7.\=T!2:.'NP&BS?KO(MW!C/ Z&H .\9T#20!0$"8
XMZ%X = W^3?[H' !T!99.3NN9C-B,T3O!= 0FH_ &BP>)1P(SP)G#48M%_J@!
XM= ,KR$E!0;K_?R8[%O(&=@31ZG7UB\$#QG(5 \)R#??2(\(KQN@, '4(]]+1
XMZG7E,\!9PU)1Z!T =!A7B_Z+\ /RQT3^_O^)=P:+UBO72HE5_EA96L-34#/2
XM'E)24+@! % &'^@/ (/$"(/Z_Q]:6W0""]+# %6+[%97!H-^" !U.+]*!(M6
XM!HM&!$AU!^A7 '(GZTR+-DH%2'01._=T#8M$ HE&#%;H/@!><S2#Q@2!_DH%
XM<P0+TG4&N/__F>LA4(O$4A90,\!0FO__  !;^87 =>:)%(E< HDV2@6+TS/ 
XM!U]>B^5=PXM.#(OW.4P"= R#Q@2!_DH%=?+YZRR+V@,<<B:+TX[!._=U!CD>
XM1 1S$U-1FK()  "%P'7>._=U!(D61 22AP2+T<, 58OLB]>+WHS8CL"+?@0S
XMP+G___*NC77_BWX&N?__\J[WT2OYA_Z+1@3WQ@$ = *D2='I\Z43R?.DB_.+
XM^EW# %6+[(O7B]Z+=@:+_HS8CL SP+G___*N]]&+?@2+QZ@!= *D2='I\Z43
XMR?.DB_.+^EW#58OLB]>,V([ BWX$,\"Y___RKO?129&+^EW# %6+[%=6'@>+
XM?@2+=@:+WXM.".,,K K = .JXO@RP/.JB\->7XOE7<-5B^Q75AX'BTX(XR:+
XMV8M^!(OW,\#RKO?9 \N+_HMV!O.FBD3_,\DZ1?]W!'0$24GWT8O!7E^+Y5W#
XMZ0$  %6+[%=6BW8$,\"9,]NL/"!T^SP)=/=0/"UT!#PK=0&L/#EW'RPP<AO1
XMX]'2B\N+^M'CT=+1X]'2 ]D3UP/8@]( Z]Q8/"V3=0?WV(/2 /?:7E]=PU6+
XM[%97LP&+3@B+1@0STH/Y"G4!F8M^!NE5! !5B^Q65[, Z3X$58OL@^P$5U:+
XM-ID%"_9T1H-^! !T0/]V!.CH_H/$ HOXZP20@\8"@SP ="K_-.C3_H/$ CO'
XM?NR+'( Y/77E5_]V!%/H ?^#Q 8+P'76BQR-00'K Y KP%Y?B^5=PU6+[(M>
XM!#L>:P5]$8/[ 'P,]H=M!4!T!;@! .L",\"+Y5W# (,^X@D =0?H!@#_!N()
XMPY!5B^R#[ 175K@^"%#H7_^#Q *+\ OV=0/ICP" / !U ^F' +@# %!6_S90
XM".A?_H/$!K@0#IE24(/& U;HL?Z#Q )24.A?"*-*"(D63 @K_XO? ]Z /P!T
XM'XO? ]Z*!YB+V/:'"0<$=0F+WP/>@#\M=09'@_\#?-B+WP/>@#\ =!6X P!0
XMB\<#QE#_-E((Z/W]@\0&ZP>+'E((Q@< BQY2"( _ 1O 0*-."%Y?B^5=PU6+
XM[(/L!E=6BW8$@WP( WT#Z:X @WP("7X#Z:4 @WP( WX)@WP("7T#Z8  BWP*
XM@<=L!X'_P@=^%8-\" -U#XM<"-'CBX<D" 4' .L*D(M<"-'CBX<F"(E&^O?'
XM P!U _]&^HM\"H/O1KAM ??OB\B-10&+V9DSPBO"N0( T_@SPBO" T;Z \,%
XM! "9N0< ]_F+1OHKPHE&_H-\" -U$SE$#G\(=1R#? 0"?!:X 0#K$Y"+1OXY
XM1 Y\\G4&@WP$ 7SJ*\!>7XOE7<-5B^R#["!75HMV!+B 4;H! %)0C40#F3/"
XM*\*Y @#3^#/"*\*94E#H @>)1NJ)5NR+7@;1XXN_(@B+QIFY! #W^0O2=0>#
XM?@8"?@%'N#P F5)0BT8,F5)0Z-$&N1 .*]M348O(BT8*B]J94E")3N2)7N;H
XMMP:Y@%&[ 0!348O(N&T!B]KW[HO0BT8( \(#QYE24(E.X(E>XNB1!@-&X!-6
XMX@-&Y!-6YHO(BT8.B]J9 \@3VH'! *:!T\X2 4[J$5[LBT8( \>)1OSHJOVA
XM2@B+%DP( 4;J$5;LC410B4;XBT8&2(E&]HM&"HE&\H,^3@@ =!>-1NY0Z#S^
XM@\0""\!T"8%NZA .@U[L (M&ZHM6[%Y?B^5=PU6+[%>+?@0>!XO?,\"Y___R
XMKD'WV8I&!HO[\JY/. 5T C/_B\=?B^5=PU6+[(O6BW8&BUX$L/\*P'0LK(HG
XM0SK@=/0L03P:&LF X2 "P01!AN L03P:&LF X2 "P01!.L1TU!K '/^8B_)=
XMPU6+[%<>!XM^!#/ N?__\JY!]]E/BD8&_?*N1S@%= 0SP.L"B\?\7XOE7<, 
XM58OL@^P@5E>+=@:,T([ N1  ,\"-?N#SJZP*P'04B_B+R+ !@.$'TN"Q ]/O
XM"$/@Z^>+=@2L)?\ =!>+^(O(L & X0?2X+$#T^\B0^!TYHU$_U]>B^5=PU6+
XM[(O7B]Z,V([ BW8&BWX$B\>+3@CC#J@!= *D2='I\Z43R?.DB_.+^EW#BTX*
XMBT8$BU8&BWX(5QX'_),*P'03@_D*=0X+TGD*L"VJ]]N#T@#WVHOWDC/2"\!T
XM O?QD_?QDH?3!# \.78"!">JB\(+PW7BB 5/K(8%B$3_C40!.\=R\EA?7HOE
XM7<, 58OL'O]V!#/ 4%":__\  (7 = /ICM^+Y5W# %6+[/]V!O]V!"O 4.@%
XM (/$!EW#58OL@^P*5U:+=@C'1O8! (-^! !U#XU&!!90C4;Z%E":__\  /]V
XM!(U&^!90C4;V%E":3"L  (M^!@O_=2^+1O8% P [QGX&BW;V@\8#5N@4]X/$
XM HOX"_]U#\<&8@4, ,<&:04( .M$D(E^!HI&! 1 B 5'Q@4Z1\8%7$>+1O8%
XM P [QG<3_W8$'E>-1O864)K__P  "\!T$,<&8@4B ,<&:04! "O ZP.-1?U>
XM7XOE7<.058OL@^P&5U:*1@0JY(E&^HM^!H!] 3IU X/' H ]7'0%@#TO=0: 
XM?0$ = OV1OH0=06 /0!U!;A 0.L#N " B_#V1OH%= 6X  'K [B  0OPN"X 
XM4/]V!NBQ_8/$!(OX"_]T,;B0"%!7Z%[]@\0$"\!T'KB5"%!7Z$_]@\0$"\!T
XM#[B:"%!7Z$#]@\0$"\!U!('.0 "+QB7  ;$#T^@+\(O&)< !L0;3Z OPB\9>
XM7XOE7<.058OL@^PP5U:+=@2+?@;'1O@! ,=&]/__N)\(4%;H9/V#Q 0+P'03
XMQP9B!0( QP9I!0( N/__Z0L"D(!\ 3IU'HH$F(O8]H<)!P%T!I@%( #K XH$
XMF"U@ (E&^NL0D(U&^A90C4;\%E":VRH  !Y6C4;T%E"X$ !0C4;0%E"X) !0
XMC4;X%E KP%!0FO__   +P'1UN*((4%;HZ?R#Q 0+P'21N/__4"O 4/]V^NCI
XM_8/$!HE&]@O =0/I=_]6Z*C]@\0"0'0V_W;VZ)S]@\0"_W;VZ!?U@\0"QT;D
XM$  KP(E&WHE&W,=&V"$ B4;:B4;2B4;6B4;0B4;4ZQ60_W;VZ.KT@\0"Z2O_
XM_W;TFO__   KP(E% HE%"HE%"(M&^DB)!8E%#%;_=N3H(?Z#Q 2)103'108!
XM (M&W(M6WHE%#HE5$(M&VB4? -'@4(M&VK$%T^@E/P!0BT;:L0O3Z"4? %"+
XM1M@E'P!0BT;8L073Z"4/ %"+1MBQ"=/H)7\ 4.A5^H/$#(E%%HE5&(-^T !U
XM!H-^T@!T1(M&TB4? -'@4(M&TK$%T^@E/P!0BT;2L0O3Z"4? %"+1M E'P!0
XMBT;0L073Z"4/ %"+1M"Q"=/H)7\ 4.@!^H/$#.L&BT46BU48B44:B54<@W[4
XM '4&@W[6 '1$BT;6)1\ T>!0BT;6L073Z"4_ %"+1M:Q"]/H)1\ 4(M&U"4?
XM %"+1M2Q!=/H)0\ 4(M&U+$)T^@E?P!0Z*7Y@\0,ZP:+11:+51B)11*)510K
XMP%Y?B^5=PU6+[![_=@0SP%!0FO__  "%P'0#Z:S;B^5=PP!5B^Q75E,S_XM&
XM!@O ?1%'BU8$]]CWVAT  (E&!HE6!(M&"@O ?1%'BU8(]]CWVAT  (E&"HE6
XM" O =16+3@B+1@8STO?QB]B+1@3W\8O3ZSB+V(M."(M6!HM&!-'KT=G1ZM'8
XM"]MU]/?QB_#W9@J1BT8(]^8#T7(,.U8&=P=R!CM&!'8!3C/2ED]U!_?:]]B#
XMV@!;7E^+Y5W"" !5B^R+1@:+7@H+V(M>"'4+BT8$]^.+Y5W"" #WXXO(BT8$
XM]V8* \B+1@3WXP/1B^5=P@@5  ( .@D"     P'.!@$ !0 # 2P@ 0")  ,!
XMOR$! (H  P$<) $ (@ # 6<D 0 F  ,!204! #$  P&6*@$ .0 # :@@ 0 Z
XM  ,! AX! #L  P%X+@$ /  # 2XM 0 _  ,!K2P! $   P&^'@$ 1  # =D=
XM 0!&  ,![2H! $<  P&++ $ 2  # ? > 0!+  ,!&QX! $T  P$X!@$ 60 #
XM 3D% 0!<                                                    
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                         $U3(%)U;BU4:6UE($QI
XM8G)A<GD@+2!#;W!Y<FEG:'0@*&,I(#$Y.#@L($UI8W)O<V]F="!#;W)P$0!&
XM:6QE(%-P;&ET=&5R(&%N9"!292UA<W-E;6)L97(@5C$N,2P@8GD@4&EE<G)E
XM($UA<G1I;F5A=2P@.3 O,#4O,C N"@!4:&ES('!R;V=R86T@:7,@<'5B;&EC
XM(&1O;6%I;B!A;F0@;6%Y(&)E(&9R965L>2!D:7-T<FEB=71E9"X*  I5<V%G
XM93H@<W!L:71F(&9I;&5?=&]?<W!L:70@6V-H=6YK7W-I>F5="@ @(" @(" @
XM268@8VAU;FM?<VEZ92!I<VXG="!S<&5C:69I960L('1H92!F:6QE('=I;&P@
XM8F4@<W!L:70* " @(" @("!I;G1O('1W;R!F:6QE<R!O9B H87!P<F]X:6UA
XM=&5L>2D@97%U86P@<VEZ92X*"@ @(" @(" @<W!L:71F(&1E<W1?9FEL92 O
XM<@H (" @(" @("]R('=I;&P@<F4M87-S96UB;&4@=&AE('!A<G1S(&)A8VL@
XM:6YT;R!T:&4@=VAO;&4* " @(" @("!S<&5C:69I960@8GD@9&5S=%]F:6QE
XM+@H +@ M<@ O<@ *4F4M87-S96UB;&EN9R E<R N+BX*"@ *1&]N92X* ')B
XM  I#;W5L9&XG="!O<&5N(&EN<'5T(&9I;&4A"@ *0F%D(&9I;&4@:&%N9&QE
XM(0H "DEN=F%L:60@8VAU;FL@<VEZ92$*  I3<&QI='1I;F<@)7,@+BXN"@H 
XM"D1O;F4N"@      @   5&]O(&UA;GD@9FEL97,L('!L96%S92!S<&5C:69Y
XM(&$@8VAU;FL@<VEZ92!T:&%T"@!W:6QL(')E<W5L="!I;B!F97=E<B!T:&%N
XM(#$P,# @;W5T<'5T(&9I;&5S(0H =V( 56YA8FQE('1O(&-R96%T92!O=71P
XM=70@9FEL92 E<PH 17)R;W(@=VAI;&4@<F5A9&EN9R!I;G!U="!F:6QE("5S
XM"@!%<G)O<B!W:&EL92!W<FET:6YG(&]U='!U="!F:6QE(0H (" @(%=R:71I
XM;F<@)6QD(&)Y=&5S('1O("5S"@ @(" @5W)I=&EN9R E;&0@8GET97,@=&\@
XM)7,* ')B $YO=&AI;F<@=&\@9&\A"@!W8@!#;W5L9&XG="!O<&5N(&]U='!U
XM="!F:6QE(0H 17)R;W(@=VAI;&4@<F5A9&EN9R!I;G!U="!F:6QE("5S"@!%
XM<G)O<B!W:&EL92!W<FET:6YG(&]U='!U="!F:6QE(0H (" @($-O<'EI;F<@
XM9FEL92 E<R!T;R!O=71P=70@9FEL92X* ')B # P #  "D-A;B=T(&%L;&]C
XM871E(&%N(&%D97%U871E(&-O<'D@8G5F9F5R+@H             C@8  /__
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                    2@1?0U]&24Q%7TE.1D\]    
XM                    % "!@8$                       H*"@H*"@H*
XM"@H*"@H*"@H*"@H*                    (!(       !< %P   #X"P  
XM^ L!          (!         @(                                 
XM                                                            
XM                                                            
XM                             0   @                          
XM                                                            
XM                                                            
XM        2@8H;G5L;"D *&YU;&PI "LM(",                         
XM   @     ! '$ <0!Q '$ <         (" @(" @(" @*"@H*"@@(" @(" @
XM(" @(" @(" @("!($! 0$! 0$! 0$! 0$! 0A(2$A(2$A(2$A! 0$! 0$!"!
XM@8&!@8$! 0$! 0$! 0$! 0$! 0$! 0$! 1 0$! 0$(*"@H*"@@(" @(" @("
XM @(" @(" @(" @("$! 0$"                                      
XM                                                            
XM                                                            
XM              #__QX .P!: '@ EP"U -0 \P 1 3 !3@%M ?__'@ Z %D 
XM=P"6 +0 TP#R ! !+P%- 6P!5%H  %!35 !01%0 @'    $ 0@A&"%-U;DUO
XM;E1U95=E9%1H=49R:5-A= !*86Y&96)-87)!<')-87E*=6Y*=6Q!=6=397!/
XM8W1.;W9$96,  "YE>&4 +F)A=  N8V]M #\J "XO7                   
XM "(+/#Q.35-'/CX  %(V,# P#0HM('-T86-K(&]V97)F;&]W#0H  P!2-C P
XM,PT*+2!I;G1E9V5R(&1I=FED92!B>2 P#0H " !2-C P. T*+2!N;W0@96YO
XM=6=H('-P86-E(&9O<B!A<F=U;65N=',-"@ ) %(V,# Y#0HM(&YO="!E;F]U
XM9V@@<W!A8V4@9F]R(&5N=FER;VYM96YT#0H _  -"@#_ ')U;BUT:6UE(&5R
XM<F]R(  " %(V,# R#0HM(&9L;V%T:6YG('!O:6YT(&YO="!L;V%D960-"@ !
XM %(V,# Q#0HM(&YU;&P@<&]I;G1E<B!A<W-I9VYM96YT#0H ____ 0 " $P$
X$ @   # Q
X 
Xend
END_OF_FILE
if test 38043 -ne `wc -c <'others/splitf.uu'`; then
    echo shar: \"'others/splitf.uu'\" unpacked with wrong size!
fi
# end of 'others/splitf.uu'
fi
echo shar: End of archive 16 \(of 24\).
cp /dev/null ark16isdone
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 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 24 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