(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP") (FILECREATED " 7-Nov-88 14:24:24" {QV}<NOTECARDS>1.3M>MAPS>NEWMAP.;3 103514 changes to%: (FNS DRAW.MAP SK.MAP.INPUTFN COMPUTE.NEW.WORLD.REGION FetchCachedBitMap SELECTMAPFILE SK.ADD.MAP.TYPE SK.MAP.CHANGEFN SK.MAP.REGIONFN SK.MAP.GLOBALREGIONFN SK.MAP.TRANSFORMFN SK.MAP.TRANSLATEFN SK.MAP.TRANSLATEPTSFN SetCachedBitMap GETMAPFILES2 MAP.CHANGE.WORLDREGION UNSCALE.REGION.FROM.SKETCHW SK.MAP.DRAWFN PLOTSEGMENT DRAWBORDER SK.MAP.EXPANDFN MAP.SET.SCALES WORLDREGION SK.MAP.INSIDEFN SK.MAP.MOVEFN UNSCALE.POSITION.FROM.SKETCHW CacheSpecsFromMapSketchElement) (VARS NEWMAPCOMS) (PROPS (NEWMAP MAKEFILE-ENVIRONMENT)) (FILES QUADFUNS) previous date%: " 7-Jan-88 15:49:16" {QV}<NOTECARDS>1.3L>MAPS>NEWMAP.;2) (* " Copyright (c) 1984, 1985, 1986, 1987, 1988 by Xerox Corporation. All rights reserved. ") (PRETTYCOMPRINT NEWMAPCOMS) (RPAQQ NEWMAPCOMS ((DECLARE%: DONTCOPY (PROPS (NEWMAP MAKEFILE-ENVIRONMENT) (NEWMAP FILETYPE))) (FNS COMPUTE.NEW.WORLD.REGION FetchCachedBitMap SELECTMAPFILE SK.ADD.MAP.TYPE SK.MAP.CHANGEFN SK.MAP.REGIONFN SK.MAP.GLOBALREGIONFN SK.MAP.TRANSFORMFN SK.MAP.TRANSLATEFN SK.MAP.TRANSLATEPTSFN SetCachedBitMap GETMAPFILES2 MAP.CHANGE.WORLDREGION UNSCALE.REGION.FROM.SKETCHW) (FNS SK.MAP.DRAWFN DRAW.MAP PLOTSEGMENT DRAWBORDER) (FNS SK.MAP.EXPANDFN SK.MAP.INPUTFN MAP.SET.SCALES WORLDREGION SK.MAP.INSIDEFN SK.MAP.MOVEFN UNSCALE.POSITION.FROM.SKETCHW) (FNS CacheSpecsFromMapSketchElement) (MACROS BIN16 BIN20 MAPSCALE ReadSigned16) (RECORDS MAP LOCALMAP) (BITMAPS WORLDBITMAP) (GLOBALVARS DEFAULT.MAP.FILE MAPFILESDIRECTORIES) (FNS MAP.SetUpDirectories) (INITVARS (DEFAULT.MAP.FILE 'MENU) (World5File 'WORLD5.MAPDATA) (GlobalWorldFile 'WORLD0.MAPDATA) (MAPFILESDIRECTORIES (MAP.SetUpDirectories))) (FILES QUADFUNS PROPORTION) (P (SK.ADD.MAP.TYPE)))) (DECLARE%: DONTCOPY (PUTPROPS NEWMAP MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP")) (PUTPROPS NEWMAP FILETYPE :TCOMPL) ) (DEFINEQ (COMPUTE.NEW.WORLD.REGION [LAMBDA (MAPELT INPUTSKETCHREGION) (* Feuerman "27-Feb-84 10:31") (* INPUTSKETCHREGION is the region of the sketch window {in sketch window coordinates} that the user swept out to indicate what new region of the world compared to the old world region they're interested in) (PROG ((LATSCALE (fetch (MAP LATITUDESCALE) of MAPELT)) (LONSCALE (fetch (MAP LONGITUDESCALE) of MAPELT)) (OLDWORLDREGION (fetch (MAP WORLDREGION) of MAPELT)) (MAPSKETCHREGION (fetch (MAP MAPSKETCHREGION) of MAPELT)) LEFT BOTTOM WIDTH HEIGHT) [SETQ LEFT (PLUS (fetch (REGION LEFT) of OLDWORLDREGION) (FIX (FTIMES LONSCALE (DIFFERENCE (fetch (REGION LEFT) of INPUTSKETCHREGION ) (fetch (REGION LEFT) of MAPSKETCHREGION ] [SETQ BOTTOM (PLUS (fetch (REGION BOTTOM) of OLDWORLDREGION) (FIX (FTIMES LATSCALE (DIFFERENCE (fetch (REGION BOTTOM) of INPUTSKETCHREGION) (fetch (REGION BOTTOM) of MAPSKETCHREGION ] [SETQ WIDTH (FIX (FTIMES LONSCALE (fetch (REGION WIDTH) of INPUTSKETCHREGION] [SETQ HEIGHT (FIX (FTIMES LATSCALE (fetch (REGION HEIGHT) of INPUTSKETCHREGION] (RETURN (CREATEREGION LEFT BOTTOM WIDTH HEIGHT]) (FetchCachedBitMap [LAMBDA (MapResolution XSCALE YSCALE CLIPW CLIPE CLIPS CLIPN) (* fgh%: "28-Sep-85 23:17") (AND (NOT MapResolution) (SETQ MapResolution 'HIGH)) (GETPROP 'MAPS.CACHEDBITMAPS (MKATOM (LIST MapResolution (FIX XSCALE) (FIX YSCALE) CLIPW CLIPE CLIPS CLIPN]) (SELECTMAPFILE [LAMBDA NIL (* rht%: "23-Apr-85 12:14") (* DEFAULT.MAP.FILE instructs which map file to use. In the special case where its value is the litatom MENU, which mapfile is used is prompted for from the user.) (COND ((EQ DEFAULT.MAP.FILE 'MENU) (MENU (create MENU ITEMS ← '((Yes World5File) (No GlobalWorldFile)) TITLE ← "Do you want High Resolution File?" CENTERFLG ← T))) (T DEFAULT.MAP.FILE]) (SK.ADD.MAP.TYPE [LAMBDA NIL (* rrb " 4-Jun-86 15:56") (* sets up the box sketch element types.) (* put the datatype for the element on the property list of MAP and use the name MAP in the instances.) (COND ((NOT (SKETCH.ELEMENT.TYPEP 'MAP)) (CREATE.SKETCH.ELEMENT.TYPE 'MAP 'Map "Adds a map by accepting a region to put it in." (FUNCTION SK.MAP.DRAWFN) (FUNCTION SK.MAP.EXPANDFN) 'OBSOLETE (FUNCTION SK.MAP.CHANGEFN) (FUNCTION SK.MAP.INPUTFN) (FUNCTION SK.MAP.INSIDEFN) (FUNCTION SK.MAP.REGIONFN) (FUNCTION SK.MAP.TRANSLATEFN) NIL NIL (FUNCTION SK.MAP.TRANSFORMFN) (FUNCTION SK.MAP.TRANSLATEPTSFN) (FUNCTION SK.MAP.GLOBALREGIONFN]) (SK.MAP.CHANGEFN [LAMBDA (SCRNELT W) (* Feuerman "27-Feb-84 10:51") (PROG [(FIELD (SK.MENU.AND.RETURN.FIELD (fetch (SCREENELT GTYPE) of SCRNELT] (RETURN (COND ((EQUAL FIELD 'WORLDREGION) (MAP.CHANGE.WORLDREGION SCRNELT W)) (FIELD (SK.DEFAULT.CHANGEFN SCRNELT W FIELD)) (T NIL]) (SK.MAP.REGIONFN [LAMBDA (MAPSCRELT) (* fgh%: "28-Sep-85 21:28") (* * Return the region occupied by a map) (fetch (LOCALMAP MAPLOCALREGION) of (fetch (SCREENELT LOCALPART) of MAPSCRELT]) (SK.MAP.GLOBALREGIONFN [LAMBDA (MAPGELT) (* rrb " 4-Jun-86 16:07") (* * Return the global region occupied by a map) (fetch (MAP MAPSKETCHREGION) of (fetch (GLOBALPART INDIVIDUALGLOBALPART) of MAPGELT]) (SK.MAP.TRANSFORMFN [LAMBDA (GELT TRANSFORMFN TRANSFORMDATA SCALEFACTOR) (* fgh%: "28-Sep-85 22:24") (* * returns a copy of global map with control points transformed by transformfn.) (LET ((INDVPART (fetch (GLOBALPART INDIVIDUALGLOBALPART) of GELT))) (MAP.SET.SCALES (create GLOBALPART INDIVIDUALGLOBALPART ← (create MAP WORLDREGION ← (fetch (MAP WORLDREGION) of INDVPART ) MAPSKETCHREGION ← (SK.TRANSFORM.REGION (fetch (MAP MAPSKETCHREGION ) of INDVPART) TRANSFORMFN TRANSFORMDATA) LATITUDESCALE ← NIL LONGITUDESCALE ← NIL MAPBORDER ← (fetch (MAP MAPBORDER) of INDVPART) MAPRESOLUTION ← (fetch (MAP MAPRESOLUTION) of INDVPART))) SCALEFACTOR]) (SK.MAP.TRANSLATEFN [LAMBDA (SKELT DELTAPOS) (* fgh%: "28-Sep-85 21:50") (* * returns a element which has the map translated by DELTAPOS) (PROG ((GMAPELT (fetch (GLOBALPART INDIVIDUALGLOBALPART) of SKELT))) (RETURN (create GLOBALPART COMMONGLOBALPART ← (APPEND (fetch (GLOBALPART COMMONGLOBALPART) of SKELT)) INDIVIDUALGLOBALPART ← (create MAP using GMAPELT MAPSKETCHREGION ← (REL.MOVE.REGION (fetch (MAP MAPSKETCHREGION ) of GMAPELT) (fetch (POSITION XCOORD) of DELTAPOS) (fetch (POSITION YCOORD) of DELTAPOS]) (SK.MAP.TRANSLATEPTSFN [LAMBDA (MAPELT SELPTS GDELTA WINDOW) (* rrb " 9-Oct-86 17:42") (* returns a closed wire element which has the knots that are members of SELPTS translated by the global amount GDELTA.) (PROG ((GMAPELT (fetch (SCREENELT INDIVIDUALGLOBALPART) of MAPELT)) OLDGLOBALREGION LLX LLY URX URY) (SETQ OLDGLOBALREGION (fetch (MAP MAPSKETCHREGION) of GMAPELT)) [COND [(MEMBER (fetch (LOCALMAP MAPLL) of (fetch (SCREENELT LOCALPART) of MAPELT)) SELPTS) (* lower left point is moving.) (SETQ LLX (PLUS (fetch (REGION LEFT) of OLDGLOBALREGION) (fetch (POSITION XCOORD) of GDELTA))) (SETQ LLY (PLUS (fetch (REGION BOTTOM) of OLDGLOBALREGION) (fetch (POSITION YCOORD) of GDELTA] (T (SETQ LLX (fetch (REGION LEFT) of OLDGLOBALREGION)) (SETQ LLY (fetch (REGION BOTTOM) of OLDGLOBALREGION] [COND [(MEMBER (fetch (LOCALMAP MAPUR) of (fetch (SCREENELT LOCALPART) of MAPELT)) SELPTS) (* upper right point) (SETQ URX (PLUS (fetch (REGION PRIGHT) of OLDGLOBALREGION) (fetch (POSITION XCOORD) of GDELTA))) (SETQ URY (PLUS (fetch (REGION PTOP) of OLDGLOBALREGION) (fetch (POSITION YCOORD) of GDELTA] (T (SETQ URX (fetch (REGION PRIGHT) of OLDGLOBALREGION)) (SETQ URY (fetch (REGION PTOP) of OLDGLOBALREGION] (RETURN (MAP.SET.SCALES (create GLOBALPART INDIVIDUALGLOBALPART ← (create MAP WORLDREGION ← (fetch (MAP WORLDREGION) of GMAPELT) MAPSKETCHREGION ← (CREATEREGION (MIN LLX URX) (MIN LLY URY) (ABS (DIFFERENCE LLX URX)) (ABS (DIFFERENCE LLY URY))) LATITUDESCALE ← NIL LONGITUDESCALE ← NIL MAPBORDER ← (fetch (MAP MAPBORDER) of GMAPELT) MAPRESOLUTION ← (fetch (MAP MAPRESOLUTION) of GMAPELT))) (VIEWER.SCALE WINDOW]) (SetCachedBitMap [LAMBDA (savedBM MapResolution XSCALE YSCALE CLIPW CLIPE CLIPS CLIPN) (* fgh%: "28-Sep-85 23:16") (AND (NOT MapResolution) (SETQ MapResolution 'HIGH)) (PUTPROP 'MAPS.CACHEDBITMAPS (MKATOM (LIST MapResolution (FIX XSCALE) (FIX YSCALE) CLIPW CLIPE CLIPS CLIPN)) savedBM]) (GETMAPFILES2 [LAMBDA NIL (* Feuerman " 8-Mar-85 17:23") (* * Sorry to do this to you, Frank and Randy, but I had to zap out this function definition for your own good. The variables World5File and GlobalWorldFile are now being INITVARed in the NEWMAPCOMS, so if you are intent on using {PHYLUM}.. as the map directory, initialize it before LOADing NEWMAP. Otherwise, the variables will point to files on the local DSK. --KEF) NIL]) (MAP.CHANGE.WORLDREGION [LAMBDA (SCRNELT W) (* rrb " 9-Oct-86 17:42") (PROG ((INDVELT (fetch (SCREENELT INDIVIDUALGLOBALPART) of SCRNELT))) (replace (MAP WORLDREGION) of INDVELT with (COMPUTE.NEW.WORLD.REGION INDVELT (GETSKETCHWREGION W))) (MAP.SET.SCALES (fetch (SCREENELT GLOBALPART) of SCRNELT) (VIEWER.SCALE W)) (RETURN (fetch (SCREENELT GLOBALPART) of SCRNELT]) (UNSCALE.REGION.FROM.SKETCHW [LAMBDA (REGION VIEWER) (* rrb " 9-Oct-86 17:36") (* scales a region from a viewer into the global sketch coordinates.) (UNSCALE.REGION REGION (VIEWER.SCALE VIEWER]) ) (DEFINEQ (SK.MAP.DRAWFN [LAMBDA (MAPELT WIN REG) (* fgh%: "28-Sep-85 22:49") (* the drawing function for a sketch element that is a piece of the world.) (PROG ((GMAP (fetch (SCREENELT INDIVIDUALGLOBALPART) of MAPELT)) (LMAP (fetch (SCREENELT LOCALPART) of MAPELT)) WREGION LOCALREG SAVECLIPPINGREGION REGION1 REGION2 LOCALREGION1 LOCALREGION2 XOFFSET YOFFSET XSCALE YSCALE CLIPW CLIPE CLIPS CLIPN MapResolution) (SETQ WREGION (fetch (MAP WORLDREGION) of GMAP)) (SETQ LOCALREG (fetch (LOCALMAP MAPLOCALREGION) of LMAP)) (RESETVAR CAR/CDRERR NIL (SETQ MapResolution (fetch (MAP MAPRESOLUTION) of GMAP))) (COND ((EQ (DSPOPERATION NIL WIN) 'ERASE) (* if erasing, don't worry about clobbering other stuff, just clear the region.) (DSPFILL LOCALREG WHITESHADE 'REPLACE WIN) (RETURN))) (DRAWBORDER LOCALREG WIN (fetch (MAP MAPBORDER) of GMAP)) (* Temporarily set the clipping region so that we don't draw outside of the border) (RESETLST (RESETSAVE NIL (LIST 'DSPCLIPPINGREGION (DSPCLIPPINGREGION (INTERSECTREGIONS LOCALREG (DSPCLIPPINGREGION NIL WIN) ) WIN) WIN)) [COND [(MINUSP (fetch (REGION LEFT) of WREGION)) (SETQ REGION1 (CREATEREGION 0 (fetch BOTTOM of WREGION) (IPLUS (fetch WIDTH of WREGION) (fetch LEFT of WREGION)) (fetch HEIGHT of WREGION))) (SETQ REGION2 (CREATEREGION (IPLUS (CONSTANT (EXPT 2 20)) (fetch LEFT of WREGION)) (fetch BOTTOM of WREGION) (ABS (fetch LEFT of WREGION)) (fetch HEIGHT of WREGION))) (SETQ LOCALREGION2 (CREATEREGION (fetch LEFT of LOCALREG) (fetch BOTTOM of LOCALREG) [FIX (FTIMES (fetch WIDTH of LOCALREG) (FQUOTIENT (fetch WIDTH of REGION2) (fetch WIDTH of WREGION] (fetch HEIGHT of LOCALREG))) (SETQ LOCALREGION1 (CREATEREGION (IPLUS (fetch LEFT of LOCALREG) (fetch WIDTH of LOCALREGION2) 1) (fetch BOTTOM of LOCALREG) [FIX (FTIMES (fetch WIDTH of LOCALREG) (FQUOTIENT (fetch WIDTH of REGION1) (fetch WIDTH of WREGION] (fetch HEIGHT of LOCALREG))) (DRAW.MAP (OR (DISPLAYSTREAMP WIN) (WINDOWPROP WIN 'DSP)) [SETQ XOFFSET (FIX (FDIFFERENCE (FQUOTIENT (fetch (REGION LEFT) of REGION1) (fetch (LOCALMAP MAPLOCALLONSCALE ) of LMAP)) (fetch (REGION LEFT) of LOCALREGION1] [SETQ YOFFSET (FIX (FDIFFERENCE (FQUOTIENT (fetch (REGION BOTTOM) of REGION1) (fetch (LOCALMAP MAPLOCALLATSCALE ) of LMAP)) (fetch (REGION BOTTOM) of LOCALREGION1] (SETQ XSCALE (fetch (LOCALMAP MAPLOCALLONSCALE) of LMAP)) (SETQ YSCALE (fetch (LOCALMAP MAPLOCALLATSCALE) of LMAP)) (SETQ CLIPW (fetch (REGION LEFT) of REGION1)) (SETQ CLIPE (fetch (REGION RIGHT) of REGION1)) (SETQ CLIPS (fetch (REGION BOTTOM) of REGION1)) (SETQ CLIPN (fetch (REGION TOP) of REGION1)) LOCALREGION1 MapResolution) (replace (LOCALMAP MAPLOCALCACHESPECS) of LMAP with (LIST (LIST MapResolution XSCALE YSCALE CLIPW CLIPE CLIPS CLIPN))) (DRAW.MAP (OR (DISPLAYSTREAMP WIN) (WINDOWPROP WIN 'DSP)) [SETQ XOFFSET (FIX (FDIFFERENCE (FQUOTIENT (fetch (REGION LEFT) of REGION2) (fetch (LOCALMAP MAPLOCALLONSCALE ) of LMAP)) (fetch (REGION LEFT) of LOCALREGION2] [SETQ YOFFSET (FIX (FDIFFERENCE (FQUOTIENT (fetch (REGION BOTTOM) of REGION2) (fetch (LOCALMAP MAPLOCALLATSCALE ) of LMAP)) (fetch (REGION BOTTOM) of LOCALREGION2] (SETQ XSCALE (fetch (LOCALMAP MAPLOCALLONSCALE) of LMAP)) (SETQ YSCALE (fetch (LOCALMAP MAPLOCALLATSCALE) of LMAP)) (SETQ CLIPW (fetch (REGION LEFT) of REGION2)) (SETQ CLIPE (fetch (REGION RIGHT) of REGION2)) (SETQ CLIPS (fetch (REGION BOTTOM) of REGION2)) (SETQ CLIPN (fetch (REGION TOP) of REGION2)) LOCALREGION2 MapResolution) (replace (LOCALMAP MAPLOCALCACHESPECS) of LMAP with (CONS (LIST MapResolution XSCALE YSCALE CLIPW CLIPE CLIPS CLIPN) (fetch (LOCALMAP MAPLOCALCACHESPECS) of LMAP] (T (DRAW.MAP (OR (DISPLAYSTREAMP WIN) (WINDOWPROP WIN 'DSP)) [SETQ XOFFSET (FIX (FDIFFERENCE (FQUOTIENT (fetch (REGION LEFT) of WREGION) (fetch (LOCALMAP MAPLOCALLONSCALE) of LMAP)) (fetch (REGION LEFT) of LOCALREG] [SETQ YOFFSET (FIX (FDIFFERENCE (FQUOTIENT (fetch (REGION BOTTOM) of WREGION) (fetch (LOCALMAP MAPLOCALLATSCALE) of LMAP)) (fetch (REGION BOTTOM) of LOCALREG] (SETQ XSCALE (fetch (LOCALMAP MAPLOCALLONSCALE) of LMAP)) (SETQ YSCALE (fetch (LOCALMAP MAPLOCALLATSCALE) of LMAP)) (SETQ CLIPW (fetch (REGION LEFT) of WREGION)) (SETQ CLIPE (fetch (REGION RIGHT) of WREGION)) (SETQ CLIPS (fetch (REGION BOTTOM) of WREGION)) (SETQ CLIPN (fetch (REGION TOP) of WREGION)) LOCALREG MapResolution) (replace (LOCALMAP MAPLOCALCACHESPECS) of LMAP with (LIST (LIST MapResolution XSCALE YSCALE CLIPW CLIPE CLIPS CLIPN])]) (DRAW.MAP [LAMBDA (DSP XOFFSET YOFFSET XSCALE YSCALE CLIPW CLIPE CLIPS CLIPN LOCALREGION MapResolution) (* ; "Edited 7-Nov-88 14:24 by Randy.Gobbel") (* ;; "draws a piece of the world into WINDOW. YSCALE and XSCALE define the scale. CLIPx defines the region of the world of interest.") (PROG (FILENAME FUDGEFACTOR W savedBM MAPFILE BASENAME) (* ;; "Check to see if we've previously cached the map selection. If so, use the cached bm. (NOTE: this uses the var MAPELT, inherited from SK.MAP.DRAWFN)") (* ;; "MAPFILE has now been made a GLOBALVAR. This was done because in order to do the input of a new map element, we needed to know which map file was being used to adjust the proportional GETREGION accordingly. Therefore, MAPFILE is being SET in SK.MAP.INPUTFN.") (* ;; "FGH 9/27/85 Got ridd of GLOBAL MAPFILE. Replaced by added argument MapReolution, from which the right map file can be computed.") (COND ((SETQ savedBM (FetchCachedBitMap MapResolution XSCALE YSCALE CLIPW CLIPE CLIPS CLIPN)) (BITBLT savedBM 0 0 DSP (fetch LEFT of LOCALREGION) (fetch BOTTOM of LOCALREGION) (BITMAPWIDTH savedBM) (BITMAPHEIGHT savedBM) 'INPUT 'PAINT) (RETURN NIL))) (SETQ BASENAME (PACK* (COND ((EQ MapResolution 'HIGH) 'WORLD5) (T 'WORLD0)) '.MAPDATA)) [SETQ MAPFILE (OR (FINDFILE BASENAME NIL MAPFILESDIRECTORIES) (BREAK1 (FINDFILE BASENAME NIL MAPFILESDIRECTORIES) T DRAW.MAP NIL NIL '("Cannot find the map data file." "You probably need to reset MAPFILESDIRECTORIES!! Type '↑' to abort."] (SETQ FILENAME (FILENAMEFIELD MAPFILE 'NAME)) (SETQ FUDGEFACTOR (COND ((OR (EQUAL FILENAME 'WORLD0) (EQUAL FILENAME 'WORLD5)) 1.0) (T 16.0))) (* ;; "FUDGEFACTOR is used when using 20 bit data base format. It is determined by the difference between the 16 bit and 20 bit data bases.") (RESETLST (RESETSAVE (CURSOR WAITINGCURSOR)) (SETQ savedBM (BITMAPCREATE (fetch WIDTH of LOCALREGION) (fetch HEIGHT of LOCALREGION))) (DRAW.MAP.FROM.TREE [COND [(EQUAL FILENAME 'WORLD0) (* ; "use the low resolution data base and quad tree") (COND ((AND (BOUNDP 'QUADTREE.LOWRES) QUADTREE.LOWRES)) (T (SETQ QUADTREE.LOWRES (GET.QUAD.TREE MAPFILE] (T (COND ((AND (BOUNDP 'QUADTREE.HIGHRES) QUADTREE.HIGHRES)) (T (SETQ QUADTREE.HIGHRES (GET.QUAD.TREE MAPFILE] MAPFILE (DSPCREATE savedBM) (IPLUS XOFFSET (fetch LEFT of LOCALREGION)) (IPLUS YOFFSET (fetch BOTTOM of LOCALREGION)) (FQUOTIENT XSCALE FUDGEFACTOR) (FQUOTIENT YSCALE FUDGEFACTOR) CLIPW CLIPE CLIPS CLIPN) (BITBLT savedBM 0 0 DSP (fetch LEFT of LOCALREGION) (fetch BOTTOM of LOCALREGION) (BITMAPWIDTH savedBM) (BITMAPHEIGHT savedBM) 'INPUT 'PAINT) (SetCachedBitMap savedBM MapResolution XSCALE YSCALE CLIPW CLIPE CLIPS CLIPN)) (RETURN NIL]) (PLOTSEGMENT [LAMBDA (WINDOW DATASTREAM NPTS XMIN XFACTOR YMIN YFACTOR COLOR) (* Feuerman " 2-Mar-85 15:02") (PROG ((CURRENTLAT (BIN20 DATASTREAM)) (CURRENTLON (BIN20 DATASTREAM)) CURRENTWINDOWLAT CURRENTWINDOWLON) (MOVETO (MAPSCALE CURRENTLON XMIN XFACTOR WINDOW) (MAPSCALE CURRENTLAT YMIN YFACTOR WINDOW) WINDOW) (AND (ZEROP COLOR) (SETQ COLOR 15)) (* * FRPTQ = Fast RePeaT. repeat these steps NPTS times; i.e., once for each point in the segment record) (FRPTQ NPTS (SETQ CURRENTWINDOWLAT (MAPSCALE (SETQ CURRENTLAT (IPLUS CURRENTLAT (ReadSigned16 DATASTREAM))) YMIN YFACTOR WINDOW)) (* Get the new point by adding offsets to the last point) (SETQ CURRENTWINDOWLON (MAPSCALE (SETQ CURRENTLON (IPLUS CURRENTLON (ReadSigned16 DATASTREAM))) XMIN XFACTOR WINDOW)) (* Draw to the next point, checking for possible wraps) (COND ((IGREATERP CURRENTLON (CONSTANT (EXPT 2 20))) [SETQ CURRENTLON (IDIFFERENCE CURRENTLON (CONSTANT (EXPT 2 20] (MOVETO (MAPSCALE CURRENTLON XMIN XFACTOR WINDOW) CURRENTWINDOWLAT WINDOW)) (T (COND ((ILESSP CURRENTLON 0) (SETQ CURRENTLON (IDIFFERENCE (CONSTANT (EXPT 2 20)) CURRENTLON)) (MOVETO (MAPSCALE CURRENTLON XMIN XFACTOR WINDOW) CURRENTWINDOWLAT WINDOW)) ((OR (NEQ CURRENTWINDOWLON (DSPXPOSITION NIL WINDOW)) (NEQ CURRENTWINDOWLAT (DSPYPOSITION NIL WINDOW))) (* check first to see if segment is actually going anywhere) (COND ((OR (INSIDEP (DSPCLIPPINGREGION NIL WINDOW) CURRENTWINDOWLON CURRENTWINDOWLAT) (INSIDEP (DSPCLIPPINGREGION NIL WINDOW) (DSPXPOSITION NIL WINDOW) (DSPYPOSITION NIL WINDOW))) (* if either of the points are inside the clipping region, draw the line, otherwise just move to the new point. This saves the time of drawing lines that lie completely outside of the clipping region) (DRAWTO CURRENTWINDOWLON CURRENTWINDOWLAT NIL 'PAINT WINDOW COLOR)) (T (MOVETO CURRENTWINDOWLON CURRENTWINDOWLAT WINDOW]) (DRAWBORDER [LAMBDA (REGION WIN SIZE OPERATION) (* rrb "23-Jan-84 12:07") (* draws a box around region) (DRAWAREABOX (fetch (REGION LEFT) of REGION) (fetch (REGION BOTTOM) of REGION) (fetch (REGION WIDTH) of REGION) (fetch (REGION HEIGHT) of REGION) SIZE OPERATION WIN]) ) (DEFINEQ (SK.MAP.EXPANDFN [LAMBDA (GMAP SCALE) (* rrb " 9-Oct-86 17:39") (* returns a local record which has the region field of the global element GELT translated into window coordinats.) (* for now only allow to select the left-bottom or right-top corner.) (PROG ((MAP (fetch (GLOBALPART INDIVIDUALGLOBALPART) of GMAP)) LREG) (SETQ LREG (SK.SCALE.REGION (fetch (MAP MAPSKETCHREGION) of MAP) SCALE)) (RETURN (create SCREENELT LOCALPART ← (create LOCALMAP MAPLL ← (create POSITION XCOORD ← (fetch (REGION LEFT) of LREG) YCOORD ← (fetch (REGION BOTTOM) of LREG)) MAPUR ← (create POSITION XCOORD ← (fetch (REGION RIGHT) of LREG) YCOORD ← (fetch (REGION TOP) of LREG)) MAPLOCALREGION ← LREG MAPLOCALLONSCALE ← (FTIMES (fetch (MAP LONGITUDESCALE ) of MAP) SCALE) MAPLOCALLATSCALE ← (FTIMES (fetch (MAP LATITUDESCALE) of MAP) SCALE) MAPLOCALCACHESPECS ← NIL) GLOBALPART ← GMAP]) (SK.MAP.INPUTFN [LAMBDA (W WORLDREGION LOCALREGION) (* ; "Edited 7-Nov-88 14:18 by Randy.Gobbel") (* ;; "creates a map element for a sketch window. First, get the region of the world we're interested in. Then select which map file to draw from. We need this now, so we'll know how to proportion the region in the sketch window.") (PROG ([WORLDREGION (COND ((REGIONP WORLDREGION)) (T (WORLDREGION] GLOBALREGION BASENAME MESS1 MESS2 (MAPFILE NIL)) (SETQ BASENAME (SELECTMAPFILE)) [SETQ MAPFILE (OR (FINDFILE BASENAME NIL MAPFILESDIRECTORIES) (BREAK1 (FINDFILE BASENAME NIL MAPFILESDIRECTORIES) T SK.MAP.INPUTFN NIL NIL '("Cannot find the map data file." "You probably need to reset MAPFILESDIRECTORIES!! Type '↑' to abort."] (SETQ GLOBALREGION (UNSCALE.REGION.FROM.SKETCHW (OR LOCALREGION (GETPROPORTIONEDREGION (FTIMES [COND ((EQ (FILENAMEFIELD MAPFILE 'NAME) 'WORLD5) 1.5) (T (CONSTANT (FQUOTIENT 3256 1630] (FQUOTIENT (fetch (REGION WIDTH) of WORLDREGION) (fetch (REGION HEIGHT) of WORLDREGION ))) W)) W)) (RETURN (MAP.SET.SCALES [create GLOBALPART INDIVIDUALGLOBALPART ← (create MAP WORLDREGION ← WORLDREGION MAPSKETCHREGION ← GLOBALREGION MAPBORDER ← 1 MAPRESOLUTION ← (COND ((EQ (FILENAMEFIELD MAPFILE 'NAME) 'WORLD0) 'LOW) (T 'HIGH] (VIEWER.SCALE W]) (MAP.SET.SCALES [LAMBDA (GMAPELT SCALE) (* rrb "23-Jan-84 17:29") (* updates the dependent fields after a change in the region of a box element.) (PROG ((INDVMAPELT (fetch (GLOBALPART INDIVIDUALGLOBALPART) of GMAPELT)) WORLDREGION GREG WIDTH HEIGHT) (SETQ GREG (fetch (MAP MAPSKETCHREGION) of INDVMAPELT)) (SETQ WORLDREGION (fetch (MAP WORLDREGION) of INDVMAPELT)) (* update the scale factors for the map to global region transformation.) [replace (MAP LONGITUDESCALE) of INDVMAPELT with (FQUOTIENT (fetch (REGION WIDTH) of WORLDREGION) (SETQ WIDTH (fetch (REGION WIDTH) of GREG] [replace (MAP LATITUDESCALE) of INDVMAPELT with (FQUOTIENT (fetch (REGION HEIGHT) of WORLDREGION) (SETQ HEIGHT (fetch (REGION HEIGHT) of GREG] (replace (GLOBALPART MINSCALE) of GMAPELT with (IMIN (QUOTIENT SCALE DEFAULT.VISIBLE.SCALE.FACTOR ) (FQUOTIENT (IMIN WIDTH HEIGHT) 2000.0))) (replace (GLOBALPART MAXSCALE) of GMAPELT with (MAX (FQUOTIENT (MAX WIDTH HEIGHT) 3.0) (ITIMES SCALE MINIMUM.VISIBLE.SCALE.FACTOR ))) (RETURN GMAPELT]) (WORLDREGION [LAMBDA (GLOBALREGION) (* Feuerman "18-Mar-85 10:17") (PROG (REGION) (COND ((AND (BOUNDP 'WORLDWINDOW) WORLDWINDOW) (OPENW WORLDWINDOW)) (T (SETQ WORLDWINDOW (CREATEW (CREATEREGION 50 50 (WIDTHIFWINDOW 640) (HEIGHTIFWINDOW 320 T)) "Sweep out the region of the world to display")) (BITBLT WORLDBITMAP NIL NIL WORLDWINDOW))) (SETQ REGION (GETREGION)) (CLOSEW WORLDWINDOW) (RETURN (CREATEREGION (ITIMES [IDIFFERENCE (fetch LEFT of REGION) (fetch LEFT of (WINDOWPROP WORLDWINDOW 'REGION] 1630) (ITIMES [IDIFFERENCE (fetch BOTTOM of REGION) (fetch BOTTOM of (WINDOWPROP WORLDWINDOW 'REGION] 3256) (ITIMES (fetch WIDTH of REGION) 1630) (ITIMES (fetch HEIGHT of REGION) 3256]) (SK.MAP.INSIDEFN [LAMBDA (GMAP WREG) (* rrb "23-Jan-84 13:00") (* determines if the global BOX GMAP is inside of WREG.) (REGIONSINTERSECTP (fetch (MAP MAPSKETCHREGION) of (fetch (GLOBALPART INDIVIDUALGLOBALPART ) of GMAP)) WREG]) (SK.MAP.MOVEFN [LAMBDA (MAPELT SELPOS NEWPOS WINDOW) (* rrb " 9-Oct-86 17:43") (* returns a curve element which has the box corner SELPOS moved to NEWPOS.) (* moves the global region which indicates where the map is displayed but does not affect the part of the world seen. The part of the world seen can be changed by zooming the map.) (PROG ((GMAPELT (fetch (SCREENELT INDIVIDUALGLOBALPART) of MAPELT)) (GNEWPOS (UNSCALE.POSITION.FROM.SKETCHW NEWPOS WINDOW)) OLDGLOBALREGION NEWX NEWY OLDLEFT OLDBOTTOM) (SETQ OLDGLOBALREGION (fetch (MAP MAPSKETCHREGION) of GMAPELT)) (SETQ NEWX (fetch (POSITION XCOORD) of GNEWPOS)) (SETQ NEWY (fetch (POSITION YCOORD) of GNEWPOS)) (SETQ OLDLEFT (fetch (REGION LEFT) of OLDGLOBALREGION)) (SETQ OLDBOTTOM (fetch (REGION BOTTOM) of OLDGLOBALREGION)) [replace (MAP MAPSKETCHREGION) of GMAPELT with (COND [(EQ SELPOS (fetch (LOCALMAP MAPLL) of (fetch (SCREENELT LOCALPART) of MAPELT))) (* lower left point is moving.) (CREATEREGION NEWX NEWY (IPLUS (DIFFERENCE OLDLEFT NEWX) (fetch (REGION WIDTH) of OLDGLOBALREGION )) (IPLUS (DIFFERENCE OLDBOTTOM NEWY) (fetch (REGION HEIGHT) of OLDGLOBALREGION] (T (* upper left corner is moving.) (CREATEREGION OLDLEFT OLDBOTTOM (DIFFERENCE NEWX OLDLEFT) (DIFFERENCE NEWY OLDBOTTOM] (* update the scale at which the curve is visible.) (RETURN (MAP.SET.SCALES (fetch (SCREENELT GLOBALPART) of MAPELT) (VIEWER.SCALE WINDOW]) (UNSCALE.POSITION.FROM.SKETCHW [LAMBDA (POS VIEWER) (* transforms a position from viewer coordinates into sketch coordinates.) (create POSITION XCOORD ← (TIMES (fetch (POSITION XCOORD) of POS) (VIEWER.SCALE VIEWER)) YCOORD ← (TIMES (fetch (POSITION YCOORD) of POS) (VIEWER.SCALE VIEWER]) ) (DEFINEQ (CacheSpecsFromMapSketchElement [LAMBDA (MapSketchElement SketchViewer) (* fgh%: "25-Aug-86 20:14") (fetch (LOCALMAP MAPLOCALCACHESPECS) of (fetch (SCREENELT LOCALPART) of (SK.LOCAL.ELT.FROM.GLOBALPART MapSketchElement SketchViewer]) ) (DECLARE%: EVAL@COMPILE (PUTPROPS BIN16 MACRO ((OFD) (LOGOR (LLSH (BIN OFD) 8) (BIN OFD)))) (PUTPROPS BIN20 MACRO ((DATASTREAM) (LRSH (LOGOR (LLSH (BIN DATASTREAM) 24) (LLSH (BIN DATASTREAM) 16) (LLSH (BIN DATASTREAM) 8) (BIN DATASTREAM)) 12))) (PUTPROPS MAPSCALE MACRO ((VALUE OFFSET SCALE SKWINDOW) (* converts from a file value to a map coordinate.) (IDIFFERENCE (FIX (FQUOTIENT VALUE SCALE)) OFFSET))) (PUTPROPS ReadSigned16 MACRO [(S) (PROG ((us (BIN16 S))) (RETURN (COND ((IGREATERP us 32767) (* Make negative number) (IDIFFERENCE us 65536)) (T us]) ) (DECLARE%: EVAL@COMPILE (TYPERECORD MAP (WORLDREGION MAPSKETCHREGION LATITUDESCALE LONGITUDESCALE MAPBORDER MAPRESOLUTION ) (* WORLDREGION is the part of the world in adjusted latitude longitude coordinates. MAPSKETCHREGION is the region on the sketch. LATITUDESCALE and LONGITUDESCALE are the scale factors and are computed from the WORLDREGION width and height compared to the MAPSKETCHREGION width and height. MAPBORDER is a number that gives the size of the border. MAPRESOLUTION is the maps resolution. For now values are hi or low.) MAPBORDER ← 1) (RECORD LOCALMAP ((MAPLL MAPUR) MAPLOCALREGION MAPLOCALLONSCALE MAPLOCALLATSCALE MAPLOCALCACHESPECS)) ) (RPAQQ WORLDBITMAP #*(640 320)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOO@@@@@@@@@GN@@@@@@@OOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OO@@@@@@@OOH@ONAOOH@@@@@@@@AON@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GO@@@@@@@@@@GOO@AN@@@@@@@@@GOOOH@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AIH@F@@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CMH@@@@@@@@@@OHH@@@@@@@@@@@@@@@GOOO@OL@@@@@@@@@@@@@@@@@@@@@@@OKNAOOGOO@@@@@@@@@@@@GAL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LBOOOOON@@@@OLG@@@@@@@@@@@@@@@@CO@@@N@@@@@@@@@@@COOON@@@@@@@COMHGOOON@@@@@@@@@@@@CL@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HA@AOMOOH@@@AOOL@@@@@@@@@@@@@@@@@@@@@G@@@@@@@@@GOOOH@@F@@@@@@@@@N@@@@@@@@@@@@@@@@@@AO@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ANAL@@OL@@@@ON@@F@@@@@@@@@@@@@@@@@@@@CH@@@@@@@@@D@@@OOOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@DOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOOH@@B@@GL@@@A@@COH@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@C@@@OL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COO@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CON@G@FGNC@AKN@@@A@OL@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@OLAIOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COOL@COMOOLONOH@@CNAOH@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@A@BAHN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COOOOH@N@B@OOH@H@@@F@@@O@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@ND@G@@@@@@@@@@@@@@@@@@@ON@@@@@@@@@@@@@@HGOOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL@L@@F@G@@@GL@GN@@@N@@CL@@@@@@@@@@@@@@@@@@@@@GN@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@COO@F@@@@@@@@@@@CIOH@GHGN@@@@@@@@@@ALF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ALCOCOAIHGMONGOOOOOOOH@@@F@AOH@@@@@@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL@OOH@@@@@@@@@AOLN@@@@@@A@@@@@@@@@@FCIO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OLOL@LHGIC@B@ALO@OOH@@@@CON@GL@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CN@G@@@@@@@@@@@ON@@@@@@@@@F@@@@@@@@@@D@@OCON@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOLHCLACLONGLH@O@@F@@@@@@@@@D@@@@@@@@@@@@@@@@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@OH@@@@@@@@@@C@@@@@@@@@@GH@@@@@@@@@@COO@@GL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL@CNOOO@@@@OLGL@AOL@@@@@@@@@CL@@@@@@@@@@@@@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HA@@@@@@@@@@@@D@@@@@@@@@CIN@@@@@@@@@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CNCN@C@@@@@FFAONCON@@@@@@@@@@@@D@@@@@@@@@@@@@@@OH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@F@@@@@F@@@COON@@@@@@@@CMOOOO@AOO@@@@@COH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@AO@@@CO@IIB@AIOOOOOH@@@@@@@@B@@@@@@@@@@@@@@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DAH@@@@AKAH@A@@@@@@@@@@@GN@@@AOOH@N@@@@AOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@GOLONDFGLCI@BBCHAGOL@@@@@@@@B@@@@@@@@@@@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LB@@@@@B@LNOMN@@@@@@@@@@@@@@@@@@@@AH@@@GOOON@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@AN@C@AHHCH@EGLLAH@OOOL@@@@@@@B@@@@@@@@@@@@@CM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@B@@@@@D@KMOCC@@@@@@@@@@@@@@@@@@@@B@H@@D@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@CH@@@@@D@F@MD@HAH@H@@F@@@@@@@AB@@@@@@@@@@@@AO@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@ALB@@@@CLADGN@L@@@@@@@@@@@@@@@@@@@@A@OOON@@@@OH@@@@@@@@@@@GO@@@@@@@@@L@@@@@@@@@@@@@CCLN@@@@@B@AOBB@F@L@@@@AO@@@@@@CM@@@@@@@@@@@@NA@@@@@@@@@@@@@@@@@GNMOH@@@@@@@@@COL@@@B@@K@C@@@@@@@@@@@@@@@@@@@@@@@O@@@@@@@@@OOOL@@@@@@@@OH@@@@@@@AOCOH@@@@@@@@@@H@L@COL@@@CH@@DALA@@@@@@@@L@@@@@@GL@@@@@@@@@@@MA@@@@@@@@@@@@@@@AOH@BGN@@@@@@@@@@@AO@@A@@I@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@F@@@@@@@@@@@CN@@@GOOCL@@@@AHN@@@@OO@@@@GL@H@F@OO@@F@@@C@@@@@@HF@@@@@@@@@@AOO@@@@@@@@@@@@@@@F@@@@AOL@@@@@@B@@@@NO@CH@J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GOOLOEOON@@@@@@@@D@@@@@@@LCO@CMNGAFGN@D@@@C@ALCG@N@@OOOIH@@@L@@@@@IN@@@@@@@@@@@@L@@@@@@@@@@@@@@OL@@@@@@GOH@@@@EHC@AIHOHD@IN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CGB@@AN@@@@@@OL@@@@@@@@@@ODB@@@KHAOOL@CLLOALLLAF@HGH@G@@@N@@@@@FA@@@@@@@@@@@O@@@@@@@@@@@@@@ANH@@@@@@@@F@AOHFCMGNO@@GJ@FH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL@@@AL@@@@A@@@@@@@@@@@@@L@@@@@@@@AKOMOO@@FNH@IHHAH@DL@@H@@@@@AN@@@@@@@@@CO@@@@@@@@@@@@@@@GO@@@@@@@@@AN@LFGL@H@D@@@D@DH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL@@@AL@@@@@@@@@@@@@@@@@@@@@CLOKH@L@DK@@AKHB@@OC@@GL@@@@B@@@@@@@@@OL@@@@@@@@@@@@@@@@AH@@@@@@@@@@AHGHH@@@@@@@@@@MH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@C@@@@@@@@@@@@@@@@@@@@@@C@G@@COHF@@@N@AHAGAH@@CL@@@B@@@@@@@@A@@@@@@@@@@@@@@@@@@B@@@@@@@@L@@@HGOH@@@@@@@@@CF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OL@@@L@@@@@@@@@@@@@@@@@AOH@@@@@@@@@@@@@@@AH@HC@@@@B@@@D@@@@@@@@B@@@@@@@@@@@@@@@@@@F@@@@@@@@GOLOGN@@@@@@@@@@@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@B@AOC@@@@@@@@@@@@@@@@CNGN@@@@@@@@@@@@@CON@@@L@@F@AH@@B@@@@@@@AL@@@@N@DOH@@@@@@@@@H@@@CN@@@AHCCH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CI@@AHNAN@@@@@@@@@@@@@@@@FGON@@@@@@@@@@@@@AN@@@@F@@EHF@@@B@@@@@@ON@@@@@MOK@H@@@@@@@@A@@@@LA@@@@HNF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CFL@N@G@@@@@@@@@@@@@@@@@@@EG@@@@@@@@@@@@@@CAH@GOH@@BDH@@@AH@@@@O@@@@@@AOH@@F@@@@@@@@B@@@ALC@@@@IAO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GL@GAH@COCH@@@@@@@@@@@@@@@@OL@@@@@@@@@@@@@@O@G@DF@@@AO@@@@@D@@@@F@@@@@@AN@@@F@@@@@@@@L@@@AAL@@@@GN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@O@@@@LL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OC@LHCIO@@@D@@@@@F@@@@D@@@@@@@C@@GH@@@@@@@G@@@@OF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@GN@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@GKCN@@@LCHC@@@@@B@@@@D@@@@@@@GOOH@@@@@@@CH@@@C@H@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@H@CL@@@@@@@@@@@@@@@@@@@@@@CH@@@@@@@C@@L@@@@@CHON@@@@@AH@@AH@@@@@@@@@@@@@@@@@@D@@@@D@H@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@@@@AOL@@@@@@D@@@@@@@@@@@@@@@@@@@@@CLGN@@@@@@@L@@@OCKON@FG@@@@@@@H@@B@@@@@@@@@@@@@@@G@@CH@@@@D@H@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GNAD@@@CN@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@AOL@@@@@@@CH@@@HCB@AHAO@@@@@@@D@@A@@@@@@@@@@@@@@@F@@C@@@@@H@D@@@OHM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHBFD@@@D@@@@@@@@A@@@@@@CH@@@@@@@@@@@@@ANGH@@@@@@@B@@@@@AC@@D@@@@@@@@@B@@B@@@@@@@@@@@@@@@@@@A@@@@@D@H@CLLDG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@CKH@LCH@@@@@@@@@L@@@@@OAO@@@@@@@@@@@@@OL@@@@@@@@L@@@@@@B@@CL@@@@@@@@AOHD@@@@@@@@@@@@@@@@@@A@@@@@C@GOLCEL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@DEOCL@@@@@@@@@GJB@@@ALA@ON@@@@@@@@@@@@@@@@@@@@@H@@@@@@A@@@D@F@@@@@@@@DL@@@@@@@@@@@@@@@@@@AH@@@@A@@CHEJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CNA@@AHJD@D@@@@@@@@@CAM@@@BEN@@AO@@@@@@@@@@@@@F@@@@@@H@@@@@@A@@@D@I@@@@@@@@C@@@@@@@@@@@@@@@@@@@ALAL@@G@BLGH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GOONCOL@BAN@@@@@@@@@@@@@@AO@@FF@@@@AH@@@@@@@@@@@AOL@@@@@H@@@@@@F@@@D@LH@@@@@@@@@@@@@@@@@@@@@@@@@@@@HBB@@H@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@C@@@LBH@@@@@@@@@@@@@@A@O@EH@@@@@GA@@@@@@@@@@CH@@@@@@O@@@@@@F@@@CG@D@@@@@@@@@@@@@@@@@@@@@@@@AC@@GLA@@IHFD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@C@E@@@@@@@@@@@@@@@@@BCKH@@@@@@KH@@@@@@@@@@@@@B@@@A@@@@@@A@@@@H@B@@@@@@@@@@@@@@@@@@@@@@@@CD@@@AI@AK@GD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@L@CH@@@@@@@@@@@@@@@@FEOH@@@@@@GN@@@@@@@@@@@@@G@@@AJ@@@@@AH@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@EI@@@NHHABAIH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@AH@A@@@@@@@@@@@@@@@@AKHN@@@@@@@AO@@@@@@@@@@@@@F@@@@MN@@@@@H@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@AL@@@HLLN@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@B@@FH@@@@@@@@@@@@@@@BD@@@@@@@@@AEH@@@@@@@@@@@@F@@@@@AH@@CHH@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@L@@@HOM@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@AL@@@@@@@B@@E@@@@@@@@@@@@@@@COH@@@@@@@@@@GH@@@@@@@@@@@@@@@@@@@G@@CIH@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@N@@@GOO@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@BF@@@@@@@B@@D@@@@@@@@@@@@@@CO@@@@@@@@@@@@CN@@@@@@@@@@@@@@@@@@@@ON@F@@@@@@@CH@@@@@@@@@@@@@@@@@@@@@@OF@@@GOFAOF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@GL@@@@@@@B@AN@@@@@@@@@@@@@@G@@@@@@@@@@@@@@IH@@@@@@@@@@@@@@@@@@@@BAH@@@@@@@@O@@@@@@@@@@@@@@@@@@@@@AHK@@@FGONAH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M@@@@@@@@@@@@NNC@@@@@B@B@@@@@@@@@@@@@@FD@@@@@@@@@@@@@CMH@@@@@@@@@@@@@@@@@@@@B@H@@@@@@@@G@@@@@@@@@@@@@@@@@@@@@OAH@@OL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AB@@@@@@@@@@@@OCG@@@@@A@B@@@@@@@@@@@@@CN@@@@@@@@@@@@@@AI@@@@@@@@@@@@@AN@@@@@@B@H@@@@@@@@AL@@@@@@@@@@@@@@@@@@@@LAAHCH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BD@@@@@@@@@@@@@@LH@@@@AAN@@@@@N@@@@@@@G@@@@@@@@@@@@@@@@LL@@@@@@@@@@@@OJ@@@@@@CHH@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@F@KDCH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@@@@@@@@@@@@@@LH@@@@AA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FC@@@@@@@@@@@@GE@@@@@@ADH@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@DAAHD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GL@@@@@@@@@@@@@@@M@@@@@AJ@@@@@@@@@@AL@@@@@@@@@@@@@@@@@@@BA@@@@@@@@@@@@BOH@@@@@@ML@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@LOGIH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@@@@@@@@@@@@@ADH@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@AIL@@@@@@F@@@@@@@@@GN@@@@@@@@@@@@@@@@@@@@G@CF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ABH@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AO@@@@@@@@@@@@LL@@@@@@C@@@@@@@@@IL@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AFL@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KL@@@@@@@@@@@NL@@@@@@@@@@@@COOOBD@@@@@@@@@@@@@@@@@@@@@@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ABD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GGH@@@@@@@@@@@@@@@@@@@@@@@@DCO@BJL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BEN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOL@@@@@@@@@@@@@@@H@@@@@@@AOOO@DAF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GN@@@@@@@@@@@@@@CF@@@@@@@CHA@@L@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CN@@@@@@@@@@@@@@LAL@@@@@@NAN@AH@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CH@@@@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BF@@@@@@@@@@@@@CAHF@@@@@AL@L@@ONO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COH@@@AHD@@AL@@@@@OKH@@@@@@@@@@@@@@@@@@@@@@@@@A@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@OOIN@@@@@C@@E@D@CG@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@GDDB@@@AF@B@@GH@@@@COO@@@@@@@@@@@@@@@@@@@@@@@@@@C@GH@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@A@FGO@@@@@@@COL@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@G@@@@@AHNHB@@@AH@A@AM@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@D@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@COGL@@@@@@FOO@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@EN@@@@A@NGL@@@B@CO@C@L@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@F@AL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@LLIB@@@@@COCH@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@DJ@@@@C@CLF@@@B@N@@B@H@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@E@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@M@IO@@@@BNML@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@GLFB@@@@D@B@AH@@B@L@@A@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@DO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@FAM@OL@@GAF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CAHDCAL@@@L@@@@D@@A@B@@AO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@HAH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@JAEAFL@@HAH@@@@@@@@@@@@@@@@@@@@@@@@@@G@@LN@B@HB@@@H@@@@CH@A@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AKH@CHG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@I@BCI@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@HG@AHHAH@A@@@@@@H@@H@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FD@@GNH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@I@AOH@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@LF@@DGHF@@HAON@@L@@L@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@CIH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@F@OL@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@C@B@@GALB@@GN@ALKH@@B@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@F@@@CO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@D@M@@@LGB@OOOH@GD@@@C@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL@@C@@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@OL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HAH@E@@@CGKAFCO@@@@@@@AHN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CF@@N@@@@BD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HBH@E@@@AFI@HC@@@@@@@@B@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LKOI@@@@@BD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@FD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HC@@G@@@@N@HDA@@@@@@@@F@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@CHFAAH@@@@BD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@OH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@C@@@@@BADDOJC@@@@@@@@B@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@HA@D@@@@DL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHB@@@@OLAHK@OAH@@@@@@@B@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@AI@BLB@@@@M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HL@@@AND@@K@B@H@@@@@@@CHA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JNABB@@@O@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@COOOCL@@O@@@NC@GH@@@@OO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EN@FA@@@LA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J@L@@@B@@@C@AHANMI@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@BA@@A@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@@C@@@@L@H@@JAH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@BA@GO@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@A@@@@OL@@O@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@DF@H@IN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@N@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@EHCCNNH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@B@GOMH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL@@@@@@@@@@@@@@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@G@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@AKOJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@@@@@@OH@@G@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@AML@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@G@AHL@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@A@A@CL@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HL@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@ANA@@KNGOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EO@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@AI@@@AHD@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DI@@@@@@@@@@JI@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@F@@@@H@@@@@@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FI@@@@@@@@@AOOK@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@LD@@@@@LH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CLH@@@@@@@CNL@DHH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@LL@@@@@HD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LH@@@@@@ALCN@@DD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@D@@@@@@@@@@@@@@@FH@@@@@DB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OD@@@@@@N@@@@@DD@@@@@@@@@@@@@@@@@@@@@@@@@@@@LD@AH@@@@@@@@@@@@@@@GL@@@@@BCH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AMC@@@@@AH@@@@@FD@@@@@@@@@@@@@@@@@@@@@@@@@@@@OD@N@@@@@@@@@@@@@@@@BF@@@@@B@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HI@@@@@A@@@@@@BB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@AA@@@@@AHGGH@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FDL@@@@A@@@@@@BBO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@AA@@@@@@J@ID@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AND@@@@A@@@@@@ABO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@HH@@@@@N@CGH@DD@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JF@@@@A@@@@@@AJA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@HH@@@@@E@E@GOOJ@@@@@@@@@@@@@@@@@@@@@@@HL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JA@@@@A@@@@@@@LF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@DD@@@@@B@IH@@@A@@@@@@@@@@@@@@@@@@@@@@CAD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M@H@@@B@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@BC@@@@@CO@F@@@AH@@@@@@@@@@@@@@@@@@@@@BAD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CLD@@@B@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@FA@@@@@@@@CH@@@D@@@@@@@@@@@@@@@@@@@@@LBH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LB@@@B@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@B@H@@@@@@@@L@@@GH@@@@@@@@B@@@@@@@@@BO@BH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HA@@@B@@@@@@OO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@AHH@@@@@@@@D@@@CHH@@@@@@HE@@@@@@@@@G@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@H@@B@@@@@COAL@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@HH@@@@@@@@D@@@B@H@@@@@AOI@@@@@@@FAL@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CF@@@@@@@@@@@@@@@@@@@@@@@H@@C@@@@HGFOK@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@LH@@@@@@@@H@@@AIH@@@@@BDAH@@@@@AIF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FD@@@@@@@@@@@@@@@@@@@@@@D@@A@@@OF@D@LNC@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@DL@@@@@@@C@@@@@GD@@@@@B@@H@@@@@BAL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@L@@AH@A@F@@@CCB@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@HF@@@@@@@B@@@@@@D@@@@@F@@F@@@@@LAN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@@@@@@@@@@@@@@@@@@@@H@@@H@A@D@@@ALOH@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@DA@@@@@@@B@@@@@@H@@@@AH@@B@@@@@HFF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@D@@@D@A@D@@@CKCGN@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@DA@@@@@@@N@@@@@@D@@@@B@@@C@@@@@HDD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@C@@@F@C@D@@@@@A@F@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@F@H@@@@@@H@@@@@@D@@@@F@@@@H@@@@HCH@@@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@AONAH@@@GLOKOGH@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@A@D@@@@@G@@@@@@@D@@@@H@@@@H@@@@D@@@@@AB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@@@AH@@@CLEFAGH@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@AHD@@@@@D@@@@@@@D@@@C@@@@@H@@@@B@@@@@CB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@A@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@HB@@@@GH@@@@@@@B@@@B@@@@@HL@@@AH@@@@BB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CH@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@HA@@@@H@@@@@@@@B@@@L@@@@ACD@@@@H@@@@FD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GAH@C@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@DB@@@AH@@@@@@@@B@@C@@@@@@NB@@@@D@@@@BD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NF@AOO@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@BA@@@N@@@@@@@@@A@@B@@@@@@@B@@@@B@@@@BH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@AH@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@AI@@C@@@@@@@@@@@H@B@@@@@@@B@@@@B@@@@CL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@H@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@G@@@@@@@@@@@@I@@N@@@@@@@@@@@H@B@@@@@@@B@@@@B@@@@AGL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@CL@@@@@@@@@@@G@O@@@@@@@@@@@@H@B@@@@@@@AC@@@B@@@@AKL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OH@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@CL@@@@@@@@@@@AO@@@B@@@@@@@@@H@B@@@@@@@ACL@@B@@@@AEL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@A@@@@@@@@@@@@A@@@@CH@@@@@@@@D@B@@@@@@@ABB@@B@@@@ALCH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@H@@@@FH@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@AH@@N@@@@@@@@@@F@D@@@@@@@ADA@@B@@@@@GCH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@H@@@ANL@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@AHAOB@@@@@@@@@@B@D@@@@@@@ADA@@F@@@@DCGH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@I@@@AGGC@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@EN@D@@@@@@@@@@B@D@@@@@@@AD@LCH@@@@LGO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HH@@CHFAOAOH@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@B@@D@@@@@@@@@@A@N@@@@@@@AH@CB@@@@@HAG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LH@@B@F@ANEH@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@A@K@@@@@@@AL@BL@@@@C@CNL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GFCLF@F@@@CH@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@ACC@@@@@@@AF@BH@@@@F@AAL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KOJD@F@@@@D@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@NDH@@@@@@AB@A@@@@@D@AND@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ANGEH@@@@@@O@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@DDL@@@@@@AJ@@@@@@@@@CLB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ALDH@@@@@@@L@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@DD@@@@@@@E@@@@@@@@@GLJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FD@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@F@@@@F@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@BD@@@@@@@GH@@@@@@L@BEL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@A@@@GIH@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@CH@@@@@@@BF@@@@@AB@@GL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@AC@@@@@@@@@@@@@@@@@@@@@L@CL@H@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@F@BA@@@@@AAH@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@LN@@@@@@@@@@@@@@@@@@@@B@N@@H@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@ENB@H@@@@NAH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@AH@@@GO@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@CAA@H@@@A@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@G@@@DAH@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@II@H@@@C@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@F@H@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@DFHH@@@D@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@BBHL@@CH@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@CAND@AB@@B@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@DHGD@BN@@A@@CAL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@FHAL@B@@@AINOAL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@BHAH@B@@@CCONAL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@B@H@@@@@@@AO@@@A@@@@@@@@@@@@@@@@@@@@@@@@@D@D@B@@@DF@@AHL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@B@@@@@@@@@@@@CJ@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@AA@@@B@@@@@@@@@@@@@@@@@@@@@@@@@B@L@C@@@DFC@@HGOF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@@D@@@@@@@@@@@@CEL@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@AA@@@D@@@@@@@@@@@@@@@@@@@@@@@@AI@F@@H@@LEOHADFAC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@D@@@@@@@@@@@@CAKH@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@AB@@@H@@@@@@@@@@@@@@@@@@@@@@@@@M@BL@H@A@DF@ALCA@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@AA@F@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@AN@@BH@@@@@@@@@@@@@@@@@@@@@@@@@A@AL@H@@HLL@@@AO@HO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@BH@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@AF@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@H@NLO@A@KJ@@GMNK@@L@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@@@@@@@@@@@@@CGN@@@@@@@@@@@@@@@@@@@@L@@@@@@@B@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@F@HHAOI@MB@FODFF@@CH@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@F@@@@@@@C@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@B@H@@@N@EN@G@LGH@@@F@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@B@@@@@@@C@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@A@H@@@@@EG@@@@@G@@@AH@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@A@@@@@@@C@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@LH@@@@@FG@@@@@@N@@@H@CL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@AO@@@@@@@@@@@@@@@@@@A@@@@@@@BH@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@CH@@@@@GC@@@@@HA@@@LGM@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@H@@@@@@C@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OLD@@@@@@@@@AHA@@@CKN@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@H@@@@@@AL@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LGOH@@@@@@@@AHA@@@CH@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@D@@@@@@AH@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@G@@@@@@@C@@AH@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@D@@@@@@@D@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OLGL@@@@N@C@@BB@GLL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@D@@@@@@@L@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COKOOMKO@@@@CN@HDD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@B@@@@@@@F@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EOKNAN@@@@@AMHBG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@D@@@@@@@@A@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@OH@@@@@@B@CCH@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@B@@@@@@@@AH@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@N@@@@@@@@@@OL@@@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@B@@@@@@@@AH@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@AL@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@A@@@@@@@@AH@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@B@@@@@@@@@L@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MN@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@B@@@@@@@@AH@B@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CINH@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@F@@@@@@@@AH@B@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@AH@DH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@H@@@@@@@@AH@A@@@M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@AH@DH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@L@A@@@HH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CAH@A@@DH@@@@@@@@@@@@@@@@@@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@D@A@@A@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ANI@@C@@DG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@A@@C@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@GH@B@@DA@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@B@@LAH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@A@@DA@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@F@C@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@N@D@H@@@@@@@@A@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@H@D@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJ@@@@@C@H@H@@@@@@@@AH@@@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@GH@D@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BL@@@@@@LH@L@@@@@@@@@@@@@C@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@H@@D@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@C@@D@@@@@@@@@@@@@DH@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@H@@D@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@D@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@C@@@D@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@D@@@B@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@H@@@B@D@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@@@@@@@@@@L@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@L@@@D@D@@@F@@@@@@@@@@@@@@@@@@@@@@@@@AOH@@@@@@@@@@@@B@@@@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@D@@@L@L@@F@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@C@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@D@@A@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN@@@@@@@@@@@@@@A@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@D@@A@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@AL@@@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@D@@@H@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@CO@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@D@@@HA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@D@@@HA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@CL@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@L@@@HA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@CH@@@DN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@F@@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@GOL@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@OH@C@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@G@@@AHB@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@D@@@@LF@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@GML@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@GOH@@@@DL@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@D@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOLB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BAL@@@@@@CG@@@@@B@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@GJL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AO@@@@@@@BO@@@@@D@@@@@@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@CE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OL@@@@H@@@@@@@@@BH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LD@@@@H@@@@@@@@@AL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@@H@@@@@@@@@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@H@@@@@@@@@@OB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CHA@O@@@@@@@@@@@EO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OGK@@@@@@@@@@@@HA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HD@@@@@@@@@@@AHF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@CO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHH@@@@@@@@@@ME@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@BB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AGD@@@@@@@@@@KO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@GL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@D@@@@@@@@@AHL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@L@@@@@@@@@BC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IH@@@@@@@@@FB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@@@@@@@AHD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FAL@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@K@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJ@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CMH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CH@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@AH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL@B@@@GN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@B@@@OF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL@O@@@EH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NGO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GMLH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CNHF@@@@@@@@@@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@AL@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COOL@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AKOG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CODI@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AMH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOL@@@@@@@@@@@@@@@@@@@@CL@@COH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@CL@@@@@@@@@@@@@@A@LICLCN@D@GH@FAGHOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H@AN@@@@@@@@@@@COONOCFL@@AOH@@GOINHFH@@@OON@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COKH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GNL@@AOOO@C@@@@@CL@@@@@@@@@@@@@@@@@@@A@@@@@@CL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DMD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GOHA@@@@@@@OM@@@@OL@@@@@@@@@@@@@@@@@@@@@@@@@@@@CB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CFN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@AH@@@@@@@@@@@@H@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MOOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BGH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BN@F@@@@@@@@@@@@AL@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GHF@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OONAOL@@@@@@@@@@@@AAOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ANDEL@B@@@@@@@@@@@@@@@@@@@@@@@@@@@GOOOOOOOLGO@@@@A@@@@@@@@@@@@@AG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDBEH@A@@@@@@@@@@@@@@@@@@@@@@@@@@GH@@@@@@@CH@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NOOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GOOCD@AH@@@@@@@@@@@@@@@@@@@@@@LGHH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OL@AD@@L@@@@@@@@@@@@@@@@@@@@@OCDO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OON@@@@@@@@G@@AB@A@@@@@@@@@@@@@@@@@@@@@@FAL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AKLCN@@@@@@CLOONB@@L@@@@@@@@@@@@@@@@@@@@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN@@@@@@@@COCLAOOOOOOLCLAOL@@C@@@@@@@@@@@@@@@@@@@ON@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IKOH@L@@@AOML@@@@@@@@@ON@@@@N@@@@@@@@@@@@@@@@@AO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GHFCLADGH@@L@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@@@@@@@@@@@@@@@@@@@@@@@@@GO@@@H@@C@@JG@GOK@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@@@@@@COH@O@A@@@@OOIOOH@F@@@@@@@@@@@@@@@@G@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@COOL@@@@ON@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@AL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@OM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOH@@@@@@@@@@@@@@CN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HC@@@@@@@@@@@@@@@OOL@CA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GOOO@@@@@@@@@@@@OL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HGO@@@@@@@@@@@@@@D@CHCO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OO@@@@@@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@@@@@@@@@@@@@@COHGL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ON@@@@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOL@@@@@@@@@@@@AO@COH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOOOOOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@ALL@GL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@AHF@@CL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@GH@@@COL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@COOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@@OL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOO@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOO@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OL@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COOOOL@@@@@OOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COOON@@CO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ) (DECLARE%: DOEVAL@COMPILE DONTCOPY (GLOBALVARS DEFAULT.MAP.FILE MAPFILESDIRECTORIES) ) (DEFINEQ (MAP.SetUpDirectories (LAMBDA NIL (* fgh%: "27-Sep-85 18:12") (* * Set up the maps directories globalvars) (LET (ThisDirectory StrPtr MapsBaseDirectory ReturnValue) (* * Get the directory for the file now being loaded) (SETQ ThisDirectory (PACK* '{ (FILENAMEFIELD (FULLNAME (INPUT)) 'HOST) '} '< (FILENAMEFIELD (FULLNAME (INPUT)) 'DIRECTORY) '>)) (* * Find the directory path up to the first subdirectory called Maps) (COND ((SETQ StrPtr (STRPOS "MAPS>" (U-CASE ThisDirectory) NIL NIL NIL T)) (SETQ MapsBaseDirectory (SUBATOM ThisDirectory 1 (SUB1 StrPtr))))) (* * Create the directory search list based on the MapsBaseDirectory) (SETQ ReturnValue (COND (MapsBaseDirectory (LIST (PACK* MapsBaseDirectory "NEW>") MapsBaseDirectory ThisDirectory)) (T (LIST ThisDirectory)))) (INTERSECTION ReturnValue ReturnValue)))) ) (RPAQ? DEFAULT.MAP.FILE 'MENU) (RPAQ? World5File 'WORLD5.MAPDATA) (RPAQ? GlobalWorldFile 'WORLD0.MAPDATA) (RPAQ? MAPFILESDIRECTORIES (MAP.SetUpDirectories)) (FILESLOAD QUADFUNS PROPORTION) (SK.ADD.MAP.TYPE) (PUTPROPS NEWMAP COPYRIGHT ("Xerox Corporation" 1984 1985 1986 1987 1988)) (DECLARE%: DONTCOPY (FILEMAP (NIL (2476 16072 (COMPUTE.NEW.WORLD.REGION 2486 . 4542) (FetchCachedBitMap 4544 . 4992) ( SELECTMAPFILE 4994 . 5605) (SK.ADD.MAP.TYPE 5607 . 6620) (SK.MAP.CHANGEFN 6622 . 7055) ( SK.MAP.REGIONFN 7057 . 7319) (SK.MAP.GLOBALREGIONFN 7321 . 7689) (SK.MAP.TRANSFORMFN 7691 . 9306) ( SK.MAP.TRANSLATEFN 9308 . 10735) (SK.MAP.TRANSLATEPTSFN 10737 . 14040) (SetCachedBitMap 14042 . 14517) (GETMAPFILES2 14519 . 15066) (MAP.CHANGE.WORLDREGION 15068 . 15706) (UNSCALE.REGION.FROM.SKETCHW 15708 . 16070)) (16073 34032 (SK.MAP.DRAWFN 16083 . 25843) (DRAW.MAP 25845 . 30146) (PLOTSEGMENT 30148 . 33588) (DRAWBORDER 33590 . 34030)) (34033 47667 (SK.MAP.EXPANDFN 34043 . 36461) (SK.MAP.INPUTFN 36463 . 39508) (MAP.SET.SCALES 39510 . 42601) (WORLDREGION 42603 . 43959) (SK.MAP.INSIDEFN 43961 . 44552) (SK.MAP.MOVEFN 44554 . 47170) (UNSCALE.POSITION.FROM.SKETCHW 47172 . 47665)) (47668 48083 ( CacheSpecsFromMapSketchElement 47678 . 48081)) (101770 103183 (MAP.SetUpDirectories 101780 . 103181))) )) STOP