petera@utcsri.UUCP (Smith) (04/27/86)
;; MATCH.L for PC-LISP.EXE (V2.10) ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; A DEDUCTIVE DATA BASE RETRIEVER AS PER LISPcraft CHAPTERS 21&22 ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; This file called match.l implements all of the functions in ;; chapters 21 and 22 of LISPcraft by R.Wilensky. Together they form ;; a deductive data base retriever with two access functions. One is ;; called (insert) and the other (retrieve). Insert takes implications ;; and base cases and inserts them into the given data base. (retrieve) ;; returns a list of matches made with the data base and any bindings ;; neccssary to make the match true. Hence an output like (nil) means ;; one match requiring no bindings. The functions have been slightly ;; modified to run with PC-LISP. Note that they require the PC-LISP.L ;; file to be loaded specificially for the let macro and a few other ;; goodies. If you put PC-LISP.L in the current directory it will be ;; automatically loaded. Or you can put it in a library directory, see ;; the (load) function. ;; ;; March 15 1986 ;; Peter Ashwood-Smith ;; ;; Example queries: ;; (mammal Fido) gives (nil) meaning Yes he is a mammal ;; (dog ?x) gives (?x Fido) meaning Yes if (?x is Fido) ;; (mammal ?x) etc.. you get the idea. ;; (? Fido) ;; ;; You really cannot get much out of this example unless you get ;; the LISPcraft book. Have Fun! ;; ;; Main processing Loop - input a data base query, expand the variables ;; ?x to (*var* x) as the read macro in LISPcraft page 295 would do then ;; pass the request to the (retrieve) function. ;; (defun ProcessQueries (data-base) (prog (InputQuery) loop (patom '|query?|) (setq InputQuery (read)) (cond ((null InputQuery) (return))) (setq InputQuery (ExpandVariables InputQuery)) (patom '|ans=|) (print (CompressVariables (retrieve InputQuery data-base))) (patom (ascii 10)) (go loop) ) ) ;; ;; Function (ExpandVariables List) ;; Make atoms like ?a become lists like (*var* a) this replaces the ;; read macro in LISPcraft that PC-LISP does not have. Operate recursively ;; as follows. A null list has no expansion. An atom of the form ?xyz is ;; turned into (*var* xyz) by the (cons '*var* ...) expression. If the ;; atom is of the form xyz then it is returned untouched. A list expansion ;; is just the expansion of the car cons'ed with the expansion of the cdr. ;; (defun ExpandVariables (List) (cond ((null List) ()) ((atom List) (cond ((eq '? (car (explode List))) (cons '*var* (list(implode(cdr(explode List))))) ) (t List) ) ) (t (cons(ExpandVariables(car List))(ExpandVariables (cdr List)))) ) ) ;; ;; Opposite of Expand Variables - turn list elements like (*var* x) into ;; ?x ;; (defun CompressVariables (List) (cond ((null List) ()) ((atom List) List) ((eq (car List) '*var*) (implode (list '? (cadr List))) ) (t (cons(CompressVariables(car List))(CompressVariables (cdr List)))) ) ) ;; ;; top level matcher function, just drives the recursive next level ;; by setting bindings to nil. ;; (defun match (pattern1 pattern2) (match-with-bindings pattern1 pattern2 nil) ) (defun match-with-bindings (pattern1 pattern2 bindings) (cond ((pattern-var-p pattern1) (variable-match pattern1 pattern2 bindings) ) ((pattern-var-p pattern2) (variable-match pattern2 pattern1 bindings) ) ((atom pattern1) (cond ((eq pattern1 pattern2) (list bindings) ) ) ) ((atom pattern2) nil) (t (let ((car-result (match-with-bindings (car pattern1)(car pattern2) bindings))) (and car-result (match-with-bindings (cdr pattern1) (cdr pattern2) (car car-result) ) ) ) ) ) ) (defun variable-match (pattern-var item bindings) (cond ((equal pattern-var item) (list bindings)) (t (let ((var-binding (get-binding pattern-var bindings))) (cond (var-binding (match-with-bindings var-binding item bindings)) ((not (contained-in pattern-var item bindings)) (list (add-binding pattern-var item bindings))) ) ) ) ) ) (defun contained-in (pattern-var item bindings) (cond ((atom item) nil) ((pattern-var-p item) (or (equal pattern-var item) (contained-in pattern-var (get-binding item bindings) bindings) ) ) (t (or (contained-in pattern-var (car item) bindings) (contained-in pattern-var (cdr item) bindings) ) ) ) ) (defun add-binding (pattern-var item bindings) (cons (list pattern-var item) bindings) ) (defun get-binding (pattern-var bindings) (cadr (assoc pattern-var bindings)) ) (defun pattern-var-p (item) (and (listp item) (eq '*var* (car item))) ) ;; ;; Fast Data Base Manager Operations. Using matcher function above to perform ;; deductive retreival. Indexing as per LISPcraft chapter 22. ;; (defun replace-variables(item) (let ((!bindings ())) (replace-variables-with-bindings item))) (defun replace-variables-with-bindings(item) (cond ((atom item) item) ((pattern-var-p item) (let ((var-binding (get-binding item !bindings))) (cond (var-binding) (t (let ((newvar (makevar (gensym 'var)))) (setq !bindings (add-binding item newvar !bindings)) newvar)) ) ) ) (t (cons (replace-variables-with-bindings (car item)) (replace-variables-with-bindings (cdr item)) ) ) ) ) (defun makevar (atom) (list '*var* atom) ) (defun query (request data-base) (apply 'append (mapcar '(lambda(item)(match item request)) data-base ) ) ) (defun index (item data-base) (let ((place (cond ((atom (car item)) (car item)) ((pattern-var-p (car item)) '*var*) (t '*list*) ) ) ) (putprop place (cons (replace-variables item)(get place data-base)) data-base) (putprop data-base (enter place (get data-base '*keys*)) '*keys*) ) ) (defun enter (e l) (cond ((not (memq e l)) (cons e l)) (t l) ) ) (defun fast-query (request data-base) (cond ((pattern-var-p (car request)) (apply 'append (mapcar '(lambda(key)(query request (get key data-base))) (get data-base '*keys*) ) ) ) (t (append (query request (get (cond ((atom (car request)) (car request) ) (t '*list*) ) data-base ) ) (query request (get '*var* data-base)) ) ) ) ) ;; ;; deductive retreiver (LISPcraft page 314) use backward chaining to establish ;; bindings. ;; (defun retrieve (request data-base) (append (fast-query request data-base) (apply 'append (mapcar '(lambda(bindings) (retrieve (substitute-vars (get-binding '(*var* antecedent) bindings) bindings) data-base)) (fast-query (list '<- request '(*var* antecedent)) data-base) ) ) ) ) ;; ;; substitute variables for bindings recursively. LISPcraft page 315. ;; (defun substitute-vars (item bindings) (cond ((atom item) item) ((pattern-var-p item) (let ((binding (get-binding item bindings))) (cond (binding (substitute-vars binding bindings)) (t item) ) ) ) (t (cons (substitute-vars (car item) bindings) (substitute-vars (cdr item) bindings) ) ) ) ) ;; insert item into database - just expand the ?x forms to (*var* x) in the ;; same manner that the read macro in LISPcraft page 305 would do then call ;; the index function to put the actual item into the data base. (defun insert (item db) (index (ExpandVariables item) db)) ;; ;; page 315 of LISPcraft add too !d-b1! ;; by calling index to insert the implications and base cases. ;; (insert '(<- (scales ?x) (fish ?x)) '!d-b1!) ; fishes have scales (insert '(<- (fins ?x) (fish ?x)) '!d-b1!) ; fishes have fins (insert '(<- (legs ?x) (mammal ?x)) '!d-b1!) ; some mammals have legs (insert '(<- (mammal ?x) (dog ?x)) '!d-b1!) ; a dog is a mammal (insert '(<- (dog ?x) (poodle ?x)) '!d-b1!) ; a poodle is a dog (insert '(poodle Fido) '!d-b1!) ; fido is a poodle (insert '(horse Terry) '!d-b1!) ; terry is a horse (insert '(fish Eric) '!d-b1!) ; Eric is a fish ;; ;; start processing queries from data base #1 which was entered above ;; some good things to try are (mammal Fido) which will return (nil) ;; meaning that one match was found needing no bindings to make it true. ;; this was established via the chain (poodle Fido)-->(dog Fido)--> ;; (mammal Fido). ;; (ProcessQueries '!d-b1!)
petera@utcsri.UUCP (Smith) (04/27/86)
;; HANOI.L for PC-LISP.EXE (V2.10) ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; Another program that was found with some XLISP stuff and modified to ;; run under PC-LISP. Again I do not know who the author is. ;; ;; Peter Ashwood-Smith ;; April 2nd, 1986 ;; Good ol towers of hanoi ;; ;; Usage: ;; (hanoi <n>) ;; <n> - an integer the number of discs (defun hanoi(n) ( transfer 'A 'B 'C n )) (defun print-move ( from to ) (patom '|Move Disk From |) (patom from) (patom '| To |) (patom to) (patom (ascii 10)) ) (defun transfer ( from to via n ) (cond ((equal n 1) (print-move from to )) (t (prog () (transfer from via to (- n 1)) (print-move from to) (transfer via to from (- n 1)))))) (hanoi 4) ; start things going
petera@utcsri.UUCP (Smith) (04/27/86)
; ; Place n queens on a board (graphical version) ; See Winston and Horn Ch. 11 ; ; Usage: ; (queens <n>) ; where <n> is an integer -- the size of the board - try (queens 4) ; ; I do not know who the original Author of this is but it was found with some ; XLISP example lisp programs. This has been slightly modified to run on ; PC-LISP V2.10. ; ; Peter Ashwood-Smith ; April 2nd, 1986 ; Do two queens threaten each other ? (defun threat (i j a b) (or (= i a) ;Same row (= j b) ;Same column (= (- i j) (- a b)) ;One diag. (= (+ i j) (+ a b)))) ;the other diagonal ; Is poistion (n,m) on the board safe for a queen ? (defun conflict (n m board) (cond ((null board) nil) ((threat n m (caar board) (cadar board)) t) (t (conflict n m (cdr board))))) ; Place queens on a board of size SIZE (defun queens (size) (prog (n m board soln) (setq soln 0) ;Solution # (setq board ()) (setq n 1) ;Try the first row loop-n (setq m 1) ;Column 1 loop-m (cond ((conflict n m board) (go un-do-m))) ;Check for conflict (setq board (cons (list n m) board)) ; Add queen to board (cond ((> (setq n (1+ n)) size) ; Placed N queens ? (print-board (reverse board) (setq soln (1+ soln))))) ; Print it (go loop-n) ; Next row which column? un-do-n (cond ((null board) (return 'Done))) ; Tried all possibilities (setq m (cadar board)) ; No, Undo last queen placed (setq n (caar board)) (setq board (cdr board)) un-do-m (cond ((> (setq m (1+ m)) size) ; Go try next column (go un-do-n)) (t (go loop-m))))) ;Print a board (defun print-board (board soln) (prog (size) (setq size (length board)) ;we can find our own size (#scrmde# 2) ;clear the screen (patom(ascii 10)) (patom (ascii 9)) (patom(ascii 9)) (patom '|Solution: |) (print soln) (patom (ascii 10)) (patom(ascii 10)) (patom (ascii 9)) (print-header size 1) (patom (ascii 10)) (print-board-aux board size 1) (patom (ascii 10)) ) ) ; Put Column #'s on top (defun print-header (size n) (cond ((> n size) (patom (ascii 10))) (t (prog () (patom n) (patom '| |) (print-header size (1+ n)))))) (defun print-board-aux (board size row) (patom (ascii 10)) (cond ((null board) ()) (t (prog () (patom row) ;print the row # (patom (ascii 9)) (print-board-row (cadar board) size 1) ;Print the row (print-board-aux (cdr board) size (1+ row)))))) ;Next row (defun print-board-row (column size n) (cond ((> n size)()) (t (prog () (cond ((equal column n) (patom 'Q)) (t (patom '|.|))) (patom '| |) (print-board-row column size (1+ n))))))
petera@utcsri.UUCP (Smith) (04/27/86)
;; DRAGON.L FOR PC-LISP V2.10 ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; Draw an Nth order Dragon Curve requires Turtle.l routines to run. ;; Taken From Byte April 1986. Try (DragonCurve 16) then put on supper, ;; watch the news and come back in an hour and see the results. It takes ;; about 1/2 hour on my machine so on a normal IBM-PC it should take about ;; an 1.5 hours. ;; ;; Peter Ashwood-Smith. ;; April 1986 ;; ;; P.S - This dragon is nicknamed "spot" (load 'turtle) (defun Dragon(sign level) (cond ((zerop level) (TurtleForward Global_Step_Size)) (t (setq level (1- level)) (TurtleRight (times 45 sign)) (Dragon -1 level) (TurtleLeft (times 90 sign)) (Dragon 1 level) (TurtleRight (times 45 sign)) ) ) ) (defun DragonCurve (n) (setq Global_Step_Size 1) ; StepSize is global variable (TurtleGraphicsUp) (TurtleCenter) (TurtleGoTo 330 50) (TurtleRight 30) ; angle the serpent a bit (Dragon 1 n) (gc) )
petera@utcsri.UUCP (Smith) (04/27/86)
;; TURTLE.L for PC-LISP.EXE V2.10 ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; A set of turtle graphics primitives to demonstrate PC-LISP's BIOS ;; graphics routines. These routines are pretty self explanitory. The first ;; 5 defun's define the primitives, next are a set of routines to draw things ;; like squares, triangles etc. Try the function (GraphicsDemo). It will ;; draw Squirals, Trianglerals, etc. Note that the BIOS line drawing is really ;; slow. This is because the BIOS 'set dot/pixel' routine is used for every ;; point in a line. Using the BIOS has the advantage however of portability, ;; these routines work on virtually every MS-DOS machine. The global variable ;; !Mode controls the graphics resolution that will be used. It is set by ;; default to 6 I set it to 8 or 9 for my 2000 but these routines will not ;; support the lower resolution modes. ;; ;; Peter Ashwood-Smith ;; April 2nd, 1986 ;; (setq !Mode 6) ; default setting (defun TurtleGraphicsUp() (#scrmde# !Mode)(#scrsap# 0) (cond ((= !Mode 6) ; 640x200 B&W mode (setq CenterX 100 CenterY 100 Scale 3.2 Lfactor 1) (TurtleCenter)) ((= !Mode 7) (patom '|mode 7 not allowed|)) ((or (= !Mode 8) (= !Mode 9)) ; 640x400 modes (setq CenterX 266 CenterY 200 Scale 1.2 Lfactor 2) (TurtleCenter)) (t (patom '|unsupported mode|)) ) ) (defun TurtleGraphicsDown() (#scrmde# 2)) (defun TurtleCenter() (setq Lastx CenterX Lasty CenterY Heading 1.570796372)) (defun TurtleRight(n) (setq Heading (plus Heading (times n 0.01745329)))) (defun TurtleLeft(n) (setq Heading (diff Heading (times n 0.01745329)))) (defun TurtleGoTo(x y) (setq Lastx (quotient x Scale) Lasty (times y Lfactor) )) (defun TurtleForward(n) (setq n (times n Lfactor) Newx(plus Lastx(times(cos Heading)n))Newy(plus Lasty(times(sin Heading)n))) (#scrline#(times Lastx Scale) Lasty (times Newx Scale) Newy 1) (setq Lastx Newx Lasty Newy) ) ; ; end of Turtle Graphics primitives, start of Graphics demonstration code ; you can cut this out if you like and leave the Turtle primitives intact. ; (defun Line_T(n) (TurtleForward n) (TurtleRight 180) (TurtleForward (quotient n 4)) ) (defun Square(n) (TurtleForward n) (TurtleRight 90) (TurtleForward n) (TurtleRight 90) (TurtleForward n) (TurtleRight 90) (TurtleForward n) ) (defun Triangle(n) (TurtleForward n) (TurtleRight 120) (TurtleForward n) (TurtleRight 120) (TurtleForward n) ) (defun Make(ObjectFunc Size times skew) (prog() TOP:(cond ((zerop times) (return))) (ObjectFunc Size) (TurtleRight skew) (setq times (1- times)) (go TOP:) ) ) (defun GraphicsDemo() (TurtleGraphicsUp) (Make Square 40 18 5) (Make Square 60 18 5) (gc) ; idle work (TurtleGraphicsUp) (Make Triangle 40 18 5) (Make Triangle 60 18 5) (gc) ; idle work (TurtleGraphicsUp) (Make Line_T 80 50 10) (gc) ; idle work (TurtleGraphicsDown) )
petera@utcsri.UUCP (Smith) (04/27/86)
;; PC-LISP.L for PC-LISP.EXE V2.10 ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; A small library of functions to help fill in the gap between PC and ;; Franz Lisp. These functions are for learning purposes only are not very ;; effectient or very robust. ;; ;; This file is automatically loaded by PC-LISP.EXE. It should either ;; be located in the current working directory, or in a library directory ;; whose path is set in the LISP%LIB environment variable. All load files ;; should be put in your LISP%LIB directory. You may also want to strip ;; the comments out to make it load faster, especially off floppies. ;; ;; Peter Ashwood-Smith ;; April 1986 ;; (setq poport (fileopen 'con: 'w)) ; LISP standard output port (setq piport (fileopen 'con: 'r)) ; LISP standard input port (setq errport (fileopen 'con: 'w)) ; LISP standard error port ;; Pretty Print: (pp [(F file) (E expr) (P port)] symbol) ;; ~~~~~~~~~~~~ ;; Print in a readable way the function associated with 'symbol'. If ;; the parameter (F file) is specified the output goes to file 'file. If ;; the parameter (P port) is specified the output goes to the open port ;; 'port'. If the parameter (E expr) is specified the expression 'expr' ;; is evaluated before the function is pretty printed. (defun pp fexpr(l) (prog (expr name port alt) (setq port poport) (cond ((= (length l) 1) (setq name (car l))) ((= (length l) 2) (setq name (cadr l) alt (car l))) (t (return nil)) ) (cond ((null (getd name)) (return nil))) (setq expr (cons 'def (cons name (list (getd name))))) (cond ((null alt) (go SKIP))) (cond ((eq (car alt) 'F) (setq port (fileopen (cadr alt) 'w))) ((eq (car alt) 'P) (setq port (cadr alt))) ((eq (car alt) 'E) (eval (cadr alt))) (t (return nil))) (cond ((null port) (patom '|cannot open port|) (patom (ascii 10)) (return nil))) SKIP (pp-form expr port 0) (cond ((not (equal port poport)) (close port))) (return t) ) ) ;; macro : (let ((p1 v1)(p2 v2)...(pn vn)) e1 e2 ... en) ;; ~~~~~ ;; Let macro introduces local variables. Much used in Franz code it ;; basically creates a lambda expression of the form: ;; ;; ((lambda(p1 p2 ... pn) e1 e2 ... en) v1 v2 ...vn) ;; (defun let macro(x) (cons (append (cons 'lambda ; ((lambda ..rest.. (list (mapcar 'car (cadr x)))) ; ((p1 p2...pn)) (cddr x)) ; (e1 e1...en) (mapcar 'cadr (cadr x)) ; (v1 v2...vn) ) ) ;; ----------- ASSORTED PREDICATES ETC ------------ (defun tailp(l1 l2)(cond ((null l2) nil)((eq l1 l2) l1)(t(tailp l1(cdr l2] (defun arrayp(x) nil) (defun bcdp(x) nil) (defun bigp(x) nil) (defun dtpr(x) (and (listp x) (not (null x)))) (defun consp(x) (and (listp x) (not (null x)))) (defun litatom(n) (and(atom n)(not(floatp n] (defun purep(n)(or(eq n t)(eq n nil)(eq n 'lambda)(eq n 'nlambda)(eq n 'macro] (defun symbolp(n) (litatom n)) (defun valuep(n) nil) (defun vectorp(n) nil) (defun typep(n)(type n)) (defun eqstr(a b)(equal a b)) (defun neq(a b)(not(eq a b))) (defun nequal(a b)(not(equal a b))) (defun append1(a b)(append a (list b))) (defun ncons(a)(cons a nil)) (defun xcons(a b)(cons b a)) (defun nthelem(n l) (nth (- n 1) l)) (defun minus(n)(- 0 n)) (defun onep(n)(= 1 n)) (defun infile(f)(fileopen f 'r))
petera@utcsri.UUCP (Smith) (04/27/86)
[ line eater ] [ PC-LISP.DOC (part 2 of 2) ] ---------------------------- CUT HERE --------------------------- given and end of file is read the read function will return nil. (readc [p1 [s1]]) ~~~~~~~~~~~~~~~~~ Reads the next character from p1 or from the standard input if p1 is not given and returns it as an atom with a single character name. If s1 is given and end of file is read the readc function will return s1. If s1 is not given and end of file is read the readc function will return nil. (sys:unlink h1) ~~~~~~~~~~~~~~~ Will erase the file whose name is the print name of atom h1. If the erase is successful a value of 0 is returned. If the erase is unsuccessful a value of -1 is returned. 20 FILE I/O FUNCTIONS (CONT'D) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ (truename p1) ~~~~~~~~~~~~~ Will return an atom whose print name is the same as the name of the file associated with port p1. This is just the same as the value printed between the % and @ signs when a port is printed. (flatsize s1 [x1]) ~~~~~~~~~~~~~~~~~~ Returns the number of character positions necessary to print s1 using the call (print s1). If x1 is present then flatsize will stop computing the output size of s1 as soon as it determines that the size is larger than x1. This feature is useful if you want to see if something will fit in some small given amount of space but not knowing if the list is very big or not. (flatc s1 [x1]) ~~~~~~~~~~~~~~~ Returns the number of character positions necessary to print s1 using the call (patom s1). x1 is the same as in flatsize. (pp-form s1 [ p1 [x1] ] ) ~~~~~~~~~~~~~~~~~~~~~~~~~ Causes the expression s1 to be pretty-printed on port p1 indented by x1 spaces. If p1 is absent the standard output is assumed. If x1 is absent an indent of 0 is assumed. If s1 contains a list such as (prog .... label1 ... label2...) the normal indenting will be ignored for label1 & label2 etc. This causes the labels to stand out. For example IF the following function were present in PC-LISP then I could run pp-form: -->(pp-form (getd 'character-index-written-in-lisp)) (lambda (a c) (prog (n) (setq n 1 a (explode a)) (cond ((fixp c) (setq c (ascii c)))) nxt: (cond ((null a) (return nil))) (cond ((eq (car a) c) (return n))) (setq n (1+ n) a (cdr a)) (go nxt:))) Note that the PC-LISP.L file contains a definition of pp, the LISP general function pretty printer. It makes use of pp- form to get its work done. I will not describe it here but it is fully described in LISPcraft. 21 FUNCTIONS WITH SIDE EFFECTS OR THAT ARE EFFECTED BY SYSTEM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These functions will either have an effect on the way the system behaves in the future or will give you a result about the way the system has behaved in the past and future calls will not necessarily give the same results. (def *a1* *l1*) ~~~~~~~~~~~~~~~ a1 is a function name and l1 is a lambda, nlambda or macro body. The body is associated with the atom a1 from now on and can be used as a user defined function. Def returns a1. -->(def first (lambda(x)(car x))) -->(def second (lambda(x)(first(cdr x)))) -->(def sideff (lambda(x)(print x)(caddar x)))) -->(def ADDEM (nlambda(l)(eval(cons '+ l)))) -->(def firstm (macro(l)(cons 'car (cdr l)))) (defun *a1* [*a2*] *l1* *s1* *s2* ....*sN*) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Defun will do the same job as "def" except that it will build the lambda or nlambda expression for you. a1 is the name of the function. a2 if present must be one of expr or fexpr. If it is not present it defaults to expr. l1 is the list of formal parameters which for an fexpr (nlambda) should contain one atom formal parameter name. s1...sn are bodies for the lambda or nlambda expression. The following example produces the same effects as the above "def" calls. Defun returns the atom name of the function that it defines. See MACROS for (defun x macro...) -->(defun first(x)(car x)) -->(defun second(x)(first(cdr x))) -->(defun sideff(x)(print x)(caddar x))) -->(defun ADDEM fexpr(l)(eval(cons '+ l))) -->(defun firstm macro(l)(cons 'car (cdr l))) (exit) ~~~~~~ The LISP interpreter will exit to MSDOS. Depending on how big you set LISP%MEM MSDOS may ask for a system disk to reload COMMAND.COM. Note that the video mode will be left alone if you call exit. But if you leave via CONTROL-Z the video mode will be set to 80x25B&W. (Only if you have made a call to (#scrmde#)). (gc) ~~~~ Starts garbage collection of alpha and cell space. Returns t (gensym [h1]) ~~~~~~~~~~~~~ Returns and interns a guaranteed new alpha atom whose print name is Xnnnn where nnnn is some base 10 integer and X is: 'g' if h1 is not present, the print name of h1 if h1 is a symbol, or the string h1 if h1 is a string. 22 FUNCTIONS WITH SIDE EFFECTS OR THAT ARE EFFECTED BY SYSTEM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONT'D ~~~~~~ (get a1 a2) ~~~~~~~~~~~ Will return the value associated with property key a2 in a1's property list. This value will have been set by a previous call to (putprop a1 s1 a2). Example: -->(get 'frank 'lastname) (getd a1) ~~~~~~~~~ Will return the lambda, nlambda or macro expression that is associated with a1 or nil if no such expression is associated with a1. (getenv h1) ~~~~~~~~~~~ Will return an atom whose print name is the string set by environment variable h1. For example we can get the PATH variable setting by evaluating (getenv 'PATH). Note that these must be in upper case because MS-DOS converts the variable names to upper. (hashtabstat) ~~~~~~~~~~~~~ Will return a list containing 503 fixnums. Each of these represents the number of elements in the bucket for that hash location in the heap hash table. 503 is the size of the hash table. This is not especially useful for you but it gives me a way of checking how the hashing function is distributing the heap using cells. Heap using cells are symbol, string and hunk. The cell itself is allocated from the alpha or other memory blocks while its variable length space is allocated from the heap. Hence this table contains the oblist plus strings and hunks. Note however that unlike symbols, strings and hunks are not unique objects. (memstat) { not present in Franz } ~~~~~~~~~ Returns three fixnums. The first is the percentage of cell space that is in use. The second is the percentage of alpha cell space and the third is the percentage of heap space in use. When any of these reach 100%, garbage collection will occur. Alpha and cell space is collected together. Heap space is only collected when you run out. After garbage collection you will see these three percentages drop. The alpha and cell percentages should drop to tell you how much memory is actually in use at that moment. The heap space when compacted and gathered will not necessarily drop to indicate how much you really have left. This is because heap space is gathered in blocks of 16K, not all at once as with atoms and cells. So, there will almost certainly be more than 20% free heap space in other non compacted blocks even if memstat reports 80% of the heap space is in use. 23 FUNCTIONS WITH SIDE EFFECTS OR THAT ARE EFFECTED BY SYSTEM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONT'D ~~~~~~ (oblist) ~~~~~~~~ Returns a list of most known symbols in the system at the current moment. Note that if you call oblist and assign the result somewhere you will cause every one of those objects to be kept by the system. If there are lots of large alpha atoms the heap and alpha space will be tied up until you set the assigned variable to some other value. Several special internal atoms are not placed in the returned list to keep them out of user code. (plist a1) ~~~~~~~~~~ Will return the property list for atom a1. The property list is of the form ((ke1 . value1)(key2 . value2)...(keyn . valuen)). Note that plist returns a top level copy of the property list because remprop destroys this lists top level structure. (putd a1 l1) ~~~~~~~~~~~~ Identical to "def" except that the parameters a1 and l1 are evaluated. This allows you to write functions that create functions and add them to the LISP interpreter. (putprop a1 s1 a2) ~~~~~~~~~~~~~~~~~~ Adds to the property list of a1 the value s1 associated with the property indicator a2. It returns the value of a1. For example: (putprop 'Peter 'AshwoodSmith 'lastname) (remprop a1 a2) ~~~~~~~~~~~~~~~ Removes the property associated with key a2 from the property list of atom a1. The top level structure of the property list is actually destroyed. It returns the old property list starting at the point where the deletion was made. (set a1 s1) ~~~~~~~~~~~ Will bind a1 to s1 at current scope level or globally if no scope exists for a1 yet. Set returns s1. (setplist a1 l1) ~~~~~~~~~~~~~~~~ Will set the property list of atom a1 to the list l1 where the list must be ((keyn.valn)..). It returns this new list l1. (setq *a1* s1 *a2* s2 ..... *an* sn) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Allows an infinite number of variable and value pairs and it does not evaluate the variables a1...an. So (setq a 'val1 b 'val2) binds val1 to a and val2 to b. Setq will return sn. 24 FUNCTIONS WITH SIDE EFFECTS OR THAT ARE EFFECTED BY SYSTEM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONT'D ~~~~~~ (trace [*a1* *a2* *a3* ..... *an*]) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Will turn on tracing of the user defined functions a1...an. Note that you cannot trace built in functions. If you call trace with no parameters it will return a list of all user defined functions that have been set for tracing by a previous call to trace, otherwise trace returns exactly the list (a1 a2...an) after enabling tracing of each of these user defined functions. If any of the atoms is not a user defined function trace stops and returns an error. All atoms up to the point of error will be traced. (untrace [*a1* *a2* *a3* ..... *an*]) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Will disable tracing of the listed functions which must all be user defined. If no parameters are given it disables tracing of all functions. Untrace returns a list of all functions whose tracing has been disabled. Here is a demonstration of how you can use them. The --> is the LISP prompt. This is the sort of sequence that you should see on the console. The comments ;... were added to tell you what is going on. -->(defun factorial(n) ; define n! = n * (n-1)! (cond ((zerop n) 1) (t (* n (factorial (1- n] factorial -->(trace factorial) ; ask LISP to trace n! (factorial) -->(factorial 5) ; ask LISP for 5! <enter> factorial( 5 ) ; entered with parm=5 <enter> factorial( 4 ) ; " " " 4 <enter> factorial( 3 ) ; " " " 3 <enter> factorial( 2 ) ; " " " 2 <enter> factorial( 1 ) ; " " " 1 <enter> factorial( 0 ) ; " " " 0 <EXIT> factorial 1 ; exit 0! = 1 <EXIT> factorial 1 ; exit 1! = 1 <EXIT> factorial 2 ; exit 2! = 1 <EXIT> factorial 6 ; exit 3! = 6 <EXIT> factorial 24 ; exit 4! = 24 <EXIT> factorial 120 ; exit 5! = 120 120 -->(untrace factorial) ; ask LISP to shut up (factorial) -->(factorial 5) ; now it is quiet again. 120 --> 25 FUNCTIONS WITH SIDE EFFECTS OR THAT ARE EFFECTED BY SYSTEM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONT'D ~~~~~~ (showstack) ~~~~~~~~~~~ This function will display a copy of the last 20 eval and apply evaluations from the internal stack. The top of the internal stack is copied whenever LISP is about to enter the break level (prompt 'er>'). This means that if you execute some function and it aborts prematurely you can call showstack from the break level and see exactly what lead to the error. Whenever a new error occurs the old copy of the top 20 elements on the internal stack is lost and a new trace is copied for you to display via (showstack). This is unlike Franz which allows lots of break levels. For example consider this example session with PC-LISP which is similar to an example in LISPcraft. -->(defun foobar(y)(prog(x)(setq x (cons (car 8) y] foobar -->(foobar '(a b c)) --- error evaluating built in function [car] --- er>x () er>y (a b c) er>(showstack) [] (car 8) [] (car 8) [] (cons <**> y) [] (setq x <**>) [] (prog(x) <**>) [] (foobar '(a b c)) t In this example I declared a function called 'foobar' which runs a prog and does a single assignment to x. When I execute it with parameter '(a b c). PC-LISP correctly tells me that there was an error evaluating the built in function 'car'. I can examine the values of x and y and see that x is still set to the empty list () that the prog call set it to. y is bound to the parameter passed to foobar as expected. Next I called (showstack) to see the trace of execution. I see that the top evaluation (car 8) is the culprit. The evaluation previous to that is also (car 8) but this evaluation was before the arguments had been evaluated. Remember that fixnums eval to themselves. The <**> symbols in the show stack are just a short hand way of saying look at the entry above to see what the <**> should be replaced with. This greatly reduces the amount of information that you have to look at when you read a stack dump. It also allows you to follow the stream of partial evaluations by looking at each <**> in turn. Note that infinite recursion leaves a stream of <**>'s. 26 LIST EVALUATION CONTROL FUNCTIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These functions are the control flow functions for LISP they effect which lists are evaluated and how. They operate on the basic LISP function type which is a lambda expression. Labeled lambda expressions are also allowed. (lambda l1 s1....sn) ~~~~~~~~~~~~~~~~~~~~ This is not a function but it is a list construct which can act as a function in any context where a function is legal. A lambda expression is a function body. The S-expressions s1..sn are expressions that are evaluated in the order s1...sn. The result is the evaluation of sn. The atoms in the list l1 are called bound variables. They will be bound to values that occur on the right of the lambda expression before the S-expressions s1..sn are evaluated and unbound after the value of sn is returned. (nlambda l1 s1....sn) ~~~~~~~~~~~~~~~~~~~~~ This is a function body construct similar to lambda but with a few major differences. The first is that the list l1 must only specify one formal parameter. This will be set to a list of the UNEVALUATED parameters that fall on the right of the nlambda expression when it is being evaluated. This function allows you to write functions with a variable number of parameters and to control the evaluation of these parameters. For example we can write a function called 'ADDEM that behaves the same way as '+ in nearly all contexts as follows: -->(def ADDEM (nlambda(l)(eval(cons '+ l)))) or -->(defun ADDEM fexpr(l)(eval(cons '+ l))) Both of which create the same nlambda expression. This function will behave as follows when spotted on the left of a sequence of parameters 1 2 3 4. First it will not evaluate the sequence of parameters 1 2 3 4. Second it makes these into a list (1 2 3 4). It then binds 'l to this list and evaluates the expression (eval(cons( '+ l))). This expression results in (eval (+ 1 2 3 4)). Which is just the desired result 10. (label a1 (lambda|nlambda l1 s1..sn)) {not in Franz} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This acts just like a lambda expression except that the body is temporarily bound to the name a1 for evaluation of the body s1. This allows recursive calls to the same body. The binding of the body to the name a1 will be forgotten as soon as the expression s1 terminates the recursion. For example: (label LastElement (lambda(List) (cond ((null (cdr List))(car List)) (t (LastElement (cdr List)))))) 27 LIST EVALUATION CONTROL FUNCTIONS CONT'D ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (apply s1 l1) ~~~~~~~~~~~~~ The function s1 is evaluated in the context resulting from binding its formal parameters to the values in l1. The result of this evaluation is returned. Example: -->(apply '(lambda(x y z)(* (+ x y) z)) '(2 3 4)) 20 (cond l1 l2 ... ln) ~~~~~~~~~~~~~~~~~~~ The lists l1 ... ln are checked on by one. They are of the form (s1 s2 .. sn). Cond evaluates the s1's one by one until it finds one that does not eval to nil. It then evaluates the s2..sn expressions one by one and returns the result of evaluating sn. If all of the s1's (called guards) evaluate to nil, it returns 'nil. For example: -->(cond ((equal '(a b c) (cdr '(x a b c))) 'yes) (t 'opps)) yes (eval s1) ~~~~~~~~~ Runs the LISP interpreter on the S-expression s1. It just removes a quote from the expression s1. For example: -->(eval '(+ 2 4)) 6 (mapcar s1 l1 l2 l3 .... ln) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This function will map the function s1 onto the parameter list made by taking the car of each of l1...ln. It forms a list of the results of the repeated application of s1 to the next elements in the lists l1...ln. It stops when the list l1 runs out of elements. Note that each of l1...ln should have the same number of elements, although this condition is not checked for and nil will be substituted if a list runs out of elements before the others. Extra elements in any list are ignored. For example: -->(mapcar '< '(10 20 30) '(11 19 30)) (t nil nil) Which returns the results of (< 10 11) (< 20 19) and (< 30 30) as the list (t nil nil). Note that s1 could be any built in function, user defined function or lambda expression. For example: -->(mapcar 'putprop '(John Fred Bill) '(Mary Sue Linda) '(mother sister daughter)) (Mary Sue Linda) 28 LIST EVALUATION CONTROL FUNCTIONS CONT'D ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (defun a1 macro l1 s1 s2 ... sn) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Macro is a special body, similar to nlambda except that it causes code replacement when it is evaluated. An example is the best explanation I can give you: (Read LISPcraft example) -->(defun first-element macro(l)(cons 'car (cdr l))) first-element -->(setq x '(first-element '(a b c))) (first-element '(a b c)) -->(eval x) a -->x (car '(a b c)) -->(eval x) a In the example above I have first declared a macro called 'first-element' which when run given a list parameter should return the first element in the list. I could have done this using a lambda expression but this would require parameter binding etc every time I execute 'first-element'. Rather, what I have chosen to do is to cause (first-element x) to be replaced by the code (car x) everywhere it is encountered. Then future execution of (first-element x) is just as costly as an execution of (car x). This is accomplished as follows: When a macro is encountered, eval passes the entire expression (first-element (quote a b c)) to the macro body. This body is (cons 'car (cdr l)) and is evaluated in the context where the entire expression is bound to the macro parameter l. This results in the code fragment (car (quote a b c)) which is substituted in the code for the original (first-element (quote (a b c))) expression and evaluated giving 'a. The above example demonstrates this by showing what happens to the value of a variable 'x before and after evaluation of the macro. Note the change in the value of x but that the result of (eval x) remains the same. That is the whole purpose of macros. PC-LISP macros have two limitations that Franz macros do not have. A PC-LISP macro MUST return a piece of code that is a list. YOU CANNOT RETURN AN ATOM FROM A MACRO. Secondly a PC-LISP macro must have been def'ined, defun'ed, or putd'ed, otherwise it will not function correctly. Ie YOU CANNOT USE IT LIKE A LAMBDA OR NLAMBDA BODY WITHOUT A NAME. (macroexpand s1) ~~~~~~~~~~~~~~~~ This function lets you see at what the macro expansion of s1 looks like prior to evaluation and substitution. For example: -->(macroexpand '(first-element '(a b c))) (car '(a b c)) 29 LIST EVALUATION CONTROL FUNCTIONS CONT'D ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (prog l1 s1.....sn) ~~~~~~~~~~~~~~~~~~~ Prog is a way of escaping the pure LISP applicative programming environment. It allows you to evaluate a sequence of S-expressions one after the other in true imperative style. It allows you to use the functions (go..) and (return ..) to perform the goto and return functions that imperative languages permit. Prog operates as follows: The list l1 which is a list of atom names is scanned and each atom is bound to nil at this scope level. Next the S-expressions s1..sn are scanned once. If any of s1..sn are atoms they are bound to the S-expression that follows them. Next we start evaluating lists s1...sn ignoring the atoms which are assumed to be labels. If after evaluation an S- expression is of the form ($[|return|]$ Z) we unbind all the atoms and labels and return the S-expression Z. If after evaluation a list is of the form ($[|go|]$ Z) we alter our evaluation to start next at Z. The functions (go) and (return) will return the above mentioned special forms. If at any time we reach sn, and it is not a go or a return, we simply unbind all of l1 and the labels in s1...sn and return the result of evaluating sn. Note that prog labels must be alpha or literal alpha atoms. Also note that the (return) and (go) mechanisms are not the same as Franz and will only operate if the special form works its way back to the prog. Because of this you are advised to keep the calls to go and return within the lexical scope of the prog body and to insure that the special form returned is not absorbed by some higher level function. The mechanism is usually invisible. For example: -->(prog (List SumOfAtoms) (setq List (hashtabstat)) (setq SumOfAtoms 0) LOOP (cond ((null List) (return SumOfAtoms))) (setq SumOfAtoms (+ (car List) SumOfAtoms)) (setq List (cdr List)) (go LOOP) ) 306 This peice of code operates as follows. First it creates two local variables. Next it binds the variable List to the list of hash bucket totals from the alpha hash table. It then sets a sum counter to 0. Next it checks the List variable to see if it is nil. If so it returns the Sum Of all the Atoms. Otherwise it adds the first fixnum in the list List to the running SumOfAtoms, winds in the list List by one, and jumps to LOOP. Note also that we can accomplish the same thing as the above prog with the much simpler example which follows: -->(eval (cons '+ (hashtabstat))) 306 30 HUNKS ~~~~~ A hunk is just an array of 1 to 126 elements. The elements may be any other type including hunks. With hunks it is possible to create self referential structures (see DANGEROUS FUNCTIONS). A Hunks element storage space comes from the heap. Hunks like strings and alpha print names are subject to compaction relocation and reclamation. (hunk s1 s2 .... sN) ~~~~~~~~~~~~~~~~~~~~ Returns a newly created hunk of size N whose elements are s1, s2 ... sN in that order. The hunk will print as {s1 s2 (cxr n1 H) ~~~~~~~~~~ Returns the n1'th element of hunk H indexed from 0. Hence n1 must be in the range 0 .. (hunksize H)-1. (hunkp s1) ~~~~~~~~~~ Returns true if s1 is of type hunk, otherwise it returns nil. Note this function has also been mentioned with the other predicates. (hunksize H) ~~~~~~~~~~~~ Returns a fixnum whose value is the size of the hunk. This value is one larger than the largest index allowed into the hunk by both cxr and rplacx. The size of a hunk is fixed at the time of its creation and can never change throughout its life. (makhunk n1) or (makhunk (s1 s2 ...sN)) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The first form returns a nil filled hunk of n1 elements. Needless to say, n1 must be between 1 and 126 inclusive. The second form is just identical to (hunk s1.....sN). (rplacx n1 H s1) ~~~~~~~~~~~~~~~~ Returns the hunk H, however as a side effect element n1 of H has been made (eq) to s1. In other words H[n1] = s1. Note that this function like rplaca and rplacd allows you to create self referential structures. 31 DANGEROUS FUNCTIONS ~~~~~~~~~~~~~~~~~~~ The following two functions have potentially disastrous results if used by unwary or inexperienced LISP programmers. The third function is provided to make their use less dangerous. (rplaca l1 s1) ~~~~~~~~~~~~~~ The cons cell l1 is physically altered so that its car is (eq) to s1. That is the car pointer of l1 is set to point to s1. The list l1 is returned. (l1 must not be nil). (rplacd l1 s1) ~~~~~~~~~~~~~~ The cons cell l1 is physically altered so tha its cdr is (eq) to s1. That is the cdr pointer of l1 is set to point to s1. The list l1 is returned. (l1 must not be nil). (copy s1) ~~~~~~~~~ Returns a structure (equal) to s1 but made with new cons cells. Note that only cons cells are copied, strings, atoms, hunks etc are not copied. Warning #1 - altering a cons cell allows you to create structures that point (refer) to themselves. While this does not cause a problem for the LISP interpreter or garbage collector it does mean that many built in functions will either loop around the structure infinitely or recurse until a stack overflows when they encounter the abnormal structure. For example: -->(setq x '(a b c d)) (a b c d) -->(rplaca x x) ((((((((((((((((((((((((((((((((((((((((............... -- stack overflow -- er> Warning #2 - altering a cons cell can cause a million little side effects that you did not count on. Consider carefully the following example. -->(defun FooBar(x) (append x '(temp1 temp2))) FooBar -->(setq z (FooBar nil)) (temp1 temp2) -->(rplaca z 'GOTCHA!) (GOTCAH! temp2) -->(FooBar '(a b c)) (a b c GOTCHA! temp2) What happened? Well the list (temp1 temp2) is only stored once and when FooBar is computed the returned list is actually the list (temp1 temp2), hence when we alter it's car, FooBar now appends the list (GOTCHA! temp2) instead of (temp1 temp2). 32 MSDOS BIOS CALLS FOR GRAPHICS OUTPUT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These functions are still experimental. They do however allow you to play with drawing recursive curves etc. They all result in an INT 10H. This means that the graphics should be portable to most MSDOS machines and should run under any windowing environment like topview or mswindows. This is why they are so slow. Note that they all return 't. They do not check to see if the INT call was successful or if you have a graphics capability. You can crash your system if you abuse these functions. (#scrline# n1 n2 n3 n4 n5) ~~~~~~~~~~~~~~~~~~~~~~~~~~ Draws a line on the screen connecting (n1,n2) with the point (n3,n4) using attribute n5. This function calls the BIOS set dot function for each point. Hence it is not very fast. n5 is not very useful, colors are not allowed yet so make n5 odd. (#scrmde# n1) ~~~~~~~~~~~~~ Sets the video mode to n1. Modes are positive numbers 0..... Where (8 and 9) are high resolution for the Tandy2000 and I suppose are high resolution modes on other machines that support the (640 x 400) or greater graphics resolutions. These are all listed in your hardware reference manual but basically they are: 0 = 40x25B&W, 1=40x25COL, 2=80x25B&W 3=80x25COL, 4 =320x200COL, 5=320x200B&W, 6=640x200B&W, 7=reserved, 8=640x400COL, 9=640x400B&W etc...? This is as of DOS 2.11. (#scrsap# n1) ~~~~~~~~~~~~~ Sets the active video page to n1. n1 should be between 0 and 8. This is valid for text modes only. Versions of MSDOS other than 2.11 may not support this call. (#scrscp# n1 n2 n3) ~~~~~~~~~~~~~~~~~~~ Sets the cursor position to be in page n1 at row n2 and in column n3. Where 0 is the top row and 0 is leftmost col. (#scrsct# n1 n2) ~~~~~~~~~~~~~~~~ Sets the cursor type to agree with the following: n1 bit 5 (0 = blink 1 = steady), bit 6 (0 = visible, 1 = invisible), bits 4-0 = start line for cursor within character cell. n2 bits 4-0 = end line for cursor within character cell. (#scrwdot# n1 n2 n3) ~~~~~~~~~~~~~~~~~~~~ Write a dot (pixel). The pixel at row n1 and column n2 has its color value XORed with the color attribute n3. Since the color attributes vary from machine to machine you will have to look up the correct values for this parameter. 33 MSDOS BIOS CALLS FOR DATE AND TIME ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Rather than try to implement the (sys:time) function or the (status localtime) call in PC-LISP I have provided access to the MS-DOS get date and get time BIOS calls. These are INT 21H function numbers 2A and 2C hex respectively. Here is how you get at them from PC-LISP. (#date#) ~~~~~~~~ Returns a list of four fixnums. The first element in this list represents the year 1980 means 1980 etc. The second element is the month of the year where 1 means January etc. The next element in the list represents the day of the month where 1 means the first day, etc. The last element in the list represents the day of the week where 0 means Sunday etc. (#time#) ~~~~~~~~ Returns a list of four fixnums. The first element in this list represents the hour of the day where 1 means 1AM and 24 means 12 PM. The next element represents the minutes these are 0 through 59. The next element represents the seconds, these represent hundredths of a second, 0-99. For example: -->(append (#date#) (#time#)) (1986 4 6 0 20 23 22 15) Means that the date is Sunday April 6th, 1986 and the local time is 8:23:22 and 15/100 of a second. 34 MEMORY EXHAUSTION ~~~~~~~~~~~~~~~~~ The memory is all used up when you get a message such as "LISP cons cells exhausted". Usually when this happens it is because you are tying up memory somewhere but do not realize it. The most common way to tie up memory is to execute an infinite recursion such as (defun looper(n)(looper (+ n 1))). The stack will of course overflow and YOUR BINDINGS WILL BE HELD FOR YOU!! This means that ALL bindings are held. If you execute the above program several times from the break level, 'er>', you will eventually run out of CONS cells. They are all in use to hold the values n, n+1, n+2,...... to the point of the first stack overflow. Then n, n+1,.... to the point of the second overflow and so on and so on. Eventually there is no more space left to evaluate the function (looper). The solution is simple: If you run an infinite recursion by mistake and are placed in the break level, use the showstack to figure out where you are. Then use the break level to examine variables etc. But before retrying anything return to the top level. This will cause the held bindings to be dropped and the cells will become reclaimable garbage (ie free). Consider the following session with PC-LISP V2.10: -->(defun looper(n)(looper (+ n 1))) ; infinite function looper -->(looper 0) ; run it from 0 -- Stack Overflow -- ; all n's saved! er>n ; last value of n 588 er>(looper 0) ; another run will -- Stack Overflow -- ; save more n's er>(looper 0) -- Stack Overflow -- er>(looper 0) ; another run will LISP out of cons cells! ; save more n's B> Note that in last (looper 0) call we made from the break level was unable to complete because we ran out of memory. When this happens PC-LISP gives up and returns to DOS, hence the B> prompt. We could have avoided this problem if we had entered a CONTROL-Z ENTER sequence at the 'er>' prompt before any further calls to (looper 0) were made. This would have freed up all the held intermediate bindings of n. If you find that you are running out of heap space it may be because you are keeping too many unused strings,symbols or hunks. The easiest way to do this by mistake is the following: (setq x (oblist)). The variable x is globally set to the oblist contents. Now, all objects that were in the oblist at the time of the call will never be freed. The heap space associated with their print names will also be unreclaimable. The solution is to be careful what you do with copies of the oblist if heap space is in demand. Usually heap space is not critical and you need not worry. 35 TECHNICAL INFORMATION ~~~~~~~~~~~~~~~~~~~~~ The interpreter is written using the Lattice C compiler version 2.03. It consists of 7 separate modules totaling nearly 11,000 lines of C. The modules are: A scanner, parser, memory manager, list evaluator and critical functions module, a built in functions module, a library of extra Unix libc functions not provided by Lattice C consisting of assembly language routines for setjmp(), longjmp() and getenv(), and finally a modified C start up assembly language module to provide signal trapping for stack overflow and control-break. Memory is organized as follows. Alpha cells have fields for a shallow stack of bindings, a pointer to heap space for the print names, a pointer to any built in or user defined functions, and a pointer to any property lists. Alpha cells are the largest of all the cells and have their own fixed storage area. Heap space which is just the space used for the print names of the alpha cells and strings, and the element array for hunks may be variable sized blocks of up to 254 bytes long. This is why a hunk can have only 126 elements in PC-LISP. The rest of the cells used by PC-LISP are all considered as one. This consists of the flonum, fixnum, list, string, hunk and port cells. They have their own contiguous slice of memory. This means that three different contiguous types of memory are required. It is managed in the following way. At start up time the percentages of memory are read from the default settings or the environment variables LISP%HEAP and LISP%ALPH. Next memory is allocated in 16K chunks these are the largest contiguous pieces handled by the memory manager. If the environment variable LISP%MEM has an integer value, this is used as the upper limit on the number of 16K chunks to allocate. These are all kept track of in a large vector of pointers. After all chunks have been allocated 8K are given back for use by the I/O functions. If the environment variable LISP%KEEP is set to an integer value that many bytes are given back instead of 8K. If file I/O seems to stop working it is probably because the standard I/O functions have run out of memory, in this case either set LISP%KEEP a bit bigger, or set LISP%MEM to a value that does not cause all free memory to be allocated. Next groups of these blocks are primed for use by alpha,cell, or heap managers. These managers handle the distribution and reclamation of memory in their block. The heap manager will perform compaction and relocation to get free space. The alpha and cell managers will perform mark and gather garbage collection to get space. The heap manager may request mark and gather collection if there is a real shortage of heap space. Stack overflow detection is done by intercepting the call to the Lattice C stack overflow routine, temporarily resetting the stack, and them making a call to my own C stack overflow routine. This then longjmps out of the error condition. The Unix version handles the error in the same way except that the overflow results in a SIGSEGV which then calls the same routine. 36 TECHNICAL INFORMATION (CONT'D) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Control-BREAK detection is done via periodic testing of the status in the evaluator main loop, and the read main loop. When a break is detected control is transferred to the break handler which prints a message and longjmps back to the mainline code. The Unix version will have made a signal call asking that the break handler be executed when a user break key is hit. Hence the results are the same. CONTROL-C checking is done in the same way except that a CONTROL-C will only be spotted on I/O so a looping non printing function can only be stopped with CONTROL-BREAK. Note that CONTROL-BREAK is INT 1BH and CONTROL-C is INT 23H. If your machine does not support int 1BH, you can easily patch PC-LISP to trap whatever vector you want. To do this just start disassembling PC-LISP with DEBUG. The procedures that set and reset the int 1BH vector are pretty near the start of the program and are very easy to spot. Note that there are a couple of other set/reset interrupt vector routines here so do not get the wrong one. Look for calls to the MS-DOS set interrupt vector routine. If you have trouble doing this drop me a line and I will try to help you get it done. There should not be many machines for which this patch is necessary because most MS-DOS machines, even partially PC compatible, seem to generate an interrupt 1BH when CONTROL BREAK is hit. 37 KNOWN BUGS OR LACKING FEATURES OF V2.10 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -It is possible to run out of stack space while garbage collecting. When this happens the garbage collection is retried once but the error is unrecoverable. You should treat this as a stack overflow caused by your program. This can be fixed with a link inversion marking phase in the next release of PC-LISP. See also the section MEMORY EXHAUSTION for more details on this problem. Note that if the stack overflows on the second garbage collection retry it gives up and advises you of a probable memory corruption. -You cannot input floats in exponential notation. This is because the LISP lexical analyzer does not yet recognize them. -Line drawing is not too quick, or too clean. The lines take time to draw because they go through the BIOS, they are not very clean at certain slopes due to some bugs. But the video graphics routines are still experimental so do not rely on them too much. You will also note that several other video INT calls are missing. -If too many (load 'file) calls fail you will run out of available ports. This is because they are left open. PC-LISP does not close open load ports if an error occurs while reading from them. -Two special atoms with rather obscure names should never be directly returned manipulated in a prog. These are $[|return|]$ and $[|go|]$. If you attempt say print these from within a prog, the print function will return them and this will confuse the heck out of prog which uses them for internal purposes. Because of this the (oblist) call does not return them. Thus the only way they can get into your code is for you to enter them directly. Since this is unlikely and I have warned you the problem should not occur. -You are not prevented from altering the binding of t. This means that if you use t as a parameter or set/setq it to something other than t you may cause some strange behavior , especially if you bind t to nil by accident. -Macros must return a peice of code which is a list. Atoms cannot be returned. Franz allows either but to alter PC-LISP would require some medium scale surgery that I do not want to undertake unless the feature is really missed. -Explode and Exploden only work on atoms or strings. In Franz you can explode anything. For PC-LISP I decided to leave out this feature because it complicates the print functions which are already pretty messy. 38 KNOWN BUGS OR LACKING FEATURES OF V2.10 (CONT'D) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -It is possible for the I/O functions to stop working if they run out of memory. Since they get their memory separately from the other functions in PC-LISP the only solution is to run PC- LISP with a little less memory either by setting the environment variable LISP%MEM to a value that leaves one or more 16K blocks free, or to set LISP%KEEP a little larger than 8K so that more memory is free for use by the I/O functions. -The interpreter is slow. I am planning on introducing a compiler which should speed things up significantly. -Car and cdr will not access the first and second element of a hunk as they do in Franz. -Read does not recognize the escape '\x' notation. -Character-index will not take a fixnum second parameter as per Franz. Sorry I spotted this too late to fix it in V2.10. -Showstack does not print lists in compressed form horizontally. The vertical compression <**> is however done. It also occasionally gets confused and does not print the last evaluation this sometimes happens on macro expansion. Showstack may also get confused and print a list one element at a time rather than as a complete list. This is because showstack is trying to trace backwards through an internal stack which has a lot of intermediate stuff on it and can get confused by the extra stacked info. RE BUGS OR DESIRED ENHANCEMENTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I have tried to think of everything that a user could do to crash the system and protect him/her from it but I'm sure my imagination has only covered half of the possibilities. If you find any other bugs or if you think some features would be nice to add to PC-LISP, I will consider them for the next major release. Please don't hesitate to let me know what you think, good or bad. I'd appreciate the feed back as I have put a lot of work into this program and want to know what you people out there think of it. Note - I am planning on releasing the source code some time in the future but not until the program reaches a reasonably mature level. I also want to write a programmers manual so that you can add functions easily and fix bugs without too much trouble. Please be patient for the source. Regards Peter Ashwood-Smith. 39
petera@utcsri.UUCP (Smith) (04/27/86)
*** REPLACE THIS LINE WITH YOUR MESSAGE *** [ line eater ] PC-LISP.DOC (part 1 of 2) ---------------------------- CUT HERE ------------------- A GUIDE TO THE PC-LISP INTERPRETER (V2.10) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By Peter Ashwood-Smith ~~~~~~~~~~~~~~~~~~~~~~ University of Toronto, ~~~~~~~~~~~~~~~~~~~~~ Ontario, Canada. ~~~~~~~~~~~~~~~ With thanks to Brian Robertson for the math functions April 15 1986, for Guylaine email: petera!utcsri or br!utcsri mail: Peter Ashwood-Smith #811, 120 St. Patrick St. Toronto, Ontario, Canada, M5T-2X7. phone: (416) 593-7574. 1 INTRODUCTION ~~~~~~~~~~~~ PC-LISP is a small implementation of LISP for ANY MS-DOS machine. While small, it is capable of running a pretty good subset of Franz LISP. The functions are supposed to perform in the same way as Franz with a few exceptions made for efficiencies sake. Version 2.10 has the following features. - Types fixnum, flonum, list, port, symbol, string and hunk. Function bodies lambda, nlambda and macro. - Full garbage collection of ALL types. - Compacting relocating heap management. - Shallow binding techniques for O(1) symbol value lookup. (Dynamic scoping). - Access to some MSDOS BIOS graphics routines. - Over 150 built in functions, sufficient to allow you to implement many other Franz functions in PC-LISP. - Stack overflow detection & full error checking on all calls, tracing of user defined functions, and dumping of stack via (showstack). - One level of break from which bindings at point of error can be seen. - Access to as much (non extended) memory as you've got and control over how this memory is spread among the various data types. - Will run in 256K PC/AT/XT or nearly any other MS-DOS machine. (It has run on every machine I have tried.) This program is Shareware. This means that it you are free to distribute it or post it to any BBS that you want. The more the better. The idea is that if you feel you like the program and are pleased with it then send us $15 to help cover development costs. Source code for this program is available upon request. You must however send me 3 blank diskettes and about $1.50 to cover first class postage. The program can be compiled with any good C compiler that has a pretty complete libc. In particular the program will compile with almost no changes on most Unix systems. A source code guide will probably be included with the source if it is finished at the time I receive your source request. Please do not request source unless you plan to use it. Thanks to Brian Robertson also of the University of Toronto Department of Computer Science for the math functions that he wrote for my otherwise excellent Lattice C V2.03 compiler which did not originally come with any. 2 A WARNING ~~~~~~~~~ As I mentioned previously this program was compiled with the Lattice C compiler, as such the program contains code to which Lattice Inc. holds a copyright. If you sell it I can only get angry but Lattice could take you to court. And, as with all software you use it at your own risk. I will not be held responsible for loss of any kind as a result of the correct or incorrect use of this program. A NOTE ~~~~~~ The rest of this manual assumes some knowledge of LISP, MSDOS and a little programming experience. If you are new to LISP or programming in general you should work your way through a book on LISP such as LISPcraft by Robert Wilensky. You can use the interpreter to run almost all of the examples in the earlier chapters. I obviously cannot attempt to teach you LISP here because it would require many hundreds of pages and there are much better books on the subject than I could write. Also, there are other good books on Franz LISP besides LISPcraft. I recommend LISPcraft because it is the book I happen to use. IF YOU WANT TO TRY PC-LISP RIGHT NOW ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Make sure that PC-LISP.EXE and PC-LISP.L are in the same directory. Then type PC-LISP from the DOS prompt. Wait until you get the "-->" prompt. If your machine has some sort of graphics capability you can try the graphics demo as follows. Type "(load 'turtle)" without the "'s. Wait until you see the "t" and the prompt "-->" again, then type "(GraphicsDemo)". You should see some Logo like squirals etc. If you do not have any graphics capability try "(load 'queens)" or "(load 'hanoi)" and then (queens 5) or (hanoi 5) respectively. For a more extensive example turn to the last couple of chapters in LISPcraft and look at the deductive data base retriever. Type (load 'match) and look at the match.l documentation. You can then play with all the functions mentioned in LISPcraft. 3 EXAMPLE LOAD FILES AND THE PC-LISP.L FILE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Included with PC-LISP (V2.10) are a number of .L files. These include: PC-LISP.L, MATCH.L, TURTLE.L, DRAGON.L and perhaps a few others. These are as follows. PC-LISP.L ~~~~~~~~~ A file of extra functions to help fill the gap between PC and Franz LISP. This file defines the pretty print function and a number of macros etc. It will be automatically loaded from the current directory or from the directory whose path is set in LISP%LIB when PC-LISP is executed. The functions in this file are NOT documented in this manual, look instead at a Franz manual. MATCH.L ~~~~~~~ A small programming example taken from the last 2 chapters of LISPcraft. It is a deductive data base retriever. This is along the lines of PROLOG. Very few changes were necessary to get this to run under PC-LISP. TURTLE.L ~~~~~~~~ Turtle Graphics primitives and a small demonstration program. To run the demo you call the function "GraphicsDemo" without any parameters. This should run albeit slowly on just about every MS-DOS machine. Note that the video functions that are still experimental so use them for fun but don't rely on them. These primitives look at the global variable !Mode to decide what resolution to use. If you have mode 8 (640X400) you should use it as the lines are much sharper. DRAGON.L ~~~~~~~~ A very slow example of a dragon curve. This one was translated from a FORTH example in the April/86 BYTE. It takes a long time on my 8Mhz 80186 machine so it will probably run for a few hours on a PC or AT. I usually let it run for about 1/2 hour before getting tired of waiting. To run it you just type (load 'dragon) then type (DragonCurve 16). If you have a higher resolution machine like a Tandy 2000 then type (setq !Mode 8) before you run it it will look sharper at this (640x400) resolution. 4 USERS GUIDE ~~~~~~~~~~~ The PC-LISP program is self contained. To run it just type the command PC-LISP or whatever you called it. When it starts it will start grabbing memory in chunks of 16K each. By default PC- LISP will grab as much memory as possible but by setting the LISP%MEM environment variable to an integer >= 3, PC-LISP will stop when this many 16K blocks have been allocated. These will be distributed to the three basic data types in percentages that you can specify via 2 environment variables. The default is that 5% of the memory will be allocated for alpha atoms. 5% will be allocated for heap space, and the rest for cons,port, fixnum, string, flonum and hunk cell types.If you set the environment variables LISP%HEAP and LISP%ALPH to an integer between 1 and 85 these will become the new percentages for the heap and alpha respectively, the rest going to cons, port,flonum, fixnum, hunk and string cells. Note that the percentages are only accurate to the nearest 16K boundary. In other words the set of 16K blocks are divided among the three types as closely to the percentages that you specify as possible. If the percentages that you specify are unreasonable PC-LISP will stop with an error message, otherwise PC-LISP will continue by giving back a very small amount of memory for use by the standard I/O routines. You can alter the amount given back by setting the environment variale LISP%KEEP to the amount you want to give back (See memory management). PC-LISP will then print the banner message, the total memory available and the actual percentages that are allocated to each object. Before processing the command line PC- LISP will look for a file called PC-LISP.L it will look first in the current directory, next in the library directories specified in the LISP%LIB environment variable as per the (load) function. If it finds PC-LISP.L it will be loaded. Next PC-LISP will read the parameters on the command line. The usage is as follows. * PC-LISP [=nnnn] [file] The optional parameter =nnnn is the Lattice set stack size option. It is preset to 32K and cannot be set smaller. You may set it larger up to 64K if you wish. A 32K stack gives you about 466 recursive calls, 50K = 731 calls, 60K = 878 calls, and 64K = 936 calls. 8086 machines do not allow efficient stacks > 64K. The files on the command line are processed one by one. This consists of loading each file as per the (load) function. This means that PC-LISP will look in the current directory for file, then in file.l, then in the directories given in the LISP%LIB environment variable, when found the file is read and every list is evaluated. The results are NOT echoed to the console. Finally when all the files have been processed you will find yourself with the LISP top level prompt '-->'. Typing control-Z and ENTER (MS-DOS end of file) when you see the '-->' prompt will cause PC- LISP to exit to whatever program called it. If an error occurs you will see the prompt 'er>'. For more info see the 'TERMINATION OF EVALUATION' section of this manual and the commands (showstack), (trace), and (untrace). 5 SYNTAX ~~~~~~ You will now be in the LISP interpreter and can start to play with it. Basically it is expecting you to type an S- expression. Where an S-expression is an atom, or a list and: An atom may be one of four kinds. It may be an alpha atom , a number atom, a literal alpha atom or a string atom. An alpha atom is just a letter followed by letters/digits and certain special symbols. There may be no more than 254 characters in the alpha atom. To allow you to enter any text as an atom you may delimit the atom with |'s. These will define a literal alpha atom in which you may place any character between the delimiters (except | itself). A number atom is just as you might think an optional plus or minus sign followed by a sequence of digits, followed optionally by a radix point and more digits. Sorry, exponential notation is not supported. It should get into the next version. String atoms are delimited by double quotes like this "this is one string atom" they may not contain | or " in V2.10. A list is just a left ( followed by a of sequence of atoms or lists followed by a right ). A list may also be a sequence of atoms or lists followed by a '.' followed by an S-expression followed by a right parenthesis ). This is called a dotted pair and it means that the CAR and CDR of a list lie on either side of the dot. Note that a space on either side of the dot is essential syntactically. You may optionally place [ and ] in the list to represent meta-parenthesis. Basically the ] just closes all open lists up to the nearest [, or to the beginning of the list if no [ is present. Unlike Franz you may not nest [ ]. Here are some example legal lists. (But NOT legal Lisp commands!) (now is (the . time)) ; dotted pair (the . time) (1 now16 (is (the (time ] ; the ] closes all 4 ('s (car [quote(a b c d]) ; the ] closes 2 ('s to ] (ThisIsBiggerAtom012345678) ; Upper case is ok () ; empty list is equiv to 'nil nil ; is a list and an atom! (1 (-2.2 +3.333)) ; some numbers all floats! ((((((|all one atom|] ; spaces are part of lit atom! ("now" is "the" time) ; "'ed objects are strings! (a . (b . (c . (e)))) ; same thing as (a b c d e) (pc-lisp.l queens.l) ; two atoms, not dotted pairs! (pc-lisp . l) ; dotted because of spaces. Note that you are allowed to mix any number of spaces, line- feeds, carriage returns, form feeds, tabs etc. as long as they do not alter the delimitation of an atom/string/fixnum/flonum or dot. Comments may start at any point in a line and will continue until the end of the line as shown in the above example lists. Any number of comment starters ';' may harmlessly follow the first comment starter ';'. PC-LISP is insensitive to line length and will handle lines as long as MS-DOS will give it. 6 READ MACRO QUOTE ~~~~~~~~~~~~~~~~ PC-LISP supplies one read macro called 'quote' and written using the little ' symbol. (User read macros in later versions) This read macro is just a short hand way of writing the list (quote XX). Where XX is what follows the '. Here are some examples of what the read macro will do to your input before passing it to the evaluator. 'apples -- goes to --> (quote apples) '|too late| (quote |too late|) '(1 2 3) (quote (1 2 3)) ''a (quote (quote a)) '"hi" (quote "hi") If you are new to LISP you will see just how useful this little read macro is when you start typing expressions. It reduces the amount of typing you must do, reduces the amount of list nesting required, and draws attention to 'data' in your expressions. User defined read macros will be added to a future version of PC-LISP. And backquote, splice etc. will be predefined. SIDEKICK AND OTHER CO-RESIDENT PROGRAMS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sidekick and others, should all work without any problem with PC-LISP. I highly recommend using one of these programs as it provides a way of editing your lists and then resubmitting them for evaluation. This is much more convenient than retyping the expression, or leaving the interpreter and reediting a load file. The existence of these programs is one reason why there is no editing facility provided in PC-LISP. Note also that the normal MS-DOS command line editing functions all work within PC- LISP. (See your DOS manual for details on command line editing). 7 SYNTAX ERRORS ~~~~~~~~~~~~~ When you enter a list which is not correctly nested the interpreter will return the wonderfully informative 'syntax error' message. You will have to figure out where it is in the input list. Note that if you do not finish entering a list, ie you put one too few closing )'s on the end, the interpreter will wait until you enter it before continuing. If you are not sure what has happened just type "]]" and all lists will be closed and the interpreter will try to do something with the list. If you are running input from a file the interpreter will detect the end of file and give you a 'syntax error' because the list was unclosed. Try also (showstack), it can help pinpoint the error. EVALUATING S-EXPRESSIONS ~~~~~~~~~~~~~~~~~~~~~~~~ An S-expression may be an atom or a list. If it is an atom the evaluation of it is its current binding. Strings, integers, hunks and floating point numbers all evaluate to themselves. Most atoms are not bound to begin with so just entering an atom will result in the error 'unbound atom'. Evaluating a list consists of calling the function named or given by the first element in the list with parameters given by the rest of the list. For example there is a function called '+' which takes any number of fixnum values and returns their sum. So: -->(+ 2 4 6 8) Would return the result of 2+4+6+8 ie 20. We can also compose these function calls by using list nesting. For example we can subtract 2+4 from 6+8 as follows: -->(- (+ 6 8) (+ 2 4)) We can also perform operations on other types of atoms. Suppose that we wanted to reverse the list (time flies like arrows). There is a built in function called 'reverse' that does just what we want. So we could try typing. -->(reverse (time flies like arrows)) But the interpreter will be confused! It does not know that 'time' is data and not a function taking arguments 'flies', 'like' and 'arrows'. We must use the function 'quote' which returns its arguments unevaluated, hence its name "quote". -->(reverse (quote (time flies like arrows))) Will give us the desired result (arrows like flies time). We can do the same thing without using the (quote) function directly. Remember the read macro ' above? Well it will replace the entry '(time flies like arrows) with (quote(time flies like arrows)). So more concisely we can ask PC-LISP to evaluate: -->(reverse '(now is the time)) 8 EVALUATING S-EXPRESSIONS CONT'D ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This gives us the correct result without as much typing. You will note that the subtraction of 2+4 from 6+8 could also have been entered as: -->(- (+ '6 '8) (+ '2 '4)) However, the extra 's are redundant because a fixnum evaluates to itself. In general a LISP expression is evaluated by first evaluating each of its arguments, and then applying the function to the arguments, where the function is the first thing in the list. Remember that evaluation of the function (quote s1) returns s1 unevaluated. LISP will also allow the function name to be replaced by a function body called a lambda expression. So a legal input to the interpreter could be: -->((lambda(x)(+ x 10)) 14) Which would be processed as follows. First the parameters to the lambda expression are evaluated. That's just 14. Next the body of the lambda expression is evaluated but with the value 14 bound to the formal parameter given in the lambda expression. So the body evaluated is (+ x 10) where x is bound to 14. The result is just 24. Note that lambda expressions can be passed as parameters as can built in functions or user defined functions. So I can evaluate the following expression. -->((lambda(f x)(f (car x))) '(lambda(l)(car l)) '((hi))) Which evaluates as follows. The parameters to the call which are the expressions '(lambda(l)(cdr l)) and '((hi)) are evaluated. This results in the expressions being returned because they are quoted. These are then bound to 'f and 'x respectively and the body of the first lambda expression is evaluated. This means that the expression ((lambda(l)(car l))(car ((hi)))) is evaluated. So again the parameters to the function are evaluated. Since the only parameter is (car ((hi))) it is evaluated resulting in (hi). This is then bound to l and (car l) is evaluated giving "hi". PC-LISP is also capable of handling lambda expressions with multiple bodies, nlambda expressions with multiple bodies and labeled lambda and nlambda expressions. See the Built In Functions Section which follows for more details on lambda and nlambda. A slightly restricted macro form is also permitted. For information on macros see the MACRO section of the manual. 9 TERMINATION OF EXPRESSION EVALUATION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There are three distinct ways that evaluation can terminate. First, evaluation can end naturally when there is no more work to do. In this case the resulting S-expression is printed on the console and you are presented with the prompt "-->". Second, you can request premature termination by hitting the CONTROL-BREAK or CONTROL-C keys simultaneously (hereafter referred to as CONTROL- BREAK). Note that this will only interrupt list evaluation, it will not interrupt garbage collection which continues to completion. So, if you hit CONTROL-BREAK or CONTROL-C and you don't get any response, wait a second or two because it will respond after garbage collection ends. Finally, execution can terminate when PC-LISP detects a bad parameter to a built in function, a stack overflows, a division by zero is attempted, or an atom is unbound etc. In all cases but a normal termination you will be returned to a break error level. This is when the prompt looks like 'er>'. This means that variable bindings are being held for you to examine. So if the evaluation aborts with the message "error in built in function [car]", you can examine the atom bindings that were in effect when this error occurred by typing the name of the atom desired. This causes its binding to be displayed. When you are finished with the break level just hit CONTROL-Z plus ENTER and you will be placed back in the normal top level and all bindings that were non global will be gone. Note you can do anything at the break level that you can do at the top level. If further errors occur you will stay in the break level and any bindings at the time of the second error will be in effect as well as any bindings that were in effect at the previous break level. If bindings effecting atoms whose values are being held in the first break level are rebound at the second break level these first bindings will be hidden by the secondary bindings. An error in built in functions 'eval' or 'apply' can mean two things. First, your expression could contain a bad direct call to eval or apply. Or, your code may be trying to apply a function that does not exist to a list of parameters, or trying to apply a bad lambda form. The interpreter does not distinguish an error made in a direct call by you to eval/apply or an indirect call to eval/apply, made by the interpreter on your behalf to get the expression evaluated. It is also useful to know what the circumstances of the failure were. You can display the last 20 evaluations with the command (showstack). This will print the stack from the top to the 20th element of the stack. This gives you the path of evaluation that lead to the error. For more information on the (showstack) command look in the section FUNCTIONS WITH SIDE EFFECTS OR THAT ARE EFFECTED BY SYSTEM. It is possible but hopefully pretty unlikely that the interpreter will stop on an internal error. If this happens try to duplicate it and let me know so I can fix it. 10 DATA TYPES IN PC-LISP ~~~~~~~~~~~~~~~~~~~~~ PC-LISP has the following data types, 32 bit integers, single precision floating point numbers, lists, ports for file I/O, alpha atoms, strings and hunks (up to 126 in length just one short of Franz!). The (type) function returns these atoms: fixnum - a 32 bit integer. flonum - a single precision floating point number. list - a list of cons cells. symbol - an alpha atom, with print name up to 254 chars which may include spaces tabs etc, but which should not include an (ascii 0) character. Symbols may have property, bindings and functions associated with them. Symbols with same print name are the same object. string - A string of characters up to 254 in length. It has nothing else associated with it. Strings with same print name are not necessarily the same object. port - A stream that is open for read or write. This type can only be created by (fileopen). hunk - An array of 1 to 126 elements. The elements may be of any other type including hunks. Franz allows 127, the missing element is due to a space saving decision. This type can only be created by a call to (hunk) or (makhunk). Fixnums and flonums are together known as numbers. The read function will always read a number as a flonum and then see if it can represent it as a fixnum without loss of precision. Hence if the number 50000000000 is entered it will be represented as a flonum because it exceeds the precision of a fixnum. If a number has a decimal point in it, it is assumed to be a flonum even if there are no non zero digits following the radix point. Fixnums and flonums may appear the same when printed. The print function will output a flonum with no radix point if none is necessary, hence two numbers may look the same when printed but may be un (equal) because they have different types and hence different structures. Hunks when printed appear as { e0 e1 e2 .... eN }. They are indexed from zero. They cannot be entered, ie there is no read mechanism for creating them you must create them with a function call. See HUNKS. 11 THE BUILT IN FUNCTIONS AND VARIABLES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Following is a list of each built in function. I will denote the allowed arguments as follows: - a1...aN are alpha atom parameters, type symbol. - h1...hN are string or alpha atoms, type string or symbol. - x1...xN are integer atom parameters, type fixnum (32bits). - f1...fN are float atom parameters, type flonun. - n1...nN are number atom parameters, type flonum or fixnum. - z1...zN are numbers but all are of the same type. - l1...lN are lists, must be nil or of type list. - p1...pN are port atom parameters, type port. - s1...sN are S-expressions (any atom type or list) - H is a hunk. Additional Definitions: ~~~~~~~~~~~~~~~~~~~~~~~ "{a|d}+" means any sequence of characters of length greater than 0 consisting of a's and d's in any combination. This defines the car,cdr,cadr,caar,cadar... function class as follows: "c{a|d}+r". "[ -stuff- ]" indicates that -stuff- is/are optional and if not provided a default will be provided for you. "*-stuff-*" indicates that -stuff- is not evaluated. An example of this is the function (quote *s1*) whose single S- expression parameter s1 is enclosed in *'s to indicate that quote is passed the argument s1 unevaluated. For the simpler functions I will describe the functions using a sort of "if (condition) result1 else result2" notation which should be pretty obvious to most people. For functions that are a little more complex I will give a short English description and perhaps an example. If the example code shows the '-->' prompt you should be able to type exactly what follows each prompt and get the same responses from PC-LISP. If the example does not show a '-->' prompt the example is a code fragment and will not necessarily produce the same results shown. 12 PREDEFINED GLOBAL VARIABLES (ATOMS) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A number of atoms are globally prebound by PC-LISP. These variables are testable and settable by you but in some cases altering the bindings is highly inadvisable. Note that a binding can be inadvertently altered by defining one of these atoms as a local or parameter atom to a function or a prog, or directly by using 'set' or 'setq'. "t" - This atom means 'true', it is bound to itself. Various predicates return this to indicate a true condition. You should NOT change the binding of this atom, to do so will cause PC-LISP to produce incorrect answers. "nil" - This is not really an atom, it represents the empty list (). It is not bound to () but rather equivalent to () in all contexts. Any attempt to create a symbol with print name "nil" will result in (). "$ldprint" - Is initially bound to "t". When not bound to "nil" this atom causes the printing of the -- [file loaded] -- message when the function (load file) is executed. When "nil" this atom prevents the printing of the above message. This is useful when you want to load files silently under program control. "$gcprint" - Is initially bound to "nil". When bound to "nil" garbage collection proceeds silently. If bound non "nil" then at the end of a garbage collection cycle 4 numbers are printed. The first is the number of collection cycles that have occurred since PC-LISP was started, the second is the percentage of cons cells that are in use, the third the percentage of alpha cells, and the third the percentage of heap space that is in use. These last three numbers are exactly what you get back with a call to (memstat). "$gccount$ - Is initially bound to 0. It increases by one every time garbage collection occurs. This number is the same as the first number printed when $gcprint is bound non "nil" and garbage collection occurs. While you can set $gccount$ to any value you want, its global binding will be reset to the correct garbage collection cycle count whenever collection finishes. 13 THE MATH FUNCTIONS ~~~~~~~~~~~~~~~~~~ Functions that operate on numbers, fixnums or flonums. Note that the arrow --X--> may indicate what type is returned. If X is 's' then the same type as the parameter(s) selected is returned. If X is 'f' then a flonum type is returned. If X is 'x' then a fixnum is returned. If X is 'b' then the best type is returned, this means that a fixnum is returned if possible. Note that you should use fixnums together with "1+, 1- zerop" when ever possible because doing so gives nearly a 50% decrease in run time for many expressions, especially counted loops or recursion. TRIG AND MIXED FUNCTIONS ~~~~~~~~~~~~~~~~~~~~~~~~ (abs n1) --s-> absolute value of n1 is returned. (acos n1) --f-> arc cosine of n1 is returned. (asin n1) --f-> arc sine of n1 is returned. (atan n1 n2) --f-> arc tangent of (quotient n1 n2). (cos n1) --f-> cosine of n1, n1 is radians (exp n1) --f-> returns e to the power n1. (expt n1 n2) - b-> n1^n2 via exp&log if n1 or n2 flonum. (fact x1) --x-> returns x1! ie x1*(x1-1)*(x1-2)*....1 (fix n1) --x-> returns nearest fixnum to number n1. (float n1) --f-> returns nearest flonum to number n1. (log n1) --f-> natural logarithm of n1 (ie base e). (log10 n1) --f-> log base 10 of n1 {not present in Franz} (lsh x1 x2) --x-> x1 left shifted x2 bits (x2 may be < 0). (max n1..nN) --s-> largest of n1...nN or (0 if N = 0) (min n1..nN) --s-> smallest of n1..nN or (0 if N = 0) (mod x1 x2) --x-> remainder of x1 divided by x2. (random [x1])--x-> random fixnum, or random in 0...x1-1. (sin n1) --f-> sine of n1, n1 is radians. (sqrt n1) --f-> square root of n1. (1+ x1) --x-> x1+1. (add1 n1) --b-> n1+1 (done with fixnums if n1 is fixnum). (1- x1) --x-> x1-1. (sub1 n1) --b-> n1-1 (done with fixnums if n1 is fixnum). BASIC MATH FUNCTIONS ~~~~~~~~~~~~~~~~~~~~ (* x1 ...... ..xN) --x-> x1*x2*x3*.....nN (or 1 if N = 0) (times n1 .. ..nN) --b-> n1*n2*n3......nN (or 1 if N = 0) (product n1....nN) --b-> Ditto (+ x1....... ..xN) --x-> x1+x2+x3+.....xN (or 0 if N = 0) (add n1 .......nN) --b-> n1+n2+n3+.....nN (or 0 if N = 0) (sum n1 .......nN) --b-> Ditto (plus n1.......nN) --b-> Ditto (- x1....... ..xN) --x-> x1-x2-x3-.....xN (or 0 if N = 0) (diff n1.......nN) --b-> n1-n2-n3-.....nN (or 0 if N = 0) (difference....nN) --b-> Ditto (/ x1....... ..xN) --x-> x1/x2/x3/.....xN (or 1 if N = 0) (quotient n1...nN) --b-> n1/n2/n3/.....xN (or 1 if N = 0) Note that the Basic functions that operate on numbers will return a fixnum if the result can be stored in one. 14 THE BOOLEAN FUNCTIONS ~~~~~~~~~~~~~~~~~~~~~ These functions all return boolean values. The objects t and nil represent true and false respectively. Note however that most functions treat a non nil value as being t. t is a predefined atom whose binding is t while nil is not a real atom but rather a lexical item that is EQUIVALENT to () in all contexts. Hence nil and () are legal as both an atom and a list in all functions. Note when comparing flonums and fixnums you cannot use (eq) because they are not identical objects. In Franz (eq 1 1) returns t because of a space saving trick. You should not rely on this working in other LISPS including PC-LISP. (alphalessp h1 h2) ---> if (h1 ASCII before h2) t else nil; (atom s1) ---> if (s1 not type list) t else nil; (and s1 s2 .. sN) ---> if (a1...aN all != nil) t else nil; (boundp a1) ---> if (a1 bound) (a1.eval(a1)) else nil; (eq s1 s2) ---> if (s1 & s2 same object) t else nil; (equal s1 s2) ---> if (s1 has s2's structure) t else nil; (evenp n1) ---> if (n1 mod 2 is zero) t else nil; (fixp s1) ---> if (s1 of type fixnum) t else nil; (floatp s1) ---> if (s1 of type flonum) t else nil; (greaterp n1...nN) ---> if (n1>n2>n3...>nN) t else nil; (hunkp s1) ---> if (s1 of type hunk) t else nil; (lessp n1...nN) ---> if (n1<n2<n3...<nN) t else nil; (listp s1) ---> if (s1 of type list) t else nil; (minusp n1) ---> if (n1 < 0 or 0.0) t else nil; (not s1) ---> if (s1 != nil) nil else t; (null s1) ---> Ditto (numberp s1) ---> if (s1 is fix of float) t else nil; (numbp s1) ---> Ditto. (or s1 s2 .. sN) ---> if (any si != nil) t else nil; (oddp n1) ---> if (n1 mod2 is non zero) t else nil; (plusp n1) ---> if (n1 > 0 or 0.0) t else nil; (portp s1) ---> if (s1 of type port) t else nil; (zerop n1) ---> if (n1 = 0 or 0.0) t else nil; (< z1 z2) ---> if (z1 < z2) t else nil; (= z1 z2) ---> if (z1 = z2) t else nil; (> z1 z2) ---> if (z1 > z2) t else nil; Note carefully the difference between (eq) and (equal). One checks for identical objects, ie the same object, while the other checks for two objects that have the same "structure" and identical leaves. Note that the (and) and (or) functions evaluate their arguments one by one until the result is known. Ie, short circuit evaluation is performed. Note that proper choice of fixnums over flonums and proper choice of fixnum functions can yield large performance improvements. For example (zerop n) is faster than (= 0 n) because (zerop) like all functions that take number parameters is biased towards fixnums. 15 LIST & ATOM CREATORS AND SELECTORS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These functions will take lists and atoms as parameters and return larger or smaller lists or atoms. They have no side effects on the LISP system nor are their results affected by anything other than the values of the parameters given to them. These functions are all nondestructive they do not alter their parameters in any way. (append l1..ln) ---> list made by joining all of l1..ln. If any of l1..ln is nil they are ignored. (ascii n1) ---> atom with name 'char' where 'char' has ordinal value n1:(0 < n1 < 256). (assoc s1 s2) ---> if s2 is a list of (key.value) pairs then assoc --> (key.value) from s2, where (equal key a1) is t else nil. (car l1) ---> first element in l1. If l1 is nil car returns nil. (cdr l1) ---> Everything but the car of l1. If l1 is nil cdr returns nil. (c{a|d}+r l1) ---> performs repeated car or cdr's on l1 as given by reverse of {a|d}+. Returns nil if it cars or cdrs off the end of a list. (character-index h1 h2) -x-> Returns the position (from 1) of first char in h2 in h1 or nil if this char does not occur in h1. (concat h1 .. hN) ---> Forms a new atom by concatenating all the strings or atoms. Or nil if if N = 0. (cons s1 s2) ---> list with s1 as 1st elem s2 is rest. If s2 is nil the list has one element. If s2 is an atom the pair print with a dot. (cons 'a 'b) will print as (a . b). (explode h1) ---> list of chars in print name of h1. If h1 is nil returns (n i l) (exploden h1) ---> list of ascii values of chars in h1. If h1 is nil returns (110 105 108). (get_pname h1) ---> String equal to print name of atom h1 or same as string h1. 16 LIST & ATOM CREATORS AND SELECTORS (CONT'D) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (hunk-to-list H) ---> Returns a list whose elements are (eq) to those of hunk H and in the same order. (implode l1) ---> atom with name formed by compressing all atom elements of l1. If l1 is (equal) to (n i l) implode returns nil. (last l1) ---> returns the last element in l1. If l1 is nil it returns nil. (length l1) -x-> fixnum = to length of list l1. The length of nil is 0. (list s1 s2...sN) ---> a list with elements (s1 s2 ...sN) If N = 0 list returns nil. (member s1 l1) ---> If (s1 (equal) to a top level sub list of l1) this sublist, else nil. (memq s1 l1) ---> If (s1 (eq) to a top level sub list of l1) this sublist, else nil. (nth n1 l1) ---> n1'th element of l1 (indexed from 0) like (cad...dr l1) with n1 d's. (nthcdr n1 l1) ---> returns result of cdr'ing down the list n1 times. If n1 < 0 it returns (nil l1). (nthchar h1 n1) ---> n1'th char in the print name of h1 indexed from 1. (pairlis l1 l2 l3) ---> l1 is list of atoms. l2 is a list of S-expressions. l3 is a list of ((a1.s1)....) The result is the pairing of atoms in l1 with values in l2 with l3 appended (see assoc). (quote *s1*) ---> exactly s1 unevaled without changes. (reverse l1) ---> the list l1, reversed at top level. (type s1) ---> list,flonum,port,symbol, fixnum or hunk as determined by the type of the parameter s1. 17 LIST & ATOM CREATORS AND SELECTORS (CONT'D) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (sizeof h1) ~~~~~~~~~~~ Will return the number of bytes necessary to store an object of type h1. Legal values for h1 are 'list,'symbol,'flonum, 'fixnum, 'string , 'hunk and 'port. The size returned is the amount of memory used to store the cell, incidental heap space, property list space, binding stack space and function body space is not counted for types 'symbol, 'string or 'hunk. (stringp s1) ~~~~~~~~~~~~ Will return t if the S-expression s1 is of type string, otherwise it returns nil. (substring h1 n1 [n2]) ~~~~~~~~~~~~~~~~~~~~~~ If n1 positive substring will return the substring in string h1 starting at position n1 (indexed from 1) for n2 characters or until the end of the string if n2 is not present. If n1 is negative the substring starts at |n1| chars from the end of the string and continues for n2 characters or to the end of the string if n2 is not present. If the range specified is not contained within the bounds of the string, nil is returned. (memusage s1) { not in Franz } ~~~~~~~~~~~~~ Will return the approximate amount of storage that the S- expression s1 is occupying in bytes. The printname heap space is included in this computation as are file true name atoms. This function is not smart, it will count an atom twice if it is referenced more than once in the list. The space count does not include storage needed for binding stacks, property lists, or function bodies that are associated with a particular atom. Hunk and string space include the heap space owned by the cell. 18 FILE I/O FUNCTIONS ~~~~~~~~~~~~~~~~~~ These functions perform simple list/atom and character I/O you must be careful when writing lists to files to terminate with a new line before closing the file. Otherwise they may cause problems for some MS-DOS editors etc. These functions operate on type 'port' which is returned by 'fileopen' and which when printed is just %file@nn% where 'file' is the name of associated port and nn is the file number 0..(20?). You cannot have more than 5 ports open to the same file at any one time, nor more than 20 ports open in total. (close p1) ~~~~~~~~~~ Closes the port p1 and returns t. Note that you must be careful to write a line feed (ascii 10) to the file before closing it in some cases. Certain MS-DOS text editors do not like files with very large line lengths. (fileopen h1 h2) ~~~~~~~~~~~~~~~~ Opens file whose name is h1 for mode h2 access. h1 should be a file name optionally including a path. h2 should be one of 'r, 'w, or'a meaning read, write or append respectively. The function if successful returns a port atom which will print as %file@nn%. If the function is not successful nil is returned. Fileopen does not look in any but the current directory for a relative path or file. Note devices like "con:" are allowed in place of file names. (filepos p1 [x1]) ~~~~~~~~~~~~~~~~~ If fixnum parameter x1 is not provided filepos will return the current file position where the next read/write operation will take place for port p1. If x1 is provided it is interpreted as a new position where the next read/write should take place. The read/write pointer is seeked accordingly and the value x1 is returned if the seek completes successfully. Otherwise nil. (load h1) ~~~~~~~~~ Will try to find the file whose name is h1 and load it into PC-LISP. Loading means reading every list, and evaluating it. The results of the evaluation are NOT printed on the console. In trying to find the file h1, load uses the following strategy. First it looks for file h1 in the current directory, then it looks for h1.l in the current directory. Then it gets the value of the environment variable LISP%LIB which should be a comma separated sequence of MS-DOS paths (exactly the same syntax as for PATH). It then repeats the above searching strategy for every directory in the path list. For example if I entered this from the COMMAND shell: 19 FILE I/O FUNCTIONS (CONT'D) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ "set LISP%LIB= c:\usr\libs\lisp\bootup ; c:\lisp\work\;" then ran PC-LISP, it would try to load the file PC-LISP.L first from the current directory, then from the two directories on the C drive that are specified in the above assignment. Future calls to (load h1) will also look for files in the same way. When a file has been successfully loaded PC-LISP examines the value of atom $ldprint. If this value is non-nil (default is t) PC-LISP will print a message saying that the file was loaded successfully. If this value is nil then no message is printed. In either case if the load is successful a value of t is returned and if the load fails a value of nil is returned. (patom s1 [p1]) & (princ s1 [p1]) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Will cause the S-expression s1 to be printed without delimiters on the output port p1, or on the standard output if no p1 parameter is given. Without delimiters means that if an atom has a print name that is not legal without the | | delimiters they will not be added when printing the list with patom. patom returns s1 while princ returns t. Strings print w/o quotes. (print s1 [p1]) ~~~~~~~~~~~~~~~ Will cause the S-expression s1 to be printed with delimiters if necessary on the output port p1, or on the standard output if no p1 parameter is given. All atoms that would require | | delimiting to be input, will be printed with | | delimiters around them. The expression s1 is returned. (read [p1 [s1]]) ~~~~~~~~~~~~~~~~ Reads the next S-expression from p1 or from the standard input if p1 is not given and returns it. If s1 is given and end of file is read the read function will return s1. If s1 is not
petera@utcsri.UUCP (Smith) (04/27/86)
[ line eater ] [ PC-LISP.EXE (part 4 of 4) ----------------- CUT HERE ------------------------------ M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M+2T@97)R;W(@979A;'5A=&EN9R!B=6EL="!I;B!F=6YC=&EO M;B!;)7-=("TM+0H M !C>V%\9'TK<@!A<'!E;F0 <75O=&4 8V%R &-D<@!C;VYS &%T M;VT 97$ ;G5L; !N;W0 <'5T<')O< !G970 9F5X<'( 97AP<@!M86-R;P!D M969U;@!D968 <'5T9 !G971D &%S<V]C '!A:7)L:7, 97AP;&]D90 M+2T@ M8W)E871E9"!A=&]M('1O;R!B:6<@+2TM"@!I;7!L;V1E &5X<&QO9&5N "L M+0 J "TM+2!D:79I9&4@8GD@>F5R;R M+2T* "\ ;6%X &UI;@!M;V0 / ^ M #T <')O9P!S970 <V5T<0!R971U<FX 9V\ <F5V97)S90!E=F%L &%P<&QY M &5X:70 <&QI<W0 9V, 9V5T96YV "TM+2!787)N:6YG(&UA8W)O(&1I9"!N M;W0@<F5T=7)N(&$@;F]N(&5M<'1Y(&QI<W0@+2TM"@!M86-R;V5X<&%N9 !M M87!C87( :'5N:W :'5N:P!M86MH=6YK &AU;FMS:7IE &-X<@!R<&QA8W@ M:'5N:RUT;RUL:7-T /&5N=&5R/B /$58250^(" +2TM('5N8F]U;F0@ M871O;2!;)7-=("TM+0H +2TM(&UA8W)O("5S(&1I9"!N;W0@<F5T=7)N(&QI M<W0@+2TM"@ M M M M M M !+ M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M 3$E34" H:6YT97)N86PI M($9I;F12969E<F5N= H ;FEL "TM+2!B860@9F]R;6%L('!A<F%M971E<B!I M;B!U<V5R(&9U;F-T:6]N("TM+0H 87!P;'D +2TM(&%C='5A;"!P87)A;65T M97)S(&1O;B=T(&%G<F5E('=I=&@@9F]R;6%L('!A<F%M971E<G,@+2TM"@ M M+2T@871T96UP="!T;R!R961E9FEN92!B=6EL="!I;B!F=6YC=&EO;B!;)7-= M("TM+0H <'5T9'QD969\9&5F=6X +2TM(&)A9"!L;V-A;"!V87)I86)L92 M M+2T* '!R;V<@;W(@87!P;'D 3&ES<"!I;G1E<FYA;"!E<G)O<B!I;B!3971, M;VYG5F%R"@ M M $Q)4U @+2 H26YT97)N86PI($AO;&13=&%C:T]P97)A=&EO;B$* %M=( !) M;G1E<FYA;" M($AO;&13=&%C:T]P97)A=&EO;@!3>6YT87@@17)R;W(@+2 E M<PH 8F%D('5S92!O9B!D;W0 8F%D(&QI<W0@;F5S=&EN9R$ ;&ES="!D:60@ M;F]T('-T87)T('=I=&@@)R@G 'L ( !] "5S 'PE<WP )24E<T E,#)D)24 M)68 )2XP9@ E;&0 (B5S(@!,:7-P(&EN=&5R;F%L("AP<FEN=&%T;VTI"@ @ M/"HJ/@!Q=6]T90 G "@ ("X@ "D "@!P<F]G HM+2T@4W1A8VL@3W9E<D9L M;W< (&EN(&=C+"!W:6QL(')E<W1A<G0@=&AE(&=C(2 H<VAO=W-T86-K(&YO M="!C=7)R96YT*0 @86=A:6XA(%)E;6]V:6YG(&YO;B!G;&]B86P@8FEN9&EN M9W,@86YD(')E=')Y:6YG(0 @86=A:6XA($U%34]262!#3U)255!4(2!93U4@ M35535"!154E4(%))1TA4($Y/5R$* $Q)4U @*&EN=&5R;F%L*2!U;FMN;W=N M(&UA<FMI;F<@=F%L=64_/PH ("TM+0H "BTM+2!);G1E<G)U<'1E9" M+2T* M '( +FP 3$E34"5,24( 7 D;&1P<FEN= M+2!;)7-=(&5M<'1Y("TM"@ M M+2T@6R5S72!L;V%D960@+2TM"@ M+2T@26YT97)N86PZ($)A9"!-87)K(%-T M86-K(%1O<" H;6ES<VEN9R!P;W _*2 M+2T* %!#+4Q)4U @5C(N,3 @*%-H M87)E5V%R92D@07!R:6P@,3DX-B!B>2!0971E<B!!<VAW;V]D+5-M:71H"@!, M25-0)4%,4$@ 3$E34"5(14%0 $Q)4U E345- $Q)4U E2T5%4 !P8RUL:7-P M+FP +2TM(&-A;B=T(&9I;F0@)7,@+2TM"@!E<CX +2T^ "1 M M M M M M 4V5T("4E)W,@=&]T M86P@;6]R92!T:&%N(#DP)24A"@!786ET+BX " @(" @( %-O<G)Y($D@;F5E M9" ^("5L9"!B>71E<R!T;R!R=6X@8G5T(&]N;'D@)6QD(&%R92!A=F%I;&%B M;&4A"@!3970@)24G<R!D;VXG="!L96%V92!M96UO<GD@9F]R(&%T(&QE87-T M(#$@8V5L;"!B;&]C:R$* %!#+4Q)4U @=7 @=VET:" E;&0@8GET97,@9G)E M92P@)6QD)24@86QP:&$L("5L9"4E(&AE87 N"@!,25-0("T@8V]N<R!C96QL M(&UE;6]R>2!E>&AA=7-T960N"@!,25-0("T@86QP:&$@;65M;W)Y(&5X:&%U M<W1E9"X* $Q)4U M:6YT97)N86PZ:&5A<&=E="@I(0H 3$E34"AI;G1E<FYA M;"D@26YF;W)M(%)E;&]C871I;F<H*0H 3&ES<" M(&]U="!O9B!H96%P('-P M86-E"@ D9V-P<FEN= D9V-C;W5N="0 +2TM("-G8STE;&0L(&-O;G,])6QD M)24L(&%L<&AA/25L9"4E+"!H96%P/25L9"4E("TM+0H M M M M M M = !N:6P ;&%M8F1A &YL86UB9&$ ;6%C M<F\ ;&%B96P )%M\9V]\720 )%M\<F5T=7)N?%TD "1G8V-O=6YT) D;&1P M<FEN= D9V-P<FEN= !M96US=&%T '%U;W1E &-A<@!C9'( 8V]N<P!A=&]M M &5Q &YU;&P <'5T<')O< !G970 9&5F &-O;F0 87-S;V, <&%I<FQI<P K M "T *@ O #T / ^ &UO9 !M87@ ;6EN '!R;V< <V5T ')E='5R;@!G;P!R M979E<G-E &%P<&5N9 !E>'!L;V1E &EM<&QO9&4 97AP;&]D96X ;&ES= !A M<V-I:0!P<FEN= !P871O;0!P<FEN8P!R96%D8P!R96%D &5V86P 87!P;'D M;6%P8V%R &YT: !N;W0 ;&5N9W1H &9I;&5O<&5N &-L;W-E &%N9 !O<@!E M>&ET '-E='$ <&QI<W0 9V, 9V5T96YV &1E9G5N '!U=&0 9V5T9 !O8FQI M<W0 :&%S:'1A8G-T870 97%U86P 86QP:&%L97-S< !N=&AC:&%R &)O=6YD M< !G96YS>6T ;&ES=' 9FQO871P '!O<G1P '1Y<&4 ;&]A9 !S971P;&ES M= !R96UP<F]P &%B<P!A8V]S &%S:6X 871A;@!C;W, 97AP &5X<'0 9F%C M= !L;V< ;&]G,3 <VEN '-Q<G0 <F%N9&]M '1R86-E '5N=')A8V4 ;6%C M<F]E>'!A;F0 <VAO=W-T86-K &9L871C &9L871S:7IE '!P+69O<FT <WES M.G5N;&EN:P!F:6QE<&]S '1R=65N86UE '-I>F5O9@!M96UU<V%G90 Q*P!A M9&0Q #$M '-U8C$ 9FEX &9L;V%T '-U;0!A9&0 <&QU<P!D:69F &1I9F9E M<F5N8V4 <')O9'5C= !T:6UE<P!Q=6]T:65N= !G<F5A=&5R< !L97-S< !O M9&1P &5V96YP 'IE<F]P &UI;G5S< !P;'5S< !L<V@ 9FEX< !N=6UB< !N M=6UB97)P &QA<W0 ;G1H8V1R '-T<FEN9W 8VAA<F%C=&5R+6EN9&5X &=E M=%]P;F%M90!S=6)S=')I;F< 8V]N8V%T &AU;FL ;6%K:'5N:P!H=6YK<VEZ M90!C>'( <G!L86-X &AU;FLM=&\M;&ES= !H=6YK< !M96UB97( ;65M<0!R M<&QA8V$ <G!L86-D &-O<'D 3$E34"!I;G1E<FYA;"P@=6YK;F]W;B!C96QL M"@!P;W)T &9L;VYU;0!F:7AN=6T <W1R:6YG '-Y;6)O; 9R4P-6QD M "TM+2!A=&]M('1O;R!B:6<@+2TM"@ E<R4P-6QD &]T:&5R H <W5M?'!L M=7-\861D &1I9F9\9&EF9F5R96YC90!T:6UE<WQP<F]D=6-T "TM(&1I=FED M92!B>2!Z97)O("TM"@!N=6UB<'QN=6UB97)P *L1:@IJ&&H*>AAJ"B$9:@KY M&6H*SQIJ"AL>:@I '6H*A!9J"J,7:@H='&H*IQMJ"GP?:@JU'VH*&")J"JPB M:@IB(VH*[29J"JPG:@K**&H*/2EJ"J8I:@H1*FH*<R9J"IPD:@HV)6H*9"QJ M"OTL:@IW+6H*93-J"O$M:@KE+FH*XC!J"L(R:@I?+VH*V2]J"FLN:@I(,FH* M*31J"HXU:@I!-FH*]#9J"CDW:@H;.&H* 3EJ"D4Z:@J[.FH*\#MJ"MT4:@J% M%&H*93QJ"N,\:@JS/6H*,3YJ"@$_:@JA/VH*2T!J"FQ!:@KU0FH*%D1J"L%% M:@JU1FH*-$AJ"JE':@J_2&H*E$EJ"FI*:@I+2VH*-TQJ"JI,:@HU36H*\4UJ M"C9/:@H#4&H*QU!J"I)3:@HM46H*M%1J"GM5:@K?5FH*0%9J"D58:@H M / _ X#\ #POP .!!(W-C<FUD92, M(W-C<G-C<", (W-C<G-C=", (W-C<G-A<", (W-C<G=D;W0C "-S8W)L:6YE M(P C=&EM92, (V1A=&4C ( NP/S#U %\P^N!/,/0 3S#RP&\P\(!_,//@+S M#^D \P\ M !@M1%3[(>D_&"U$5/LA^3\8+414^R'I/P M 97,M.%+!X#\8+414^R'Y/V5S+3A2P? _<W%R= !L;V< ;&]G,3 97AP M &-O<P!S:6X 86-O<P!A<VEN *&& 0 7"6TYE^+B/_;,D@ UM=H_S#M_9IZ@ MYC\ . _*+U6LQ5$Z;_LKQ8@2F(P0)JULQ+_!U# #LYG M2X#50<!])A7Z@X!S0'>0#9S^"XC J QA7!#0*[\ #!V0 (! M#N4F%7O+VS]^48+^0BY60'<H"O2)U57 HXT7]/__CSP #P/_Z"*V5' M%?<_'I+F*D2+ #^E$BKR2P=_/P - _503E#&,SJ3[?U"A<#*]$/_[9 MWU$H%ZT_&"U$5/LA^3\ >@\6Q08+(R6TP7]0_ B"4"=Y9Y+[Z[B MOC$QY6&>H$8^E-^3:?^ Z#R;20C<(.1JO2_4:F@\$N8]J\!=2T7F6KYB\"2E MXQW'/AH^ 1J@ 2J_L! 1$1$1@3]45555557%OV0>YK6]2^:_)SGL9!=.)$"? MVJ:I+-A#P(K4"C:GFDQ 8@HZJ%5>.\ ?AOENZ-(WP&\<699\WF) 1ZA6_,[= M=\!"N!X03Q)Z0,R'*S[ AF3 JDQ8Z'JV^S^]A['9>LWJOV-JC5P__2# RKSB MN7^!-,#A' 91IF KP!#'2N%)#"Y UJ,-,@K*34"D;0L$$HI50*F5Q+Q\B$1 M @%5514$ M M M M M M M M M ! M8V]N.@ 4-/3CH )P<FXZ "4%)..@ FQS=#H M ),4U0Z ";'!T.@ DQ05#H )L<'0Q.@ " M3%!4,3H V%U>#H -!55@Z #8V]M.@ T-/33H M -C;VTQ.@ #0T]-,3H W)D<CH -21%(Z # M<'5N.@ U!53CH 1N=6PZ $3E5,.@ !&YU;&PZ M 1.54Q,.@ M M M @ M M M @(" @(" @(" H*"@H*" @(" @(" @(" @(" @(" @($@0 M$! 0$! 0$! 0$! 0$!"$A(2$A(2$A(2$$! 0$! 0$(&!@8&!@0$! 0$! 0$! M 0$! 0$! 0$! 0$!$! 0$! 0@H*"@H*" @(" @(" @(" @(" @(" @(" @(0 M$! 0(" @(" @(" @("@H*"@H(" @(" @(" @(" @(" @(" @2! 0$! 0$! 0 M$! 0$! 0$(2$A(2$A(2$A(00$! 0$! 0@8&!@8&! 0$! 0$! 0$! 0$! 0$! M 0$! 0$0$! 0$!""@H*"@H(" @(" @(" @(" @(" @(" @(" A 0$! @ D,#$R,S0U-C<X.4%"0T1%1@ @ end
petera@utcsri.UUCP (Smith) (04/27/86)
[ line eater ] [ PC-LISP.EXE (part 3 of 4) ] -------------------- CUT HERE ----------------- M! "R$[[2F8E$!HE<!(E, HD4BT8BF@, D1,>OM*95IH( #(2@\0,7<N#Q Q= MRU6#[!0[)A <@7J8@$ (OL%HU&$E SP%"+1B"+7AZ+3AR+5AI04U%2#NBR M 8OEB480B5X.B4X,B58*L0.+1A+3X(S;OOJ9 _"_^ID#^(E>"([#)HM$!B:+ M7 0FBTP")HL4CD8(B_<&5IH$ +(3%HUV"E::! "R$XE&$(E>#HE.#(E6"HM& M((M>'HM.'(M6&AZ^>YI6F@P YQ-]'8M&$(M>#HM.#(M6"IH) %\2B480B5X. MB4X,B58*BT80BUX.BTX,BU8*@\047<M5@^P4.R80 '(%ZF(! "+[!:-1A)0 MN $ 4(M&((M>'HM.'(M6&E!345(.Z.< B^6)1A")7@Z)3@R)5@J+1B"+7AZ+ M3AR+5AH>OGN:5IH, .<3?4NQ XM&$M/@C-N^"IH#\+\*F@/XB5X(CL,FBT0& M)HM<!":+3 (FBQ2.1@B+]P96F@0 LA,6C78*5IH$ +(3B480B5X.B4X,B58* MZV6Q XM&$M/@C-N^^ID#\(E& ([#)HM$!B:+7 0FBTP")HL4%HUV"E::$@"R M$XE&$(E>#HE.#(E6"HS8OOJ9 W8 B48"BT80BUX.BTX,BU8*CD8"!E::! "R M$XE&$(E>#HE.#(E6"HM&$(M>#HM.#(M6"H/$%%W+58/L&#LF$ !R!>IB 0 MB^R+1B2+7B*+3B"+5AZ)1@Z)7@R)3@J)5@@SP(M>#H#G?XE>#HM&#HM>#(M. M"HM6"!Z^@YI6F@P YQ-_ ^G2 ;@! (M>)BO#Q'8H)HD$BT8.BUX,BTX*BU8( M'K[SFE::# #G$WX@@WXF '0.'KA5FE":70!\ (OEZPP>N%J:4)I= 'P B^6^ M\YJ+1 :+7 2+3 *+%!:-=@A6FA( LA,>OH.:5IH( #(24%-14HE&%HE>%(E. M$HE6$ [HR_"+Y9H) %\2B48.B5X,B4X*B58(L02+1@[3Z(#D!T"Q!-/@)?!_ MBTX.@>$/@ O(B4X.BT86BUX4BTX2BU80'KZCFU::" R$AZ^JYM6F@0 LA,6 MC7805IH( #(2'KZSFU::! "R$Q:-=A!6F@@ ,A(>OKN;5IH$ +(3%HUV$%:: M" R$AZ^PYM6F@0 LA,6C7805IH( #(2ONJ9B40&B5P$B4P"B12+1A:+7A2+ M3A*+5A >OLN;5IH$ +(3%HUV$%::" R$AZ^TYM6F@0 LA,6C7805IH( #(2 M'K[;FU::! "R$Q:-=A!6F@@ ,A(>ON.;5IH$ +(3%HUV$%::" R$AZ^ZYM6 MF@0 LA.^\IF)1 :)7 2)3 *)%+[JF8M$!HM<!(M, HL4%HUV"%::" R$AZ^ M\IE6F@< ?!,6C78(5IH$ +(3ON*9B40&B5P$B4P"B13I:@&+1B;$=B@FB02+ M1@Z+7@R+3@J+5@@>OEN;5IH, .<3?1&^XIF)1 :)7 2)3 *)%.DX 8M&#HM> M#(M."HM6"!:-=@A6F@@ ,A*)1A:)7A2)3A*)5A >OJ.;5IH( #(2'KZKFU:: M! "R$Q:-=A!6F@@ ,A(>OK.;5IH$ +(3%HUV$%::" R$AZ^NYM6F@0 LA,6 MC7805IH( #(2'K[#FU::! "R$Q:-=A!6F@@ ,A*^ZIF)1 :)7 2)3 *)%(M& M%HM>%(M.$HM6$!Z^RYM6F@0 LA,6C7805IH( #(2'K[3FU::! "R$Q:-=A!6 MF@@ ,A(>OMN;5IH$ +(3%HUV$%::" R$AZ^XYM6F@0 LA,6C7805IH( #(2 M'K[KFU::! "R$[[RF8E$!HE<!(E, HD4ONJ9BT0&BUP$BTP"BQ06C78(5IH( M #(2'K[RF5::!P!\$Q:-=@A6F@0 LA.^XIF)1 :)7 2)3 *)%+[BF8M$!HM< M!(M, HL4@\087<M5@^P2.R80 '(%ZF(! "+[(M&'HM>'(M.&HM6&+[2F8E$ M!HE<!(E, HD4,\"+'MB9@.=_B1[8F8M$!HM<!(M, HL4'K[SFE::# #G$WXM MOO.:BT0&BUP$BTP"BQ0>OM*95IH' 'P3QT80 @"^TIF)1 :)7 2)3 *)%.L% MQT80 "^TIF+1 :+7 2+3 *+%!Z^\YM6F@P YQ-_ ^E_ !Z^\YM6F@@ ,A(> MOH.:5IH2 +(3'KZ#FE::$@"R$QZ^TIE6F@0 LA.)1@:)7@2)3@*)5@"^TIF+ M1 :+7 2+3 *+%!Z^\YM6F@0 LA.)1@Z)7@R)3@J)5@B+1@:+7@2+3@*+5@ 6 MC78(5IH' 'P3_T80OM*9B40&B5P$B4P"B12^TIF+1 :+7 2+3 *+%!Z^>YI6 MF@P YQ-]$[[2F8M$!HM<!(M, HL4F@D 7Q(>OEN;5IH, .<3?1^^TIF+1 :+ M7 2+3 *+%+[:F8E$!HE<!(E, HD4Z18!OM*9BT0&BUP$BTP"BQ0>OM*95IH( M #(2ON*9B40&B5P$B4P"B10>OON;5IH( #(2'KX#G%::! "R$QZ^XIE6F@@ M,A(>O@N<5IH$ +(3'K[BF5::" R$AZ^$YQ6F@0 LA,>ON*95IH( #(2ONJ9 MB40&B5P$B4P"B12^XIF+1 :+7 2+3 *+%!Z^&YQ6F@0 LA,>ON*95IH( #(2 M'KXCG%::! "R$QZ^XIE6F@@ ,A(>OBN<5IH$ +(3'K[BF5::" R$AZ^,YQ6 MF@0 LA.^\IF)1 :)7 2)3 *)%+[JF8M$!HM<!(M, HL4'K[2F5::" R$AZ^ M\IE6F@< ?!,>OM*95IH$ +(3OMJ9B40&B5P$B4P"B12#?A !?AZ^VIF+1 :+ M7 2+3 *+%)H) %\2B40&B5P$B4P"B12Q XM&$-/@C-N^&IH#\([#)HM$!B:+ M7 0FBTP")HL4'K[:F5::! "R$[[:F8E$!HE<!(E, HD4BT8>BUX<BTX:BU88 M'KY[FE::# #G$WT>OMJ9BT0&BUP$BTP"BQ2:"0!?$HE$!HE<!(E, HD4OMJ9 MBT0&BUP$BTP"BQ2#Q!)=RU6#[! [)A <@7J8@$ (OLH6&:BQY?FC/)NGT MF@$ 0A*Y*@"ZJZJC89J)'E^:F@4 ;A.Y*@"ZJZJ: 0!"$HL.7YHKRXL689H; MT(O"B]FC89J)#E^:F@8 CA,>OCN<5IH' 'P3B48&B5X$B4X"B58 BT8DBUXB MBTX@BU8>%HUV%E::$@"R$Q:-=@!6F@@ ,A(6C7865IH$ +(3@\007<M5@^P8 M.R80 '(%ZF(! "+[+[SFHM$!HM<!(M, HL44%-14C/ ,]LSR3/24%-14@[H M+?^+Y8E&%HE>%(E.$HE6$(M&+(M>*HM.*(M6)A:-=AY6F@< ?!-04U%2#NC4 MZXOE%HUV$%::" R$E!345(.Z.[NB^46C78>5IH( #(2B486B5X4B4X2B580 M@\087<M5@^P,.R80 '(%ZF(! "+[(S8NT2<B48&B5X$BT8$NZR=.\-S%8Y& M!HOP)HI$###DA<!T!H-&!!+KX8M&!HM>!(S9NJR=.\%U CO:=0DSP#/;@\0, M7<O_=@;_=@3_=AC_=A;_=A3_=A(.Z < B^6#Q Q=RU6#[ X[)A <@7J8@$ M (OLQ'8<)HI$#(3 ="4PY"4" '0-!E:X__]0FDH!*1.+Y<1V'":*1 TPY%": M, F.$HOEQ'88)HI$ 3#D/2L = 0SV^L#,]M#)HH$,.2(7@SI!0&A'*$-" ") M1@""?@P = 6X @#K [@! (M> O8@<L ;BD 5!3_W86_W84FE0 CA*+Y8E& M!D!U"3/ ,]N#Q Y=R[@" % SP% SVU/_=@::*@B.$HOE@GX, '0%N( ZP.X M @")1@3ILP""?@P = 6X @#K C/ BQX<H0O84_]V%O]V%)I4 (X2B^6)1@9 M=0DSP#/;@\0.7<N"?@P = 6X@ #K [@! (E&!.MP@GX, '0%N ( ZP.X 0"+ M'ARA"]B!RP !@<L KBD 5!3_W86_W84FE0 CA*+Y8E&!D!U"3/ ,]N#Q Y= MRX)^# !T!;B .L#N ( B48$ZR SP#/;@\0.7<L]=P!THCUR '4#Z5?_/6$ M=0/IYO[KX(M&!M'@T>"+\(*\K9T =!^!3@0$ (M&'HM>'(/#$([ BW8<)HE$ M"H[ )HE<".L/Q'8<)L=$"@ )L=$" BT8&Q'8<)HA$#2:+1 HFBUP()HE$ M B:)'#/ )HE$!B:)1 2+1@0FB$0,C,"+WH/$#EW+58/L!#LF$ !R!>IB 0 MB^S$=@HFBD0,,.0E @!T#096N/__4)I* 2D3B^7$=@HFBD0,,.0E# !U&B:# M? X =!,F_W0.)O]T"B;_= B:50.V%(OEQ'8*)L=$"@ )L=$" )L=$#@ M)L9$# FBD0-,.10FC )CA*+Y8/$!%W+55>#[!:+[(Y&(":+? 8S^(E^ B7_ M?W41B_@+^W4+"_EU!POZ=0/IE0 FBWP&@>?_?W41)@M\!'4+)@M\ G4%)@L\ M='J:"@ @%8EV!(E&!HE>"(E."HE6#(MV'B:+1 8FBUP$)HM, B:+%)H* " 5 M 78$B48.B5X0B4X2B584,_8SP#/;,\DSTHM^#.A# (M^"N@] (M^".@W (M^ M!N@Q (7V= W1[M'8T=O1V=':_T8$BW8$BWX"F@P (Q7K"#/ ,]LSR3/2BW8> M@\067UW*! #'1@ 0 -'NT=C1V]'9T=K1[W,/ U84$TX2$UX0$T8.@]8 _TX M==[#58/L!(OLB48 "\-T7XE. @O*=%2+1@"+3@*+\(7V>0?WT/?;'?__,_&) M=@"%R7D']]'WVH/9_[X@ (EV C/V,__1[M'?T=C1VW,$ _H3\?]. G7MT>C1 MVXMV (7V>0WWT/?;'?__ZP0SP#/;@\0$7<M5@^P&.R80 '(%ZF(! "+[,=& M! BT8$/10 ?1J[$@#WZXS;N42< \A349IG @02B^7_1@3KWL=&! @WX$ M%'T/_W8$FC )CA*+Y?]&!.OK_W80_W8._W8,F@ &12+Y8/$!EW+58/L##LF M$ !R!>IB 0 B^R#?A( =0DSP#/;@\0,7<N#1A("_W82FED!MA2+Y8E&!@O# MB5X$=0DSP#/;@\0,7<N+1@:+=@2+7A*.P":)'(O>B5X(B48*@\,"<P2!P 0 MF@( BQ*#Q Q=RU6#[ P[)A <@7J8@$ (OLBT82]V844(E&! [H=_^+Y8E& M"@O#B5X(=0DSP#/;@\0,7<LSP%#_=@3_=@K_=@B: @"R%(OEBT8*BUX(F@( MBQ*#Q Q=RU6#[ @[)A <@7J8@$ (OLBT80BUX.@^L"<P2!Z 0CL F_S=0 M4XE&!HE&$(E>!(E>#II5 [84B^6#Q A=RZG_?W4#,\#+-0" RU6![!8!.R80 M '(%ZF(! "+[(S0C9X@ 8E&%(E>$L2V' $FB@0PY(7 =0/I' &+QHE& $ F MBAPP_X/[)8F&' &)7@IT ^G0 (OP)HH<,/^#^R5U._^&' $FB@0PY(L>7)Q+ MA=N)1@J)'ER<> _$-E:<_P96G":(!##DZZ*,V+M6G%!3_W8*FDH!*1.+Y>N/ M%HU&#% 6C4824!:-1A90_[8> ?^V' &:# H%(OEB480"\.)7@YU ^ED_XM& M$,=&" B88> 8F>' &+1@B+7@P[V'\#Z4?_BQY<G$N%VXD>7)QX&(LV5IS_ M!E:<B_B*0Q:.!EB<)H@$,.3K%XMV"(I"%C#DC-NY5IQ345":2@$I$XOE_T8( MZ[*A7)Q(A<"C7)QX$\0V5IS_!E:<BT8*)H@$,.3IZ/Z,V+M6G%!3_W8*FDH! M*1.+Y>G4_H'$%@%=RU6#[ 8[)A <@7J8@$ (OLQ'8,)HI$###D)0( = \& M5KC__U":2@$I$XOEZQJ#?A0!=13$=@PFBT0$,]N%P'D!2RE&$!E>$L1V#":+ M1 HFBUP()HE$ B:)'#/ )HE$!B:)1 0FBD0,,.2I@ ")1@!T!R7\_R:(1 S$ M=@PFBD0-,.3_=A3_=A+_=A!0FBH(CA*+Y8/[_W4#/?__=0BX__^#Q 9=R\1V M#":*1 PPY"7/_R:(1 PSP(/$!EW+58/L"CLF$ !R!>IB 0 B^S$=A FBD0- M,.2[ 0!3,]M3,\E14)HJ"(X2B^6#^_]U SW__XE&"(E>!G0*Q'80)H-\#@!U M"XM&"(M>!H/$"EW+Q'80)HI$###D)0( ="$FBP0F*T0(,]N%P'D!2XM.!@/( MBU8($].+PHO9@\0*7<O$=A FBT0$,]N%P'D!2XM.!BO(BU8(&].+PHO9@\0* M7<M1L033P(O()0\ @>'P_P/9%0 B\N!X0\ D]'KT=C1Z]'8T>O1V-'KT=B+ MV5G+58/L!#LF$ !R!>IB 0 B^R+1@J%P'@6/10 ?1'1X-'@B_"*A*R=,.0E M@ !U#\<&])\) #/ ,]N#Q 1=RXM&"M'@T>",V[FLG0/(B\.+V8/$!%W+58/L M#CLF$ !R!>IB 0 B^S'1@8 (M&!CT4 'T5T>#1X(OPBH2LG3#DA<!T!?]& M!NOC@WX&%'4.QP;TGQ@ N/__@\0.7<N+1@;1X-'@C-NYK)T#R(OQH?B@)0" MBTX8,\&)1A@E (")7@R)=@IT!;@0 .L",\ -@ #$=@HFB 2+1A@E P#K9\1V M"B:*!##D#4 )H@$ZVB+1A@E" !T!;@( .L",\ -( #$=@HFBAPP_PO8)H@< MZT>+1A@E" !T!;@( .L",\ -8 #$=@HFBAPP_PO8)H@<ZR;$=@HFQ@0 QP;T MGQ8 N/__@\0.7<L] @!TQ3T! '2?/0 =(KKVL1V%":*!##DA<!U$,1V"B;& M1 $!BT8&@\0.7<O'1@@ (M&"#T8 'U"NPH ]^N,V[G\G0/(05-1_W86_W84 MF@ SQ.+Y87 =1V+1@B["@#WZXOPBH3\G<1^"B:(10&+1@:#Q Y=R_]&".NV MQ'8*)L9$ 0"+1A@E )T#?]V%O]V%)JW D4B^6+1A@E P!0_W86_W84FAX M"12+Y<1V"B:)1 *#/O*? '0[BT88)0 #=!<SP%#_=A;_=A2: @ )%(OEQ'8* M)HE$ H,^\I\ =$/'!O2? @#$=@HFQ@0 N/__@\0.7<N+1A@E 4] 5U(\1V M"B;_= *:.@ )%(OEQP;TGQ$ Q'8*)L8$ +C__X/$#EW+BT8&@\0.7<M5@^P& M.R80 '(%ZF(! "+[(M&$"4 @ T! XM>$('C_W]34/]V#O]V# [HN/V+Y8/$ M!EW+58/L'#LF$ !R!>IB 0 B^R+1BB%P'D.QP;TGQ8 N/__@\0<7<O_=B(. MZ##]B^6)1AH+PXE>&'4(N/__@\0<7<O$=A@FBD0!,.3I\0*+1B@] 0!_ ^F7 M #V 'X%N( ZP.+1B@>N^R>4Z+LGIH$ +44B^7'1@@ ,=&"@( H.R>,.2+ M7@@[PWY2BT8*_T8*B_"*A.R>B$8&,.0]#0!U$_]&"(M&)HMV) /SCL FQ@0* MZRF*1@8PY#T: '4'QT8( #K&(M&"/]&"(M>)HMV) /PBD8&CL,FB 3KHK@* M %":1P :%(OEBT8(@\0<7<NX&A2[!0"Y&A2Z1P")1A*)3A:)5A2)7A#K&+@: M%+MS +D:%+J4 (E&$HE.%HE6%(E>$,1V&":*!##D)1 =#3'1@@ (M&"#M& M*'T?BT8(_T8(BUXFBTXD \B)3@")7@+_7A#$=@ FB 3KV8M&"(/$'%W+QT8( M "+1@@[1BA\ ^GB /]>$(A&!C#DZ<$ N T 4/]>%(OEN H 4/]>%(OEBT8( MB48 0(M>)HMV) -V ([#)L8$"HE&"(/$'%W+@WX( '2TN @ 4/]>%(OEN" M4/]>%(OEN @ 4/]>%(OEZY>X#0!0_UX4B^6X"@!0_UX4B^4SP(/$'%W+BT8( M_T8(BUXFBW8D _"*1@:.PR:(!##D/2 ?1JX7@!0_UX4B^6*1@8PY 5 %#_ M7A2+Y>E'_XI&!C#D4/]>%(OEZ3G_&@!S! @ 4 0- " $"@ @!+X, "X[A-$$ M=04N_Z33!(/N!'GOZY6+1@B#Q!Q=RS/ @\0<7<O_=BC_=B;_=B3$=A@F_W0" MFE$ "12+Y8E&"(,^\I\ = BX__^#Q!Q=R\1V&":*!##D)1 = B+1@B#Q!Q= MRS/ B48*B48,BT8*BUX(.]A^8O]&"HM>)HMV) /PCL,FB@2(1@8PY.L_BT8* M*T8(2#/;A<!Y 4NY 0!14U#_=B(.Z*("B^6+1@R#Q!Q=R^NXBT8,_T8,BUXF MBW8D _"*1@:.PR:(!.N@/0T =)L]&@!TM^O<@WX, '4)@WX( '0#Z3__BT8, M@\0<7<NX__^#Q!Q=RP8%\ +_!*P#_P2+\(/^!7,'T>8N_Z37!>O>58/L%CLF M$ !R!>IB 0 B^R+1B*%P'D.QP;TGQ8 N/__@\067<O_=AP.Z.+YB^6)1A0+ MPXE>$G4(N/__@\067<O$=A(FBD0!,.3IW &X&A2[1P")1@B)7@;K&K@:%+O M (E&"(E>!NL,N!H4NY0 B48(B5X&QT8* "+1@J+7B([V'X]_T8*BUX@BW8> M _".PR:*!(A&!##D/0H =1;$=A(FB@0PY"40 '4)N T 4/]>!HOEBD8$,.10 M_UX&B^7KN8M&"H/$%EW+Q'82)HH$,.0E" !T$[@" % SP% SVU/_=AP.Z%(! MB^7$=A(FB@0PY"40 '0N_W8B_W8@_W8>)O]T IIR D4B^6)1@J#/O*? '0( MN/__@\067<N+1@J#Q!9=R\9&!0 SP(E&"HE&#(E&#HM&"HM>(CO8?P/IA #_ M1@J+7B"+=AX#\([#)HH$B$8$,.0]"@!U$8I&!3#D/0T = ?&1@0-_TX*BT8, MB48 0(MV (I>!(B<[)X]@ ")1@R(7@5\K% >N.R>4,1V$B;_= *:<@ )%(OE MB480@S[RGP!T"+C__X/$%EW+BT80.T8,= <SP(/$%EW+QT8, #I;_^#?@P M=#?_=@P>N.R>4,1V$B;_= *:<@ )%(OEB480@S[RGP!T"+C__X/$%EW+BT80 M.T8,= <SP(/$%EW+BT8*@\067<N+1B*#Q!9=R\<&])\3 +C__X/$%EW+N@8^ M!DP&6@;Z!XOP@_X%<P?1YB[_I! (Z]A5@^P2.R80 '(%ZF(! "+[/]V& [H MOO>+Y8E&$ O#B5X.=0NX__^[__^#Q!)=R\1V#B:*1 $PY(7 = DSP#/;@\02 M7<O_=A[_=AS_=AK$=@XF_W0"FI, "12+Y8E&!XE>!8,^\I\ =!''!O2?%@"X M__^[__^#Q!)=RX-^'@)U>XM&!PM&!71SQ'8.)HH$,.0E$ !U9HM&!2T! (M> M!X/; (E&"8E>"XM&"PM&"71!,\!0_W8+_W8)_W88#NA!_XOE"\-T*[@! % 6 MC48$4/]V& [HI/F+Y87 = N+1@N+7@F#Q!)=RX-N"0@L Z[>+1@N+7@F# MQ!)=RXM&!XM>!8/$$EW+58/L"CLF$ !R!>IB 0 B^S_=A .Z+CVB^6)1@@+ MPXE>!G4(N/__@\0*7<LSP,1V!B:*7 $P_X7;B48$=1<F_W0"FCH "12+Y8,^ M\I\ = 7'1@3__\1V!B;&! "+1@2#Q I=RU6+[/]V"/]V!IJW D4B^6#/O*? M '0%N/__7<LSP%W+58/L"#LF$ !R!>IB 0 B^S$=@XFBD0,,.0E, !T"+C_ M_X/$"%W+Q'8.)H-\#@!U'R:*1 PPY"4$ '44!E8.Z%8#B^6%P'0(N/__@\0( M7<O$=@XFBD0,,.0E! !T!\=&!@$ ZRW$=@XFBD0,,.0E @!T"+C__X/$"%W+ MQ'8.)HI$###D#0$ )HA$#":+1 Z)1@;$=@XFBD0-,.3_=@8F_W0*)O]T"%": MHP*.$HOEA<")1@1Y$,1V#B:*1 PPY T@ ":(1 R#?@0 =1#$=@XFBD0,,.0- M$ FB$0,BT8$A<!^%L1V#B:)1 0FBT0*)HM<"":)1 (FB1S$=@XFBD0,,.0E M, !T"+C__X/$"%W+Q'8.)HM$!$@FB40$A<!X$R:+1 (FBQPF_P2.P":*#S#M MZP[_=A#_=@X.Z,7^B^6+R(O!@\0(7<M5@^P..R80 '(%ZF(! "+[(M&%,1V M%B:*7 PP_X'C, ")1@ET"+C__X/$#EW+Q'86)H-\#@!T ^E_ ":*1 PPY"4$ M '5T@WX4_W4',\"#Q Y=R_]V&/]V%@[H]0&+Y87 = BX__^#Q Y=R\1V%B:* M1 PPY T" ":(1 PFBT0.)HE$!D@FB40&A<!X%B:+1 (FBQPF_P2+3A2.P":( M#S#MZQ'_=AC_=A;_=A0.Z%'_B^6+R(O!@\0.7<O$=A8FBD0,,.0E! !T/(-^ M%/]U!S/ @\0.7<N+1A3$=A8FBEP-,/_'1@L! /]V"Q:-3@914XA&!IKQ!8X2 MB^7'1A3__XE&!^F@ ,1V%B:*1 PPY"4! '0(N/__@\0.7<O$=A8FBD0,,.0- M @ FB$0,@WX4_W1 )H-\!@!^.2:+1 9()HE$!H7 >!8FBT0")HL<)O\$BTX4 MCL FB \P[>L1_W88_W86_W84#NB9_HOEB\C'1A3__\1V%B:+!"8K1 B)1@N% MP'0>)HI$#3#D_W8+)O]T"B;_= A0FO$%CA*+Y8E&!^L%QT8' "#?@?_=1+$ M=A8FBD0,,.0-( FB$0,ZQB+1@<[1@MT$,1V%B:*1 PPY T0 ":(1 S$=A8F MBT0.)HE$!B:+1 HFBUP()HE$ B:)'(M&%#W__W0Q)HM<!DLFB5P&A=MX%2:+ M7 (FBPPF_P2.PXOY)H@%,.3K#_]V&/]V%O]V% [HV_V+Y<1V%B:*1 PPY"4P M '0(N/__@\0.7<N#?@G_=0<SP(/$#EW+BT8)@\0.7<M5@^P$.R80 '(%ZF(! M "+[,1V"B:#? X =!(FBD0,,.0E" !U!S/ @\0$7<O_-AJAFED!MA2+Y<1V M"B:)1 (FB1PFB40*)HE<" O#=0['!O2?# "X__^#Q 1=RZ$:H<1V"B:)1 XF MBD0,,.0E\_\FB$0,,\ FB40&)HE$!(/$!%W+58/L!CLF$ !R!>IB 0 B^S' M1@0 (M&#HMV# -V!([ )HH<,/^%VW0%_T8$Z^>+1@2#Q 9=RU6#[ 2+[(E. M O*=0<SP#/;Z9H B48""\-U!S/),]+IC "+3@"+1@*+\(7V>1+WT/?;'?__ M>0DSP#/),]+K;Y S\8EV #/VA<EY!_?1]]J#V?]U'872>!F_( #1X]'0T=8[ M\G(#*_)#3W7P,\F+UNLAOQ T>/1T-'6._%R"W4$.\)R!2O"&_%#3W7HB\Z+ MT#/ ]T8 (!T!_?0]]L=___W1@( @'0']]'WVH/9_X/$!%W+58/L"#LF$ !R M!>IB 0 B^R+=@[_1@[$?A+_1A(FB@6.1A FB 2$P'7G@\0(7<M55X/L%HOL MCD8@)HM\!C/XB7X")?]_=1&+^ O[=0L+^74'"_IU ^F< ":+? :!Y_]_=1TF M"WP$=1<F"WP"=1$F"SQU#+@# %": 0 )%%CK=9H* " 5B78$B48&B5X(B4X* MB58,BW8>)HM$!B:+7 0FBTP")HL4F@H (!4I=@2)1@Z)7A")3A*)5A0S]HM& M!HM>"(M."HM6#.@] (E^!N@W (E^".@Q (E^"N@K (O7BTX*BUX(BT8&BW8$ MBWX"F@P (Q7K"#/ ,]LSR3/2BW8>@\067UW*! #'1@ 0 #/_T>>%]G4:.T8. M<B5U$SM>$'(>=0P[3A)R%W4%.U84=A K5A0;3A(;7A ;1@Z#W@!'T>+1T='3 MT=#1UO]. '7!PU97,\DSTHOXA<!Y!_?0]]L=__^^'P":# C%5]>RU%2F@8 MCA.:# "F$UI9RU97,]LSR3/2B_B%P'D"]]B^#P":# C%5]>RU%2F@, D1.: M# "F$UI9RU%2F@T K!.:# "H$UI9RU6#[ 8[)A <@7J8@$ (OLQP9PGP M@SYPGR!\ ^E_ ,1V#":*!##D0(OXBH7VGS#D)0@ = 7_1@SKY<1V#":*!##D MA<!T6*%PG_\&<)_1X-'@B_"+1@Z+7@R)A'2?B9QRG\1V#":*!##DA<")1@!T M$T"+^(J%]I\PY"4( '4%_T8,Z][$=@PFB@3_1@PFQ@0 B$8$,.2%P'0#Z7G_ MZP#&!E&< + !LP+&!G2<!L8&K)W QP:RG0$ L:#'!K:= @"Z 0!2HF.<HE"< MB ZTG8@.L)V('G6<B!YBG)KQ D4B^4E@ !T"Z!BG##D#00 HF*<'KARGU#_ M-G"?FA8^^02+Y3/ 4)H" $D2B^6#Q 9=RU%2F@T K!.: 0"O$UI9RU97B_B! MY_]_=0<SP#/;7U[+4)H* " 57YH/ !@57U[+5E>+^('G_W]U!S/ ,]M?7LM0 MF@H (!5?1G[O@_X@? BX_W^[___K"[D@ "O.T>C1V^+ZA?]Y!_?0]]L=__]? M7LM65S/),]*+^('G_W]U!S/ ,]M?7LM0F@L +A5?F@P (Q5?7LM65XOX@>?_ M?W4%,\!?7LM0F@H (!5?1G[Q@_X0? 6X_W_K![D0 "O.T^B%_WD"]]A?7LM5 M5X/L#HOLQT8 #K#%57@^P.B^S'1@ @(E& HY&&"7_?W4CB_@+^W4="_EU M&0OZ=14FBT0&,T8 )HM<!":+3 (FBQ3I$0$FBWP&@>?_?W47)@M\!'41)@M\ M G4+)@L\=0:+1@+I\ ":"@ @%8EV!(E&!HE>"(E."HE6#(MV%B:+1 8FBUP$ M)HM, B:+%)H* " 5B_XK=@1]+(/^P'\:BW8$BWX"BT8&BUX(BTX*BU8,F@P M(Q7IGP#1Z-';T=G1VD9U]>L=B7X$@_Y ?!6+?A8FBWT&,WX BW8$F@P (Q7K M=I"'1@:'7@B'3@J'5@R%]G0+T>C1V]'9T=I.=?6+=A8FBW0&,W8",W8 >!L# M5@P33@H37@@31@9S,M'8T=O1V=':_T8$ZR4K5@P;3@H;7@@;1@9S%X%V @" M]]#WT_?1]]KU@]$ @], %0 BWX"BW8$F@P (Q6+=A:#Q Y?7<H$ %!345)6 M,_;1X-'6T>#1UM'@T=;1X-'6 ]B#U@"+QC/VT>'1UM'AT=;1X='6T>'1U@/1 M@]8 B\X[P74".]I>6EE;6,M5B^R:#P"S%)&'VIH/ +,4D8?:*]H;P8M6!C/) MF@4 ;A-=R@( 58/L!#LF$ !R!>IB 0 B^S$=@XFB@0PY,1V"B:*'##_.]AU M&":*!##DA<!U!S/ @\0$7<O_1@K_1@[KU,1V#B:*!##DQ'8*)HH<,/\KV(O# M@\0$7<M1L033P(O(@>'P_R4/ /9%0 60/:$\$E#P"Q!-/(B]/3RH'B_P\+ MPH'C#P#+58'L&@$[)A <@7J8@$ (OLC-"-GB@!BXXB 8N6( &)1AB)3A2) M5A*)7A;$MB0!)HH$,.2%P'4#Z:T B\:)1@! )HH<,/^#^R6)AB0!B5X*= /I M@@"+\":*'##_@_LE=1B+OB !_X8@ ?^&) $FB@2.AB(!)H@%Z[(6C48,4!:- M1A90%HU&&E#_MB8!_[8D 9H, "@4B^6)1A +PXE>#G2*BT80QT8( ")AB8! MB9XD 8M&"(M>##O8?P/I;?^+MB !_X8@ 8OXBD,:CH8B 2:(!/]&".O:Q+8@ M ?^&( &+1@HFB 3I0__$MB !)L8$ (O&*T82@<0: 5W+4"7_?PO#"\$+PEC+ M5U!5B^R.1@PFBWP&]\?_?W4$@>?_?ZG_?W4#)?]_4#/'6'D%#?]_ZRIT!SO' MN ZQ,SP"8[7 1U"R8[3 )U!28[%'0.<P-(ZP,-_W^!YP" ,\>%P%U87\H$ M %6![!8!.R80 '(%ZF(! "+[(S0C9XD 8E&%(E>$L2V( $FB@0PY(7 =0/I M.P&+QHE& $ FBAPP_X/[)8F&( &)7@IT ^GB (OP)HH<,/^#^R5U1O^&( $F MB@0PY,2V' $FBUP&2R:)7 :%VXE&"G@5)HM< B:+#";_!([#B_DFB 4PY.N8 M_[8> ?^V' '_=@J:2@$I$XOEZX06C48,4!:-1A)0%HU&%E#_MB(!_[8@ 9H, M "@4B^6)1A +PXE>#G4#Z5G_BT80QT8( ")AB(!B9X@ 8M&"(M>##O8?P/I M//_$MAP!)HM<!DLFB5P&A=MX&B:+7 (FBPPF_P2+^(I#%H[#B_DFB 4PY.L8 MBW8(BD(6,.3_MAX!_[8< 5":2@$I$XOE_T8(ZZO$MAP!)HM$!D@FB40&A<!X M%R:+1 (FBQPF_P2+3@J.P":(#S#MZ<S^_[8> ?^V' '_=@J:2@$I$XOEB\CI MM?Z!Q!8!7<M0,\%84'@/*\%U#C/ .]IT"'<#2.L##?]_A<!8RU&Q!-/ B\B! MX?#_)0\ ]D5 !9*]H;P24/ +$$T\B+T]/*@>+_#PO"@>,/ ,O+58OLQP;R MGP 'L56!HM."K0\S2$?<P.C\I]=RU6+[,<&\I\ ![%5@:+1@JT/<TA'W,# MH_*?7<M5B^S'!O*? "+7@:T/LTA<P.C\I]=RU6+[,<&\I\ (M>!HM.#![% M5@BT/\TA'W,%H_*?,\!=RU6+[,<&\I\ (M>!HM.#![%5@BT0,TA'W,%H_*? M,\!=RU6+[,<&\I\ (M&#+1"BUX&BTX*BU8(S2%S Z/RGXO8B\)=RU6+[,<& M\I\ ![%5@:T0<TA'W,#H_*?7<M5B^S'!O*? >Q58&BT8*M$.+3@S-(1]S M Z/RGXO!7<M5B^R+7@:X $3-(8O"7<M5B^S_=@K_=@C_=@::@@$ (OE7<M5 M@^P".R80 '(%ZF(! "+[+@( %":!@ P%8OE@\0"7<M5@^P".R80 '(%ZF(! M "+[+@! %":!@ P%8OE@\0"7<M5@^P".R80 '(%ZF(! "+[(I&"##D4+@" M %":!@ P%8OEBD8(,.2#Q )=RU6#[ ([)A <@7J8@$ (OLN , 4)H& # 5 MB^6#Q )=RU6#[ ([)A <@7J8@$ (OLBD8(,.10N 0 4)H& # 5B^6*1@@P MY(/$ EW+58/L CLF$ !R!>IB 0 B^R*1@@PY%"X!0!0F@8 ,!6+Y8I&"##D M@\0"7<M5@^PZ.R80 '(%ZF(! "+[#/ QT84___'1A8@ ,1V0":*'##_@_LM MB48.B488B480B482=0FX 0#_1D")1@[$=D FB@0PY(E& $"+\(J$]I\PY"4$ M '1-@WX ,'4%QT86, #$=D#_1D FB@0PY"4/ (E&&,1V0":*!##D0(OXBH7V MGS#D)00 =!N+1AB["@#WZ_]&0":*'##_@>,/ /#B488Z\_$=D FB@0PY#TN M '4Y_T9 QT84 #$=D FB@0PY$"+^(J%]I\PY"4$ '0;BT84NPH ]^O_1D F MBAPP_X'C#P #PXE&%.O/Q'9 )HH$,.0]; !U";@! /]&0(E&$,=&( QT8> M #$=D FB@0PY.DR X-^$ !T(<1V2":+1 (FBQPF@P0$CL FBT\"CL FBQ>) M3B2)5B+K(,1V2":+1 (FBQPF@P0"CL FBP\STH7)>0%*B4XBB58DBT8DA<!Y M4_=6)/=>(H->)/_'1A(! .M"@WX0 '0AQ'9()HM$ B:+'":#! 2.P":+3P*. MP":+%XE.)(E6(NL;Q'9()HM$ B:+'":#! *.P":+#S/ B48DB4XBQT8("P"+ M1@A(B_")1@B+1B2+7B(SR;H* (EV )H% &X3@\(P@]$ BW8 B%(FBT8DBUXB M,\FZ"@":!0!N$XE&)(E>(HM&) M&(G6Z@WX2 74-BT8(2(OPQD(F+8E&"(S0 MC5XFBTX( ]FZ"P KT8E&((E6#(E>'NDN H-^$ !T(<1V2":+1 (FBQPF@P0$ MCL FBT\"CL FBQ>)3B2)5B+K&\1V2":+1 (FBQPF@P0"CL FBP\SP(E&)(E. M(L=&" @ BT8(2(OPBUXDBTXB,]N!X0\ B_F*G?J@B%HFN00 BUXDBU8BT?O1 MVN+ZB5XD@>/_#XE&"(E6(HE>)(M&) M&(G6^C-"-7B:+3@@#V;H( "O1B48@ MB58,B5X>Z8H!@WX0 '0AQ'9()HM$ B:+'":#! 2.P":+3P*.P":+%XE.)(E6 M(NL;Q'9()HM$ B:+'":#! *.P":+#S/ B48DB4XBQT8("P"+1@A(B_"+7B2+ M3B(SVX'A!P"#P3"#TP"(2B:Y P"+7B2+5B+1^]':XOJ)7B2!X_\?B48(B58B MB5XDBT8D"T8B=;Z,T(U>)HM." /9N@L *]&)1B")5@R)7A[IY@"#?A3_=07' M1A3( ,=&# BT8,BUX4.]A^*,1V2":+7 (FBSR.PR:+10*.PR:+-0-V#([ M)HH<,/^%VW0%_T8,Z\[$=D@FBT0")HL<)H,$!([ )HM/ H[ )HL7B4X@B58> MZ8( C-"-7B;'1@P! ,1V2":+3 (FBQ0F@P0"B48@CL&+\B:+!(A&)HE>'NM8 MQT8< @#K4<=&' ZTK'1AP! .M#,\ SVX/$.EW+9@ @!&4 &01G !($8P#H M W, A -O . "> \ G4 @0%D "(!OB +CN$, 1U!2[_I#($@^X$>>_KO8M& M( M&'G4#Z= BT88A<!T!3M&#'T&BT8,B488BT8,*488QT8( "#?@X =$R+ M1@Q(A<")1@QX'HM&"/]&"(M>1HMV1 /PQ'X>_T8>)HH%CL,FB 3KUXM&&$B% MP(E&&'ADBT8(_T8(BUY&BW9$ _"+1A:.PR:(!.O=BT882(7 B488>!B+1@C_ M1@B+7D:+=D0#\(M&%H[#)H@$Z]V+1@Q(A<")1@QX'HM&"/]&"(M>1HMV1 /P MQ'X>_T8>)HH%CL,FB 3KUXM&",1V3":)!(M&0HM>0$.#Q#I=RX-^%/]U!<=& M% 8 @WX4%'P%N!, ZP.+1A2)1@Q %HU>)E,6C5X24Q:-7AI3_W8<4,1V2";_ M= (F_S2:!P! %8OEQ'9()H,$"(S3C4XFBU8:A=*)1@R)3AZ)5@B)7B!Y _=> M"(-^' )U%H-^# !T"H-^" 9\!#/ ZP,SP$")1AR#?@P = /_3AHSP(E&"(-^ M$@!T _]&"(-^' !T(8M&%$"+7@@#PXM>&H7;B48(> ,!7@B#?A0 =#'_1@CK M+(M&% 4& %&"(M&&H7 >03WV.L#BT8:/6, B48*?@/_1@B!?@KG WX#_T8( M@WX. '4JBT88.T8(?B*+1@@I1AB+1AA(A<")1AAX$<1V1/]&1(M&%B:(!/]& M".OD@WX2 '0*Q'9$_T9$)L8$+8-^' !U ^GX (M&&H7 >6W$=D2+QHE& $ F MQ@0PB_")1D1 )L8$+HE&1(M&%$B%P(E&%'D#Z;<!BT8:0(7 B48:>0S$=D3_ M1D0FQ@0PZ]N+1@Q(A<")1@QX%XMV1/]&1,1^'O]&'B:*!8Y&1B:(!.NYQ'9$ M_T9$)L8$,.NMBT8:_TX:A<!X+HM&#$B%P(E&#'@7BW9$_T9$Q'X>_T8>)HH% MCD9&)H@$Z]3$=D3_1D0FQ@0PZ\B#?A0 = K$=D3_1D0FQ@0NBT842(7 B484 M>0/I' &+1@Q(A<")1@QX%XMV1/]&1,1^'O]&'B:*!8Y&1B:(!.O0Q'9$_T9$ M)L8$,.O$BT8,2(7 B48,>!>+=D3_1D3$?A[_1AXFB@6.1D8FB 3K"L1V1/]& M1";&!##$=D3_1D0FQ@0NBT842(7 B484>"Z+1@Q(A<")1@QX%XMV1/]&1,1^ M'O]&'B:*!8Y&1B:(!.O3Q'9$_T9$)L8$,.O'Q'9$B\:)1@! )L8$18M>&H7; MB49$>0Z+\/]&1";&!"WW7AKK"L1V1/]&1";&!"O'1@P+ (M&#$B+\(E&#(M& M&KL* )GW^X/",(A2)HM&&IGW^XE&&H-^# E_V8-^&@!UTXM&##T+ 'T6BW9$ M_T9$_T8,B_B*0R:.1D8FB 3KXH-^#@%U*HM&&#M&"'XBBT8(*488BT882(7 MB488>!'$=D3_1D2+1A8FB 3_1@CKY(M&",1V3":)!(M&0HM>0$.#Q#I=RU6+ M[(M>!HM&")H" (L2CL"+^XM."HM&#/SSJEW+4;$$T\"+R('A\/\E#P #V14 M %G+58OL'L56!K0*S2$?7<M5@^P$.R80 '(%ZF(! "+[*$,H8L>"J&+#A"A MBQ8.H8D.&*$+RJ,4H8D6%J&)'A*A=0BX__^#Q 1=R\0V$J$FQT0" FQP0 M *$8H8L>%J$FB40&)HE<!#/ @\0$7<M5@^P".R80 '(%ZF(! "+[#/ 4 [H M!P"+Y8/$ EW+58/L"CLF$ !R!>IB 0 B^R+1A"%P'D(N/__@\0*7<LSP#/; MQT8(@ SR5&Z 12HQ"AHPRAB1X.H8D>"J&:" Q%8OEB48&"\.)7@1U"+C_ M_X/$"EW+BT8&BUX$BTX(,]*%R7D!2J,,H8D.#J&)%A"AB1X*H8M&$$B)1A"% MP'0F,\!0NP $4YH( #$5B^4+PW04BT8(,]N%P'D!2P$&#J$1'A"AZ\\.Z-;^ M,\"#Q I=RU6#[ 0[)A <@7J8@$ (OLN0, H1BABQX6H='CT=#B^H/$!%W+ M58/L"#LF$ !R!>IB 0 B^R+1@XSVU-0B48$B5X&#N@, (OEF@( BQ*#Q A= MRU6#[!@[)A <@7J8@$ (OLBT8@BUX>,\DSTIH& 04?PF+P8O:@\087<N+ M1AX%" "+7B"#TP M 0"#VP")1@"+PXM> #/)N@@ F@4 ;A.,V;X2H8[!)HM4 M HE&%HQ&#H[!)HL$B48(B58*B5X4B78,BT8*"T8(=0/II@#$=@@FBT0&)HM< M!(M.%HM6%)H& 04?&X[P74".]IU$R:+1 (FBQS$=@PFB40")HD<ZS7$=@@F MBT0$*T84)HM<!AM>%B:)7 8FB40$N0, T>#1T^+ZB\N+T(S B]Z:!@#4$XE& M"HE>"(M&%"D&%J&+7A89'ABABT8*BUX(F@( BQ*#Q!A=RXM&"HM>"([ )HM/ M H[ )HL7B48.B4X*B58(B5X,Z4__N0, BT86BUX4T>/1T.+Z4%.:" Q%8OE MB482B5X0"\-U ^E^ *$0H0L&#J%U&HM&$HM.%HM6%*,,H8D.$*&)%@ZAB1X* MH>M+N0, H1"ABQX.H='CT=#B^HO(B].A#*&+'@JAF@8 U!.+3A*+5A")1@J+ MP8E>"(O:BTX*BU8(F@@ R!-U#HM&% $&#J&+7A81'A"ABT82BUX0F@( BQ*# MQ!A=RS/ ,]N#Q!A=RU6#[ @[)A <@7J8@$ (OLBT82,]M34/]V$/]V#HE& M!(E>!@[H!P"+Y8/$"%W+58/L(#LF$ !R!>IB 0 B^R+1BR+7BHSR3/2F@8 M!!1_"+C__X/$(%W+BT8HBUXFBTXJ@\$(BU8L@]( @^D!@]H B486B\*)7A2+ MV3/)N@@ F@4 ;A.Y P")1AZ)7AS1X]'0XOJ+R(O3BT86BUX4F@8 U!.+3AP! M#A:ABU8>$188H8S9OA*ACL$FBU0"B48:C$8.CL$FBP2)1@2)5@:)7AB)=@R+ M1@:+7@0+PW4#Z<,!N0, CD8&)HM'!B:+5P31XM'0XOJ+R(S F@8 U!.)1@J+ M1AJ)7@B+7AB,P8M6!)H( ,@3<RW$=A0FB4P")HD4BT8>BUX<)HE$!B:)7 2, MP(O>Q'8,)HE$ B:)'#/ @\0@7<N+1@:+7@2+3AJ+5AB:" #($W5)CL FBT\" MCL FBQ?$=A0FB4P")HD4BT8<CD8&)@-'!(M>'HM^!"8370:.1A8FB5P&)HE$ M!(S B][$=@PFB40")HD<,\"#Q"!=RXM&%HM>%(M."HM6")H( ,@3<Q:+1API M!A:ABUX>&1X8H;C__X/$(%W+BT86BUX4BTX*BU8(F@@ R!-T ^F< ,1V!":+ M1 (FBQP+PW0JBT8:BUX8)HM, B:+%)H( ,@3=A:+1API!A:ABUX>&1X8H;C_ M_X/$(%W+BT8<Q'8$)@%$!(M>'B817 8FBT0")HL<"\-T08M&&HM>&":+3 (F MBQ2:" #($W4MCL FBT\$CD8&)@%,!([ )HM7!HY&!B815 :.P":+1P(FBQ^. M1@8FB40")HD<,\"#Q"!=RXM&!HM>!(M."HM6"(E&#H[ )HM' HE>#":+'XE& M!HE.$HE6$(E>!.DP_HM&%HM>%,1V#":)1 (FB1R.P";'1P( ([ )L<' "+ M1AZ+7AR+=A0FB40&)HE<!#/ @\0@7<N!YP" 5X/N"(7 =0V#[A"+PX7 =0)? MRS/;J0#_=!U&T>C1V]'?J0#_=?2%_WD-@\,!%0 Z^-.T>/1T*F '3V7X/& M?WX4@?[_ 'T=425_ +$'T^8+]PO&6<NX 0!0F@$ "118,\ SV\NX @!0F@$ M"118N(!_"\<SV\M1B_"!YO!_L033[H'N_P-9BN"*QXK[BMV*Z8K.BO(RTK\# M -'BT='1T]'03W7U#0" RX'G (!7@^X+A<!U+X/N$(O#A<!U((/N$(O!A<!U M#X/N$(O"A<!U E_+,]+K#HO:,\DSTNL&B]F+RC/2J>#_="M&T>C1V]'9T=K1 MWZG@_W7PA?]Y%X/" 8/1 (/3 !4 .O93M'BT='1T]'0J1 =/)?@<;_ WX4 M@?[_!WT<424/ +$$T^8+]PO&6<NX 0!0F@$ "118,\#K#[@" %": 0 )%%BX M\'\+QS/;,\DSTLM1B_"!YH!_L0?3[H/N?UF*X(K'BOLRVPT @,M5B^R*9@:* M1@J+5@C-(;0 7<M5@^P&.R80 '(%ZF(! "+[(M&#HM>#(L.; "+%FH F@8 M!!1^"3/ ,]N#Q 9=RZ%> (L>7 "+3@Z+5@R)1@2)7@*:!@#4$XM.#"D.:@"+ M5@X9%FP HUX B1Y< (M&!(M> IH" (L2@\0&7<M5@^P,.R80 '(%ZF(! "+ M[(M&$C/;4U .Z'C_B^6)1@J)7@@+PW0-BT8*F@( BQ*#Q Q=R[C__S/;DYH" M (L2@\0,7<M5@^P$.R80 '(%ZF(! "+[+@! %"A7@"+'EP BPY: (L66 ": M"P#,$P$>:@ 1!FP B0Y> (D67 "#Q 1=RU6#["B+[,=& QT8, #$=BXF MBT0&A<!Y!8%. " )?]_=1:+^"8+? 1U#B8+? )U""8+/'4#Z8 L033Z"W^ M XE&#B:+#":+7 (FBT0$)HMT!C/2OP4 T>[1V-';T=G1VD]U\PT @(E&!(E> M!HE."(E6"L=&# BW8.B\Z%]G1I>1"#Q@-X$[X! .@[ _]&#NOEZ*H"_T8, MZP^^! !=@[H)0/H! /_3@SW1@0 @'7'_TX.Z+T"Z_$S]H%. ! ,\GW1@ M0'4ABT8$"T8&=0B+1@@+1@IT$>C/ H7)=0J#_@%U!?].#.OO@,$PB$H41H/^ M%'S*QT80 0"+1C2+=C*%P'0+N0$ BT8,2 /P>"VY% "#_A)])8O.BD(5! 4\ M.GP:QD(5,/Y"%(I"%$YY[_]&#/].$(-^- !T 4'$?CZ+=A SVXI"%":(!4-' M.]E]$D:#_A1\[K P)H@%1T,[7C)\]C/ ]T8 (!T"/=& ! =0%(Q'8Z)HD$ MBT8,Q'8V)HD$]T8 $!T C/)B\&#Q"A=RU6#["B+[#/ B48 B48,B48"B48. MB48$B48&B48(B48*Z#<"/#!U!X%. @Z_(\+74(@4X (#H( (\,'PX/#E_ M-(%. @B480BT8"*48,]T8$ /!T!?]&#.O;Z+D!BT80)0\ 48*@U8( (-6 M!@"#5@0 Z\$\+G4,BT8"A<!U0O]& NNQ/$5T!#QE=37HR0$\*W0)/"UU"(%. M 0Z+D!/#!\'CPY?QHD#XE&$(M&#NA. 0-&$(E&#CW_#W+?T>CK]/=& @ M=1 SP,1V-B:)!(M&$H/$*%W+BT8.]T8 !!T O?8 48,BT8$"T8&"T8("T8* M=0/I@ #'1@X^!/=&! " =0CHV #_3@[K\8M&#(7 =!MX$;X$ %V#N@6 >CU M /].#.O7Z(( _T8,Z\^+1@Z%P'A!/?\'?S>Q!-/@B48.BT8$BUX&BTX(BU8* MBM:*\8K-BNN*WXKXBL2_ P#1Z-';T=G1VD]U]24/ M&#NL-N/!_ZP(SP#/; M,\DSTL1V.O=& " = ,- ( FB40&)HE<!":)3 (FB12X 0#$=C8FB02+1A*# MQ"A=R[Y #/ BUX$BTX&BU8(BWX*T>?1TM'1T=/1T#T* '($+0H 1TYUZHE> M!(E.!HE6"(E^"L.+1@K1X(E&"HM&"-'0B48(BT8&T=")1@:+1@31T(E&!,.+ MV#/)T>#1T='@T=$#PX/1 -'@T='#,\F_!@"+0P2)2P3HW/^+6P0#PX/1 (E# M!$]/>>C#BT8$BUX&BTX(BU8*T>C1V]'9T=I.=?6)1@2)7@:)3@B)5@K#@WXN M '0)BT8NQT8N ##_UXRB482_TXP=0:!3@ ",/W1@ "'0#N/__PP M 158@3$E34"!B>2!005, M M $EN=F%L:60@<W1A M8VL@<VEZ90T*)$EN=F%L:60@22]/(')E9&ER96-T:6]N#0HD26YS=69F:6-I M96YT(&UE;6]R>0T*)"HJ*B!35$%#2R!/5D521DQ/5R J*BH-"B0 + 4 M!0 % 4 !0 % 4 !0 % 4 "@ % 4 "@ % 4 !0 % 4 !0 % 4 !0 % M 4 !0 % 4 !0 % 4 !0 % @ @ ( @ " ( P ! @ !P % < M! ( 8 !@ & 8 !@ & 8 !@ & 8 " ) @ " ( @ " ( @ " ( M @ " ( @ " ( @ " ( @ " ( @ " ( @ " ( @ " ( @ M#0 ( , " ( @ " ( @ " ( @ " ( @ " ( @ " ( @ " ( M @ " ( @ " ( @ " ( @ ! @ !0 ( "P / \ #0 - (P MC@ $ L #P / T #0", (X C@ + \ #P - T C & @ "P / \ #0 - M (P C@"" L #P"$ T B@", (X @ + \ #P - T C ". (8 A "$ (8 MA@"* (P C@"( L #P"* T B@", (X B@ + \ #P - (H C ". (P "P / M \ #0 - (P C@" L #P / T #0" (X 0 + \ #P - T @0 & ! M"P / \ #0 - (P C@ : L #P / T #0", (YA;B!A=&]M(&ES('1O;R!B M:6< <75O=&4 M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M
petera@utcsri.UUCP (Smith) (04/27/86)
[ line eater ] [ PC-LISP.EXE (part 2 of 4) ] ------------------- CUT HERE ----------------------- MBT8<0%#_=AK_=A@.Z(H B^7$=@XFB40$)HE< NL/#N@T^\1V#B:)1 0FB5P" MQ'8.)L=$" )L=$!@ 'KA"@E#_=AK_=AB:S0$D (OEBUX>0U/_=AS_=AK_ M=ABC0((.Z(W\B^7$=@8FB40()HE<!H,N]'\#C,"+WIH" (L2@\027<L>N"^- M4/]V'O]V' [H(OR+Y8/$$EW+58/L#CLF$ !R!>IB 0 B^R!/O1_0!]\! [H M4PZA]'^)1@! BUX T>/1XXS1C58&B8_V HF7] +'1@@ ,=&!@ /4 ?H_1_ M? 0.Z"(.H?1__P;T?]'@T>"+\(S0C5X*B83V HF<] +'1@P ,=&"@ @SY M@@%U/1ZX0H)0_W86_W84FLT!) "+Y;L! %/_=AC_=A;_=A2C0((.Z+C[B^6# M+O1_ HE&"(E>!IH" (L2@\0.7<N#/D"""'0#Z:P N ( 4)KO!?,(B^6)1@B) M7@8.Z.CYQ'8&)HE$!":)7 *X @!0FN\%\PB+Y<1V!B:)1 @FB5P&'KE"@E'_ M=A;_=A2)1@R)7@J:S0$D (OE/0$ HT""= 4]" !U'HM&&$!0_W86_W84#NC6 M_HOEQ'8*)HE$!":)7 +K#P[H@/G$=@HFB40$)HE< L1V"B;'1 @ ";'1 8 M (,N]'\"BT8(BUX&F@( BQ*#Q Y=RQZX08U0,\!0_W88#NB@^HOE@\0.7<M5 M@^P0.R80 '(%ZF(! "+[(M&(@M&('0(Q'8@)O\$ZQ(>N%V-4/]V&/]V%IH' M .T3B^6Q!,1V&B:+!-/H,N2)1@#1Z(E& HM& +L" #'2]_.+1@(#PL=&" MQT8* 0")1@:+1@@[1@9\ ^GB (M&(@M&('0/Q'8@)HL$A<!X!8/$$%W+_W8( M_W8<_W8:#N@\X(OE@WX( (E&#HE>#'XBBT8B"T8@= C$=B F_P3K$AZX7XU0 M_W88_W86F@< [1.+Y?]V(O]V(#/ 4#/;4_]V'L1V#";_= 0F_W0"_W88_W86 M#NBC!(OEBT8*0+$$Q'8:)HL<T^LR_SO#B48*=TB+1B(+1B!T",1V(";_!.L2 M'KA?C5#_=AC_=A::!P#M$XOE_W8B_W8@,\!0,]M3_W8>Q'8,)O]T"";_= ;_ M=AC_=A8.Z$0$B^7_1@C_1@KI$_^+1B(+1B!T",1V(";_!.L2'KAAC5#_=AC_ M=A::!P#M$XOE@\007<M5@^QH.R80 '(%ZF(! "+[(M&>@M&>'0/Q'9X)HL$ MA<!X!8/$:%W+BT9T"T9R=0/IV@.Q#<1V<B:+!-/H)0< Z;H#@WYV '06Q'9R M)O]T$";_= Z:% ,D (OEA<!T0XM&>@M&>'4@Q'9R)O]T$";_= X>N&.-4/]V M</]V;IH' .T3B^7IA@/$=G(F_W00)O]T#IH. &H3B^7$=G@F 03I:P.+1GH+ M1GAU(,1V<B;_=! F_W0.'KAFC5#_=G#_=FZ:!P#M$XOEZ4,#Q'9R)O]T$";_ M= Z:#@!J$XOE0$#$=G@F 03I)@.+1G2+=G*.P":+7 B,1@*.P":+3 8+V8EV M '4#Z0<#BT9Z"T9X=4(FBT0(B48&N!( 4":+1 0FBUP"B4X$C-FZ1)R:"P#, M$U!3Q'8$)O]T$";_= X>N&N-4/]V</]V;IH' .T3B^7IO0*+1G2+=G*.P":+ M7 B.P":+? :.PR;_=1",1@*.PR;_=0Z:#@!J$XOE!04 Q'9X)@$$Z8D"BT9T MBW9RCL FBUP$CL FBTP"B\.)7F:+V8E>9)H- ),3B48"BT9FB5X B]F:#0"L M$XE&"HE>"(E.!HE6!(M& HM> )H& (X3B482B5X0B4X.B58,BT8*BUX(BTX& MBU8$%HUV#%::$@"R$YH .<3=%B+1@J+7@B+3@:+5@104U%2'KAWC5 6C484 M4)H$ -<3B^6+1GH+1GAU&A:-1A10'KACC5#_=G#_=FZ:!P#M$XOEZ=4!%HU& M%%":#@!J$XOEQ'9X)@$$Z< !BT9FBUYDF@T K!-04U%2'KAZC5 6C4844)H$ M -<3B^6+1GH+1GAU&A:-1A10'KACC5#_=G#_=FZ:!P#M$XOEZ7X!%HU&%%": M#@!J$XOEQ'9X)@$$Z6D!BT9TBW9RCL FBUP$CL FBTP"4U$>N'^-4!:-1A10 MB4YDB5YFF@0 UQ.+Y8M&>@M&>'4:%HU&%% >N&.-4/]V</]V;IH' .T3B^7I M' $6C4844)H. &H3B^7$=G@F 03I!P&#?G8 =5>+1GH+1GAU*HM&=(MV<H[ M)O]T!(Q& H[ )O]T AZX8XU0_W9P_W9NF@< [1.+Y>G/ (M&=(MV<H[ )O]T M!(Q& H[ )O]T IH. &H3B^7$=G@F 03IJ@"+1GH+1GAU*8M&=(MV<H[ )O]T M!(Q& H[ )O]T AZX@XU0_W9P_W9NF@< [1.+Y>MYBT9TBW9RCL F_W0$C$8" MCL F_W0"F@X :A.+Y4! Q'9X)@$$ZU/_=GK_=GC_=G;_=G3_=G+_=G#_=FX. MZ+;ZB^7K-AZXB(U0F@4 8!*+Y3/ 4)H" $D2B^7K'DPLC2T4,/ LK2X/+\,O MB_"#_@=S!]'F+O^D^"_KRH/$:%W+58/L"CLF$ !R!>IB 0 B^PSP(M>( M> M'HE&!'0/Q'8>)HL$A<!X!8/$"EW+BT8<BUX:"\-T*HM&%HM>%(M.'(M6&IH( M ,@3=1<>N*.-4/]V$O]V$)H' .T3B^6#Q I=RXM&%@M&%'4HBT8@"T8>=10> MN&J+4/]V$O]V$)H' .T3B^7K!\1V'B:#! .#Q I=R[$-Q'84)HL$T^@E!P ] M @!T((S B][_=B#_=A[_=AA04_]V$O]V$ [H,ON+Y8/$"EW+Q'84)HM$!":+ M7 (+PW4#Z;@ )HM$!+$-CL FBQ?3ZH'B!P")1@B)7@9T ^F< !ZXJ8U0)O]W M$";_=PZ: #/$XOEA<!T ^F! ,1V%":+1 @FBUP&"\-T<B:+1 BQ#8[ )HL7 MT^J!X@< @_H"=5R+1B +1AYU%!ZXKXU0_W82_W80F@< [1.+Y>L&Q'8>)O\$ MQ'84)HM$"":+? ;_=B#_=A[_=AS_=AK_=AB.P";_=02,1@*.P";_=0+_=A+_ M=A .Z'K^B^6#Q I=RXM&( M&'G44'KBQC5#_=A+_=A":!P#M$XOEZP;$=AXF M_P2+1A8+1A1U ^G< 8,^T = 0.Z(\&BT8@"T8>= _$=AXFBP2%P'@%@\0* M7<O$=A0FBT0$)HM< @O#=0/ILP FBT0$L0V.P":+%]/J@>(' (/Z G51@WX$ M 'XBBT8@"T8>=10>N%^-4/]V$O]V$)H' .T3B^7K!L1V'B;_!/]V(/]V'O]V M'/]V&O]V&,1V%";_= 0F_W0"_W82_W80#NBP_8OEZ98 @WX$ 'XBBT8@"T8> M=10>N%^-4/]V$O]V$)H' .T3B^7K!L1V'B;_!,1V%":+1 0FBUP"_W8@_W8> M_W884%/_=A+_=A .Z%'YB^7K2H-^! !^(HM&( M&'G44'KA?C5#_=A+_=A": M!P#M$XOEZP;$=AXF_P2+1B +1AYU%!ZX:HM0_W82_W80F@< [1.+Y>L&Q'8> M)O\$Q'84)HM$"":+7 8+PW4#Z8( )HM$"+$-CL FBQ?3ZH'B!P"#^@)T;(M& M( M&'G44'KBSC5#_=A+_=A":!P#M$XOEZP?$=AXF@P0#Q'84)HM$"":+7 ;_ M=B#_=A[_=AA04_]V$O]V$ [HF/B+Y8M&( M&'G44'KBWC5#_=A+_=A":!P#M M$XOEZP;$=AXF_P2#Q I=R\1V%":+1 @FBUP&_T8$B486B5X4Z1G^BT8@"T8> M=10>N+>-4/]V$O]V$)H' .T3B^7K!L1V'B;_!(/$"EW+58/L!#LF$ !R!>IB M 0 B^R+1@[WV!:-7@)3,]M3,\E1NP$ 4_]V#/]V"C/;4U&)1@Z)1@(.Z K\ MB^6+1@(K1@Z#Q 1=RU6#["8[)A <@7J8@$ (OLBT8P*T8RB48B@WXB 'X7 M'KA?C5#_=C;_=C2:!P#M$XOE_TXBZ^.+1BX+1BQT+K$-Q'8L)HL$T^@E!P ] M @!U'*%N@RM&,/\V;H,&5HE& [H5O^+Y8M> #O8?B,SP% SVU-04[@! %#_ M=B[_=BS_=C;_=C0.Z'3[B^6#Q"9=RQZXL8U0_W8V_W8TF@< [1.+Y8M&+@M& M+'0-Q'8L)HM$!":+7 +K!#/ ,]N+3BX+3BR)1@Z)7@QT#<1V+":+1 @FBUP& MZP0SP#/;B482"\.)7A!T#8Y&$B:+1P0FBT\"ZP0SP#/)BUX2"UX0B486B4X4 M= W$=A FBT0()HM<!NL$,\ SVXM.,$'_=C;_=C114?]V#O]V#(E&&HE>& [H MT/Z+Y8M&$@M&$'4#Z:P!N !4/]V#O]V# [H;_Z+Y8M>#@M>#(E&)'1 L0W$ M=@PFBP33Z"4' #T" '4N'KBYC5#_=C;_=C2:!P#M$XOEBT8P0/]V-O]V-#/; M4U#_=A;_=A0.Z&S^B^7K88M&)+L# )GW^SL&;H-^+AZXN8U0_W8V_W8TF@< M[1.+Y8M&,$#_=C;_=C0SVU-0_W86_W84#N@O_HOEZR2+1C! 0(M>) /#BTXP M00/+_W8V_W8T45#_=A;_=A0.Z G^B^6+1AJ+7AB+3@X+3@R)1@J)7@AT$K$- MQ'8,)HL$T^@E!P ] @!T-(M&)(M>,$-# ]@>N;N-48E&((E>' [HP<R+Y8M. M#HM6#)H( ,@3= 0SR>L#,\E!B4X>ZPR+1C! QT8> ")1AR+1@H+1@AU ^E_ M !ZXN8U0_W8V_W8TF@< [1.+Y8-^'@!T,,1V"":+1 0FBUP""\-T%B:+1 2Q M#8[ )HL7T^J!X@< @_H"= N+1APK1B")1B+K!HM&'(E&(O]V-O]V-#/ 4/]V M(L1V"";_= 0F_W0"#N@M_8OEQ'8()HM$"":+7 :)1@J)7@CI=O\>N+>-4/]V M-O]V-)H' .T3B^6#Q"9=RU6#[ 0[)A <@7J8@$ (OL'KA"@E#_=@S_=@J: MS0$D (OEA<"C0()T+ST& '0*/0< = 4]"@!U!@[H<NSK$+@! %#_=@S_=@H. MZ*7QB^6: @"+$H/$!%W+,\ SVX/$!%W+58OL'KC C5":!0!@$HOEH>2/Z:< MN $ 4 [HX=R+Y<<&]'\ .FD !ZXU(U0F@4 8!*+Y<<&]'\ ,<&Y(\" )KV M#O,(#NA.UIH%$/,(QP;DCP ZW8>N F.4)H% & 2B^7'!O1_ .Z+;:QP;D MCP, FO8.\P@.Z!S6F@40\PC'!N2/ #K1!ZX/(Y0F@4 8!*+Y<<&]'\ .LP M'KANCE":!0!@$HOE,\!0F@( 21*+Y>L8E3>H-]8W"#B+\(/^!','T>8N_Z0T M..O0'KB7CE":!0!@$HOEFK<Z? "X 0!0'KA&@U":#P ]"HOE7<M5B^R#/N2/ M '0"7<L>N)V.4)H% & 2B^6X 0!0#NCOVXOE,\"CT "C]'^:MSI\ +@! % > MN$:#4)H/ #T*B^5=RU6#[ H[)A <@7J8@$ (OLQT8( #$=A0FBT0")HL\ MCL FBATP_X7;B5X =0/I?P"#^SMT>H[ )HH=,/^#^R!U&#/)N@$ B]^:!@#4 M$XY&%B:)1 (FB1SKO(M&$HM>$#/)N@$ B48"B5X F@8 U!/$=A0FBTP")HL4 MB4X&,\F)5@2Z 0")1A(FBT0"B5X0)HL<F@8 U!,FB40")HD<Q'8$)HH$Q'8 M)H@$_T8(Z6;_@WX( 'YNBT82BW80,\FZ 0"+WHE& HE> )H# 84CD8")L8$ M ,1V%":+3 (FBSR.P2:*%3#V@_H[B482B5X0=1HSR;H! (Y&%B:+1 *+WYH& M -03)HE$ B:)',1V$":*!##D/5P =00FQ@0 BT8(@\0*7<LSP(/$"EW+58'L M$ ([)A <@7J8@$ (OL_[88 O^V%@(6C48(4)H( 'D3B^4>N+..4!:-1@A0 MF@4 !!*+Y8E&!@O#B5X$= /I( $6C48(4)H. &H3B^6,TXU." /('KBUCE!3 M49H( 'D3B^4>N+..4!:-1@A0F@4 !!*+Y8E&!@O#B5X$= /IX0 >N+B.4)H( M %H*B^6)A@H""\.)G@@"=0@SP('$$ )=RQ:-A@@"4!:-1@A0#N@C_HOEA<!U M ^FA !:-1@A0F@X :A.+Y8S3C4X( \@>N,&.4%-1F@@ >1.+Y1:-1@A0F@X M:A.+Y8S3C4X( \C_MA@"_[86 E-1F@@ >1.+Y1ZXLXY0%HU&"%":!0 $$HOE MB48&"\.)7@1U21:-1@A0F@X :A.+Y8S3C4X( \@>N+6.4%-1F@@ >1.+Y1ZX MLXY0%HU&"%":!0 $$HOEB48&"\.)7@1U ^E)_^L(,\"!Q! "7<N!/O1_0!]\ M! [H-?RA]'__!O1_T>#1X(OPC-"-G@P"B83V HF<] +'A@X" #'A@P" > MN$*"4/]V!O]V!)K- 20 B^6%P*- @G4]N $ 4!ZXPXY0#NB'V(OEA<!T$1:- M1@A0'KC,CE":!0!@$HOE_W8&_W8$F@X%) "+Y?\.]'\SP('$$ )=RZ% @H7 M=%4]!@!T"CT' '0%/0H =08.Z.OGZQ"X 0!0_W8&_W8$#N@>[8OE4%.)A@X" MB9X, IIP0WP B^4>N4*"4?]V!O]V!(F&#@*)G@P"FLT!) "+Y:- @NND_W8& M_W8$F@X%) "+Y;@! % >N,..4 [HX=>+Y87 =!$6C48(4!ZXWHY0F@4 8!*+ MY?\.]'^X 0"!Q! "7<M5@^P(.R80 '(%ZF(! "+[(-^$@%U$O]V%O]V%!ZX M8XU0F@4 8!*+Y1ZX0H)0_W80_W8.FLT!) "+Y:- @J% @H7 =0/I[P ]!@!T M"CT' '0%/0H =08.Z!#GZQ"X 0!0_W80_W8.#NA#[(OEHT2#BT80B1Y"@XM> M#HS9ND2<F@@ R!-U!L<&T (-^$@%U-O\V1(/_-D*#FG!#? "+Y3/)43/2 M4E%2N0$ 45!3'KA6G% .Z 'SB^4>N+F-4)H% & 2B^7K%O\V1(/_-D*#FG!# M? "+Y:-$@XD>0H.#/O1_ '0B'KCSCE":!0!@$HOEQP;T?P N $ 4!ZX1H-0 MF@\ /0J+Y8-^$@%U$O]V%O]V%!ZX8XU0F@4 8!*+Y1ZX0H)0_W80_W8.FLT! M) "+Y:- @ND'_X/$"%W+58/L!CLF$ !R!>IB 0 B^PSP(M>#@M>#(E&!'4% M@\0&7<O$=@PFB@0PY(7 B48 ="JX"@#W;@2+7@"#ZS")1@0#PS/)N@$ B48$ MC,"+WIH& -03B48.B5X,Z\>+1@2#Q 9=RU6+[)J3 _,/,\!0F@( 21*+Y5W+ M58/L$CLF$ !R!>IB 0 B^S'1@8 !ZX*(]0F@4 8!*+Y1ZX98]0F@@ 6@J+ MY5!3#NA4_XOEA<")1@Q_ [@% !Z[;X]3B48*F@@ 6@J+Y5!3#N@S_XOEA<") M1@Q_ [@% !Z[>8]3B48(F@@ 6@J+Y5!3#N@2_XOEA<")1@Q_ [@R !Z[@H]3 MB48.F@@ 6@J+Y5!3#NCQ_HOEA<")1@Q_ [A 'U#_=@[_=@K_=@B)1A":>P#S M"(OE#N@]P9H% &H*'KA&@U":30 ]"HOEA<!U9AZXC(]0#NCL^HOE@WX8 7YR MBT882(7 B488?F<SR;H$ (M&'(M>&IH& -03CL F_W<"C$8<CL F_S>)7AH. MZ+3ZB^6%P'48Q'8:)O]T B;_-!ZXEH]0F@4 8!*+Y>NRFKT!) #KJYJ] 20 M'KBMCU"X 0!0'KA$G% .Z/_\B^4.Z#G3,\!0,\!0,]M3'KA$G%":!0!U$HOE MFKT!) >N+&/4+@! % >N$2<4 [HS?R+Y0[H9_Z#Q!)=RU6#[ 0[)A <@7J M8@$ (OLN H /08 B48"?06X!@#K XM& CT& (E& GT%N 8 ZP.+1@(]!@") M1@)]!;@& .L#BT8"B48"@\0$7<M5@^P&.R80 '(%ZF(! "+[ [HG_^[$@#W MZXE& K@ 0)GW?@*)1@3W;@*#Q 9=RU6#["0[)A <@7J8@$ (OLBT8J T8L M/5H ?A<>N,*04)H% & 2B^6X__]0F@( 21*+Y<=&#@ #NA)_Z/&CP[HCO\> MN^*04Z/FCYH% & 2B^4>N%:<4+C__U":2@$I$XOE_W8PF@D 3Q*+Y8E&%@O# MB5X4=$:+1@X[1BY],:'FCU":"0!/$HOEB482"\.)7A!T'(M&#O]&#M'@T>"+ M\(M&$HM>$(F$ZH^)G.B/Z\?_=A;_=A2:R@!/$HOE@WX. WUX'KCID%":!0!@ M$HOE'KA6G%"X__]0FDH!*1.+Y:'FCS/;A<!Y 4N)1@"+PXE> HM> #/)N@, MF@$ 0A*+3@XSTH7)>0%*B48&B\*)7@2+V8M. HM6 )H! $(24%/_=@;_=@0> MN/"04)H% & 2B^4SP%": @!)$HOE,\"CL)"+1@[W;BHM9 "[9 "9]_N%P(E& M '\",\"+'K"0 ]B!^_X B1ZRD'X#N_X B1ZRD$.+1@[W;BPM9 "Y9 "9]_F% MP(E& (D>M)!_ C/ BQZTD /8B1ZVD$.+1@Y(.\.CNI")'KB0?3,>N.F04)H% M & 2B^4>N%:<4+C__U":2@$I$XOE'K@MD5":!0!@$HOEN/__4)H" $D2B^4S MP#/;BPZTD*/ CZ/$CZ/2CZ/*CZ/.CZ/6CZ/:CZ/>CXE.#(D>OH^)'L*/B1[0 MCXD>R(^)'LR/B1[4CXD>V(^)'MR/BT8,BQZVD#O8?0/ILP#1X-'@B_"+A.J/ MBYSHCXE&$HE>$(M&#-'@T>"+\(N$ZH^+G.B/ Q[FCXM.$HM6$)H( ,@3=G>+ M\C/ CL$FBQR YQ^,1@*.P2:)'#/ @.?OCL$FB1PSP(#G]X[!)HD<H<2/BQ[" MCX[!)HE$!([!)HE< H[!)L=$$ CL$FQT0. "+QH,&V(\!@Q;:CP"CPH^) M#L2/,\FZ$@"+1A*+7A":!@#4$XE&$HE>$.EG__]&#.D__Z&XD(E&#(M&#(L> MNI [V'T#Z:4 T>#1X(OPBX3JCXN<Z(^)1A*)7A"+1@S1X-'@B_"+A.J/BYSH MCP,>YH^+3A*+5A":" #($W9IB_*X $".P2:+'(#G'PO8C$8"CL$FB1PSP(#G M[X[!)HD<H<"/BQZ^CX[!)HE$!([!)HE< HO&@P;4CP&#%M:/ *.^CXD.P(^A MQH\SVX7 >0%+B\N+T(M&$HM>$)H& -03B482B5X0Z77__T8,Z4W_H;"0B48, MBT8,BQZRD#O8?0/IE0#1X-'@B_"+A.J/BYSHCS/)NA B48"B482B5X B5X0 MF@8 U!/$=@ FB40")HD<BT82BW80BQ[FCS/)A=MY 4F+TXO>B48"B5X F@8 MU!..1@(FB40&)HE<!#/)NA BT82B]Z:!@#4$R:)1 HFB5P(H>:/+1 ,]N% MP'D!2R:)7 XFB40,@P;0CQ"#%M*/ /]&#.E=_Z'FCS/;A<!Y 4N+#K"0BQ:R MD"O10HE& #/ A=)Y 4B)1@:+PXM> (M.!IH! $(2BPZPD(D.P)#1X='AB_&+ MC.J/BY3HCQZCWH^XZ9!0B0Z^D(D6O)")'MR/F@4 8!*+Y1ZX5IQ0N/__4)I* M 2D3B^6+1@XSVX7 >0%+BP[FCS/2A<EY 4J)1@"+PXM> (E.!(O*B58&BU8$ MF@$ 0A*+#K:0*PZTD$$STH7)>0%*B48BB\*)7B"+V3/)NF0 F@$ 0A*+3@:+ M5@2: 0!"$HM.(HM6()H% &X3BPZRD"L.L)!!,]*%R7D!2HE&'HO"B5X<B]DS MR;ID )H! $(2BTX&BU8$F@$ 0A*+3B*+5B":!0!N$U!3_W8>_W8<_W8B_W8@ M'KEED5&)1AJ)7AB:!0!@$HOE@\0D7<M5@^P&.R80 '(%ZF(! "+[*' CXL> MOH\+PW1MH<"/CL FBT\$CL FBU<"B0[ CXM.#(E. +$-B1:^CXM6 -/B@>( MX([ )HL/@.4?"\J,1@2.P":)#S/),]*.P":)3P2.P":)5P*.P":)3PB.P":) M5P:#!LB/ 8,6RH\ B5X"F@( BQ*#Q 9=R\<&Y(\! )H7#OD$#NA^"<<&Y(\ M *' CXL>OH\+PW1MH<"/CL FBT\$CL FBU<"B0[ CXM.#(E. +$-B1:^CXM6 M -/B@>( X([ )HL/@.4?"\J,1@2.P":)#S/),]*.P":)3P2.P":)5P*.P":) M3PB.P":)5P:#!LB/ 8,6RH\ B5X"F@( BQ*#Q 9=RQZXGY%0F@4 8!*+Y3/ M4)H" $D2B^6#Q 9=RU6#[ @[)A <@7J8@$ (OLH<2/BQ["CPO#=$"AQ(^. MP":+3P2.P":+5P*)#L2/,\F)%L*/CL FBQ> YA^,1@:.P":)%X,&S(\!@Q;. MCP")7@2: @"+$H/$"%W+QP;DCP$ FA<.^00.Z'H(QP;DCP H<2/BQ["CPO# M=$"AQ(^.P":+3P2.P":+5P*)#L2/,\F)%L*/CL FBQ> YA^,1@:.P":)%X,& MS(\!@Q;.CP")7@2: @"+$H/$"%W+'KC#D5":!0!@$HOE,\!0F@( 21*+Y8/$ M"%W+58/L##LF$ !R!>IB 0 B^R+1A) 0#W^ (E&$GX6'KCCD5":!0!@$HOE M,\!0F@( 21*+Y;@! %#$-KR0)HM$!B:+7 0FBTP*)HM4")H+ ,P3BTX2,]*% MR7D!2HE.!(O*BU8$F@8 !!1]"?]V$@[H5 .+Y<0VO) FBT0*)HM<"(M.$C/2 MA<EY 4J)3@"+RHE6 HM6 (E&"HE>")H& -03)HE$"B:)7 B+1@ F*40,BUX" M)AE<#@$&T(\1'M*/BT8*BW8(,\FZ 0"+WHE& HE> )H& -03BTX2CD8")H@, M,\FZ 0")1@*)1@J)7@")7@B:!@#4$XL.P)#$=@ FB R)1@J)7@B: @"+$H/$ M#%W+58/L##LF$ !R!>IB 0 B^PSR;H! (M&%(M>$IH# 84CL FB@\P[;+_ MC$84CL FB!>)3@HSR;H! (E>$IH# 84CL FB@\P[8'A_P"+5@K1XM'BB_*+ ME.J/B[SHCXE&%#/ A<EY 4B.PB8!30R.PB8110Z)3@B)7A*#Q Q=RU6#[ 0[ M)A <@7J8@$ (OLBT8,BUX*BTX0BU8.F@@ R!-S.8[ )HI/ 3#M@>'_ ('Y M_P!U)X[ )HH',.0E_P SVX7 >0%+B\N+T(S BUX*F@8 U!.)1@R)7@KKM(M& M#(M>"HM.$(M6#IH( ,@3<@0SP#/;F@( BQ*#Q 1=RU6#[ 0[)A <@7J8@$ M (OLBT8,BUX*BTX0BU8.F@@ R!-S.8[ )HI/ 3#M@>'_ ('Y_P!T)X[ )HH' M,.0E_P SVX7 >0%+B\N+T(S BUX*F@8 U!.)1@R)7@KKM(M&#(M>"HM.$(M6 M#IH( ,@3<@0SP#/;F@( BQ*#Q 1=RU6#[ X[)A <@7J8@$ (OLBT86BUX4 MBTX:BU88F@@ R!-R ^FC ([ )HI/ 3#M@>'_ ('Y_P!U ^F. #/)N@( F@8 MU!.+=A0FB@PP[8'A_P!)25%04YJI ?D$B^6)1@P+PXE>"G46'KC]D5":!0!@ M$HOE,\!0F@( 21*+Y8M&'#/;A<!Y 4N+RXO0Q'8*)HM$ B:+')H# 84)HE$ M B:)',1V%":*!##D)?\ ,]N%P'D!2XO+B]",P(O>F@8 U!.)1A:)7A3I1_^# MQ Y=RU6#[ @[)A <@7J8@$ (OLBT86_TX6A<!T38M&$(MV#C/)N@$ B]Z) M1@*)7@":!@#4$XM.%(M^$HE.!C/)N@$ B480BT84B5X.B]^)7@2:!@#4$XY& M!B:*#8Y& B:(#(E&%(E>$NNI@\0(7<M5@^P*.R80 '(%ZF(! "+[*' D$") M1@B+1@B+'K*0.]A\-]'@T>"+\(N$ZH^+O.B/BUX0,\F%VWD!28[ )HM%#HE> M!":+70R+5@2:!@ $%'X#Z0,!_T8(Z[ZAL)")1@B+1@B+'L"0.]A\-]'@T>"+ M\(N$ZH^+O.B/BUX0,\F%VWD!28[ )HM%#HE>!":+70R+5@2:!@ $%'X#Z;L M_T8(Z[['!N2/ 0":%P[Y! [HF /'!N2/ "AP)! B48(BT8(BQZRD#O8?#31 MX-'@B_"+A.J/B[SHCXM>$#/)A=MY 4F.P":+10Z)7@0FBUT,BU8$F@8 !!1_ M8/]&".O!H;"0B48(BT8(BQ[ D#O8?#31X-'@B_"+A.J/B[SHCXM>$#/)A=MY M 4F.P":+10Z)7@0FBUT,BU8$F@8 !!1_&_]&".O!'K@ADE":!0!@$HOE,\!0 MF@( 21*+Y8M&"*/ D-'@T>"+\(N$ZH^+O.B/H[Z0N $ 4(X&OI FBT4&)HM= M!":+30HFBU4(B3Z\D)H+ ,P3BTX0,]*%R7D!2HE.!(O*BU8$F@8 !!1]#O\V MOI#_-KR0#N@' (OE@\0*7<M5@^P4.R80 '(%ZF(! "+[,1V&B:+1 HFBUP( M4%,F_W0")O\TB482B5X0#NA;_(OEB48&"\.)7@1U!8/$%%W+_W82_W80_W8& M_W8$#NB\^XOEB48*B5X(BT8*"T8(=0/IOP#_=A+_=A#_=@K_=@@.Z!?\B^6) M1@X+PXE>#'4,BT82BUX0B48.B5X,N $ 4(M&"HM>"(M.!HM6!)H+ ,P34%/_ M=@[_=@S_=@K_=@@.Z%;\B^6X 0!0BT8.BUX,BTX*BU8(F@L S!-04_]V"O]V M"/]V!O]V! [H_/R+Y;@! %"+1@Z+7@R+3@J+5@B:"P#,$XO(B].+1@:+7@2: M!@#4$_]V$O]V$/]V#O]V#(E&!HE>! [H]?J+Y8E&"HE>".DV_[@! %#$=AHF MBT0*)HM<"(M.!HM6!)H+ ,P3*1[0CQD&TH^+1@:+7@3$=AHFB40*)HE<"+@! M % FBT0&)HM<!":+3 HFBU0(F@L S!/$=AHFB40.)HE<#(/$%%W+58/L"CLF M$ !R!>IB 0 B^RAM)")1@2+1@2+'K:0.]A\9]'@T>"+\(N$ZH^+G.B/B48( MB5X&BT8$T>#1X(OPBX3JCXN<Z(\#'N:/BTX(BU8&F@@ R!-V+(OR,\".P2:+ M'(#G[XQ& H[!)HD<,\FZ$@"+1@B+7@::!@#4$XE&"(E>!NNR_T8$ZXZAN)") M1@2+1@2+'KJ0.]A\<-'@T>"+\(N$ZH^+G.B/B48(B5X&BT8$T>#1X(OPBX3J MCXN<Z(\#'N:/BTX(BU8&F@@ R!-V-8OR,\".P2:+'(#G[XQ& H[!)HD<H<:/ M,]N%P'D!2XO+B]"+1@B+7@::!@#4$XE&"(E>!NNI_T8$ZX6#Q I=RU6#[!([ M)A <@7J8@$ (OL@P;@CP&#%N*/ ,<&P(\ ,<&OH\ *'6CXL>U(^+#KB0 MH\J/B4X0B1[(CXM&$(L>NI [V'T#Z4$!_T80T>#1X(OPBX3JCXN<Z(^+#N:/ M,]*%R7D!2HE. (O*BU8 B48*B5X(F@8 U!.)1@Z)7@R+1@Z+7@R+3@J+5@B: M" #($W:JB_*)3@*Q#(Y& B:+!-/H)0$ B78 = /IJ@"Q#2:+!-/H)0< ZU3_ M=@K_=@B:4@?Y!(OEBT8*BW8(CL F_W0$C$8"CL F_W0"#N@B^(OEZS3_=@K_ M=@B:VPGY!(OEBT8*BW8(CL F_W0$C$8"CL F_W0"#NCX]XOEZPH]!@!TT3T% M '2BBT8*BW8(BQ[ CXL.OH^.P":)7 2,1@*.P":)3 *X $ FBQR YQ\+V":) M'(S B]Z#+LB/ 8,>RH\ H\"/B1Z^CXM&"HMV"#/;CL FBPR Y>^,1@*.P":) M#(L>QH\SR87;>0%)B].+WIH& -03B48*B5X(Z?3^QP;$CP QP;"CP H=J/ MBQ[8CXL.M)"CSH^)3A")'LR/BT80BQZVD#O8?0/I" '_1A#1X-'@B_"+A.J/ MBYSHCXL.YH\STH7)>0%*B4X B\J+5@")1@J)7@B:!@#4$XE&#HE>#(M&#HM> M#(M."HM6")H( ,@3=JJ+\HE. K$,CD8")HL$T^@E 0")=@!U?+$+)HL$T^@E M 0!U<":+1! F"T0.=";_=@I2FH8&^02+Y8M&"HMV"([ )O]T$(Q& H[ )O]T M#@[HK?:+Y8M&"HMV"(L>Q(^+#L*/CL FB5P$C$8"CL FB4P"B]Z.P";'1! M ([ )L=$#@ @R[,CP&#'LZ/ */$CXD>PH^+1@J+=@@SVX[ )HL,@.7OC$8" MCL FB0PSR;H2 (O>F@8 U!.)1@J)7@CI+?\SP% >N#N24)H?%/D$B^6%P'0$ M#N@9 /\VXH__-N"/'KA$DE":AQ/Y!(OE@\027<M5@^P4.R80 '(%ZF(! "+ M[*'*CXL>R(\SR;ID )H! $(2BP[6CXL6U(^:!0!N$Z'.CXE>#HL>S(\SR;ID M )H! $(2BP[:CXL6V(^:!0!N$Z'2CXE>$(L>T(\SR;ID )H! $(2BP[>CXL6 MW(^:!0!N$XM&#C/)A<!Y 4F)1@"+P8E>$HM> (E. C/)N@$ F@8 !!1_!3/ MNP$ BTX0,]*%R7D!2HE& HO"B5X B]F)3@0SR8E6!KH! )H& 04?P4SP+L! M (M.$C/2A<EY 4J)1@:+PHE>!(O9B4X(,\F)5@JZ 0":!@ $%'\%,\"[ 0!0 M4_]V!O]V!/]V O]V /\VXH__-N"/'KA.DE":!0!@$HOE@\047<M5@^P$.R80 M '(%ZF(! "+[(M&"NMWH<J/BQ[(CS/)NF0 F@$ 0A*+#M:/BQ;4CYH% &X3 MB\.#Q 1=RZ'.CXL>S(\SR;ID )H! $(2BP[:CXL6V(^:!0!N$XO#@\0$7<NA MTH^+'M"/,\FZ9 ": 0!"$HL.WH^+%MR/F@4 ;A.+PX/$!%W+N/__@\0$7<L] M @!TSCT! '2D/0 =0/I=__KY%6+[(M&"([ BWX&^B:+)2:+10*.T/N+[":+ M102)1@(FBT4&B48$)HM%"(E& ":+10J.V":+10R.P+@! %W+58OLC,"+R(M& M"([ BWX&)HDEC- FB44"BT8")HE%!(M&!":)10:+1@ FB44(C-@FB44*)HE- M#(O!CL SP%W+58OL'HM^!BZAMK2.V*$L ([8B@4RY!]=RU6+[(I^!HIV"(I6 M"K0"MP#-$%W+5;0#MP#-$(OLBW8&BWX(B#2(%5W+58OLM "*1@;-$%W+58OL MM &*;@:*3@C-$%W+58OLM 6*1@;-$%W+58OLM :*1@:*;@B*3@J*=@R*5@Z* M?A#-$%W+58OLM >*1@:*;@B*3@J*=@R*5@Z*?A#-$%W+58OLM F*?@:+3@B* M1@J*7@S-$%W+58OLM J*?@:+3@B*1@K-$%W+58OLM Z*1@:*7@C-$%W+58OL MM R+3@:+5@B*1@K-$%W+58OLM!**1@:*;@B*3@J*=@R*5@Z*7A"*?A*+=A3- M4EW+M"K-(8O!R[0JS2$SP(K&R[0JS2$SP(K"R[0JS2$RY,NT+,TA,\"*Q<NT M+,TA,\"*P<NT+,TA,\"*QLNT+,TA,N2*PLM5@^P0.R80 '(%ZF(! "+[#/ MQ@:#DP")1@B)1@J!?@@@3GP#Z< BT88BUX6B48.B5X,_W8(FHP /0J+Y<1V M#":*'##_.]AU&3/)N@$ C,"+WIH& -03_T8(B48.B5X,Z]&+1@C_1@A0FHP M/0J+Y3T] '5&Q'8,)HH$,.2%P'4ZBT8*_T8*B_"+1@C_1@A0B78 FHP /0J+ MY8MV (B$A)*$P'0'@7X*_P!\U8S8NX22F@( BQ*#Q!!=RXM&"/]&"%":C ] M"HOEA<!U[O]V")J, #T*B^6%P'0#Z3__,\ SVX/$$%W+,\ SVX/$$%W+58OL MH8230*.$DUW+58/L"#LF$ !R!>IB 0 B^RX 0!0'KB&DU":\0/Y!(OEN0$ M41ZYB)-1HRJ B1XH@)KQ _D$B^6Y 0!1'KF,DU&C+H")'BR FO$#^02+Y;D! M %$>N9.34:,R@(D>,(":\0/Y!(OEN0$ 41ZYFY-1HT* B1Y @)KQ _D$B^6Y M 0!1'KFADU&C1H")'D2 FO$#^02+Y;D! %$>N:>34:,V@(D>-(":\0/Y!(OE MN0$ 41ZYL)-1HSZ B1X\@)KQ _D$B^7_-BJ _S8H@/\V*H#_-BB HSJ B1XX M@)I;$?D$B^6X$ #$-BB )HL<"]@FB1PSP% SVU/_-BZ _S8L@)I;$?D$B^6X M$ #$-BR )HL<"]@FB1RX 0!0'KB]DU":\0/Y!(OEN1 CL FBQ<+T8Q&!H[ M)HD7B5X$,\ SVS/),])04U%2FGL&? "+Y5!3_W8&_W8$FEL1^02+Y;@! % > MN,>34)KQ _D$B^6Y$ ".P":+%PO1C$8&CL FB1?_-BJ _S8H@%!3B5X$FEL1 M^02+Y;@! % >N-"34)KQ _D$B^6Y$ ".P":+%PO1C$8&CL FB1<SP% SR5$& M4XE>!)I;$?D$B^4SP% SVU,>N-F34 Z+!O*74+@) %":.Q#Y!(OE,\!0,]M3 M'KCADU"X? !0N_$*4[@+ %":.Q#Y!(OE,\!0,]M3'KCGDU"X? !0NSD+4[@) M %":.Q#Y!(OE,\!0,]M3'KCKDU"X? !0NZX+4[@) %":.Q#Y!(OE,\!0,]M3 M'KCODU"X? !0NR,,4[@) %":.Q#Y!(OE,\!0,]M3'KCTDU"X? !0N^L,4[@) M %":.Q#Y!(OE,\!0,]M3'KCYDU"X? !0NV4-4[@) %":.Q#Y!(OE,\!0,]M3 M'KC\DU"X? !0N^P-4[@) %":.Q#Y!(OE,\!0,]M3'K@!E%"X? !0NZ .4[@) M %":.Q#Y!(OE,\!0,]M3'K@)E%"X? !0NY,/4[@) %":.Q#Y!(OE,\!0,]M3 M'K@-E%"X? !0NS@34[@+ %":.Q#Y!(OE,\!0,]M3'K@1E%"X? !0NWP64[@+ M %":.Q#Y!(OE,\!0,]M3'K@6E%"X? !0NX@74[@) %":.Q#Y!(OE,\!0,]M3 M'K@<E%"X? !0NU(84[@) %":.Q#Y!(OE,\!0,]M3'K@DE%"X? !0N^8=4[@) M %":.Q#Y!(OE,\!0,]M3'K@FE%"X? !0NZ4>4[@) %":.Q#Y!(OE,\!0,]M3 M'K@HE%"X? !0NY ?4[@) %":.Q#Y!(OE,\!0,]M3'K@JE%"X? !0NUH@4[@) M %":.Q#Y!(OE,\!0,]M3'K@LE%"X? !0N_HE4[@) %":.Q#Y!(OE,\!0,]M3 M'K@NE%"X? !0NTPD4[@) %":.Q#Y!(OE,\!0,]M3'K@PE%"X? !0NR0E4[@) M %":.Q#Y!(OE,\!0,]M3'K@RE%"X? !0NU@C4[@) %":.Q#Y!(OE,\!0,]M3 M'K@VE%"X? !0NV8A4[@) %":.Q#Y!(OE,\!0,]M3'K@ZE%"X? !0NUXB4[@) M %":.Q#Y!(OE,\!0,]M3'K@^E%"X? !0N](F4[@+ %":.Q#Y!(OE,\!0,]M3 M'KA#E%"X? !0NRLI4[@) %":.Q#Y!(OE,\!0,]M3'KA'E%"X? !0N^\K4[@) M %":.Q#Y!(OE,\!0,]M3'KA.E%"X? !0NXPL4[@) %":.Q#Y!(OE,\!0,]M3 M'KA1E%"X? !0NRXM4[@) %":.Q#Y!(OE,\!0,]M3'KA9E%"X? !0NZ8M4[@) M %":.Q#Y!(OE,\!0,]M3'KA@E%"X? !0NV(94[@) %":.Q#Y!(OE,\!0,]M3 M'KAHE%"X? !0N^\:4[@) %":.Q#Y!(OE,\!0,]M3'KAPE%"X? !0NX0<4[@) M %":.Q#Y!(OE,\!0,]M3'KAYE% .BP;VEU"X"0!0FCL0^02+Y3/ 4#/;4QZX M?I10#HL&^I=0N D 4)H[$/D$B^4SP% SVU,>N(244 Z+!OZ74+@) %":.Q#Y M!(OE,\!0,]M3'KB*E% .BP8"F%"X"0!0FCL0^02+Y3/ 4#/;4QZXD)10#HL& M!IA0N D 4)H[$/D$B^4SP% SVU,>N):44 Z+!@J84+@) %":.Q#Y!(OE,\!0 M,]M3'KB<E% .BP8.F%"X"0!0FCL0^02+Y3/ 4#/;4QZXH910N'P 4+O-+5.X M"0!0FCL0^02+Y3/ 4#/;4QZXII10N'P 4+L1+E.X"0!0FCL0^02+Y3/ 4#/; M4QZXK)10N'P 4+M5,E.X"0!0FCL0^02+Y3/ 4#/;4QZXLY10#HL&$IA0N D M4)H[$/D$B^4SP% SVU,>N+>44+A\ %"[1@Y3N D 4)H[$/D$B^4SP% SVU,> MN+N44 Z+!A:84+@) %":.Q#Y!(OE,\!0,]M3'KC"E% .BP8:F%"X"0!0FCL0 M^02+Y3/ 4#/;4QZXRY10#HL&'IA0N D 4)H[$/D$B^4SP% SVU,>N-&44+A\ M %"[7C!3N L 4)H[$/D$B^4SP% SVU,>N-644+A\ %"[U3!3N L 4)H[$/D$ MB^4SP% SVU,>N-B44+A\ %"[M2Y3N D 4)H[$/D$B^4SP% SVU,>N-V44+A\ M %"[?RI3N L 4)H[$/D$B^4SP% SVU,>N.*44+A\ %"[Z"Y3N D 4)H[$/D$ MB^4SP% SVU,>N.B44+A\ %"[8"]3N D 4)H[$/D$B^4SP% SVU,>N.N44+A\ M %"[L"]3N D 4)H[$/D$B^4SP% SVU,>N/*44+A\ %"[-Q!3N L 4)H[$/D$ MB^4SP% SVU,>N/B44+A\ %"[G!13N D 4)H[$/D$B^4SP% SVU,>N/V44+A\ M %"[ !93N D 4)H[$/D$B^4SP% SVU,>N *54 Z+!B*84+@) %":.Q#Y!(OE M,\!0,]M3'K@)E5 .BP8FF%"X"0!0FCL0^02+Y3/ 4#/;4QZX%950#HL&*IA0 MN D 4)H[$/D$B^4SP% SVU,>N!N54 Z+!BZ84+@) %":.Q#Y!(OE,\!0,]M3 M'K@FE5 .BP8RF%"X"0!0FCL0^02+Y3/ 4#/;4QZX+I50#HL&-IA0N D 4)H[ M$/D$B^4SP% SVU,>N#654 Z+!CJ84+@) %":.Q#Y!(OE,\!0,]M3'K@\E5 . MBP8^F%"X"0!0FCL0^02+Y3/ 4#/;4QZX0I50#HL&0IA0N D 4)H[$/D$B^4S MP% SVU,>N$F54 Z+!D:84+@) %":.Q#Y!(OE,\!0,]M3'KA/E5 .BP9*F%"X M"0!0FCL0^02+Y3/ 4#/;4QZX5)50#HL&3IA0N D 4)H[$/D$B^4SP% SVU,> MN%F54 Z+!E*84+@) %":.Q#Y!(OE,\!0,]M3'KABE5 .BP96F%"X"0!0FCL0 M^02+Y3/ 4#/;4QZX:I50#HL&6IA0N D 4)H[$/D$B^4SP% SVU,>N&Z54 Z+ M!EZ84+@) %":.Q#Y!(OE,\!0,]M3'KASE5 .BP9BF%"X"0!0FCL0^02+Y3/ M4#/;4QZX>)50#HL&9IA0N D 4)H[$/D$B^4SP% SVU,>N'V54 Z+!FJ84+@) M %":.Q#Y!(OE,\!0,]M3'KB!E5 .BP9NF%"X"0!0FCL0^02+Y3/ 4#/;4QZX MA950#HL&<IA0N D 4)H[$/D$B^4SP% SVU,>N(J54 Z+!G:84+@) %":.Q#Y M!(OE,\!0,]M3'KB/E5 .BP9ZF%"X"0!0FCL0^02+Y3/ 4#/;4QZXDY50#HL& M?IA0N D 4)H[$/D$B^4SP% SVU,>N)F54 Z+!H*84+@) %":.Q#Y!(OE,\!0 M,]M3'KB=E5 .BP:&F%"X"0!0FCL0^02+Y3/ 4#/;4QZXHI50#HL&BIA0N D M4)H[$/D$B^4SP% SVU,>N*F54 Z+!HZ84+@+ %":.Q#Y!(OE,\!0,]M3'KBO ME5 .BP:2F%"X"P!0FCL0^02+Y3/ 4#/;4QZXMY50N'P 4+M),5.X"0!0FCL0 M^02+Y3/ 4#/;4QZXPY50#HL&EIA0N D 4)H[$/D$B^4SP% SVU,>N,V54 Z+ M!IJ84+@) %":.Q#Y!(OE,\!0,]M3'KC3E5 .BP:>F%"X"0!0FCL0^02+Y3/ M4#/;4QZXW)50#HL&HIA0N D 4)H[$/D$B^4SP% SVU,>N.254 Z+!J:84+@) M %":.Q#Y!(OE,\!0,]M3'KCOE5 .BP:JF%"X"0!0FCL0^02+Y3/ 4#/;4QZX M]Y50#HL&KIA0N D 4)H[$/D$B^4SP% SVU,>N "64 Z+!K*84+@) %":.Q#Y M!(OE,\!0,]M3'K@'EE .BP:VF%"X"0!0FCL0^02+Y3/ 4#/;4QZX$)90#HL& MNIA0N D 4)H[$/D$B^4SP% SVU,>N!.64 Z+!KZ84+@) %":.Q#Y!(OE,\!0 M,]M3'K@8EE .BP;"F%"X"0!0FCL0^02+Y3/ 4#/;4QZX&Y90#HL&QIA0N D M4)H[$/D$B^4SP% SVU,>N""64 Z+!LJ84+@) %":.Q#Y!(OE,\!0,]M3'K@D MEE .BP;.F%"X"0!0FCL0^02+Y3/ 4#/;4QZX*I90#HL&TIA0N D 4)H[$/D$ MB^4SP% SVU,>N"Z64 Z+!M*84+@) %":.Q#Y!(OE,\!0,]M3'K@REE .BP;2 MF%"X"0!0FCL0^02+Y3/ 4#/;4QZX-Y90#HL&UIA0N D 4)H[$/D$B^4SP% S MVU,>N#R64 Z+!M:84+@) %":.Q#Y!(OE,\!0,]M3'KA'EE .BP;:F%"X"0!0 MFCL0^02+Y3/ 4#/;4QZX3Y90#HL&VIA0N D 4)H[$/D$B^4SP% SVU,>N%66 M4 Z+!MZ84+@) %":.Q#Y!(OE,\!0,]M3'KA>EE .BP;BF%"X"0!0FCL0^02+ MY3/ 4#/;4QZX9Y90#HL&YIA0N D 4)H[$/D$B^4SP% SVU,>N&V64 Z+!NJ8 M4+@) %":.Q#Y!(OE,\!0,]M3'KAREE .BP;NF%"X"0!0FCL0^02+Y3/ 4#/; M4QZX>)90#HL&\IA0N D 4)H[$/D$B^4SP% SVU,>N'Z64 Z+!O:84+@) %": M.Q#Y!(OE,\!0,]M3'KB%EE .BP;ZF%"X"0!0FCL0^02+Y3/ 4#/;4QZXBY90 M#HL&_IA0N D 4)H[$/D$B^4SP% SVU,>N(^64 Z+!@*94+@) %":.Q#Y!(OE M,\!0,]M3'KB4EE .BP8&F5"X"0!0FCL0^02+Y3/ 4#/;4QZXFI90#HL&!IE0 MN D 4)H[$/D$B^4SP% SVU,>N**64 Z+!@J94+@) %":.Q#Y!(OE,\!0,]M3 M'KBGEE .BP8.F5"X"0!0FCL0^02+Y3/ 4#/;4QZXKI90#HL&$IE0N D 4)H[ M$/D$B^4SP% SVU,>N+:64 Z+!A:94+@) %":.Q#Y!(OE,\!0,]M3'KC&EE . MBP8:F5"X"0!0FCL0^02+Y3/ 4#/;4QZXT)90#HL&'IE0N D 4)H[$/D$B^4S MP% SVU,>N-J64 Z+!B*94+@) %":.Q#Y!(OE,\!0,]M3'KCAEE"X? !0NPPW M4[@) %":.Q#Y!(OE,\!0,]M3'KCFEE"X? !0NTLW4[@) %":.Q#Y!(OE,\!0 M,]M3'KCNEE"X? !0N^<W4[@) %":.Q#Y!(OE,\!0,]M3'KCWEE"X? !0NV X M4[@) %":.Q#Y!(OE,\!0,]M3'KC[EE"X? !0NS4Y4[@) %":.Q#Y!(OE,\!0 M,]M3'K@"EU"X? !0NTLZ4[@) %":.Q#Y!(OE,\!0,]M3'K@/EU"X? !0NQDU M4[@) %":.Q#Y!(OE,\!0,]M3'K@5EU .BP8FF5"X"0!0FCL0^02+Y3/ 4#/; M4QZX')=0#HL&*IE0N D 4)H[$/D$B^4SP% SVU,>N"&74 Z+!BZ94+@) %": M.Q#Y!(OE,\!0,]M3'K@HEU .BP8RF5"X"0!0FCL0^02+Y3/ 4#/;4QZX+Y=0 M#HL&-IE0N D 4)H[$/D$B^6:! #S#X/$"%W+58/L$#LF$ !R!>IB 0 B^R! M/O1_0!]\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X,B83V HF<] (SP#/VBUX8 M"UX6B48.B78,= /I]@"X @!0FN\%\PB+Y3/)48E&#HE>#)H.%/,(B^4SVX7 M>0%+4U":/09\ (OEQ'8,)HE$!":)7 *X @!0FN\%\PB+Y<1V#":)1 @FB5P& MN0$ 48E& HE> )H.%/,(B^4SVX7 >0%+4U":/09\ (OEQ'8 )HE$!":)7 +$ M=@PFBT0()HM\!KL" %.)1@*)?@":[P7S"(OEQ'8 )HE$"":)7 ;$=@PFBT0( M)HM\!H[ )HM="([ )HMU!K@" %")7@*)=@":#A3S"(OE,]N%P'D!2U-0FCT& M? "+Y<1V ":)1 0FB5P"_P[T?XM&#HM>#)H" (L2@\007<L>N-F34)I= 'P MB^6#Q!!=RU6#[ @[)A <@7J8@$ (OLBT80"T8.=0DSP#/;@\0(7<N#/M M '0%FF\X^02Q#<1V#B:+!-/H)0< Z3,!Q'8.)O]T!";_= (.Z+/_B^6#PPH5 M #$=@XF_W0()O]T!HE& HE> [HEO^+Y8M. /+BU8"$]"+PHO9@\0(7<LS MP+L& (/$"%W+,\"[!@"#Q A=RXM&$(MV#H[ )O]T"(Q& H[ )O]T!@[H5/^+ MY8/#"A4 (/$"%W+BT80BW8.CL F_W00C$8"CL F_W0.F@X :A.+Y3/;A<!Y M 4L%$@"#TP % 0"#TP"3@\0(7<N+1A"+=@Z.P";_= 2,1@*.P";_= *:#@!J M$XOE,]N%P'D!2P4& (/3 4! (/3 ).#Q A=RXM&$(MV#K$$CL FBQS3ZS+_ MT>N+P[D* /?A,]L%!@"#TP"3@\0(7<L>N#274)H% & 2B^4SP%": @!)$HOE MZQZX$X@3/1.2$WX3[1,B%(OP@_X'<P?1YB[_I&(4Z\J#Q A=RU6#[ @[)A M<@7J8@$ (OLBT80"T8.="[$=@XFBT0()@M$!G4A)O]T!";_= (.Z$C^B^50 M4YH]!GP B^6: @"+$H/$"%W+'K@'EE":70!\ (OE@\0(7<M5@^P(.R80 '(% MZF(! "+[(M&$ M&#G4#Z7H!Q'8.)HM$!"8+1 )U ^EJ 2:+1 @F"T0&= /I M70$6C48$4";_= 0F_W0"FD8@^02+Y87 =0/I0@$>N'F44/]V!O]V!)H ,\3 MB^6%P'48,\!0NPH 4YH]!GP B^6: @"+$H/$"%W+'KA1EU#_=@;_=@2: #/ M$XOEA<!U&#/ 4+L* %.:/09\ (OEF@( BQ*#Q A=RQZX5I=0_W8&_W8$F@ MSQ.+Y87 =1@SP%"[!@!3FCT&? "+Y9H" (L2@\0(7<L>N%V74/]V!O]V!)H M ,\3B^6%P'48,\!0NP8 4YH]!GP B^6: @"+$H/$"%W+'KADEU#_=@;_=@2: M #/$XOEA<!U&#/ 4+L& %.:/09\ (OEF@( BQ*#Q A=RQZX:Y=0_W8&_W8$ MF@ SQ.+Y87 =1@SP%"[$@!3FCT&? "+Y9H" (L2@\0(7<L>N.&64/]V!O]V M!)H ,\3B^6%P'48,\!0NP8 4YH]!GP B^6: @"+$H/$"%W+'K@ EE":70!\ M (OE@\0(7<M5@^P(.R80 '(%ZF(! "+[(M&$ M&#G4#Z?( Q'8.)HM$!"8+ M1 )U ^GB !:-1@10)O]T!";_= *:OQ_Y!(OEA<!U ^G' ,1V#B:+1 @FBWP& MCL FBUT$C$80CL F"UT"B7X.=0DSP#/;@\0(7<O$=@XFBT0$)HM\ K$-CL F MBQW3ZX'C!P"#^P)T ^E_ (Y&$":+7 @F"UP&=7*+WXM.!H7)B480B5X.>&.+ M1@:+7@2#;@0!@UX& #/),]*:!@ $%'XDBT80"T8.=!/$=@XFBT0()HM<!HE& M$(E>#NO,,\ SVX/$"%W+BT80"T8.=0DSP#/;@\0(7<O$=@XFBT0$)HM< IH" M (L2@\0(7<L>N+.44)I= 'P B^6#Q A=RU6#[ @[)A <@7J8@$ (OLBT80 M"T8.=0/IF@#$=@XFBT0$)@M$ G47,\!0,]M3FCT&? "+Y9H" (L2@\0(7<O$ M=@XFBT0$)HM\ K$-CL FBQW3ZX'C!P"#^P)U68Y&$":+7 @F"UP&=4R+W\=& M!@ QT8$ ")1A")7@Z+1A +1@YT&\1V#B:+1 @FBUP&@T8$ 8-6!@")1A") M7@[KW?]V!O]V!)H]!GP B^6: @"+$H/$"%W+'KB[E%":70!\ (OE@\0(7<M5 MB^R+1@B+7@:: @"+$EW+58/L#CLF$ !R!>IB 0 B^S&1@D BT86"T84='G$ M=A0FBT0()@M$!G5L%HU&"E F_W0$)O]T IJ_'_D$B^6%P'14BT8,A<!X38M> M"C/)N@ !F@8 !!1]/A:-1@A0B%X(FA<#^02+Y8E&!@O#B5X$=14SP% 6C48( M4)KQ _D$B^6)1@:)7@2+1@:+7@2: @"+$H/$#EW+'KA^E%":70!\ (OE@\0. M7<M5@^P,.R80 '(%ZF(! "+[(M&% M&$G4#Z:L Q'82)HM$!":+7 (FBTP( M)HM4!HE.% O*B48&B582B5X$=2XSP% SVU-04[@! %#_=@;_=@0>N%:<4)H; M,/D$B^6+1@:+7@2: @"+$H/$#%W+Q'82)HM$!":+? *Q#8[ )HL=T^N!XP< M@_L#=3V.P":+702.P":+30(SP% STE)04K@! %#_=@;_=@1348E."(E>"IH; M,/D$B^6+1@:+7@2: @"+$H/$#%W+'KB$E%":70!\ (OE@\0,7<M5@^P,.R80 M '(%ZF(! "+[(M&% M&$G4#Z:D Q'82)HM$!":+7 (FBTP()HM4!HE.% O* MB48&B582B5X$=2TSP% SVU-04S/ 4/]V!O]V!!ZX5IQ0FALP^02+Y8M&!HM> M!)H" (L2@\0,7<O$=A(FBT0$)HM\ K$-CL FBQW3ZX'C!P"#^P-U/([ )HM= M!([ )HM- C/ 4#/24E!2,\!0_W8&_W8$4U&)3@B)7@J:&S#Y!(OEBT8&BUX$ MF@( BQ*#Q Q=RQZXBI10FET ? "+Y8/$#%W+58/L##LF$ !R!>IB 0 B^R+ M1A0+1A)U ^FK ,1V$B:+1 0FBUP")HM,"":+5 :)3A0+RHE&!HE6$HE>!'4N M,\!0,]M34%,SP%#_=@;_=@0>N%:<4)H;,/D$B^6A*H"+'BB F@( BQ*#Q Q= MR\1V$B:+1 0FBWP"L0V.P":+'=/K@>,' (/[ W4]CL FBUT$CL FBTT",\!0 M,])24%(SP%#_=@;_=@1348E."(E>"IH;,/D$B^6A*H"+'BB F@( BQ*#Q Q= MRQZXD)10FET ? "+Y8/$#%W+58/L!#LF$ !R!>IB 0 B^R+1@P+1@IT3,1V M"B:+1 0FBUP""\-T/2:+1 2Q#8[ )HL7T^J!X@< @_H#=2>.P";_=P2,1@*. MP";_=P*:#@4D (OEH2J BQXH@)H" (L2@\0$7<L>N,N44)I= 'P B^6#Q 1= MRU6#[!@[)A <@7J8@$ (OLBT8@"T8>=0/I]@ 6C48$4,1V'B;_= 0F_W0" MFD8@^02+Y87 =0/IV #$=AXFBT0()HM\!HE&( O'B7X>=0/IP 6C48(4(Y& M(";_=00F_W4"FD8@^02+Y87 =0/IH@#$=AXFBT0()@M$!G0#Z9( _W8*_W8( M_W8&_W8$F@4 !!*+Y8E&#@O#B5X,=0DSP#/;@\087<O_=@;_=@2:%P/Y!(OE MB486"\.)7A1U%C/ 4/]V!O]V!)KQ _D$B^6)1A:)7A2X P!0FN\%\PB+Y8M. M#HM6#([ )HE/!(Q&$H[ )HE7 HM.%HM6%([ )HE/"([ )HE7!HE>$)H" (L2 M@\087<L>N,*44)I= 'P B^6#Q!A=RU6#[! [)A <@7J8@$ (OLBT88"T86 M=18>N$2<4)H>-_D$B^6: @"+$H/$$%W+Q'86)HM$!":+7 (+PW4#Z8D )HM$ M!+$-CL FBQ?3ZH'B!P"#^@-U<X[ )HM/!([ )HM7 HE.!HY&&":+3 @FBWP& MB4X8"\^)5@2)?A9T$XY&&":+100FBUT"B48*B5X(ZPK'1@H ,=&" _W8& M_W8$FAXW^02+Y8E&#@O#B5X,=0B+1@J+7@CK!HM&#HM>#)H" (L2@\007<L> MN)R44)I= 'P B^6#Q!!=RU6#[!0[)A <@7J8@$ (OLBT8<"T8:=6 >N$2< M4)I.!"0 B^6)1A) =0DSP#/;@\047<N+1A+&1@T %HU>#%.(1@R:%P/Y!(OE MB480"\.)7@YU%3/ 4!:-1@Q0FO$#^02+Y8E&$(E>#HM&$(M>#IH" (L2@\04 M7<O$=AHFBT0$)HM< @O#=0/IQ0 FBT0$L0V.P":+%]/J@>(' (/Z W0#Z:P MCL FBT\$CL FBU<"B4X&CD8<)HM,"":+? :)3AP+SXE6!(E^&G03CD8<)HM% M!":+70*)1@J)7@CK"L=&"@ QT8( #_=@;_=@2:3@0D (OEB4820'40BT8* MBUX(F@( BQ*#Q!1=RXM&$L9� 6C5X,4XA&#)H7 _D$B^6)1A +PXE>#G45 M,\!0%HU&#%":\0/Y!(OEB480B5X.BT80BUX.F@( BQ*#Q!1=RQZXEI10FET M? "+Y8/$%%W+58/L!#LF$ !R!>IB 0 B^R+1@P+1@IU#YK&%_D$F@( BQ*# MQ 1=RQZX I50FET ? "+Y8/$!%W+58/L!#LF$ !R!>IB 0 B^R+1@P+1@IU M#YI6&OD$F@( BQ*#Q 1=RQZX"950FET ? "+Y8/$!%W+58/L%#LF$ !R!>IB M 0 B^R+1AR+7AJ+3B"+5AZ:" #($W4(N $ @\047<N+1AP+1AIT"(M&( M& M'G4',\"#Q!1=R[$-Q'8>)HL$T^@E!P"Q#<1V&B:+'-/K@>,' #O8= <SP(/$ M%%W+L0W$=AHFBP33Z"4' .F< <1V'B;_= 0F_W0"Q'8:)O]T!";_= (.Z&W_ MB^6%P'0EQ'8>)O]T"";_= ;$=AHF_W0()O]T!@[H3?^+Y87 = 4SP$#K C/ M@\047<N+1AR+7AJ+3B"+5AZ:" #($W0$,\GK S/)08O!@\047<N+1AR+=AJ+ M7B"+?AZ.P":+3 2.P":+5 *.PR8[301U!H[#)CM5 G0$,\#K S/ 0(/$%%W+ MBT8<BW8:BUX@BTX>CL.+^2;_=02,1@:.PR;_=0*.P";_= 2,1@*.P";_= *: M #/$XOEA<!T!#/;ZP,SVT.+PX/$%%W+BT8<BUX:BTX@BW8>B48"CL$FBT0$ MB5X CL$FBUP"F@T K!.)1@J)7@B)3@:)5@3$=@ FBT0$)HM< IH- *P3%HUV M!%::# #G$W0$,\#K S/ 0(/$%%W+BT8<BW8:BUX@BWX>CL FBT0$B5X&)HM< M HY&!B:+300FBU4"F@@ R!-T!#/)ZP,SR4&+P8/$%%W+_W8@_W8>_W8<_W8: MFH T? "+Y8/$%%W+LR!-(6<@I"'4( @AW2&+\(/^!W,'T>8N_Z3U(3/ @\04 M7<M5@^P,.R80 '(%ZF(! "+[(M&% M&$G1JQ'82)HM$!":+7 (FBTP()HM\ M!HE.% O/B48&B5X$B7X2=$>.1A0FBT4$)HM= B:+30@F"TT&B48*B5X(=2Q0 M4_]V!O]V! [H<_V+Y87 =!&A*H"+'BB F@( BQ*#Q Q=RS/ ,]N#Q Q=RQZX M%950FET ? "+Y8/$#%W+58/L##LF$ !R!>IB 0 B^R+1A0+1A)U ^F) !:- M1@10Q'82)O]T!";_= *:1B#Y!(OEA<!T;L1V$B:+1 @FBWP&B484"\>)?A)T M61:-1@A0CD84)O]U!";_=0*:1B#Y!(OEA<!T/L1V$B:+1 @F"T0&=3'_=@K_ M=@C_=@;_=@2: #/$XOEA<!Y$:$J@(L>*(": @"+$H/$#%W+,\ SVX/$#%W+ M'K@;E5":70!\ (OE@\0,7<M5@^P2.R80 '(%ZF(! "+[(M&&@M&&'4#Z0T! M%HU&!%#$=A@F_W0$)O]T II&(/D$B^6%P'4#Z>\ Q'88)HM$"":+? :)1AH+ MQXE^&'4#Z=< CD8:)HM%""8+109T ^G' !:-1@A0)O]U!";_=0*:OQ_Y!(OE MA<!U ^FL (M&""T! (M>"H/; (7;B48(B5X*>0/IB@#_=@;_=@2:#@!J$XOE M,]N%P'D!2XE& (M&"HE> HM>"(M. HM6 )H& 04?5TSP(7;>0%(B\B+TXM& M!HM>!)H& -03CL FB@_&1@T %HU&#%"(3@R:%P/Y!(OEB480"\.)7@YU%3/ M4!:-1@Q0FO$#^02+Y8E&$(E>#HM&$(M>#IH" (L2@\027<LSP#/;@\027<L> MN":54)I= 'P B^6#Q!)=RU6#[ P[)A <@7J8@$ (OLBT84"T82='#$=A(F MBT0$)HM< @O#=&$FBT0$L0V.P":+%]/J@>(' '5.CD84)HM,"":+? :)3A0+ MSXE&!HE>!(E^$G0SCD84)HM-!":+50(+RG0D)HM-!([ )HE/"([ )HE7!HE. M"HE6"(O!B]J: @"+$H/$#%W+'KA9E5":70!\ (OE@\0,7<M5@^P4.R80 '(% MZF(! "+[(M&' M&&G4#Z1 !Q'8:)HM$!":+7 (+PW4#Z?X )HM$!+$-CL F MBQ?3ZH'B!P!T ^GH (Y&'":+3 @FBWP&B4X<"\^)1@:)7@2)?AIU ^G* (Y& M'":+300FBU4""\IU ^FX ":+302)3@HSR8E6"+H& )H& -03CL FBT\"C$8. MCL FBQ>)3A*)5A")7@R+1A*+7A +PW1ZCD82)HM'!":+3P(+P71!)HM'!(OQ MCL FBT0$)HM< HM."HM6")H( ,@3=23$=A FBT0()HM<!L1^#":)10(FB1V+ M1A*+WIH" (L2@\047<LSR;H& (M&$HM>$)H& -03Q'80)HM,"":+5 :)1@Z) M3A*)5A")7@SI?/\SP#/;@\047<L>N&*54)I= 'P B^6#Q!1=RU6#[ @[)A M<@7J8@$ (OLBT80"T8.=% 6C48$4,1V#B;_= 0F_W0"FD8@^02+Y87 =#7$ M=@XFBT0()@M$!G4H_W8&_W8$FMLY^02+Y87 = FA*H"+'BB ZP0SP#/;F@( MBQ*#Q A=RQZX5)50FET ? "+Y8/$"%W+58/L##LF$ !R!>IB 0 B^R+1A0+ M1A)U ^F2 ,1V$B:+1 @F"T0&= /I@@ FBT0$)HM\ K$-CL FBQW3ZX'C!P!U M:X[ )HM=!(Q&!H[ )@M= HE^!'4),\ SVX/$#%W+N ( 4)KO!?,(B^6.P";' M1P0 (Q&"H[ )L=' @ Q'8$)HM,!":+? *.P2:+502.P2:+30*.P":)5PB. MP":)3P:)7@B: @"+$H/$#%W+'K@NE5":70!\ (OE@\0,7<M5@>P( 3LF$ !R M!>IB 0 B^R+AA !"X8. 75.H727BQYREX,&<I<!@Q9TEP!04QZX=I=0%HU& M!%":! #7$XOE%HU&!%":%P/Y!(OE"\-US#/ 4!:-1@10FO$#^02+Y9H" (L2 M@<0( 5W+Q+8. 2:+1 @F"T0&= /ID0 6C88$ 5 F_W0$)O]T II&(/D$B^6% MP'1X_[8& ?^V! &:#@!J$XOE/?4 ?@X>N'V74)H% & 2B^7K5J%TEXL><I># M!G*7 8,6=)< 4%/_M@8!_[8$ 1ZXDY=0%HU&!%":! #7$XOE%HU&!%":%P/Y M!(OE"\-UQ#/ 4!:-1@10FO$#^02+Y9H" (L2@<0( 5W+'K@UE5":70!\ (OE M@<0( 5W+58/L!#LF$ !R!>IB 0 B^R+1@P+1@IT2<1V"B:+1 @F"T0&=3PF MBT0$)HM< @O#=!8FBT0$L0V.P":+%]/J@>(' (/Z G41H2J BQXH@)H" (L2 M@\0$7<LSP#/;@\0$7<L>N#R54)I= 'P B^6#Q 1=RU6#[ 0[)A <@7J8@$ M (OLBT8,"T8*=#_$=@HFBT0()@M$!G4R)HM$!":+= *Q#8[ )HL<T^N!XP< M2W41H2J BQXH@)H" (L2@\0$7<LSP#/;@\0$7<L>N$*54)I= 'P B^6#Q 1= MRU6#[ 0[)A <@7J8@$ (OLBT8,"T8*=$'$=@HFBT0()@M$!G4T)HM$!":+ M= *Q#8[ )HL<T^N!XP< @_L#=1&A*H"+'BB F@( BQ*#Q 1=RS/ ,]N#Q 1= MRQZX2950FET ? "+Y8/$!%W+58/L"#LF$ !R!>IB 0 B^R+1A +1@YU ^DF M L1V#B:+1 @F"T0&= /I%@(FBT0$)@M$ G4\'KAYE%":%P/Y!(OEB48&"\.) M7@1U%K@! % >N'F44)KQ _D$B^6)1@:)7@2+1@:+7@2: @"+$H/$"%W+Q'8. M)HM$!":+? *Q#8[ )HL=T^N!XP< Z94!'KAYE%":%P/Y!(OEB48&"\.)7@1T M ^F, ;@! % >N'F44)KQ _D$B^6)1@:)7@3I<P$>N&N74)H7 _D$B^6)1@8+ MPXE>!'0#Z5H!N $ 4!ZX:Y=0FO$#^02+Y8E&!HE>!.E! 1ZX9)=0FA<#^02+ MY8E&!@O#B5X$= /I* &X 0!0'KADEU":\0/Y!(OEB48&B5X$Z0\!'KA=EU": M%P/Y!(OEB48&"\.)7@1T ^GV +@! % >N%V74)KQ _D$B^6)1@:)7@3IW0 > MN%:74)H7 _D$B^6)1@8+PXE>!'0#Z<0 N $ 4!ZX5I=0FO$#^02+Y8E&!HE> M!.FK !ZX49=0FA<#^02+Y8E&!@O#B5X$= /ID@"X 0!0'KA1EU":\0/Y!(OE MB48&B5X$ZWH>N.&64)H7 _D$B^6)1@8+PXE>!'5DN $ 4!ZXX990FO$#^02+ MY8E&!HE>!.M,'KB;EU":%P/Y!(OEB48&"\.)7@1U-K@! % >N)N74)KQ _D$ MB^6)1@:)7@3K'M J9BN>*I@K-"L"*\DKB_.#_@=S!]'F+O^D)2SKM(M&!HM> M!)H" (L2@\0(7<L>N$^54)I= 'P B^6#Q A=RU6#[! [)A <@7J8@$ (OL MBT88"T86=&_$=A8FBT0()@M$!G5B%HU&#% F_W0$)O]T IHX'_D$B^6%P'1* MBT8.BUX,F@T K!,>OCJ95IH, .<3B48&B5X$B4X"B58 ?0>:"0!?$NL+BT8. MBUX,F@T K!-04U%2FGL&? "+Y9H" (L2@\007<L>N&J54)I= 'P B^6#Q!!= MRU6#[!@[)A <@7J8@$ (OLBT8@"T8>=%#$=AXFBT0()@M$!G5#%HU&%% F M_W0$)O]T IHX'_D$B^6%P'0KBT86BUX4F@T K!-04U%2FF,-G1"+Y5!345*: M>P9\ (OEF@( BQ*#Q!A=RQZX;I50FET ? "+Y8/$&%W+58/L&#LF$ !R!>IB M 0 B^R+1B +1AYT4,1V'B:+1 @F"T0&=4,6C4844";_= 0F_W0"FC@?^02+ MY87 ="N+1A:+7A2:#0"L$U!345*:F0R=$(OE4%-14II[!GP B^6: @"+$H/$ M&%W+'KASE5":70!\ (OE@\087<M5@^P8.R80 '(%ZF(! "+[(M&( M&'G10 MQ'8>)HM$""8+1 9U0Q:-1A10)O]T!";_= *:.!_Y!(OEA<!T*XM&%HM>%)H- M *P34%-14IKP")T0B^504U%2FGL&? "+Y9H" (L2@\087<L>N'V54)I= 'P MB^6#Q!A=RU6#[!@[)A <@7J8@$ (OLBT8@"T8>=%#$=AXFBT0()@M$!G5# M%HU&%% F_W0$)O]T IHX'_D$B^6%P'0KBT86BUX4F@T K!-04U%2FEL(G1"+ MY5!345*:>P9\ (OEF@( BQ*#Q!A=RQZXF950FET ? "+Y8/$&%W+58/L&#LF M$ !R!>IB 0 B^R+1B +1AYT4,1V'B:+1 @F"T0&=4,6C4844";_= 0F_W0" MFC@?^02+Y87 ="N+1A:+7A2:#0"L$U!345*:1@6=$(OE4%-14II[!GP B^6: M @"+$H/$&%W+'KB!E5":70!\ (OE@\087<M5@^P8.R80 '(%ZF(! "+[(M& M( M&'G10Q'8>)HM$""8+1 9U0Q:-1A10)O]T!";_= *:.!_Y!(OEA<!T*XM& M%HM>%)H- *P34%-14IH8 IT0B^504U%2FGL&? "+Y9H" (L2@\087<L>N(^5 M4)I= 'P B^6#Q!A=RU6#[!@[)A <@7J8@$ (OLBT8@"T8>=%#$=AXFBT0( M)@M$!G5#%HU&%% F_W0$)O]T IHX'_D$B^6%P'0KBT86BUX4F@T K!-04U%2 MFMD$G1"+Y5!345*:>P9\ (OEF@( BQ*#Q!A=RQZXDY50FET ? "+Y8/$&%W+ M58/L"#LF$ !R!>IB 0 B^R+1A2%P'D),\ SVX/$"%W+QT8& #'1@0! (M& M%(M>$C/),]*:!@ $%'Y(,\"!XP$ "\-T(8M&!HM>!(M.$(M6#IH! $(2@VX2 M 8->% ")1@:)7@3KQ-%^%-%>$HM&$(M>#HO(B].: 0!"$HE&$(E>#NNGBT8& MBUX$@\0(7<M5@^PH.R80 '(%ZF(! "+[(M&, M&+G4#Z3D!Q'8N)HM$!":+ M7 (FBTP()HM\!HE., O/B48:B5X8B7XN=0/I$P&.1C FBTT()@M-!G0#Z0,! M)HM-!":+50(+PXE.'HE6''4#Z>X "\IU ^GG +$-CD8:)HL'T^@E!P ]! !U M4K$-CD8>B_(FBP33Z"4' #T$ '4^BT8:C,&.P8OR)O]T!(Q&!H[!)O]T H[ M)O]W!(Q& H[ )O]W @[HM/Z+Y5!3FCT&? "+Y9H" (L2@\0H7<L6C48@4/]V M&O]V&)HX'_D$B^6%P'1M%HU&)%#_=A[_=AR:.!_Y!(OEA<!T5XM&(HM>()H- M *P34%-14IH8 IT0B^6)1@Z)7@R)3@J)5@B+1B:+7B2:#0"L$Q:-=@A6F@@ M,A)04U%2FD8%G1"+Y5!345*:>P9\ (OEF@( BQ*#Q"A=RQZXA950FET ? "+ MY8/$*%W+58/L&#LF$ !R!>IB 0 B^R+1B +1AYT4,1V'B:+1 @F"T0&=4,6 MC4844";_= 0F_W0"FC@?^02+Y87 ="N+1A:+7A2:#0"L$U!345*:#@"=$(OE M4%-14II[!GP B^6: @"+$H/$&%W+'KB=E5":70!\ (OE@\087<M5@^P,.R80 M '(%ZF(! "+[,=&!@ QT8$ 0"+1A0+1A)T;\1V$B:+1 @F"T0&=6(6C48( M4";_= 0F_W0"FK\?^02+Y87 =$J+1@J+7@@SR;H! )H& 04?B&+1@:+7@2+ M3@J+5@B: 0!"$H-N" @H B48&B5X$Z\W_=@;_=@2:/09\ (OEF@( BQ*# MQ Q=RQZXBI50FET ? "+Y8/$#%W+58/L'#LF$ !R!>IB 0 B^R+1B0+1B)U M ^F7 !:-1A10Q'8B)O]T!";_= *:.!_Y!(OEA<!T?,1V(B:+1 @FBWP&B48D M"\>)?B)T9Q:-1AA0CD8D)O]U!";_=0*:.!_Y!(OEA<!T3(M&&HM>&)H- *P3 MB48&B5X$B4X"B58 BT86BUX4F@T K!,6C78 5IH' 'P34%-14IH6$IT0B^50 M4U%2FGL&? "+Y9H" (L2@\0<7<L>N'B54)I= 'P B^6#Q!Q=RU6#[!0[)A M<@7J8@$ (OLBT8<"T8:=0/IA@#$=AHFBT0$)@M$ G1M)HM$""8+1 9U8R:+ M1 0FBWP"L0V.P":+'=/K@>,' (/[!'5)CL FBT4$)HM= IH$ ) 3B482B5X0 MF@T K!-04U%2,\ SVS/),])04U%2FD45G1"+Y9H, *@34%.:/09\ (OEF@( MBQ*#Q!1=RQZXHI50FET ? "+Y;Y"F8M$!HM<!(M, HL44%-14C/ ,]LSR3/2 M4%-14II%%9T0B^4>ODJ95IH, .<3?A"^0IF+1 :+7 2+3 *+%.L.OE*9BT0& MBUP$BTP"BQ2:# "F$XE&$HE>$+Y:F8M$!HM<!(M, HL44%-14C/ ,]LSR3/2 M4%-14II%%9T0B^6)1@:)7@2)3@*)5@"+1A*+7A":#0"L$Q:-=@!6F@@ ,A*: M# "F$XE&$HE>$)H- ),34%.:/09\ (OEF@( BQ*#Q!1=RU6#[ P[)A <@7J M8@$ (OLBT84BUX2B48*"\.)7@AU#YH:&?D$F@( BQ*#Q Q=RXM&% M&$G1K MQ'82)HM$!":+7 (+PW1.)HM$!+$-CL FBQ?3ZH'B!P")1@:)7@1U-;$'CL F MBP?3Z"4/ "4- #T- '4AN$ )HL?"]B+?@0FB1V.1A0FBT0()HM<!HE&%(E> M$NN;'KBIE5":70!\ (OEZXV+1@J+7@B: @"+$H/$#%W+58/L##LF$ !R!>IB M 0 B^R+1A0+1A)U"YH:&?D$B484B5X2BT84BUX2B48*B5X(BT84"T82=&O$ M=A(FBT0$)HM< @O#=$XFBT0$L0V.P":+%]/J@>(' (E&!HE>!'4UL0>.P":+ M!]/H)0\ )0T /0T =2$SP":+'X#COXM^!":)'8Y&%":+1 @FBUP&B484B5X2 MZYL>N*^54)I= 'P B^7KC8M&"HM>")H" (L2@\0,7<M5@^P$.R80 '(%ZF(! M "+[(M&# M&"G4;,\!0FGX4^02+Y:$J@(L>*(": @"+$H/$!%W+'KC#E5": M70!\ (OE@\0$7<M5@^P0.R80 '(%ZF(! "+[+@!@(M>& M>%HE&"HE&"'4# MZ:P Q'86)HM$!":+7 (FBTP()HM\!HE.& O/B48.B5X,B7X6=$J.1A@FBT4( M)@M%!G5\)HM%!"8+10)T<B:+100FBW4"L0V.P":+'-/K@>,' (/[!'58Q'86 M)HM$!":+? *.P":+70+WVXE>"(E>"A:-1@A0,\!0,]M3,\!0_W8._W8,,\!0 M4YH;,/D$B^6+1@@K1@HSVX7 >0%+4U":/09\ (OEF@( BQ*#Q!!=RQZXS950 MFET ? "+Y8/$$%W+58/L$#LF$ !R!>IB 0 B^RX 8"+7A@+7A:)1@J)1@AU M ^FP ,1V%B:+1 0FBUP")HM,"":+? :)3A@+SXE&#HE>#(E^%G1-CD88)HM% M""8+109T ^E] ":+100F"T4"=',FBT4$)HMU K$-CL FBQS3ZX'C!P"#^P1U M6<1V%B:+1 0FBWP"CL FBUT"]]N)7@B)7@H6C48(4#/ 4#/;4[@! %#_=@[_ M=@PSP%!3FALP^02+Y8M&""M&"C/;A<!Y 4M34)H]!GP B^6: @"+$H/$$%W+ M'KC3E5":70!\ (OE@\007<M5@^P..R80 '(%ZF(! "+[(S8NU:<QT8, "+ M3A8+3A2)1@J)7@AU ^D' <1V%":+1 0FBUP")HM,"":+? :)3A8+SXE&!HE> M!(E^%'4#Z:4 CD86)HM%!":+70(+PW4#Z<\ )HM%!+$-CL FBQ?3ZH'B!P"# M^@-T ^FV ,1V%":+1 0FBWP"CL FBUT$CL FBTT"CD86)HM4"(E>"B:+7 :) M5A8+TXE."(E>%'1(CD86)HM'!":+3P(+P71U)HM'!(OQL0V.P":+'-/K@>,' M (/[!'5=Q'84)HM$!":+? *.P":+70*.1A8FBT0()@M$!HE>#'4\_W8*_W8( M,\!0_W8,_W8&_W8$FAXT^02+Y1ZXH9=0_W8*_W8(F@< [1.+Y:$J@(L>*(": M @"+$H/$#EW+'KC<E5":70!\ (OE@\0.7<M5@^P,.R80 '(%ZF(! "+[(M& M% M&$G1,Q'82)HM$""8+1 9U/Q:-1@A0)O]T!";_= *:1B#Y!(OEA<!T)_]V M"O]V")J4"8X2B^4SVX7 >0%+4U":/09\ (OEF@( BQ*#Q Q=RQZXY)50FET M? "+Y8/$#%W+58/L$#LF$ !R!>IB 0 B^R+1A@+1A9U ^D( <1V%B:+1 0F M"T0"=0/I^ #$=A8FBT0$)HM\ K$-CL FBQW3ZX'C!P"#^P-T ^G8 ,1V%B:+ M1 0FBWP"CL FBUT$CL FBTT"CD88)HM$""8+1 :)3@B)7@IU'%-1FL$ =1*+ MY5!3FCT&? "+Y9H" (L2@\007<O$=A8FBT0()HM\!H[ )HM="(Q&&([ )@M= M!HE^%G5SCL FBT4$)@M% G1GQ'86)HM$!":+? *Q#8[ )HL=T^N!XP< @_L$ M=4K$=A8FBT0$)HM\ H[ )HM=!([ )HM- C/ 4%-1_W8*_W8(B4X,B5X.FDH% M) "+Y87 =1?_=@[_=@R:/09\ (OEF@( BQ*#Q!!=RQZX[Y50FET ? "+Y8/$ M$%W+58/L!#LF$ !R!>IB 0 B^R+1@P+1@IT2\1V"B:+1 0F"T0"=#XFBT0( M)@M$!G4T)HM$!":+? *Q#8[ )HL=T^N!XP< @_L#=1J.P":+70B.P":+30:+ MPXO9F@( BQ*#Q 1=RQZX]Y50FET ? "+Y8/$!%W+58/L"#LF$ !R!>IB 0 MB^R+1A +1@YT5,1V#B:+1 @F"T0&=4<FBT0$)HM< @O#=#LFBT0$L0V.P":+ M%]/J@>(' (/Z!'4ECL FBT\"@\$!CL FBU<$@]( 4E&:/09\ (OEF@( BQ*# MQ A=RQZX$)90FET ? "+Y8/$"%W+58/L##LF$ !R!>IB 0 B^R+1A0+1A)U M ^FC ,1V$B:+1 @F"T0&= /IDP FBT0$)HM< @O#=0/IA FBT0$L0V.P":+ M%]/J@>(' (/Z!'4ECL FBT\"@\$!CL FBU<$@]( 4E&:/09\ (OEF@( BQ*# MQ Q=R\1V$B:+1 0FBWP"L0V.P":+'=/K@>,' $MU+H[ )HM%!":+70*:#0"L M$QZ^0IE6F@0 LA-04U%2FGL&? "+Y9H" (L2@\0,7<L>N!.64)I= 'P B^6# MQ Q=RU6#[ @[)A <@7J8@$ (OLBT80"T8.=%3$=@XFBT0()@M$!G5')HM$ M!":+7 (+PW0[)HM$!+$-CL FBQ?3ZH'B!P"#^@1U)8[ )HM/ H/I 8[ )HM7 M!(/: %)1FCT&? "+Y9H" (L2@\0(7<L>N!B64)I= 'P B^6#Q A=RU6#[ P[ M)A <@7J8@$ (OLBT84"T82=0/IHP#$=A(FBT0()@M$!G0#Z9, )HM$!":+ M7 (+PW4#Z80 )HM$!+$-CL FBQ?3ZH'B!P"#^@1U)8[ )HM/ H/I 8[ )HM7 M!(/: %)1FCT&? "+Y9H" (L2@\0,7<O$=A(FBT0$)HM\ K$-CL FBQW3ZX'C M!P!+=2Z.P":+100FBUT"F@T K!,>OD*95IH2 +(34%-14II[!GP B^6: @"+ M$H/$#%W+'K@;EE":70!\ (OE@\0,7<M5@^P(.R80 '(%ZF(! "+[(M&$ M& M#G1VQ'8.)HM$""8+1 9U:2:+1 0FBUP""\-T72:+1 2Q#8[ )HL7T^J!X@< M@_H$=0J: @"+$H/$"%W+Q'8.)HM$!":+? *Q#8[ )HL=T^N!XP< 2W4BCL F MBT4$)HM= IH- ),34%.:/09\ (OEF@( BQ*#Q A=RQZX()90FET ? "+Y8/$ M"%W+58/L##LF$ !R!>IB 0 B^R+1A0+1A)U ^E] ,1V$B:+1 @F"T0&=7 F MBT0$)HM< @O#=&0FBT0$L0V.P":+%]/J@>(' $IU"IH" (L2@\0,7<O$=A(F MBT0$)HM\ K$-CL FBQW3ZX'C!P"#^P1U*8[ )HM%!":+70*:! "0$YH- *P3 M4%-14II[!GP B^6: @"+$H/$#%W+'K@DEE":70!\ (OE@\0,7<M5@^P@.R80 M '(%ZF(! "+[,=&%@ QT84 "+1B@+1B9T<1:-1AA0Q'8F)O]T!";_= *: M.!_Y!(OEA<!U#!ZXHY=0FET ? "+Y8M&%HM>%)H- *P3B48&B5X$B4X"B58 MBT8:BUX8F@T K!,6C78 5IH$ +(3F@P IA/$=B8FBTP()HM4!HE&%HE.*(E6 M)HE>%.N'BT86BUX4F@T I1,SVX7 >0%+B48<B\.)7AZ+7AR:! "0$XE& HM& M%HE> (M>%)H- *P3B48*B5X(B4X&B58$BT8"BUX F@T K!,6C78$5IH, .<3 M=1?_=A[_=AR:/09\ (OEF@( BQ*#Q"!=RXM&%HM>%)H- *P34%-14II[!GP MB^6: @"+$H/$(%W+58/L(#LF$ !R!>IB 0 B^R+1B@+1B9U%S/ 4#/;4YH] M!GP B^6: @"+$H/$(%W+%HU&%%#$=B8F_W0$)O]T IHX'_D$B^6%P'4#Z2H! MQ'8F)HM$"":+7 :)1BB)7B:+1B@+1B9U ^F! !:-1AA0Q'8F)O]T!";_= *: M.!_Y!(OEA<!U ^GP (M&%HM>%)H- *P3B48&B5X$B4X"B58 BT8:BUX8F@T MK!.)1@Z)7@R)3@J)5@B+1@:+7@2+3@*+5@ 6C78(5IH2 +(3F@P IA/$=B8F MBTP()HM4!HE&%HE.*(E6)HE>%.ET_XM&%HM>%)H- *43,]N%P'D!2XE&'(O# MB5X>BUX<F@0 D!.)1@*+1A:)7@"+7A2:#0"L$XE&"HE>"(E.!HE6!(M& HM> M )H- *P3%HUV!%::# #G$W47_W8>_W8<FCT&? "+Y9H" (L2@\0@7<N+1A:+ M7A2:#0"L$U!345*:>P9\ (OEF@( BQ*#Q"!=RQZXL)=0FET ? "+Y8/$(%W+ M58/L(#LF$ !R!>IB 0 B^S'1A: /\=&% BT8H"T8F='$6C4884,1V)B;_ M= 0F_W0"FC@?^02+Y87 =0P>N,"74)I= 'P B^6+1A:+7A2:#0"L$XE&!HE> M!(E. HE6 (M&&HM>&)H- *P3%HUV %::" R$IH, *83Q'8F)HM,"":+5 :) M1A:)3BB)5B:)7A3KAXM&%HM>%)H- *43,]N%P'D!2XE&'(O#B5X>BUX<F@0 MD!.)1@*+1A:)7@"+7A2:#0"L$XE&"HE>"(E.!HE6!(M& HM> )H- *P3%HUV M!%::# #G$W47_W8>_W8<FCT&? "+Y9H" (L2@\0@7<N+1A:+7A2:#0"L$U!3 M45*:>P9\ (OEF@( BQ*#Q"!=RU6#[" [)A <@7J8@$ (OLBT8H"T8F=1@S MP%"[ 0!3FCT&? "+Y9H" (L2@\0@7<L6C4844,1V)B;_= 0F_W0"FC@?^02+ MY87 =0/I2P'$=B8FBT0()HM<!HE&*(E>)HM&* M&)G4#Z98 %HU&&%#$=B8F M_W0$)O]T IHX'_D$B^6%P'4#Z1$!BT8:BUX8F@T K!.: #G$W4#Z? BT86 MBUX4F@T K!.)1@:)7@2)3@*)5@"+1AJ+7AB:#0"L$XE&#HE>#(E."HE6"(M& M!HM>!(M. HM6 !:-=@A6F@< ?!.:# "F$\1V)B:+3 @FBU0&B486B4XHB58F MB5X4Z5__BT86BUX4F@T I1,SVX7 >0%+B48<B\.)7AZ+7AR:! "0$XE& HM& M%HE> (M>%)H- *P3B48*B5X(B4X&B58$BT8"BUX F@T K!,6C78$5IH, .<3 M=1?_=A[_=AR:/09\ (OEF@( BQ*#Q"!=RXM&%HM>%)H- *P34%-14II[!GP MB^6: @"+$H/$(%W+'KC.EU":!0!@$HOE'KA5EE":70!\ (OE@\0@7<M5@^P< M.R80 '(%ZF(! "+[(M&) M&(G41H2J BQXH@)H" (L2@\0<7<L6C4804,1V M(B;_= 0F_W0"FC@?^02+Y87 =0/IFP#$=B(FBT0()HM<!HE&)(E>(HM&) M& M(G1Q%HU&%%#$=B(F_W0$)O]T IHX'_D$B^6%P'1GBT82BUX0F@T K!.)1@:) M7@2)3@*)5@"+1A:+7A2:#0"L$Q:-=@!6F@P YQ-\"3/ ,]N#Q!Q=RXM&%HM> M%,1V(B:+3 @FBU0&B482B4XDB58BB5X0ZX>A*H"+'BB F@( BQ*#Q!Q=RQZX M7I90FET ? "+Y8/$'%W+58/L'#LF$ !R!>IB 0 B^R+1B0+1B)U$:$J@(L> M*(": @"+$H/$'%W+%HU&$%#$=B(F_W0$)O]T IHX'_D$B^6%P'4#Z9L Q'8B M)HM$"":+7 :)1B2)7B*+1B0+1B)T<1:-1A10Q'8B)O]T!";_= *:.!_Y!(OE MA<!T9XM&$HM>$)H- *P3B48&B5X$B4X"B58 BT86BUX4F@T K!,6C78 5IH, M .<3?PDSP#/;@\0<7<N+1A:+7A3$=B(FBTP()HM4!HE&$HE.)(E6(HE>$.N' MH2J BQXH@)H" (L2@\0<7<L>N&>64)I= 'P B^6#Q!Q=RU6#[ 0[)A <@7J M8@$ (OLBT8,"T8*=&'$=@HFBT0()@M$!G54)HM$!":+7 (+PW1()HM$!+$- MCL FBQ?3ZH'B!P"#^@1U,H[ )HM'!":+7P(SR;H" )H% &X3"\IU$:$J@(L> M*(": @"+$H/$!%W+,\ SVX/$!%W+'KAREE":70!\ (OE@\0$7<M5@^P$.R80 M '(%ZF(! "+[(M&# M&"G1AQ'8*)HM$""8+1 9U5":+1 0FBUP""\-T2":+ M1 2Q#8[ )HL7T^J!X@< @_H$=3*.P":+1P0FBU\",\FZ @":!0!N$PO*=!&A M*H"+'BB F@( BQ*#Q 1=RS/ ,]N#Q 1=RQZX;990FET ? "+Y8/$!%W+58/L M"#LF$ !R!>IB 0 B^R+1A +1@YU ^FH ,1V#B:+1 @F"T0&= /IF FBT0$ M)HM< @O#=0/IB0 FBT0$L0V.P":+%]/J@>(' (/Z!'4HCL FBT\$CL F"T\" M=1&A*H"+'BB F@( BQ*#Q A=RS/ ,]N#Q A=R\1V#B:+1 0FBWP"L0V.P":+ M'=/K@>,' $MU,([ )HM%!":+70*:#0"L$YH .<3=1&A*H"+'BB F@( BQ*# MQ A=RS/ ,]N#Q A=RQZX>)90FET ? "+Y8/$"%W+58/L"#LF$ !R!>IB 0 MB^R+1A +1@YU ^FI ,1V#B:+1 @F"T0&= /IF0 FBT0$)HM< @O#=0/IB@ F MBT0$L0V.P":+%]/J@>(' (/Z!'4DCL FBT\$A<EY$:$J@(L>*(": @"+$H/$ M"%W+,\ SVX/$"%W+Q'8.)HM$!":+? *Q#8[ )HL=T^N!XP< 2W4UCL FBT4$ M)HM= IH- *P3'KXZF5::# #G$WT1H2J BQXH@)H" (L2@\0(7<LSP#/;@\0( M7<L>N'Z64)I= 'P B^6#Q A=RU6#[ @[)A <@7J8@$ (OLBT80"T8.=0/I MM #$=@XFBT0()@M$!G0#Z:0 )HM$!":+7 (+PW4#Z94 )HM$!+$-CL FBQ?3 MZH'B!P"#^@1U+X[ )HM'!":+7P(SR3/2F@8 !!1^$:$J@(L>*(": @"+$H/$ M"%W+,\ SVX/$"%W+Q'8.)HM$!":+? *Q#8[ )HL=T^N!XP< 2W4UCL FBT4$ M)HM= IH- *P3'KXZF5::# #G$WX1H2J BQXH@)H" (L2@\0(7<LSP#/;@\0( M7<L>N(664)I= 'P B^6#Q A=RU6#[! [)A <@7J8@$ (OLBT88"T86=0/I MOP 6C48(4,1V%B;_= 0F_W0"FK\?^02+Y87 =0/IH0#$=A8FBT0()HM\!HE& M& O'B7X6=0/IB0 6C48,4(Y&&";_=00F_W4"FK\?^02+Y87 =&[$=A8FBT0( M)@M$!G5ABT8.A<!X)HM&#(O(BUX*BU8(XP;1XM'3XOI34IH]!GP B^6: @"+ M$H/$$%W+BT8.A<!Y+8M>#/?0]]L=__^+RXM&"HM6".,&T?C1VN+Z4%*:/09\ M (OEF@( BQ*#Q!!=RQZXBY90FET ? "+Y8/$$%W+58/L!#LF$ !R!>IB 0 MB^R+1@P+1@IT2<1V"B:+1 @F"T0&=3PFBT0$)HM< @O#="<FBT0$L0V.P":+ M%]/J@>(' (/Z!'41H2J BQXH@)H" (L2@\0$7<LSP#/;@\0$7<L>N(^64)I= M 'P B^6#Q 1=RU6#[ 0[)A <@7J8@$ (OLBT8,"T8*=&'$=@HFBT0()@M$ M!G54)HM$!":+7 (+PW0_)HM$!+$-CL FBQ?3ZH'B!P#K(J$J@(L>*(": @"+ M$H/$!%W+H2J BQXH@)H" (L2@\0$7<N#^@1TZH/Z 734,\ SVX/$!%W+'KCD MEU":70!\ (OE@\0$7<M5@^P".R80 '(%ZF(! "+[(M&"@M&"'4#Z8\ Q'8( M)HM$""8+1 9T ^E_ ":+1 0FBUP"B48*"\.)7@AU"3/ ,]N#Q )=R[$-Q'8( M)HL$T^@E!P ] @!U4K$-Q'8()HL$T^@E!P ] @!T#HS B]Z: @"+$H/$ EW+ MQ'8()HM$""8+1 9U$B:+1 0FBUP"F@( BQ*#Q )=R\1V"":+1 @FBUP&B48* MB5X(ZZX>N**64)I= 'P B^6#Q )=RU6#[ P[)A <@7J8@$ (OLBT84"T82 M=0/I& $6C48$4,1V$B;_= 0F_W0"FK\?^02+Y87 =0/I^@#$=A(FBT0()HM\ M!H[ )HM="(Q&%([ )@M=!HE^$G0#Z=@ CL FBUT$CL FBW4"B5X4"]Z)=A)T M%;$-CD84)HL$T^@E!P ] @!T ^FM (M&!H7 >3VX @!0FN\%\PB+Y8[ )L=' M! C$8*CL FQT<" "+3A2+5A*.P":)3PB.P":)5P:)7@B: @"+$H/$#%W+ MBT84"T82=0DSP#/;@\0,7<N+1@8+1@1U$(M&%(M>$IH" (L2@\0,7<NQ#<1V M$B:+!-/H)0< /0( =0HFBT0()@M$!G4),\ SVX/$#%W+Q'82)HM$"":+7 :# M;@0!@UX& (E&%(E>$NNH'KBGEE":70!\ (OE@\0,7<M5@^P$.R80 '(%ZF(! M "+[(M&# M&"G1)Q'8*)HM$""8+1 9U/":+1 0FBUP""\-T)R:+1 2Q#8[ M)HL7T^J!X@< @_H%=1&A*H"+'BB F@( BQ*#Q 1=RS/ ,]N#Q 1=RQZXKI90 MFET ? "+Y8/$!%W+58/L!CLF$ !R!>IB 0 B^S'1@0! ,1V#":*!##DA<!T M,8I&$##D)HH<,/\[V'4(BT8$@\0&7<LSR;H! (M&#HM>#)H& -03_T8$B48. MB5X,Z\,SP(/$!EW+58/L$CLF$ !R!>IB 0 B^R+1AH+1AAU ^F7 !:-1@A0 MQ'88)O]T!";_= *:1B#Y!(OEA<!T?,1V&":+1 @FBWP&B48:"\>)?AAT9Q:- M1@Q0CD8:)O]U!";_=0*:1B#Y!(OEA<!T3,1V&":+1 @F"T0&=3_$?@PFB@4P MY%#_=@K_=@@.Z!__B^6%P(E&$'X:,]N%P'D!2U-0FCT&? "+Y9H" (L2@\02 M7<LSP#/;@\027<L>N+:64)I= 'P B^6#Q!)=RU6#[ @[)A <@7J8@$ (OL MBT80"T8.=#S$=@XFBT0()@M$!G4O%HU&!% F_W0$)O]T II&(/D$B^6%P'07 M_W8&_W8$FH@%^02+Y9H" (L2@\0(7<L>N,:64)I= 'P B^6#Q A=RU6![!8! M.R80 '(%ZF(! "+[,>&% $ (N&'@$+AAP!=0HSP#/;@<06 5W+C-"-7@B) MA@H!B9X( 8N&'@$+AAP!=0/IR@ 6C88, 5#$MAP!)O]T!";_= *:1B#Y!(OE MA<!U ^D! ?^V#@'_M@P!F@X :A.+Y8N>% $#PSW^ (F&% %\ ^G4 (N&"@&+ MM@@!,\FZ 0"+WHE& HE> )H& -03BXX. 8N^# &)3@8SR;H! (F&"@&+A@X! MB9X( 8O?B5X$F@8 U!..1@8FB@V.1@(FB R)A@X!B9X, 83)=:@SR;H! (N& M"@&+G@@!F@, !A2)A@H!B9X( <2V' $FBT0()HM<!HF&'@&)GAP!Z2G_Q+8( M 2;&1 $ %HU&"%":%P/Y!(OEB882 0O#B9X0 747,\!0%HU&"%":\0/Y!(OE MB882 8F>$ &+AA(!BYX0 9H" (L2@<06 5W+'KA]EU":!0!@$HOE'KC:EE": M70!\ (OE@<06 5W+58/L"CLF$ !R!>IB 0 B^S_=A;_=A2:#@!J$XOEBUX8 MA=N)1@AY!@/#0(E&&(M&&$@SVX7 >0%+B\N+T(E6&(M&%HM>%)H& -03BTX8 MA<F)1A:)7A1X!3M."'P',\"#Q I=RXM&&H7 >0F+1@@K1AB)1AJ+1A@#1AH[ M1@A^!S/ @\0*7<N+1AK_3AJ%P'1-BT82BW80,\FZ 0"+WHE& HE> )H& -03 MBTX6BWX4B4X&,\FZ 0")1A*+1A:)7A"+WXE>!)H& -03CD8&)HH-CD8")H@, MB486B5X4ZZG$=A FQ@0 N $ @\0*7<M5@>P2 3LF$ !R!>IB 0 B^R+AAH! M"X88 74#Z?$ %HU&!E#$MA@!)O]T!";_= *:1B#Y!(OEA<!U ^G2 ,2V& $F MBT0()HM\!HF&&@$+QXF^& %U ^FW !:-A@H!4(Z&&@$F_W4$)O]U IJ_'_D$ MB^6%P'4#Z9< Q+88 2:+1 @FBWP&QX80 ?__QX8. ?__B88: 0O'B;X8 70S M%HV&#@%0CH8: 2;_=00F_W4"FK\?^02+Y87 =%:+AA !A<!X3L2V& $FBT0( M)@M$!G5 BX8* 8N>#@%34/]V"/]V!A:-1@I0#N@K_HOEA<!T%Q:-1@I0FH@% M^02+Y9H" (L2@<02 5W+,\ SVX'$$@%=RQZXT)90FET ? "+Y8'$$@%=RU6# M[ H[)A <@7J8@$ (OLBT82"T80=0/IF@#$=A FBT0()@M$!G4#Z8H )HM$ M!":+7 (FBTP()HM\!HE.$@O/B48(B5X&B7X0=&J.1A(FBT4()@M%!G5=)HM% M!":+70*)1@2)7@*+1@0+1@)T/O]V"/]V!L1V B;_= 0F_W0"#NBVRHOEA<!T M$(M&!(M> IH" (L2@\0*7<O$=@(FBT0()HM<!HE&!(E> NNZ,\ SVX/$"EW+ M'K@5EU":70!\ (OE@\0*7<M5@^P*.R80 '(%ZF(! "+[(M&$@M&$'4#Z9@ MQ'80)HM$""8+1 9U ^F( ":+1 0FBUP")HM,"":+? :)3A(+SXE&"(E>!HE^ M$'1HCD82)HM%""8+109U6R:+100FBUT"B48$B5X"BT8$BUX""\-T.HY&!":+ M1P0FBU\"BTX(BU8&F@@ R!-U#XS BUX"F@( BQ*#Q I=R\1V B:+1 @FBUP& MB48$B5X"Z[PSP#/;@\0*7<L>N!R74)I= 'P B^6#Q I=RU6#[ H[)A <@7J M8@$ (OLBT82"T80='7$=A FBT0()@M$!G1H)HM$!":+7 (FBTP()HM\!HE. M$@O/B48$B5X"B7X0=$B.1A(FBTT()@M-!G4[)HM-!":+50(+PXE."(E6!G0I ML0V.1@0FBP?3Z"4' #T" '47BT8()HE'"":)5P:,P)H" (L2@\0*7<L>N"B7 M4)I= 'P B^6#Q I=RU6#[ H[)A <@7J8@$ (OLBT82"T80='7$=A FBT0( M)@M$!G1H)HM$!":+7 (FBTP()HM\!HE.$@O/B48$B5X"B7X0=$B.1A(FBTT( M)@M-!G4[)HM-!":+50(+PXE."(E6!G0IL0V.1@0FBP?3Z"4' #T" '47BT8( M)HE'!":)5P*,P)H" (L2@\0*7<L>N"&74)I= 'P B^6#Q I=RU6#[ @[)A M<@7J8@$ (OLBT80"T8.=!*Q#<1V#B:+!-/H)0< /0( =!"+1A"+7@Z: @"+ M$H/$"%W+@3[T?T ?? 6:@#?Y!*'T?_\&]'_1X-'@B_",T(U>!(F$]@*)G/0" MQT8& #'1@0 +@" %":[P7S"(OEQ'8.)O]T!";_= *)1@:)7@0.Z'3_B^7$ M=@0FB40$)HE< L1V#B;_= @F_W0&#NA8_XOEQ'8$)HE$"":)7 ;_#O1_C,"+ MWIH" (L2@\0(7<M5@^P$.R80 '(%ZF(! "+[(M&# M&"G0EQ'8*)HM$""8+ M1 9U&";_= 0F_W0"#N@'_XOEF@( BQ*#Q 1=RQZX+Y=0FET ? "+Y8/$!%W+ M58OL,\!0,]M3'KABF5 .BP:JF5"X"0!0FCL0^02+Y3/ 4#/;4QZX:YE0#HL& MKIE0N D 4)H[$/D$B^4SP% SVU,>N'294 Z+!K*94+@) %":.Q#Y!(OE,\!0 M,]M3'KA]F5 .BP:VF5"X"0!0FCL0^02+Y3/ 4#/;4QZXAIE0#HL&NIE0N D M4)H[$/D$B^4SP% SVU,>N)"94 Z+!KZ94+@) %":.Q#Y!(OE,\!0,]M3'KB: MF5 .BP;"F5"X"0!0FCL0^02+Y3/ 4#/;4QZXH9E0#HL&QIE0N D 4)H[$/D$ MB^5=RU6#[! [)A <@7J8@$ (OLBT88"T86= P>N*&94)I= 'P B^6!/O1_ M0!]\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X(B83V HF<] +'1@H ,=&" MN ( 4)KO!?,(B^6)1@Z)1@J)7@R)7@B:E $]"C/;A<!Y 4M34)H]!GP B^7$ M=@PFB40$)HE< K@" %":[P7S"(OEQ'8,)HE$"":)7 :)1@Z)7@R:FP$]"C/; MA<!Y 4M34)H]!GP B^7$=@PFB40$)HE< K@" %":[P7S"(OEQ'8,)HE$"":) M7 :)1@Z)7@R:I $]"C/;A<!Y 4M34)H]!GP B^7$=@PFB40$)HE< K@" %": M[P7S"(OEQ'8,)HE$"":)7 :)1@Z)7@R:K0$]"C/;A<!Y 4M34)H]!GP B^7$ M=@PFB40$)HE< O\.]'^+1@J+7@B: @"+$H/$$%W+58/L$#LF$ !R!>IB 0 MB^R+1A@+1A9T#!ZXFIE0FET ? "+Y8$^]'] 'WP%FH W^02A]'__!O1_T>#1 MX(OPC-"-7@B)A/8"B9ST L=&"@ QT8( "X @!0FN\%\PB+Y8E&#HE&"HE> M#(E>")JT 3T*,]N%P'D!2U-0FCT&? "+Y<1V#":)1 0FB5P"N ( 4)KO!?,( MB^7$=@PFB40()HE<!HE&#HE>#)J] 3T*,]N%P'D!2U-0FCT&? "+Y<1V#":) M1 0FB5P"N ( 4)KO!?,(B^7$=@PFB40()HE<!HE&#HE>#)K& 3T*,]N%P'D! M2U-0FCT&? "+Y<1V#":)1 0FB5P"N ( 4)KO!?,(B^7$=@PFB40()HE<!HE& M#HE>#)K/ 3T*,]N%P'D!2U-0FCT&? "+Y<1V#":)1 0FB5P"_P[T?XM&"HM> M")H" (L2@\007<M5@^P".R80 '(%ZF(! "+[(,^J)D"= NX @!0FLX /0J+ MY8/$ EW+58/L"#LF$ !R!>IB 0 B^R+1A +1@YT6Q:-1@10Q'8.)O]T!";_ M= *:OQ_Y!(OEA<!T0,1V#B:+1 @F"T0&=3.+1@:%P'@LBUX$,\FZ"0":!@ $ M%'\=4XD>J)F:S@ ]"HOEH2J BQXH@)H" (L2@\0(7<L>N&*94)I= 'P B^6# MQ A=RU6#[ @[)A <@7J8@$ (OLBT80"T8.=$06C48$4,1V#B;_= 0F_W0" MFK\?^02+Y87 ="G$=@XFBT0()@M$!G4<BT8$4)KI #T*B^6A*H"+'BB F@( MBQ*#Q A=RQZX?9E0FET ? "+Y8/$"%W+58/L##LF$ !R!>IB 0 B^R+1A0+ M1A)T>!:-1@10Q'82)O]T!";_= *:OQ_Y!(OEA<!T7<1V$B:+1 @FBWP&B484 M"\>)?A)T2!:-1@A0CD84)O]U!";_=0*:OQ_Y!(OEA<!T+<1V$B:+1 @F"T0& M=2"+1@2+7@A34)K: #T*B^6A*H"+'BB F@( BQ*#Q Q=RQZX=)E0FET ? "+ MY8/$#%W+58/L$CLF$ !R!>IB 0 B^R+1AH+1AAU ^FO !:-1@90Q'88)O]T M!";_= *:OQ_Y!(OEA<!U ^F1 ,1V&":+1 @FBWP&B48:"\>)?AAT?!:-1@I0 MCD8:)O]U!";_=0*:OQ_Y!(OEA<!T8<1V&":+1 @FBWP&B48:"\>)?AAT3!:- M1@Y0CD8:)O]U!";_=0*:OQ_Y!(OEA<!T,<1V&":+1 @F"T0&=22+1@:+7@J+ M3@Y14U":I0 ]"HOEH2J BQXH@)H" (L2@\027<L>N&N94)I= 'P B^6#Q!)= MRU6#[!([)A <@7J8@$ (OLBT8:"T88=0/IKP 6C48&4,1V&";_= 0F_W0" MFK\?^02+Y87 =0/ID0#$=A@FBT0()HM\!HE&&@O'B7X8='P6C48*4(Y&&B;_ M=00F_W4"FK\?^02+Y87 =&'$=A@FBT0()HM\!HE&&@O'B7X8=$P6C48.4(Y& M&B;_=00F_W4"FK\?^02+Y87 =#'$=A@FBT0()@M$!G4DBT8&BUX*BTX.45-0 MFF$!/0J+Y:$J@(L>*(": @"+$H/$$EW+'KB&F5":70!\ (OE@\027<M5@^P> M.R80 '(%ZF(! "+[(M&)@M&)'4#Z2H!%HU&"E#$=B0F_W0$)O]T IJ_'_D$ MB^6%P'4#Z0P!Q'8D)HM$"":+? :)1B8+QXE^)'4#Z?0 %HU&#E".1B8F_W4$ M)O]U IJ_'_D$B^6%P'4#Z=8 Q'8D)HM$"":+? :)1B8+QXE^)'4#Z;X %HU& M$E".1B8F_W4$)O]U IJ_'_D$B^6%P'4#Z: Q'8D)HM$"":+? :)1B8+QXE^ M)'4#Z8@ %HU&%E".1B8F_W4$)O]U IJ_'_D$B^6%P'1MQ'8D)HM$"":+? :) M1B8+QXE^)'18%HU&&E".1B8F_W4$)O]U IJ_'_D$B^6%P'0]Q'8D)HM$""8+ M1 9U,(M&"HM>#HM.$HM6%HE& (M&&E!245/_=@ .Z"0 B^6A*H"+'BB F@( MBQ*#Q!Y=RQZXD)E0FET ? "+Y8/$'EW+58/L-#LF$ !R!>IB 0 B^R+1CJ% MP'D$,\#K XM&.HM>/H7;B48Z>00SP.L#BT8^BUX\A=N)1CYY!#/ ZP.+1CR+ M7D"%VXE&/'D$,\#K XM&0(M>.CM>/HE&0'4\BUX\.\-]"8E&/(E>0(E>$HM& M.HM>/(E&#(E>#HM&#CM&0'\3_W9"4/]V#)IA 3T*B^7_1@[KY8/$-%W+BT8\ M.T9 =3^+1CJ+7CX[V'T)B48^B482B5XZBT8\BUXZB48.B5X,BT8,.T8^?Q/_ M=D+_=@Y0FF$!/0J+Y?]&#.OE@\0T7<N+1CXK1CHSVX7 >0%+BTY *TX\,]*% MR7D!2H7;B484B4X8B58:B5X6>0GWT_?8@]O_ZP:+7A:+1A2+3AJ%R8E&'(E> M'GD,BT88]]'WV(/9_^L&BTX:BT88B48@BT8>BUX<BU8@F@8 !!2)3B)_!HM& M(HM>(+D) (M&%HM6%-'BT=#B^C/)A=MY 4F)7@2)7A"+VHM6!(E.!IH% &X3 MN0D BU8:B48NBT88T>#1TN+ZB48(B\*)7BR+7@B+3@:+5@2:!0!N$XM..C/2 MA<EY 4J)3@"Y"0")1C*+1@#1X-'2XOJ+3CR)1B0SP(7)>0%(B4X N0D B5XP MBUX T>/1T.+ZB48JB58FB5XHBT80_TX0A<!X5XM&) 4 8M>)H/3 +D) -'[ MT=CB^HM>*('# &+3BJ#T0")3@2Y"0"+5@31^M';XOK_=D)34)IA 3T*B^6+ M1BP!1B2+7BX17B:+1C !1BB+7C(17BKKGX/$-%W+58/L"CLF$ !R!>IB 0 MB^R+1A:+7A2+3A*+5A": #G$[[2F8E$!HE<!(E, HD4=0TSP#/;,\DSTH/$ M"EW+L0^AV)G3Z"4! $AU#QZX.II0FET ? "+Y>FJ ;$$H=B9T^B Y <M_@.[ MX#^+#MB9@>$/@ O+B48(B0[8F;[2F8M$!HM<!(M, HL4'KYCFE::" R$AZ^ M:YI6F@0 LA.^VIF)1 :)7 2)3 *)%+[2F8M$!HM<!(M, HL4'K[:F5::!P!\ M$QZ^VIE6F@0 LA.^XIF)1 :)7 2)3 *)%+[2F8M$!HM<!(M, HL4'K[BF5:: M!P!\$[[JF8E$!HE<!(E, HD4L02AZ)G3Z(#D!TA(L033X"7P?XL.Z)F!X0^ M"\B)#NB9ON*9BT0&BUP$BTP"BQ0>ONJ95IH$ +(3ONJ9B40&B5P$B4P"B12^ MTIF+1 :+7 2+3 *+%!Z^ZIE6F@< ?!,>ONJ95IH$ +(3OO*9B40&B5P$B4P" MB12Q!*'XF=/H@.0'2+$$T^ E\'^+#OB9@>$/@ O(BT8(J0$ B0[XF70FBT0& MBUP$BTP"BQ0>OG.:5IH( #(2_T8(OO*9B40&B5P$B4P"B12+1@C1^+$$BQ[X MF=/K@.<' ]BQ!-/C@>/P?XL.^)F!X0^ "\N)1@B)#OB9OO*9BT0&BUP$BTP" MBQ2#Q I=RX/$"EW+58/L&CLF$ !R!>IB 0 B^R+1B:+7B2+3B*+5B >OGN: M5IH, .<3?P\>N#^:4)I= 'P B^7IA *+1B:+7B2+3B*+5B"^TIF)1 :)7 2) M3 *)%+$$H=B9T^B Y <M_@.[X#^+#MB9@>$/@ O+B488B0[8F8M$!HM<!(M, M HL4'KYSFE::# #G$WYB'KZ#FE::$@"R$[[:F8E$!HE<!(E, HD4'KZ#FE:: M$@"R$[[:F8E$!HE<!(E, HD4OM*9BT0&BUP$BTP"BQ0>OH.:5IH( #(2'KZ# MFE::! "R$[[BF8E$!HE<!(E, HD4ZTN^TIF+1 :+7 2+3 *+%!Z^@YI6FA( MLA.^VIF)1 :)7 2)3 *)%!Z^@YI6F@@ ,A(>OH.:5IH$ +(3_TX8ON*9B40& MB5P$B4P"B12^VIF+1 :+7 2+3 *+%!Z^XIE6F@< ?!.^\IF)1 :)7 2)3 *) M%!Z^\IE6F@@ ,A*^VIF)1 :)7 2)3 *)%!Z^BYI6F@@ ,A(>OI.:5IH$ +(3 M'K[:F5::" R$AZ^FYI6F@0 LA.^XIF)1 :)7 2)3 *)%+[:F8M$!HM<!(M, M HL4'KZCFE::! "R$QZ^VIE6F@@ ,A(>OJN:5IH$ +(3'K[:F5::" R$AZ^ MLYI6F@0 LA.^ZIF)1 :)7 2)3 *)%+[:F8M$!HM<!(M, HL4'K[BF5::" R M$AZ^ZIE6F@< ?!.^VIF)1 :)7 2)3 *)%!Z^\IE6F@@ ,A(>OO*95IH$ +(3 MOMJ9B40&B5P$B4P"B12+1AB: P"1$XE&!HE>!(E. HE6 !Z^NYI6F@@ ,A(> MOMJ95IH$ +(3B48.B5X,B4X*B58(BT8&BUX$BTX"BU8 'K[#FE::" R$AZ^ MRYI6F@< ?!,6C78(5IH$ +(3ON*9B40&B5P$B4P"B12#Q!I=RX/$&EW+58/L M"#LF$ !R!>IB 0 B^R+1A2+7A*+3A"+5@X>OGN:5IH, .<3?PX>N$.:4)I= M 'P B^7K,8M&%(M>$HM.$(M6#E!345(.Z/3\B^4>OM.:5IH( #(2B484B5X2 MB4X0B58.@\0(7<N#Q A=RU6#[ H[)A <@7J8@$ (OLBT86BUX4BTX2BU80 M'K[;FE::# #G$WX/'KA)FE":70!\ (OEZ=@"BT86BUX4BTX2BU80'K[CFE:: M# #G$WT/'KA)FE":70!\ (OEZ;$"BT86BUX4BTX2BU80'KY[FE::# #G$WT1 MBT86BUX4BTX2BU80F@D 7Q(>ONN:5IH, .<3?1.^\YJ+1 :+7 2+3 *+%(/$ M"EW+BT86BUX4BTX2BU80'K[[FE::" R$K[:F8E$!HE<!(E, HD4F@$ KQ.Q M#XL>X)G3ZX'C 0")1@AT()H# )$3'K[:F5::$@"R$QZ^@YI6F@P YQ-^0/]. M".L[BT8(F@, D1.)1@:)7@2)3@*)5@"^VIF+1 :+7 2+3 *+%!:-=@!6FA( MLA,>OH.:5IH, .<3?@/_1@B+1@B: P"1$[[:F8E$!HE<!(E, HD4'K[#FE:: M" R$AZ^RYI6F@< ?!.)1@:)7@2)3@*)5@"+1A:+7A2+3A*+5A 6C78 5IH2 M +(3ON*9B40&B5P$B4P"B12^VIF+1 :+7 2+3 *+%!Z^NYI6F@@ ,A*)1@:) M7@2)3@*)5@"^XIF+1 :+7 2+3 *+%!:-=@!6FA( LA.^XIF)1 :)7 2)3 *) M%!Z^XIE6F@@ ,A*^VIF)1 :)7 2)3 *)%!Z^ YM6F@@ ,A(>O@N;5IH$ +(3 M'K[:F5::" R$AZ^$YM6F@0 LA,>ON*95IH( #(2ONJ9B40&B5P$B4P"B12^ MVIF+1 :+7 2+3 *+%!Z^&YM6F@@ ,A(>OB.;5IH$ +(3'K[:F5::" R$AZ^ M*YM6F@0 LA,>OMJ95IH( #(2'KZ#FE::! "R$[[RF8E$!HE<!(E, HD4'K[J MF5::$@"R$XE&!HE>!(E. HE6 +[JF8M$!HM<!(M, HL4%HUV %::!P!\$QZ^ M@YI6F@0 LA.^VIF)1 :)7 2)3 *)%(M&"$"Q!(L>X)G3ZX#G!P/8L033XX'C M\'^+#N"9@>$/@ O+B48(B0[@F8M$!HM<!(M, HL4@\0*7<N#Q I=RU6#[ H[ M)A <@7J8@$ (OLBT86BUX4BTX2BU80'KY[FE::# #G$WT:QT8(__^:"0!? M$K[:F8E$!HE<!(E, HD4ZQ_'1@@! (M&%HM>%(M.$HM6$+[:F8E$!HE<!(E, M HD4,\!0_W8(OMJ9BT0&BUP$BTP"BQ104U%2BT86BUX4BTX2BU804%-14@[H MG0"+Y8/$"EW+58/L"CLF$ !R!>IB 0 B^S'1@@! (M&%HM>%(M.$HM6$!Z^ M>YI6F@P YQ-]$8M&%HM>%(M.$HM6$)H) %\2OMJ9B40&B5P$B4P"B10>OC.; M5IH$ +(3OMJ9B40&B5P$B4P"B12X 0!0_W8(BT0&BUP$BTP"BQ104U%2BT86 MBUX4BTX2BU804%-14@[H!P"+Y8/$"EW+58/L##LF$ !R!>IB 0 B^R+1B"+ M7AZ+3AR+5AH>OCN;5IH, .<3?B2#?B0 = \>N$V:4)I= 'P B^7IT (>N%&: M4)I= 'P B^7IP0*+1B"+7AZ+3AR+5AH>OD.;5IH( #(2OMJ9B40&B5P$B4P" MB12:# "H$XE&"HE>")H& (X3B48&B5X$B4X"B58 BT0&BUP$BTP"BQ06C78 M5IH2 +(3'KZ#FE::# #G$WX(@T8( 8-6"@"+1@J+7@B:!@".$[[:F8E$!HE< M!(E, HD4BT8*BUX(,\"!XP$ "\-T _=>(H-^) !T)K[:F8M$!HM<!(M, HL4 M'KZ#FE::$@"R$[[:F8E$!HE<!(E, HD4BT88BUX6BTX4BU82OM*9B40&B5P$ MB4P"B10SP(L>V)F YW^)'MB9OMJ9BT0&BUP$BTP"BQ0>ODN;5IH( #(2B48& MB5X$B4X"B58 OM*9BT0&BUP$BTP"BQ06C78 5IH2 +(3OM*9B40&B5P$B4P" MB12^VIF+1 :+7 2+3 *+%!Z^4YM6F@@ ,A*)1@:)7@2)3@*)5@"^TIF+1 :+ M7 2+3 *+%!:-=@!6FA( LA,>OGN:5IH, .<3OM*9B40&B5P$B4P"B11]$[[2 MF8M$!HM<!(M, HL4F@D 7Q(>OEN;5IH, .<3?1>+1B*: P"1$QZ^TIE6F@@ M,A*#Q Q=R[[2F8M$!HM<!(M, HL4'K[2F5::" R$K[:F8E$!HE<!(E, HD4 M'KYCFU::" R$AZ^:YM6F@0 LA,>OMJ95IH( #(2'KYSFU::! "R$QZ^VIE6 MF@@ ,A(>OGN;5IH$ +(3'K[:F5::" R$AZ^@YM6F@0 LA,>OMJ95IH( #(2 M'KZ+FU::! "R$QZ^VIE6F@@ ,A(>OI.;5IH$ +(3'K[:F5::" R$AZ^FYM6 MF@0 LA,>OMJ95IH( #(2ON*9B40&B5P$B4P"B10>OM*95IH( #(2'K[2F5::
petera@utcsri.UUCP (Smith) (04/27/86)
[line eater] [ PC-LISP.EXE (part 1 of 4) -------------------- CUT HERE --------------------- begin 444 pc-lisp.exe M35I. 1 !+ E@ A$ __^5'P !@74" ( (PL $$ "0 "T! ^ M 0 0P$ $@! !- 0 4@$ &0! !T 0 AP$ (P! "B 0 R $ .\! M 5 @ .0( !@ ) . 20 -@$D $@!) !6 20 B0$D )\!) #: 20 =@(D M (X") "@ B0 T@(D "$#) !2 R0 % 0D #$$) !;!"0 <00D *@$) #$!"0 MZ@0D %) ;!20 ,04D $$%) !7!20 ;04D (8%) < 'P 3P!\ &X ? !Y M 'P DP!\ *8 ? "Q 'P X !\ /0 ? ^ 7P 5@%\ &8!? #" 7P !P)\ !L" M? J GP 4@)\ 'H"? "B GP U )\ $#? 2 WP ?0-\ )$#? #6 WP Z -\ M !@$? !'!'P 701\ (T$? "<!'P Q 1\ .P$? 4!7P 3 5\ (H%? V!GP M2@9\ %4&? !T!GP B 9\ ),&? "L!GP P 9\ -0&? #C!GP "P=\ $ '? ": M!WP K@=\ ,X'? #V!WP (PA\ 'H(? #="'P \0A\ L)? S"7P 6PE\ (@) M? #/"7P ,PI\ $@*? !<"GP R@I\ .4*? #^"GP (@M\ $8+? "7"WP NPM\ M P,? P#'P /PQ\ )H,? #4#'P ^ Q\ $X-? !R#7P O@U\ ,P-? #Y#7P M)@Y\ %,.? " #GP K0Y\ +P.? !\#WP H ]\ " 0? !$$'P 4Q!\ 'L0? "M M$'P 81%\ 'H1? "5$7P KA%\ ,D1? #B$7P 81)\ (02? #5$GP \!)\ \3 M? A$WP 11-\ / 3? .%'P *Q1\ #@4? !;%'P >!1\ (44? "I%'P 5!5\ M '(5? "/%7P G!5\ +\5? #<%7P Z15\ T6? !<%GP B19\ )@6? )%WP M8!=\ )47? "D%WP .QA\ %\8? !N&'P 2QE\ &\9? ""&7P M!E\ 4:? S M&GP ;AI\ (<:? "@&GP V!I\ /T:? !Y&WP G!M\ ,(;? #Q&WP !QQ\ #D< M? !4''P :QQ\ )$<? "@''P TAQ\ ",=? !.'7P <1U\ ,\=? #S'7P #!Y\ M )X>? "R'GP T!Y\ (D?? "='WP MA]\ !(@? !3('P 9R!\ (4@? #^('P M&"%\ %\A? !S(7P DR%\ PB? !7(GP :R)\ (LB? $(WP 42-\ &4C? !T M(WP 'B1\ #4D? !9)'P :"1\ . D? #Z)'P ,25\ $ E? "X)7P T"5\ <F M? 6)GP CB9\ *@F? #?)GP [B9\ "LG? "$)WP $BA\ &PH? #5*'P "E\ M "0I? X*7P 1RE\ &\I? K*GP :"I\ (PJ? ";*GP PRI\ ($K? #8*WP M_"M\ LL? !.+'P A2Q\ )DL? "H+'P X"Q\ !<M? [+7P CRU\ +,M? #& M+7P VBU\ /HM? >+GP GBY\ ,(N? #4+GP ]2Y\ $DO? !M+WP @B]\ (<O M? "9+WP O2]\ .DO? #Z+WP &C!\ #0P? !','P :S!\ +TP? #.,'P XC!\ M \Q? !",7P 5C%\ &4Q? M,GP /C)\ &(R? ":,GP S#)\ /XR? "\,WP M:31\ (TT? #--'P XS1\ (U? F-7P :S5\ )@U? #1-7P "S9\ $0V? !8 M-GP 9S9\ *LV? #!-GP !3=\ !DW? T-WP 6#=\ (LW? ":-WP H3=\ - W M? #T-WP 23A\ &TX? "/.'P !#E\ XY? >.7P 0CE\ &0Y? #N.7P ^CE\ M #0Z? !8.GP H#I\ ,\Z? #.WP )#M\ #<[? !3.WP >3M\ )H[? "Z.WP MX#M\ $\? =/'P 53Q\ '8\? ")/'P I3Q\ ,L\? #L/'P ##U\ #(]? !3 M/7P :SU\ (L]? "S/7P X#U\ $(^? "P/GP Q#Y\ -,^? [/WP 3S]\ %X_ M? "&/WP "D!\ %) ? "Y0'P Z$!\ ")!? !,07P K4%\ +]!? #;07P ^4%\ M "U"? ".0GP H$)\ ,A"? )0WP 1T-\ %E#? !]0WP BT-\ *E#? #1'P M/41\ &%$? #61'P -45\ (9%? #E17P #49\ #-&? !F1GP S$9\ !Q'? !/ M1WP A$=\ +%'? #%1WP &P#Y!%< ^02- /D$X #Y!/H ^01 ?D$<P'Y!+8! M^00P OD$1@+Y!$L"^01N OD$A +Y!(D"^02L OD$OP+Y!,0"^033 OD$W0+Y M!"0#^00V _D$4 /Y!+@#^03. _D$_@/Y!!8$^01@!/D$?@3Y!(L$^02P!/D$ M-07Y!($%^025!?D$T@7Y!/ %^00!!OD$* ;Y!#,&^01_!OD$DP;Y!*4&^00( M!_D$& ?Y!%\'^01Q!_D$U ?Y!.0'^00K"/D$F CY!*D(^03_"/D$%@GY!# ) M^015"?D$B GY!-0)^03H"?D$<0KY!($*^03("OD$\0KY!"0+^01%"_D$;0OY M!)8+^03)"_D$Z@OY! D,^00=#/D$6 SY!%T,^01R#/D$=PSY!(L,^03P#/D$ M) [Y!"L.^01$#_D$B@_Y!)8/^02A#_D$)A#Y!#(0^01($/D$X1#Y!.T0^00# M$?D$:!'Y!',1^03#$?D$^Q'Y!#82^01"$OD$31+Y!*\2^024$_D$\!/Y! P4 M^006%/D$+!3Y!(L4^02I%/D$LQ3Y!*\5^01/%OD$<!;Y!(\6^03]%OD$'Q?Y M!$H7^01K%_D$I!?Y!-,7^029&/D$K!CY!+<8^003&?D$)QGY!/,9^01/&OD$ M8QKY!" ;^00S&_D$;AOY!((;^03=&_D$ ASY!'(<^02.'/D$F!SY!,4<^03A M'/D$ZQSY!!@=^00T'?D$/AWY!($=^02='?D$IQWY!,8=^03B'?D$[!WY! L> M^00G'OD$,1[Y!'4>^021'OD$FQ[Y!+H>^036'OD$X![Y!/\>^00;'_D$)1_Y M!$4?^01T'_D$S!_Y!"L@^013(/D$[2#Y!#4A^01@(?D$A2'Y!(\A^02S(?D$ MRR'Y!-4A^03:(?D$ "+Y!"DB^01!(OD$4B+Y!%PB^01A(OD$;"+Y!(,B^02- M(OD$I"+Y!*XB^02S(OD$QR+Y!-XB^03H(OD$_R+Y! DC^00.(_D$*R/Y!$(C M^01,(_D$42/Y!%PC^01G(_D$>"/Y!(\C^029(_D$VB/Y!#<D^01<)/D$A23Y M!/\D^00;)?D$/"7Y!%,E^01A)?D$="7Y!",F^01*)OD$?";Y!)$F^03%)OD$ M]R;Y!!8G^01*)_D$9"?Y!( G^02O)_D$R2?Y! <H^008*/D$0RCY!&8H^03! M*/D$\RCY!!TI^027*?D$ORGY!-<I^03W*?D$&BKY!'4J^02?*OD$P2KY!% K M^02O*_D$ "SY!!8L^01@+/D$B2SY!)XL^03,+/D$X2SY!#4M^012+?D$?2WY M!*PM^02\+?D$TRWY!/4M^03Z+?D$&R[Y!#HN^01)+OD$7R[Y!'(N^021+OD$ MH"[Y!-0N^03S+OD$ B_Y!$ O^01?+_D$ER_Y!+4O^03H+_D$\B_Y!"@P^01A M,/D$<S#Y!)HP^00<,?D$8C'Y!+XQ^00[,OD$C#+Y!-@R^03Z,OD$1#/Y!(DS M^03',_D$Y3/Y!"LT^01,-/D$O#3Y!)8U^033-?D$83;Y!)8V^005-_D$*S?Y M!#TW^01P-_D$BS?Y!+ W^03#-_D$S#?Y!-XW^03U-_D$_C?Y!! X^00D./D$ M+CCY!%0X^01;./D$:3CY!(,X^02<./D$JCCY!+TX^03\./D$'CGY!$4Y^01\ M.?D$LCGY!.DY^03].?D$#CKY!"<Z^00\.OD$33KY!&8Z^02>.OD$LSKY!+\Z M^037.OD$Z#KY!/XZ^003._D$)#OY!( [^02K._D$N#OY! $\^00;//D$+3SY M!%$\^01O//D$ASSY!)D\^03D//D$_SSY!"0]^00U/?D$3SWY!&4]^01]/?D$ MCSWY!*L]^03P/?D$"#[Y!! ^^00C/OD$-#[Y!$ ^^01A/OD$@C[Y!*,^^03) M/OD$U#[Y!-X^^000/_D$/S_Y!$@_^01//_D$>C_Y!($_^00- /,(60#S"(@ M\PB? /,(J@#S",D \PC9 /,(XP#S" !\P@S ?,(10'S"%4!\PAV ?,(E0'S M"*<!\PBQ ?,(* +S"#@"\PA$ O,(3P+S"-8"\PA& _,(G0/S"/\#\PA&!/,( M< 3S"(H$\PCF!/,(%07S""4%\PA4!?,(> 7S"(,%\PB.!?,(L@7S"+T%\PC( M!?,(Y@7S"/P%\PAQ!O,(@0;S"/X&\P@-!_,(%P?S""T'\PAU!_,(A0?S"-4' M\PCD!_,([@?S" 0(\P@="/,()PCS"$8(\PA="/,(E CS",H(\PCI"/,(_@CS M"!()\P@D"?,(10GS")$)\PBD"?,(UPGS"/ )\PC["?,(#PKS""(*\PA5"O,( M;@KS"'D*\PB-"O,(H KS",0*\PC:"O,(\ KS"/H*\P@9"_,(/POS"%P+\PB M"_,(H0OS",D+\P@*#/,(4@SS"&<,\PBP#/,(]0SS" 8-\P@0#?,(2@WS"&$- M\PB%#?,(%@[S"#\.\PAH#O,(=P[S"+(.\PCD#O,( P_S"$H/\PAP#_,(P@_S M"/$/\P@2$/,(?!#S"),0\PC&$/,(\!#S"(41\PCL$?,( Q+S"#L2\PB\$O,( MTA+S".X2\P@$$_,(%Q/S""03\P@X$_,(11/S"%D3\PAF$_,(B!/S"+,3\PC> M$_,(!13S"!L4\P@S%/,(0!3S"%@4\PAE%/,(?13S"(H4\P@5 %H*0@!:"EX M6@IU %H*GP!:"KT 6@K. %H*W !:"A( :@HB &H*.0!J"E :@IG &H*?@!J M"I4 :@JL &H*PP!J"N$ :@H% 6H*) %J"DP!:@I; 6H*:P%J"I$!:@JA 6H* MQ0%J"N$!:@KQ 6H*_P%J"@\":@H= FH*+0)J"CL":@I+ FH*60)J"FD":@IW M FH*AP)J"I4":@JE FH*LP)J"L,":@K1 FH*X0)J"N\":@K_ FH*#0-J"AT# M:@HK VH*.P-J"DD#:@I9 VH*9P-J"G<#:@J% VH*E0-J"J,#:@JS VH*P0-J M"M$#:@K? VH*[P-J"OT#:@H-!&H*&P1J"BL$:@HY!&H*201J"E<$:@IG!&H* M=01J"H4$:@J3!&H*HP1J"K$$:@K!!&H*SP1J"M\$:@KM!&H*_01J"@L%:@H; M!6H**05J"CD%:@I'!6H*5P5J"F4%:@IU!6H*@P5J"I,%:@JA!6H*O05J"MD% M:@KU!6H*$09J"BT&:@I)!FH*909J"G4&:@J#!FH*DP9J"J$&:@JQ!FH*OP9J M"ML&:@KK!FH*^09J"A4':@HQ!VH*30=J"ET':@IK!VH*>P=J"HD':@J9!VH* MIP=J"K<':@K%!VH*U0=J"N,':@KS!VH* 0AJ"A$(:@H?"&H*+PAJ"CT(:@I- M"&H*6PAJ"FL(:@IY"&H*E0AJ"K$(:@K-"&H*Z0AJ"@4):@HA"6H*/0EJ"ED) M:@IU"6H*D0EJ"JT):@K)"6H*Y0EJ"@$*:@H="FH*.0IJ"E4*:@IQ"FH*C0IJ M"JD*:@K%"FH*X0IJ"OT*:@H9"VH*-0MJ"E$+:@IM"VH*B0MJ"J4+:@JU"VH* MPPMJ"M\+:@K["VH*%PQJ"C,,:@I/#&H*:PQJ"H<,:@JC#&H*OPQJ"ML,:@KW M#&H*$PUJ"B\-:@I+#6H*9PUJ"H,-:@J?#6H*NPUJ"M<-:@KS#6H*#PYJ"BL. M:@I'#FH*8PYJ"G\.:@J;#FH*MPYJ"M,.:@KO#FH*"P]J"B</:@I##VH*7P]J M"GL/:@J7#VH*LP]J"L\/:@KK#VH*!Q!J"B,0:@H_$&H*3Q!J"ET0:@IM$&H* M>Q!J"HL0:@J9$&H*J1!J"K<0:@K'$&H*U1!J"N40:@KS$&H* Q%J"A$1:@HM M$6H*21%J"F41:@J!$6H*G1%J"J01:@JX$6H*QQ%J"O\1:@H/$FH*'Q)J"C42 M:@I1$FH*81)J"H@2:@J[$FH*RQ)J"N<2:@KV$FH*#!-J"BL3:@K0$VH*!11J M"E(4:@I<%&H*DA1J"KX4:@K%%&H*U!1J"NH4:@HF%6H*/Q5J"E$5:@I8%6H* M;15J"G\5:@J&%6H*FQ5J"JT5:@JT%6H*R15J"ML5:@KB%6H*]Q5J"@D6:@H0 M%FH*)19J"C<6:@H^%FH*4Q9J"F46:@IL%FH*>Q9J"I$6:@K %FH*1!=J"HL7 M:@J:%VH*L!=J"M47:@K<%VH*2QAJ"E(8:@IA&&H*=AAJ"H<8:@JT&&H*SAAJ M"MT8:@KV&&H*"1EJ"A@9:@HN&6H*>AEJ"H<9:@K4&6H*X1EJ"O 9:@H&&FH* M41IJ"EX::@JJ&FH*MQIJ"L8::@K<&FH*)QMJ"C4;:@J!&VH*CQMJ"IX;:@JT M&VH*]QMJ"@4<:@H4'&H**AQJ"DP<:@J"'&H*K!QJ"LP<:@KF'&H*]QQJ"B@= M:@HW'6H*31UJ"F$=:@IH'6H*Y!UJ"@,>:@H2'FH**!YJ"CP>:@IA'FH*>AYJ M"HT>:@H,'VH*'Q]J"C@?:@I1'VH*9!]J"G,?:@J)'VH*F!]J"IT?:@JL'VH* MPA]J"M$?:@K6'VH*Y1]J"OL?:@H.(&H*PB!J"C<A:@IN(6H*BB%J"I0A:@K+ M(6H*["%J"B4B:@J+(FH*HR)J"KDB:@K;(FH*"R-J"B\C:@I!(VH*62-J"F\C M:@J1(VH*U"-J"@$D:@HA)&H*.21J"D\D:@IH)&H*>R1J"I,D:@JI)&H*'B5J M"BTE:@I#)6H*O"5J"@<F:@HH)FH*/29J"FHF:@J )FH*GR9J"KTF:@K5)FH* MY"9J"OHF:@I4)VH*E"=J"J,G:@JZ)VH*Z"=J"O0G:@H'*&H*#BAJ"C@H:@I+ M*&H*7"AJ"HHH:@J6*&H*J2AJ"K H:@K *&H*URAJ"API:@HT*6H*2BEJ"H4I M:@J=*6H*LREJ"O I:@H(*FH*'BIJ"D\J:@II*FH*?"IJ"J8J:@K#*FH*V"IJ M"O4J:@H**VH*)RMJ"CPK:@I9*VH*;BMJ"HLK:@J@*VH*O2MJ"M$K:@KK*VH* M_RMJ"ADL:@I,+&H*6RQJ"G$L:@J:+&H*JRQJ"K4L:@K(+&H*U2QJ"MXL:@KE M+&H*]"QJ"@HM:@HS+6H*1"UJ"DTM:@I8+6H*7RUJ"FXM:@J$+6H*K2UJ"KXM M:@K'+6H*TBUJ"MDM:@KH+6H*_BUJ"B<N:@HX+FH*02YJ"DPN:@I3+FH*8BYJ M"G@N:@JA+FH*LBYJ"KLN:@K&+FH*S2YJ"MPN:@KR+FH*&R]J"BPO:@HU+VH* M0"]J"D<O:@I6+VH*;"]J"I4O:@JF+VH*KR]J"KHO:@K!+VH*T"]J"N8O:@H/ M,&H*(#!J"BDP:@HT,&H*.S!J"DHP:@I@,&H*BS!J"J@P:@K-,&H*[S!J"J8Q M:@JM,6H*PC%J"M@Q:@KI,6H*\C%J"@LR:@H5,FH*'C)J"BDR:@HP,FH*/S)J M"E4R:@I^,FH*CS)J"I@R:@JC,FH*JC)J"KDR:@K/,FH* C-J"A@S:@HK,VH* M1C-J"DTS:@I<,VH*<C-J"I0S:@K$,VH*U3-J"NPS:@KV,VH*_S-J"@HT:@H1 M-&H*(#1J"C8T:@J#-&H*CC1J"J,T:@JJ-&H*L31J"K@T:@K'-&H*[#1J"O@T M:@H=-6H*1C5J"E\U:@II-6H*;C5J"GDU:@J -6H*AS5J"ILU:@JR-6H*MS5J M"BLV:@HZ-FH*3C9J"ETV:@K>-FH*[39J"@$W:@H3-VH*(3=J"C W:@I&-VH* MYC=J"OPW:@H#.&H*$CAJ"B@X:@K,.&H*XCAJ"NDX:@KX.&H*#CEJ"@TZ:@H? M.FH*+3IJ"CPZ:@I2.FH*>SIJ"HPZ:@J<.FH*HSIJ"K(Z:@K(.FH*-CMJ"C\[ M:@I&.VH*P#MJ"M$[:@K8.VH*YSMJ"OT[:@I-/&H*7#QJ"G(\:@K$/&H*RSQJ M"MH\:@KP/&H*2SUJ"E(]:@J!/6H*BSUJ"I0]:@J;/6H*JCUJ"L ]:@H2/FH* M&3YJ"B@^:@H^/FH*F3YJ"J ^:@K//FH*V3YJ"N(^:@KI/FH*^#YJ"@X_:@I, M/VH*>S]J"H(_:@J)/VH*F#]J"JX_:@KM/VH*'D!J"B- :@HL0&H*,T!J"D) M:@I80&H*@4!J"I% :@J>0&H*M4!J"K] :@K$0&H*Z$!J"O] :@H006H*)T%J M"C%!:@H^06H*14%J"E5!:@I>06H*94%J"GE!:@J.06H*E4%J"J]!:@KI06H* M_4%J"A1":@HV0FH*.T)J"F!":@IW0FH*B$)J"I]":@JI0FH*MD)J"KU":@K- M0FH*UD)J"MU":@KL0FH* D-J"BM#:@H[0VH*2$-J"E]#:@II0VH*;D-J"I)# M:@JI0VH*ND-J"M%#:@K;0VH*Z$-J"N]#:@K_0VH*"$1J"@]$:@HC1&H*.41J M"D!$:@I:1&H*E$1J"JA$:@JM1&H*O41J"M1$:@KV1&H*^T1J"B!%:@HW16H* M2$5J"E]%:@II16H*=D5J"GU%:@J-16H*ED5J"IU%:@JL16H*N$5J"LY%:@KD M16H*_D5J"C5&:@I&1FH*749J"F=&:@J=1FH*K$9J"L)&:@K81FH*\D9J"BE' M:@HZ1VH*44=J"EM':@J11VH*H$=J"K9':@H#2&H*$TAJ"BM(:@I!2&H*CDAJ M"IY(:@JV2&H*S$AJ"BA):@I@26H*94EJ"G-):@J+26H*H4EJ"OE):@HQ2FH* M.TIJ"DE*:@IA2FH*=TIJ"LQ*:@K:2FH*$DMJ"AQ+:@HJ2VH*0DMJ"EA+:@IZ M2VH*L$MJ"N1+:@KK2VH*&$QJ"A],:@HN3&H*1$QJ"HE,:@JA3&H*MTQJ"OE, M:@H*36H*+$UJ"D)-:@JG36H*QDUJ"NA-:@K^36H*($YJ"H9.:@JU3FH*WDYJ M"BU/:@I#3VH*B$]J"J!/:@JV3VH*[T]J"A!0:@HR4&H*8E!J"I]0:@JF4&H* MOE!J"M10:@K]4&H*#E%J"A51:@HD46H*.U%J"HA1:@J>46H*S%%J"O)1:@H< M4FH*3E)J"FE2:@J 4FH*D%)J"IQ2:@JS4FH*P%)J"N]2:@I,4VH*;5-J"J!3 M:@K%4VH* %1J"D14:@J)5&H*D%1J"JI4:@K!5&H*1U5J"G)5:@J(56H* %9J M"@Q6:@HW5FH*359J"L=6:@K65FH*[%9J"F97:@IU5VH*BU=J"K)7:@K$5VH* M\5=J"CY8:@I26&H*?%AJ"HM8:@KTEX,5^)>#%?R7@Q4 F(,5!)B#%0B8@Q4, MF(,5$)B#%128@Q48F(,5')B#%2"8@Q4DF(,5*)B#%2R8@Q4PF(,5-)B#%3B8 M@Q4\F(,50)B#%428@Q5(F(,53)B#%5"8@Q54F(,56)B#%5R8@Q5@F(,59)B# M%6B8@Q5LF(,5<)B#%728@Q5XF(,5?)B#%8"8@Q6$F(,5B)B#%8R8@Q60F(,5 ME)B#%9B8@Q6<F(,5H)B#%:28@Q6HF(,5K)B#%;"8@Q6TF(,5N)B#%;R8@Q7 MF(,5Q)B#%<B8@Q7,F(,5T)B#%=28@Q78F(,5W)B#%>"8@Q7DF(,5Z)B#%>R8 M@Q7PF(,5])B#%?B8@Q7\F(,5 )F#%029@Q4(F8,5#)F#%1"9@Q44F8,5&)F# M%1R9@Q4@F8,5))F#%2B9@Q4LF8,5,)F#%329@Q4XF8,5'P#S#SL \P]7 /,/ M<P#S#X\ \P^K /,/QP#S#^, \P_V /,/"@'S#QD!\P]& ?,/60'S#V<!\P]] M ?,/E0'S#Z,!\P^Y ?,/T0'S#]\!\P_U ?,/#0+S#QL"\P\W O,/2P+S#U\" M\P]N O,/FP+S#ZX"\P^\ O,/T@+S#^H"\P_X O,/#@/S#R8#\P\T _,/2@/S M#V(#\P]P _,/C /S#Z #\P^R _,/R /S#^<#\P\.!/,/&@3S#R@$\P\W!/,/ M303S#VP$\P^(!/,/E@3S#Z4$\P^[!/,/V@3S#PH%\P\J!?,/. 7S#T<%\P]= M!?,/?P7S#[(%\P_B!?,/!@;S#Q0&\P\C!O,/.0;S#UL&\P^.!O,/O@;S#^(& M\P_P!O,/_P;S#Q4'\P\W!_,/;0?S#Z,'\P_9!_,/"0CS#T<(\P]6"/,/; CS M#^H(\P\Q"?,/I@GS#]H)\P\""O,/BPKS#ZR9@Q6PF8,5M)F#%;B9@Q6\F8,5 MP)F#%<29@Q7(F8,5&P"=$"X G1!B )T0H "=$*H G1#0 )T0V@"=$ !G1!' M 9T0;0&=$'<!G1#" 9T0)0*=$#T"G1!) IT0G@*=$*H"G1#" IT0Z *=$/(" MG1 : YT0,@.=$#P#G1!E YT0?0.=$)4#G1"? YT0J0.=$+,#G1#9 YT0XP.= M$.T#G1#W YT0 02=$"<$G1 Q!)T0202=$%,$G1!I!)T0?P2=$(D$G1"K!)T0 MM02=$+\$G1#F!)T0_@2=$ H%G1 N!9T04P6=$&L%G1!W!9T0D@6=$)X%G1"Y M!9T0S 6=$-8%G1 !!IT0% :=$"H&G1 T!IT0/@:=$$T&G1!Q!IT0>P:=$(@& MG1"@!IT0J@:=$,P&G1#R!IT0%@>=$"X'G1!&!YT04 >=$%H'G1!D!YT0;@>= M$)0'G1">!YT0J >=$+('G1"\!YT0Q@>=$-X'G1 "")T0# B=$&@(G1" ")T0 MC B=$/T(G1 :"9T0+0F=$$4)G1"3"9T0JPF=$+T)G1#,"9T0YPF=$/H)G1 % M"IT0)@J=$# *G1!%"IT0A J=$-$*G1#U"IT0&PN=$#\+G1!)"YT0; N=$'8+ MG1" "YT0B@N=$*<+G1"_"YT0R0N=$-,+G1#="YT0YPN=$/$+G1#["YT0!0R= M$ \,G1 9#)T0(PR=$"T,G1 W#)T000R=$$L,G1!C#)T0;0R=$(,,G1"-#)T0 MI@R=$ 4-G1 /#9T0,0V=$$0-G1!P#9T0LPV=$.@-G1#R#9T0+ Z=$%D.G1"% M#IT0P Z=$.D.G1#[#IT0"0^=$",/G1 M#YT02 ^=$(@/G1"2#YT0G ^=$*8/ MG1"P#YT0N@^=$,0/G1#.#YT0V ^=$/P/G1 &$)T0$!"=$!H0G1 D$)T0+A"= M$#@0G1!"$)T03!"=$'(0G1!\$)T0AA"=$+80G1#?$)T0]1"=$/\0G1 )$9T0 M$Q&=$!T1G1 G$9T0,1&=$#L1G1!%$9T0:1&=$',1G1!]$9T0AQ&=$)$1G1"; M$9T0I1&=$*\1G1"Y$9T0WQ&=$.D1G1#S$9T0(Q*=$&$2G1![$IT0K1*=$+P2 MG1#&$IT0T!*=$-H2G1#^$IT0(!.=$$D3G1!>$YT0:!.=$*$3G1"Y$YT0PQ.= M$,T3G1#7$YT0X1.=$.L3G1#U$YT0&Q2=$"44G1 O%)T0.12=$$,4G1!-%)T0 M5Q2=$'T4G1"'%)T0D12=$+@4G1#L%)T0$!6=$"45G1!2%9T0916=$'<5G1"" M%9T0GA6=$*@5G1#*%9T0U!6=$-X5G1#R%9T0.A:=$$X6G1!B%IT0$@ $$H8 M!!*E 02M@ $$@@!!!(K 0028 $$$K !!!)T @02CP($$K<"!!+? @023P R M$G4 ,A+" #(2#P!)$C$ 21)+ $D28 !)$A8 3Q(S $\2; !/$H 3Q*V $\2 MPP!/$M< 3Q( 4\2$P!@$HX 8!*N & 2% %@$D@!8!(2 '42+0!U$I0 =1+. M '42Z0!U$@T CA)A (X2E0&.$M@!CA+L 8X2$@*.$DX"CA)\ HX2L *.$A,# MCA*& XX2DP..$ID#CA*M XX2LP..$AD%CA+^!8X2/P:.$DT&CA);!HX2]P:. M$H@'CA+-!XX2-PB.$H((CA(]"8X2=0F.$J )CA(1 "D3K@ I$U<!*1,_ BD3 MX (I$ZD#*1/0 RD3&P!J$Q4 >1-2 'P36@!\$X ?!/( 'P3'P".$PD D!,. M ) 3&0"1$Q, DA,8 )(3$@"3$Q< DQ,9 )03Z@"4$PH!E!,4 903$@"E$Q< MI1,A *83)P"F$R$ J!,F *P3+ "L$Q0 KQ-P +(3E@"R$[D LA/C +(36P&R M$Q$ S!,9 ,P3*@#,$PT SQ,2 -<3F #7$Q4 [1.; .T3NP#M$R@![1-G >T3 M#P 9%!( &A0= !H4,P :%#X &A14 !H490 :%( &A2+ !H4H0 :%+( &A3- M !H4W@ :%!D *!3B 2@4_@$H%((%*!0. +(4#P"V%&\ MA2. +84P@"V% P! MMA1 ;849@&V%( !MA24 ;84I0&V%-0!MA07 K848P*V%(("MA2] K84#P.V M%"H#MA1% [848@.V%)$#MA2B [84V .V%/8#MA10!+849@2V%*8$MA0"!;84 M*P6V%% %MA26!;84< 8%7\ &!6> ",5K C%14 ,14J #$530 Q%6T ,16! M #$5H@ Q%;( ,17& #$5X Q%0 M M M M M M M # /JX@Q6.V+B5'X[0O !^[@@H:,2 (P&5@ FH2P HW OH M)HH,,NWC%48FB@0\/700/"!T!#P)=05)?^TSR>M$D#/;270N1B:*!#P@="8\ M"70B+#!\*#P)?R0#VW(@B],#VW(: ]MR%@/:<A(RY /8<@SKSPO;= :)'FZ? MZ[NZ<@#IT@"+'FZ?T>L#VX'[ 'UW![L ?8D>;I\FBQ8" (S0*]#WP@#P=0O1 MXM'BT>+1XNL$D+KP_SO3=P:ZH0#IE@")'A B^.+T:$0 4/ +$$T^B,TP/# MHUH HUX )HL> @ KV';5L033PXO#)0\ @>/P_XD>:@"C; &,\!0B^R+VHO* M@\,$@>/^_ROCB_PVQ@5C1^,/-L8%($<FB@0VB 5&1^+V-L8% !ZX@Q6.V(O$ MHV@ 'Q90'@>:E0$ )KB 0 F@P E!.:P@$ )H/ @ N !,S2&T"<TAN %, MS2'ZN(,5CMBA: MT >+X/N:@#?Y!+JW +0)S2&X 4S-(8OLFL(! ":#P( M (M&!+1,S2&<4@8>4%.T-; ;S2&X@Q6.V(P&8 ")'F( NB\"L!NT)8S+CMO- M(5M8'P=:G<N<4E,>4+B#%8[8BQ9B + ;M"6+'F CMO-(5@?6UJ=RYQ2!AY0 M4[0UL"/-(;B#%8[8C 9D (D>9@"Z+P*P([0EC,N.V\TA6U@?!UJ=RYQ24QY0 MN(,5CMB+%F8 L".T)8L>9 ".V\TA6!];6IW+4%-14E565QX&N(,5CMC_!M M!Q]?7EU:65M8SU6#[!@[)A <@7J8@$ (OLQT8& #'1@S__\=&%OX _W8@ M_W8>#N@9!(OEB$80,.0]_P!U!,9&$""#?@S_= /I' &+1@:%P'0%/08 =1&+ M1B2+7B+'1A;^ (E&"HE>"(I&$##D/?\ =06X___K!8I&$##DB48.T>"+\+$( MBX34 -/H,N2Q!-/@C-NYU@$#R(M&!M'@ \B+\;$/CL,FBP33Z"4! (E>%(EV M$NLDL0G$=A(FBP33Z"4_ (E&!NL<L0G$=A(FBP33Z"4_ (E&#.L*/0 =.D] M 0!TTK$(Q'82)HL$T^@E 0!T ^E-_XM&"HMV"#/)N@$ B]Z)1@*)7@":!@#4 M$XI.$(Y& B:(#(M.%DF%R8E&"HE.%HE>"'D0'KBV E SP%!0FBLE^02+Y8M& M((M>'HS9ND2<F@@ R!-T#(,^T = 6:;SCY!/]V(/]V'@[H[ *+Y8A&$.G; M_L1V"";&! "#?@P =2S&1A @BT8@BUX>C-FZ1)R:" #($W46,\!0,\!0,]M3 M_W8@_W8>F@4 =1*+Y8I&$##D_W8@_W8>4 [H*@.+Y8M&#(/$&%W+58OL,\"C MR0*CRP*CS0)=RU6#[ H[)A <@7J8@$ (OLH<L"A<!^#/\.RP*X @"#Q I= MR_]V%O]V%/]V$O]V$ [H"OZ+Y8E& NGU /\&R0*+1@*#Q I=R_\.R0*+1@*# MQ I=R[@! */) H/$"EW+H<D"2,<&R0( */+ K@" (/$"EW+BT86BW84CL F MBAPP_XE&"(E>!(EV!L1V!B:*!##DA<!T'2:*1 $FB 0SR;H! (S B]Z:!@#4 M$XE&"(E>!NO7,\FZ 0"+1@B+7@:: P &%(OP,\FZ 0")1@B)7@:: P &%([ M)L8' (-^!'R)1@B)7@9U"+@& (/$"EW+N H @\0*7<L>N,\"4/]V%O]V%)H( M 'D3B^6X" "#Q I=RXM& H/$"EW+" #$ @, 00($ "P"#0 A @( %0(! D" MOA0 +CN$Y@)U!2[_I.@"@^X$>>_KRE6#[!@[)A <@7J8@$ (OL,\#'1@C_ M_XM>((M.'HOQB4X4,\FZ 0")1@R)1@:+PXE> HE>%HO>B5X F@8 U!..1@(F MB@R)1A:(3A*)7A2#?@C_= /IO "+1@:%P'0%/08 =07'1@P (I&$C#DB48* MT>"+\+$(BX34 -/H,N2Q!-/@C-NYU@$#R(M&!M'@ \B+\;$/CL,FBP33Z"4! M (E>$(EV#NLDL0G$=@XFBP33Z"4_ (E&!NL<L0G$=@XFBP33Z"4_ (E&".L* M/0 =.D] 0!TTK$(Q'8.)HL$T^@E 0!T ^EH__]&#(M&%HMV%#/)N@$ B]Z) M1@*)7@":!@#4$XY& B:*#(E&%HA.$HE>%.D[__]V(/]V'IH. &H3B^6+7@P[ MV'4+@WX(!G4%,\! ZP(SP(/$&%W+58/L"#LF$ !R!>IB 0 B^RX$@!0BT80 MBUX.C-FZ1)R:"P#,$XJ'U0(PY(7 B48&B5X$=4K$=@XFBT0$2":)1 2%P'@H M)HM$ B:+'#/)N@$ B48"B5X F@8 U!,FB40")HD<Q'8 )HH$,.3K#?]V$/]V M#IH$ "D3B^6#Q A=RXMV!,:$U0( BT8&@\0(7<M5@^P&.R80 '(%ZF(! "+ M[+@2 %"+1A"+7@Z,V;I$G)H+ ,P3BT8,B(?5 H/$!EW+58/L!#LF$ !R!>IB M 0 B^RX$@!0BT8,BUX*C-FZ1)R:"P#,$\:'U0( _W8,_W8*FF<"!!*+Y8/$ M!%W+58/L!#LF$ !R!>IB 0 B^RX$@!0BT8,BUX*C-FZ1)R:"P#,$\:'U0( M_W82_W80_W8._W8,_W8*F@4 =1*+Y8/$!%W+58/L!CLF$ !R!>IB 0 B^S' M1@0 (M&!(L>]'\[V'XHT>#1X(OPBX3V HN\] *.P";_=0*,1@*.P";_-9KC M#/D$B^7_1@3KS8/$!EW+58OL_W8(_W8&'KCV?U":!0!@$HOEN $ 4)I^%/D$ MB^7'!O1_ .Z# ZN $ 4!ZX1H-0F@\ /0J+Y5W+58/L"#LF$ !R!>IB 0 MB^RX @!0FN\%\PB+Y8M.$(M6#H[ )HE/!(Q&!H[ )HE7 H[ )L='" CL F MQT<& ")7@2: @"+$H/$"%W+58/L!#LF$ !R!>IB 0 B^R+1@P+1@IT#<1V M"B:+1 @F"T0&= L>N%" 4 [H1_^+Y<1V"B:+1 0FBUP"B48,B5X*Q'8.)H(\ M '06,\FZ 0",P(O>F@8 U!.)1A")7@[KX3/)N@$ BT80BUX.F@, !A0SR;H! M (E&$(E>#IH# 84B480B5X.Q'8.)HH$,.0]8P!U ^F (M&# M&"G4),\ S MVX/$!%W+L0W$=@HFBP33Z"4' #T" '0+'KA0@% .Z+/^B^6+1A"+=@XSR;H! M (O>B48"B5X F@, !A2.1@(FB@PP[8/Y9(E&$(E>#G43Q'8*)HM$"":+7 :) M1@R)7@KKA,1V"B:+1 0FBUP"B48,B5X*Z7#_BT8,BUX*F@( BQ*#Q 1=RU6# M[ P[)A <@7J8@$ (OL@3[T?T ?? 6:@#?Y!*'T?XE& $"+7@#1X]'CC-&- M5A*)C_8"B9?T CU 'Z/T?WP%FH W^02A]'^)1@! BUX T>/1XXS1C586B8_V M HF7] (]0!^C]']\!9J -_D$H?1_B48 0(M> -'CT>.,T8U6&HF/]@*)E_0" M/4 ?H_1_? 6:@#?Y!*'T?XE& $"+7@#1X]'CC-&-5@2)C_8"B9?T L=&!@ MQT8$ ]0!^C]']\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X(B83V HF<] +' M1@H ,=&" N ( 4)KO!?,(B^6Y @!1B48&B5X$FN\%\PB+Y8M.%(MV$H[! M)HM4"(E. H[!)HM,!L1^!":)50@FB4T&)HE%!":)70*,P8O7CD8")HE,"":) M5 :+3AB+5A:.P":)3P2,1@J.P":)5P*+1AR+3AHFB4<()HE/!H,N]'\%B5X( MB]F: @"+$H/$#%W+58/L"CLF$ !R!>IB 0 B^R+1A*+=A".P":+7 B.P":+ M3 :)3@:)7@B+1@@+1@9T3<1V!B:+1 0FBWP"B48"CL FBT4$)HM= HM.%HM6 M%)H( ,@3B7X =1(FBT4()HM=!IH" (L2@\0*7<O$=@8FBT0()HM<!HE&"(E> M!NNK,\ SVX/$"EW+58/L!CLF$ !R!>IB 0 B^R+1A(+1A!T4\1V$":+1 0F MBWP"CL F_W4$C$8"CL F_W4"_W8._W8,FNX?:@J+Y87 =!7$=A FBT0$)HM< M IH" (L2@\0&7<O$=A FBT0()HM<!HE&$HE>$.NE,\ SVX/$!EW+58/L%#LF M$ !R!>IB 0 B^R!/O1_0!]\!9J -_D$H?1_B48 0(M> -'CT>.,T8U6&HF/ M]@*)E_0"/4 ?H_1_? 6:@#?Y!*'T?XE& $"+7@#1X]'CC-&-5AZ)C_8"B9?T M CU 'Z/T?WP%FH W^02A]'^)1@! BUX T>/1XXS1C58BB8_V HF7] (]0!^C M]']\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X$B83V HF<] (SP#/;B48&B5X$ MBT8<"T8:=0/IR@"X @!0FN\%\PB+Y8M.!@M.!(E&"HE>"'4.B482B48&B5X0 MB5X$ZQ>+1@J+7@C$=A FB40()HE<!HE&$HE>$+@" %":[P7S"(OEQ'8:)HM, M!":+5 *.P":)3P2,1@Z.P":)5P(SR3/2CL FB4\(CL FB5<&BTX@"TX>B5X, M="?$=AXFBT0$)HM< L1^#":)10@FB5T&CD8@)HM$"":+7 :)1B")7AZ+1@Z+ M7@S$=@@FB40$)HE< L1V&B:+1 @FBUP&B48<B5X:Z2O_BT8&"T8$=!&+1B2+ M7B+$=@@FB40()HE<!H,N]'\$BT8&BUX$F@( BQ*#Q!1=RU6#[ @[)A <@7J M8@$ (OLN 0 4)KO!?,(B^6+3A"+5@Z.P":)3P2,1@:.P":)5P*)7@2: @"+ M$H/$"%W+58/L"#LF$ !R!>IB 0 B^RX 0!0FN\%\PB+Y8E&!HE>!(M&%(M> M$HM.$(M6#IH, *83Q'8$)HE$!":)7 *,P(O>F@( BQ*#Q A=RU6#[ P[)A M<@7J8@$ (OL@3[T?T ?? 6:@#?Y!*'T?XE& $"+7@#1X]'CC-&-5A*)C_8" MB9?T CU 'Z/T?WP%FH W^02A]'__!O1_T>#1X(OPC-"-7@2)A/8"B9ST C/ M,]N)1@:)7@2+1A0+1A)T4[@" %":[P7S"(OEQ'82)HM,!":+5 *.P":)3P2, M1@J.P":)5P*.1A0FBTP()HM4!HE.%(M.!HE6$HM6!([ )HE/"([ )HE7!HE& M!HE>!(E>".NE@R[T?P*+1@:+7@2: @"+$H/$#%W+58/L$#LF$ !R!>IB 0 MB^R+1A@+1A9U"3/ ,]N#Q!!=RX$^]'] 'WP%FH W^02A]'^)1@! BUX T>/1 MXXS1C586B8_V HF7] (]0!^C]']\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X$ MB83V HF<] +'1@8 ,=&! N ( 4)KO!?,(B^7$=A8FBTP$)HM4 H[ )HE/ M!(Q&!H[ )HE7 H[ )L='" CL FQT<& ".1A@FBTP()HM4!HE&"HE.&(E6 M%HE>"(E>!(M&& M&%G1<N ( 4)KO!?,(B^7$=A8FBTP$)HM4 H[ )HE/!(Q& M#H[ )HE7 H[ )L='" CL FQT<& ".1A@FBTP()HM4!L1V"":)1 @FB5P& MB48*B4X8B586B5X(B5X,ZYR#+O1_ HM&!HM>!)H" (L2@\007<M5@^P0.R80 M '(%ZF(! "+[(M&& M&%G4#Z3H!@3[T?T ?? 6:@#?Y!*'T?XE& $"+7@#1 MX]'CC-&-5A:)C_8"B9?T CU 'Z/T?WP%FH W^02A]'^)1@! BUX T>/1XXS1 MC58:B8_V HF7] (]0!^C]']\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X$B83V M HF<] +'1@8 ,=&! N ( 4)KO!?,(B^7$=A8FBTP$)HM4 H[ )HE/!(Q& M"H[ )HE7 HY&&":+3 @FBU0&B48&B4X8B586B5X$B5X(BT88"T86=$RX @!0 MFN\%\PB+Y<1V%B:+3 0FBU0"CL FB4\$C$8.CL FB5<"Q'X()HE%"":)70:. M1A@FBTP()HM4!HE&"HE.&(E6%HE>"(E>#.NLBT8<BUX:Q'8()HE$"":)7 :# M+O1_ XM&!HM>!)H" (L2@\007<N#+O1_ XM&'(M>&IH" (L2@\007<M5@^P( M.R80 '(%ZF(! "+[(M&$ M&#G4),\ SVX/$"%W+Q'8.)HM$!":+7 (+PW11 M)HM$!+$-CL FBQ?3ZH'B!P"#^@)T#1ZX68!0#NB^]8OEZTG$=@XF_W0()O]T M!@[HG?^+Y5!3Q'8.)O]T!";_= (.Z!_^B^6: @"+$H/$"%W+Q'8.)O]T"";_ M= 8.Z&__B^6: @"+$H/$"%W+@\0(7<M5@^P".R80 '(%ZF(! "+[(M&"@M& M"'0?Q'8()HM$""8+1 9U$B:+1 0FBUP"F@( BQ*#Q )=RQZX8(!0#N@K]8OE M@\0"7<M5@^P".R80 '(%ZF(! "+[(M&"@M&"'1,Q'8()HM$""8+1 9U/R:+ M1 0FBUP"B48*"\.)7@AU"3/ ,]N#Q )=R[$-Q'8()HL$T^@E!P ] @!U$B:+ M1 0FBUP"F@( BQ*#Q )=RQZX9H!0#NBV](OE@\0"7<M5@^P".R80 '(%ZF(! M "+[(M&"@M&"'1,Q'8()HM$""8+1 9U/R:+1 0FBUP"B48*"\.)7@AU"3/ M,]N#Q )=R[$-Q'8()HL$T^@E!P ] @!U$B:+1 @FBUP&F@( BQ*#Q )=RQZX M:H!0#NA!](OE@\0"7<M5@^P,.R80 '(%ZF(! "+[($^]'] 'WP%FH W^02A M]'__!O1_T>#1X(OPC-"-7A*)A/8"B9ST HM&% M&$G1XQ'82)HM$!":+7 (F MBTP()HM\!HE.% O/B48&B5X$B7X2=%6.1A0FBT4()@M%!G5(N ( 4)KO!?,( MB^6+3@:+5@2.P":)3P2,1@J.P":)5P+$=A(FBTP$)HM4 H[ )HE/"([ )HE7 M!O\.]'^)7@B: @"+$H/$#%W+'KAN@% .Z'GSB^6#Q Q=RU6#[ 0[)A <@7J M8@$ (OLBT8,"T8*=%'$=@HFBT0()@M$!G5$)HM$!":+7 (+PW0G)HM$!+$- MCL FBQ?3ZH'B!P"#^@*)5@!T!8/Z!G4),\ SVX/$!%W+H2J BQXH@)H" (L2 M@\0$7<L>N'. 4 [H__*+Y8/$!%W+58/L!CLF$ !R!>IB 0 B^R+1@X+1@QT M7L1V#":+1 @FBUP&"\-T3R:+1 B.P":+3PB,1@*.P"8+3P:)7@!U-XY&#B:+ M1 0FBUP"Q'8 )HM,!":+5 *:" #($W41H2J BQXH@)H" (L2@\0&7<LSP#/; M@\0&7<L>N'B 4 [H>/*+Y8/$!EW+58/L!#LF$ !R!>IB 0 B^R+1@P+1@IT M,<1V"B:+1 @F"T0&=20FBT0$)@M$ G41H2J BQXH@)H" (L2@\0$7<LSP#/; M@\0$7<L>N'N 4 [H'O*+Y8/$!%W+58/L!#LF$ !R!>IB 0 B^R+1@P+1@IT M,<1V"B:+1 @F"T0&=20FBT0$)@M$ G41H2J BQXH@)H" (L2@\0$7<LSP#/; M@\0$7<L>N(" 4 [HQ/&+Y8/$!%W+58/L%#LF$ !R!>IB 0 B^R!/O1_0!]\ M!9J -_D$H?1__P;T?]'@T>"+\(S0C5X:B83V HF<] *+1AP+1AIU ^F@ ,1V M&B:+1 0FBWP"L0V.P":+'=/K@>,' '0#Z8, B]^.1APFBTP()HM\!HE.' O/ MB48&B5X$B7X:=&:.1APFBT4$)HM= B:+30@FBW4&B4X<"\Z)1@Z)7@R)=AIT M0XY&'":+1 @F"T0&=38FBT0$)HM< O]V#O]V#%!3_W8&_W8$B48*B5X(#NBA M\HOE_P[T?XE&$HE>$)H" (L2@\047<L>N(2 4 [HT?"+Y8/$%%W+58/L##LF M$ !R!>IB 0 B^R+1A0+1A)T>\1V$B:+1 0FBWP"L0V.P":+'=/K@>,' '5A MB]^.1A0FBTP()HM\!HE.% O/B48&B5X$B7X2=$2.1A0FBT4()@M%!G4W)HM% M!":+=0*Q#8[ )HL<T^N!XP< =2"+WE!3_W8&_W8$B48*B5X(#NAI\XOEF@( MBQ*#Q Q=RQZXC(!0#N@M\(OE@\0,7<M5@^P8.R80 '(%ZF(! "+[($^]'] M'WP%FH W^02A]'^)1@! BUX T>/1XXS1C58>B8_V HF7] (]0!^C]']\!9J M-_D$H?1_B48 0(M> -'CT>.,T8U6!(F/]@*)E_0"QT8& #'1@0 #U 'Z/T M?WP%FH W^02A]'^)1@! BUX T>/1XXS1C58(B8_V HF7] (SVS/)BU8@"U8> MH_1_B4X(B5X*=0Z#+O1_ XO#B]F#Q!A=R\1V'B:+1 0FBWP"B48."\>)?@QU M ^DC K$-CD8.)HL%T^@E!P!T ^D1 HY&(":+1 @FBWP&B48@"\>)?AYU ^GY M 8Y&(":+100FBW4"B482"\:)=A!U ^GN +$-CD82)HL$T^@E!P!T ^G< !ZX MD(!0FA<#^02+Y8E& HM&$HE> (M>$(M. HM6 )H( ,@3=0^A0H"+'D" B486 MB5X4ZW,>N): 4)H7 _D$B^6)1@*+1A*)7@"+7A"+3@*+5@":" #($W4/H3* MBQXP@(E&%HE>%.L_'KB;@%":%P/Y!(OEB48"BT82B5X BUX0BTX"BU8 F@@ MR!-U#Z%&@(L>1(")1A:)7A3K"QZXH8!0#NA?[HOEQ'8>)HM$"":+? :)1B + MQXE^'G03CD8@)HM%!":+70*)1A*)7A#K&AZXH8!0#N@L[HOEZPVA,H"+'C" MB486B5X4Q'8>)HM$"":+7 :)1B +PXE>'G4#Z<X N ( 4)KO!?,(B^6+3A:+ M5A2.P":)3P2,1@:.P":)5P*X @!0B5X$FN\%\PB+Y<1V!":)1 @FB5P&BTX2 MBU80CL FB4\$C$8*CL FB5<"BT8@BTX>)HE'"":)3P:A1H"+#D2 B48"BT86 MB5X(BUX4B4X BTX"BU8 F@@ R!-U'?]V#O]V##/ 4#/;4_]V!E:X!0!0FCL0 M^02+Y>L=_W8._W8,,\!0,]M3_W8&_W8$N T 4)H[$/D$B^6#+O1_ XM&#HM> M#)H" (L2@\087<L>N*& 4 [H+.V+Y8/$&%W+58/L$#LF$ !R!>IB 0 B^S$ M=A8FBT0$)HM< B:+3 @FBU0&B4X8"\J)1@:)5A:)7@1U ^D= 0O#=0/I%@&Q M#8Y&!B:+!]/H)0< = /I! &.1AB+\B:+1 0FBUP")HM,"(E&"B:+1 :)3A@+ MR(E&%HE>"'0#Z=P "UX*=0/IU "Q#<1V"":+!-/H)0< /0( = /IOP FBT0$ M)HM< HL.,H"+%C" B48.B\&)7@R+VHM.#HM6#)H( ,@3=!ZA0H"+'D" B48" MB\&)7@"+VHM. HM6 )H( ,@3=2W_=@;_=@0SP% SVU/_=@K_=@BX#0!0FCL0 M^02+Y8M&!HM>!)H" (L2@\007<NA1H"+'D2 B48"BT8.B5X BUX,BTX"BU8 MF@@ R!-U+?]V!O]V!#/ 4#/;4_]V"O]V"+@% %":.Q#Y!(OEBT8&BUX$F@( MBQ*#Q!!=RQZXIX!0#NC(ZXOE@\007<M5@^P0.R80 '(%ZF(! "+[,1V%B:+ M1 0FBUP")HM,"":+5 :)3A@+RHE&!HE6%HE>!'4#Z1T!"\-U ^D6 ;$-CD8& M)HL'T^@E!P!T ^D$ 8Y&&(OR)HM$!":+7 (FBTP(B48*)HM$!HE.& O(B486 MB5X(= /IW +7@IU ^G4 +$-Q'8()HL$T^@E!P ] @!T ^F_ ":+1 0FBUP" MBPXR@(L6,(")1@Z+P8E>#(O:BTX.BU8,F@@ R!-T'J%"@(L>0(")1@*+P8E> M (O:BTX"BU8 F@@ R!-U+?]V!O]V!#/ 4#/;4_]V"O]V"+@- %":.Q#Y!(OE MBT8&BUX$F@( BQ*#Q!!=RZ%&@(L>1(")1@*+1@Z)7@"+7@R+3@*+5@":" #( M$W4M_W8&_W8$,\!0,]M3_W8*_W8(N 4 4)H[$/D$B^6+1@:+7@2: @"+$H/$ M$%W+'KBK@% .Z&3JB^6#Q!!=RU6#[ @[)A <@7J8@$ (OLQ'8.)HM$!":+ M7 (FBTP()@M,!HE&!HE>!'5 "\-T/+$-CD8&)HL'T^@E!P!U+;$')HL'T^@E M#P E!0 ]!0!U$B:+1PPFBU\*F@( BQ*#Q A=RS/ ,]N#Q A=RQZXL(!0#NCH MZ8OE@\0(7<M5@^P0.R80 '(%ZF(! "+[($^]'] 'WP%FH W^02A]'__!O1_ MT>#1X(OPC-"-7A:)A/8"B9ST HM&& M&%G4#Z;P Q'86)HM$!":+? *)1@8+ MQXE^!'4#Z9 CD8&)O]U!";_=0(.Z(HLB^6)1@H+PXE>"'1UQ'8$)HM$""8+ M1 9U$?\.]'^+1@J: @"+$H/$$%W+Q'8$)HM$"":+7 :)1@:)7@2+1@8+1@1T M*L1V!";_= 0F_W0"#N@X+(OEQ'8$)HM,"":+5 :)1@Z)3@:)5@2)7@SKSO\. M]'^+1@Z+7@R: @"+$H/$$%W+Q'86)HM$"":+7 :)1AB)7A;I.?__#O1_,\ S MVX/$$%W+58/L$#LF$ !R!>IB 0 B^R!/O1_0!]\!9J -_D$H?1__P;T?]'@ MT>"+\(S0C5X6B83V HF<] *+1A@+1A9T>L1V%B:+1 0FBUP")HM,"":+? :) M3A@+SXE&!HE>!(E^%G17CD88)HM%""8+109U2B:+100FBW4"B48*"\:)=@AT M$K$-CD8*)HL$T^@E!P ] @!U)O]V"O]V"/]V!O]V! [HW^N+Y?\.]'^)1@Z) M7@R: @"+$H/$$%W+'KBU@% .Z!+HB^6#Q!!=RU6#[!0[)A <@7J8@$ (OL M@3[T?T ?? 6:@#?Y!*'T?_\&]'_1X-'@B_",T(U>&HF$]@*)G/0"BT8<"T8: M=0/IO0#$=AHFBT0$)HM\ K$-CL FBQW3ZX'C!P"#^P)T ^F= (O?CD8<)HM, M"":+? :)3AP+SXE&!HE>!(E^&G4#Z7T CD8<)HM%!":+=0*Q#8[ )HL<T^N! MXP< @_L"=6"+WHY&'":+30@FBW4&B4X<"\Z)1@J)7@B)=AIT0XY&'":+1 @F M"T0&=38FBT0$)HM< E!3_W8*_W8(_W8&_W8$B48.B5X,#NA$ZXOE_P[T?XE& M$HE>$)H" (L2@\047<L>N+N 4 [H N>+Y8/$%%W+58/L&CLF$ !R!>IB 0 MB^S&1@4 @3[T?T ?? 6:@#?Y!*'T?XE& $"+7@#1X]'CC-&-5@J)C_8"B9?T M L=&# QT8* ]0!^C]']\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X.B83V M HF<] (SP#/;BTXB"TX@B480B5X.=0/I^@#$=B FBT0()@M$!G0#Z>H %HU& M!E F_W0$)O]T II&(/D$B^6%P'4#Z<\ ,\ SVXE&#(E&$(E>"HE>#L1V!B:" M/ !U ^F2 +@" %":[P7S"(OEBTX0BU8.CL FB4\(C$8,CL FB5<&BTX(BW8& MB4X",\FZ 0")1A"+1@B)7@Z)7@J+WHE> )H& -03CD8")HH,%HU6!%*)1@B( M3@2)7@::%P/Y!(OEB484"\.)7A)U%3/ 4!:-1@10FO$#^02+Y8E&%(E>$HM& M%(M>$L1V"B:)1 0FB5P"Z6+__W8,_W8*#NC_ZXOE@R[T?P*)1AB)7A:: @"+ M$H/$&EW+'KC#@% .Z'7EB^6#Q!I=RU6![!0!.R80 '(%ZF(! "+[,>&$@'^ M (S0C5X(BXX< 0N.&@&)A@P!B9X* 74#Z5(!Q+8: 2:+1 @F"T0&= /I00$F MBT0$)HM\ K$-CL FBQW3ZX'C!P"#^P*)AAP!B;X: 70#Z1P!BX8< 0N&&@%U M ^G$ !:-A@8!4,2V&@$F_W0$)O]T II&(/D$B^6%P'4#Z>\ BX8, 8NV"@$S MR;H! (O>B48"B5X F@8 U!.+C@@!B[X& 8E.!C/)N@$ B88, 8N&" &)G@H! MB]^)7@2:!@#4$XY&!B:*#8Y& B:(#(F&" &)G@8!A,ET&XN&$@%(A<")AA(! M?YL>N,N 4)H% & 2B^7K?#/)N@$ BX8, 8N>"@&: P &%,2V&@$FBTP()HM4 M!HF&# &)CAP!B98: 8F>"@'I+__$M@H!)L9$ 0 6C48(4)H7 _D$B^6)AA ! M"\.)G@X!=1<SP% 6C48(4)KQ _D$B^6)AA !B9X. 8N&$ &+G@X!F@( BQ*! MQ!0!7<L>N.F 4 [HX>.+Y8'$% %=RU6#[!@[)A <@7J8@$ (OL@3[T?T ? M? 6:@#?Y!*'T?XE& $"+7@#1X]'CC-&-5@R)C_8"B9?T L=&#@ QT8, ] M0!^C]']\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X0B83V HF<] (SP#/;BTX@ M"TX>B482B5X0=0/ITP#$=AXFBT0()@M$!G0#Z<, %HU&"% F_W0$)O]T II& M(/D$B^6%P'4#Z:@ ,\ SVXE&#HE&$HE>#(E>$,1V"":"/ !T;K@" %":[P7S M"(OEBTX*BW8(B4X",\FZ 0")1@Z+1@J)7@R+WHE> )H& -03CD8")HH,,.TS MTH7)>0%*4E&)1@J)7@@.Z*_HB^7$=@PFB40$)HE< HM&$HM>$":)1 @FB5P& MC,"+WHE&$HE>$.N)_W8._W8,#N@(Z8OE@R[T?P*)1A:)7A2: @"+$H/$&%W+ M'KCQ@% .Z'[BB^6#Q!A=RU6#[! [)A <@7J8@$ (OLQT8* #'1@@ ($^ M]'] 'WP%FH W^02A]'__!O1_T>#1X(OPC-"-7A:)A/8"B9ST HM&& M&%G15 MQ'86)HM$!":+? *)1@8+QXE^!'0BL0V.1@8FBP73Z"4' #T$ '40)HM% @%& M"":+70017@KK"QZX^H!0#NCMX8OEQ'86)HM$"":+7 :)1AB)7A;KH_]V"O]V M" [HKN>+Y?\.]'^)1@Z)7@R: @"+$H/$$%W+58/L$CLF$ !R!>IB 0 B^S' M1@H ,=&" QT8, 0"!/O1_0!]\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X8 MB83V HF<] *+1AH+1AAT?,1V&":+1 0FBWP"B48&"\>)?@1T0[$-CD8&)HL% MT^@E!P ]! !U,8-^# !T"B:+100FBUT"ZQF+1@C$=@0F*T0"BUX*)AM<!(E& M (O#BUX B48*B5X(ZPL>N/R 4 [H".&+Y<1V&":+1 @FBUP&QT8, ")1AJ) M7ACI?/__=@K_=@@.Z,/FB^7_#O1_B480B5X.F@( BQ*#Q!)=RU6#[! [)A M<@7J8@$ (OLQT8* #'1@@! ($^]'] 'WP%FH W^02A]'__!O1_T>#1X(OP MC-"-7A:)A/8"B9ST HM&& M&%G1@Q'86)HM$!":+? *)1@8+QXE^!'0ML0V. M1@8FBP73Z"4' #T$ '4;BT8*BUX()HM-!":+50*: 0!"$HE&"HE>".L+'KC^ M@% .Z#C@B^7$=A8FBT0()HM<!HE&&(E>%NN8_W8*_W8(#NCYY8OE_P[T?XE& M#HE>#)H" (L2@\007<M5@^P2.R80 '(%ZF(! "+[,=&"@ QT8( 0#'1@P! M ($^]'] 'WP%FH W^02A]'__!O1_T>#1X(OPC-"-7AB)A/8"B9ST HM&&@M& M&'4#Z9H Q'88)HM$!":+? *)1@8+QXE^!'1AL0V.1@8FBP73Z"4' #T$ '5/ M@WX, '00)HM%!":+70*)1@J)7@CK1,1V!":+1 0F"T0"=0X>N "!4)H% & 2 MB^7K*8M&"HM>",1V!":+3 0FBU0"F@4 ;A.)1@J)7@CK"QZX&(%0#N@RWXOE MQ'88)HM$"":+7 ;'1@P (E&&HE>&.E;__]V"O]V" [H[>2+Y?\.]'^)1A") M7@Z: @"+$H/$$EW+58/L$#LF$ !R!>IB 0 B^S'1@P! (M&& M&%G46,\!0 M,]M3#NBOY(OEF@( BQ*#Q!!=RXM&& M&%G4#Z:D Q'86)HM$!":+? *)1@J) M?@B#?@P =$$+QW02L0V.1@HFBP73Z"4' #T$ '00L0W$=@@FBP33Z"4' $AU M#HM&"HM>"(E&!HE>!.M%'K@:@5 .Z&3>B^7K./]V!O]V!/]V"O]V")IU&_D$ MB^6)1@Y(=0Z+1@J+7@B)1@:)7@3K$8-^#@!U"QZX&H%0#N@JWHOEQ'86)HM$ M"":+7 ;'1@P (E&&(E>%NE,_XM&!HM>!)H" (L2@\007<M5@^P0.R80 '(% MZF(! "+[,=&# $ BT88"T86=18SP% SVU,.Z+?CB^6: @"+$H/$$%W+BT88 M"T86=0/IJP#$=A8FBT0$)HM\ HE&"HE^"(-^# !T00O'=!*Q#8Y&"B:+!=/H M)0< /00 =!"Q#<1V"":+!-/H)0< 2'4.BT8*BUX(B48&B5X$ZT<>N!Z!4 [H M;-V+Y>LZ_W8&_W8$_W8*_W8(FG4;^02+Y3T" (E&#G4.BT8*BUX(B48&B5X$ MZQ&#?@X =0L>N!Z!4 [H,-V+Y<1V%B:+1 @FBUP&QT8, ")1AB)7A;I2O^+ M1@:+7@2: @"+$H/$$%W+58/L%#LF$ !R!>IB 0 B^R!/O1_0!]\!9J -_D$ MH?1__P;T?]'@T>"+\(S0C5X:B83V HF<] *+1AP+1AIU ^FA ,1V&B:+1 0F MBUP")HM,"":+5 :)3ARQ#8E&"H[ )HL'T^@E!P ]! ")5AJ)7@AU<0M6''1L MQ'8:)HM$!":+3 (FBU0(B48.)HM$!HE6' O0B48:B4X,=4FQ#<1V#":+!-/H M)0< /00 =3>.1@HFBT<$)HM? HY&#B:+3 0FBU0"F@4 ;A-14@[H%^*+Y?\. M]'^)1A*)7A": @"+$H/$%%W+'K@B@5 .Z!C<B^6#Q!1=RU6#[ X[)A <@7J M8@$ (OL@3[T?T ?? 6:@#?Y!*'T?_\&]'_1X-'@B_",T(U>%(F$]@*)G/0" MBT86"T84=0/IA0#$=A0FBT0$)HM< B:+3 @FBWP&B4X6"\^)1@:)7@2)?A1T M8HY&%B:+100FBUT")HM-"":+50:)3A8+RHE&"HE6%(E>"'4_4%/_=@;_=@2: M=1OY!(OE/0( B48,=17_#O1_H2J BQXH@)H" (L2@\0.7<N#?@P = W_#O1_ M,\ SVX/$#EW+'K@F@5 .Z$#;B^6#Q Y=RU6#[ X[)A <@7J8@$ (OL@3[T M?T ?? 6:@#?Y!*'T?_\&]'_1X-'@B_",T(U>%(F$]@*)G/0"BT86"T84=0/I M@P#$=A0FBT0$)HM< B:+3 @FBWP&B4X6"\^)1@:)7@2)?A1T8(Y&%B:+100F MBUT")HM-"":+50:)3A8+RHE&"HE6%(E>"'4]4%/_=@;_=@2:=1OY!(OEB48, M2'45_P[T?Z$J@(L>*(": @"+$H/$#EW+@WX, '0-_P[T?S/ ,]N#Q Y=RQZX M*(%0#NAJVHOE@\0.7<M5@^P..R80 '(%ZF(! "+[($^]'] 'WP%FH W^02A M]'__!O1_T>#1X(OPC-"-7A2)A/8"B9ST HM&%@M&%'4#Z84 Q'84)HM$!":+ M7 (FBTP()HM\!HE.%@O/B48&B5X$B7X4=&*.1A8FBT4$)HM= B:+30@FBU4& MB4X6"\J)1@J)5A2)7@AU/U!3_W8&_W8$FG4;^02+Y3T# (E&#'45_P[T?Z$J M@(L>*(": @"+$H/$#EW+@WX, '0-_P[T?S/ ,]N#Q Y=RQZX*H%0#NB2V8OE M@\0.7<M5@^P<.R80 '(%ZF(! "+[($^]'] 'WP%FH W^02A]'__!O1_T>#1 MX(OPC-"-7B*)A/8"B9ST HM&) M&(G4#Z:P!Q'8B)HM$!":+7 )04XE&%HE> M%)KN$?D$B^7$=B(FBT0()HM<!HE&&HE&$HE&!HE&)(E>&(E>$(E>!(E>(HM& M!@M&!'1!Q'8$)HM$!":+? *Q#8[ )HL=T^N!XP< =12.1@8F_W0()O]T!E!7 MFEL1^02+Y<1V!":+1 @FBUP&B48&B5X$Z[>+1A(+1A!U ^D/ <1V$":+1 0F MBWP"L0V.P":+'=/K@>,' '43CD82)HM$"":+7 :)1A*)7A#KR,1V$";_= 0F M_W0"#NB.&XOEB48&"\.)7@1U ^FP *$Z@(L..(")1@*.1@8FBT<$)HM? HE. M (M. HM6 )H( ,@3=36+=@0FBT0()HM<!@O#=!DFBT0(CL FBT\$CL FBU<" MB4X&B58$Z8X QT8& #'1@0 .F! *$^@(L>/(")1@+$=@0FBT0$B5X )HM< M HM. HM6 )H( ,@3=1TFBT0()HMT!H[ )HM<!([ )HM, HE.$(E>$ND._\1V M$":+1 @FBUP&B482B5X0Z?K^Q'80)HM$"":+7 :)1A*)7A#IYO['1@8 ,=& M! ZPL>N"R!4 [HD]>+Y?]V%O]V%)KV$/D$B^6+1AH+1AAT-L1V&":+1 0F MBWP"L0V.P":+'=/K@>,' '4)4%>:MA'Y!(OEQ'88)HM$"":+7 :)1AJ)7ACK MPO\.]'^+1@:+7@2: @"+$H/$'%W+58/L$#LF$ !R!>IB 0 B^R!/O1_0!]\ M!9J -_D$H?1_B48 0(M> -'CT>.,T8U6%HF/]@*)E_0"/4 ?H_1_? 6:@#?Y M!*'T?_\&]'_1X-'@B_",T(U>#(F$]@*)G/0",\ SVXM.& M.%HE&#HE>#'4# MZ<\ Q'86)HM$!":+? *Q#8[ )HL=T^N!XP< = /IL@"+WXY&&":+3 @FBWP& MB4X8"\^)1@J)7@B)?A9U ^F2 (Y&&":+10@F"T4&= /I@@ FBT4$)HM= HM. M"HMV"([!)HM4!(Q& H[!)@M4 HE&#HE>#(EV '4EN! CL$FBQP+V([!)HD< MN ( 4)KO!?,(B^7$=@ FB40$)HE< HM&"HMV"([ )HM<!([ )HM\ HM&#HM. M#([#)HE%!([#)HE- H,N]'\"B]F: @"+$H/$$%W+'K@Q@5 .Z.75B^6#Q!!= MRU6#[! [)A <@7J8@$ (OL@3[T?T ?? 6:@#?Y!*'T?XE& $"+7@#1X]'C MC-&-5A:)C_8"B9?T CU 'Z/T?WP%FH W^02A]'__!O1_T>#1X(OPC-"-7@R) MA/8"B9ST L=&#@ QT8, "+1A@+1A9U ^G6 ,1V%B:+1 0FBUP""\-U ^G9 M ":+1 2Q#8[ )HL7T^J!X@< = /IPP".1A@FBTP()HM\!HE.& O/B48*B5X( MB7X6=0/II0".1A@F_W4$)O]U @[H)QB+Y8M."HMV"([!)HM4!(Q& H[!)@M4 M HE&#HE>#(EV '4EN! CL$FBQP+V([!)HD<N ( 4)KO!?,(B^7$=@ FB40$ M)HE< HM&"HMV"([ )HM<!([ )HM\ HM&#HM.#([#)HE%!([#)HE- NL Q'86 M)HM$"":+7 :)1AB)7A;I'_^#+O1_ HM&#HM>#)H" (L2@\007<L>N#6!4 [H M==2+Y8/$$%W+58/L"#LF$ !R!>IB 0 B^R!/O1_0!]\!9J -_D$H?1__P;T M?]'@T>"+\(S0C5X.B83V HF<] *+1A +1@YT&,1V#B:+1 @F"T0&= L>N#J! M4 [H&-2+Y;@" %":[P7S"(OEBPXZ@(L6.(".P":)3P2,1@:.P":)5P*+3A"+ M5@Z.P":)3PB.P":)5P;_#O1_B5X$F@( BQ*#Q A=RU6#[ @[)A <@7J8@$ M (OL@3[T?T ?? 6:@#?Y!*'T?_\&]'_1X-'@B_",T(U>#HF$]@*)G/0"BT80 M"T8.=%+$=@XFBT0()@M$!G5%N ( 4)KO!?,(B^6+#CZ BQ8\@([ )HE/!(Q& M!H[ )HE7 HM.$(M6#H[ )HE/"([ )HE7!O\.]'^)7@2: @"+$H/$"%W+'KA! M@5 .Z#;3B^6#Q A=RU6#[ 0[)A <@7J8@$ (OLBT8,"T8*=$_$=@HFBT0( M)@M$!G5")HM$!"8+1 )U"3/ ,]N#Q 1=R\1V"B:+1 0FBWP"L0V.P":+'=/K M@>,' (/[ G424%<.Z#W9B^6: @"+$H/$!%W+'KA$@5 .Z+[2B^6#Q 1=RU6# M[ 0[)A <@7J8@$ (OL_W8,_W8*#NB.W(OEF@( BQ*#Q 1=RU6#[ 0[)A M<@7J8@$ (OLBT8,"T8*=!O$=@HF_W0$)O]T @[H>Q6+Y9H" (L2@\0$7<L> MN$R!4 [H4]*+Y8/$!%W+58/L##LF$ !R!>IB 0 B^R+1A0+1A)T>\1V$B:+ M1 0FBUP")HM,"":+? :)3A0+SXE&!HE>!(E^$G18CD84)HM%!":+=0*)1@H+ MQHEV"'02L0V.1@HFBP33Z"4' #T" '0(BT8*"T8(=2G$=A(FBT0()@M$!G4< M_W8*_W8(_W8&_W8$#NBI$(OEF@( BQ*#Q Q=RQZX48%0#NBOT8OE@\0,7<M5 M@^P".R80 '(%ZF(! "+[(M&"@M&"'4*,\!0F@( 21*+Y1ZX5X%0#NA\T8OE M@\0"7<M5@^P(.R80 '(%ZF(! "+[(M&$ M&#G1/Q'8.)HM$""8+1 9U0B:+ M1 0FBWP"B480"\>)?@YT,+$-CD80)HL%T^@E!P!U(8S CL F_W4(C$8"CL F M_W4&#NA=V(OEF@( BQ*#Q A=RQZX7(%0#N@$T8OE@\0(7<M5@^P$.R80 '(% MZF(! "+[(M&# M&"G4GQP;DCP$ FA<.^02:!1#S",<&Y(\ *$J@(L>*(": M @"+$H/$!%W+'KAB@5 .Z+30B^6#Q 1=RU6#[! [)A <@7J8@$ (OLBT88 M"T86=0/I@@#$=A8FBT0()@M$!G5U%HU&"% F_W0$)O]T II&(/D$B^6%P'1= M_W8*_W8(F@@ 6@J+Y8E&!@O#B5X$=0DSP#/;@\007<O_=@;_=@2:%P/Y!(OE MB48."\.)7@QU%C/ 4/]V!O]V!)KQ _D$B^6)1@Z)7@R+1@Z+7@R: @"+$H/$ M$%W+'KAE@5 .Z ;0B^6#Q!!=RU6#[ @[)A <@7J8@$ (OLBT80"T8.=$W$ M=@XF_W0$)O]T @[HZA*+Y8E&!@O#B5X$=0DSP#/;@\0(7<O$=@XFBT0()HM< M!HE&$(E>#HM&$ M&#G7#BT8&BUX$F@( BQ*#Q A=RZ$J@(L>*(": @"+$H/$ M"%W+58/L"#LF$ !R!>IB 0 B^R+1A +1@YT2L1V#B;_= 0F_W0"#NAS$HOE MB48&"\.)7@1T#8M&!IH" (L2@\0(7<O$=@XFBT0()HM<!HE&$(E>#HM&$ M& M#G6_,\ SVX/$"%W+H2J BQXH@)H" (L2@\0(7<M5@^P,.R80 '(%ZF(! "+ M[($^]'] 'WP%FH W^02A]'__!O1_T>#1X(OPC-"-7A*)A/8"B9ST HM&% M& M$G4#Z;D Q'82)HM$""8+1 9T ^FI ":+1 0F"T0"=0/IG FBT0$)HM\ H[ M)HM=!(Q&%([ )HMU HE>!@O>B78$B7X2='BQ#8Y&!B:+'-/K@>,' '5HL0<F MBQS3ZX'C#P"!XP4 @_L%=50FBUP,)HM,"E!74U&)3@B)7@H.Z#L-B^6)1A0+ MPXE>$G02L0V.1A0FBP?3Z"4' #T" '0,'KAL@5":!0!@$HOE_P[T?XM&%(M> M$IH" (L2@\0,7<L>N*.!4 [H#\Z+Y8/$#%W+58/L(#LF$ !R!>IB 0 B^R+ M1B@+1B9U ^G_ <1V)B:+1 0F"T0"=0/I[P$FBT0$)HM< H$^]'] 'XE&"HE> M"'P%FH W^02A]'^)1@! BUX T>/1XXS1C58$B8_V HF7] +'1@8 ,=&! M/4 ?H_1_? 6:@#?Y!*'T?XE& $"+7@#1X]'CC-&-5@R)C_8"B9?T L=&#@ MQT8, ]0!^C]']\!9J -_D$H?1__P;T?]'@T>"+\(S0C5X8B83V HF<] +' M1AH ,=&& Q'8F)O]T"";_= 8.Z&[4B^6)1@8+PXE>!'4#Z2X!QT8. #' M1@P ,1V!":+1 0F"T0"=0/I\P &5@[H/]2+Y8E&$HE&%HE>$(E>%(M&$@M& M$'0]Q'80)HM$!":+7 (+PW0;)HM$!([ )HM/!([ )HM7 HY&$B:)3 0FB50" MQ'80)HM$"":+7 :)1A*)7A#KN[@" %":[P7S"(OE_W86_W84_W8*_W8(B48: MB5X8#NAL"XOEQ'88)HE$!":)7 *+1@Z+7@PFB40()HE<!HS B]Z+3@:+5@2) M1@Z)3A*)5A")7@R+1A(+1A!U ^DZ_\1V$":+1 0FBUP""\-T&R:+1 2.P":+ M3PB.P":+5P:.1A(FB4P$)HE4 L1V$":+1 @FBUP&B482B5X0Z[C_=@[_=@P. MZ&[2B^6#+O1_ XE&'HE>')H" (L2@\0@7<L>N*^!4 [HY,N+Y8/$(%W+58/L M##LF$ !R!>IB 0 B^RQ!,1V$B:+!-/H,N2Q!,1V%B:+'-/K,O\[PXE&"G0' M,\"#Q Q=RXM&"O]."H7 =%#_=@K_=A3_=A*:$ SY!(OE_W8*_W88_W86B48" MB5X FA ,^02+Y8[ )O]W HQ&!H[ )O\WQ'8 )O]T B;_-)KN'VH*B^6%P'6M M,\"#Q Q=R[@! (/$#%W+58/L!#LF$ !R!>IB 0 B^R+1@P+1@IT2<1V"B:+ M1 @F"T0&=3PFBT0$)HM< @O#="<FBT0$L0V.P":+%]/J@>(' (/Z!G41H2J MBQXH@)H" (L2@\0$7<LSP#/;@\0$7<L>N+:!4 [HV<J+Y8/$!%W+58/L$#LF M$ !R!>IB 0 B^R+1AB+7A;'1@@ (E&#HE>#(M&#@M&#'06_T8(Q'8,)HM$ M"":+7 :)1@Z)7@SKXO]V")H>"/D$B^6)1@8+PXE>!'4),\ SVX/$$%W+BT88 MBUX6QT8* ")1@Z)7@R+1@H[1@A].E#_=@;_=@2:$ SY!(OEQ'8,)HM,!":+ M5 *.P":)3P*.P":)%_]&"L1V#":+1 @FBUP&B48.B5X,Z[Z+1@:+7@2: @"+ M$H/$$%W+58/L#CLF$ !R!>IB 0 B^R!/O1_0!]\!9J -_D$H?1__P;T?]'@ MT>"+\(S0C5X$B83V HF<] (SP#/;L03$=A0FBQ33ZC+V2HE&!HE6#(E>!(M& M#(7 >%2X @!0FN\%\PB+Y?]V#/]V%O]V%(E&"HE>")H0#/D$B^6.P":+3P*. MP":+%\1V"":)3 0FB50"BT8&BUX$)HE$"":)7 :,P(O>B48&B5X$_TX,ZZ7_ M#O1_BT8&BUX$F@( BQ*#Q Y=RU6#[ 0[)A <@7J8@$ (OLBT8,"T8*=!;_ M=@S_=@H.Z%S^B^6: @"+$H/$!%W+'KB\@5 .Z!G)B^6#Q 1=RU6#[ H[)A M<@7J8@$ (OLBT82"T80='/$=A FBT0$)@M$ G1F)HM$""8+1 9U7!:-1@90 M)O]T!";_= *:OQ_Y!(OEA<!T%8M&!E":'@CY!(OEF@( BQ*#Q I=R\1V$":+ M1 0FBWP"L0V.P":+'=/K@>,' (/[ G424%<.Z,#]B^6: @"+$H/$"EW+'KC! M@5 .Z'W(B^6#Q I=RU6#[ @[)A <@7J8@$ (OLBT80"T8.=%#$=@XFBT0$ M)@M$ G1#)HM$""8+1 9U.2:+1 0FBWP"L0V.P":+'=/K@>,' (/[!G4?L02. MP":+'=/K,O\SP%!3#NCYS8OEF@( BQ*#Q A=RQZXR8%0#N@$R(OE@\0(7<M5 M@^P..R80 '(%ZF(! "+[(M&%@M&%'4#Z:D %HU&!E#$=A0F_W0$)O]T IJ_ M'_D$B^6%P'4#Z8L Q'84)HM$"":+? :)1A8+QXE^%'1VCD86)HM%!"8+10)T M:2:+10@F"T4&=5\FBT4$)HMU K$-CL FBQS3ZX'C!P"#^P:)1@R)=@IU/XM& M"(7 >#BQ!":+'-/K,O\SR8E> (M>!HM6 )H& 04?1U3!E::$ SY!(OECL F MBT<")HL?F@( BQ*#Q Y=RQZXTH%0#N@OQXOE@\0.7<M5@^P2.R80 '(%ZF(! M "+[(M&&@M&&'4#Z>H %HU&!E#$=A@F_W0$)O]T IJ_'_D$B^6%P'4#Z<P MQ'88)HM$"":+? :)1AH+QXE^&'4#Z;0 CD8:)HM%!"8+10)U ^FD ":+100F MBUT")HM-"":+50:)3AJQ#8E6&([ )HL7T^J!X@< @_H&B48,B5X*=7:+3@B% MR7AOL02.P":+!]/H,N0SVXE& (M&"(E> HM>!HM. HM6 )H& 04?4E3!O]V M"IH0#/D$B^6+3AH+3AB)1A")7@YT+\1V&":+1 @F"T0&=2(FBT0$)HM< L1V M#B:)1 (FB1R+1@R+7@J: @"+$H/$$EW+'KC6@5 .Z!G&B^6#Q!)=RU6#[ 0[ M)A <@7J8@$ (OLBT8,"T8*=$/$=@HFBT0$)@M$ G0V)HM$""8+1 9U+":+ M1 0FBW0"L0V.P":+'-/K@>,' (/[!G424%8.Z+#[B^6: @"+$H/$!%W+'KC= M@5 .Z*W%B^6#Q 1=RU6+[,<&ZH$ %W+58/L!CLF$ !R!>IB 0 B^S'1@0 M (M&!#L&ZH%]3J%<G$B%P*-<G'@LH5B<BS96G#/)N@$ B]Z)1@*)7@":!@#4 M$[$@CD8")H@,,.VC6)R)'E:<ZQ(>N%:<4+@@ %":2@$I$XOEB\C_1@3KJ1ZX M[(%0F@4 8!*+Y3/ 4#/;4[@! %#_=@[_=@P>N%:<4)H)+/D$B^6A7)Q(A<"C M7)QX+*%8G(LV5IPSR;H! (O>B48"B5X F@8 U!.Q((Y& B:(###MHUB<B1Y6 MG.L2'KA6G%"X( !0FDH!*1.+Y8O(,\!0,]M34%.X 0!0_W82_W80'KA6G%": M&S#Y!(OEH5R<2(7 HUR<>"RA6)R+-E:<,\FZ 0"+WHE& HE> )H& -03L0J. M1@(FB PP[:-8G(D>5ISK$AZX5IQ0N H 4)I* 2D3B^6+R/\&ZH&#Q 9=RU6# M[ 8[)A <@7J8@$ (OL_P[J@<=&! BT8$.P;J@7U.H5R<2(7 HUR<>"RA M6)R+-E:<,\FZ 0"+WHE& HE> )H& -03L2".1@(FB PP[:-8G(D>5ISK$AZX M5IQ0N" 4)I* 2D3B^6+R/]&!.NI'KCU@5":!0!@$HOE,\!0,]M3N $ 4/]V M#O]V#!ZX5IQ0F@DL^02+Y:%<G$B%P*-<G'@LH5B<BS96G#/)N@$ B]Z)1@*) M7@":!@#4$[$@CD8")H@,,.VC6)R)'E:<ZQ(>N%:<4+@@ %":2@$I$XOEB\@S MP% SVU-04[@! %#_=A+_=A >N%:<4)H;,/D$B^6A7)Q(A<"C7)QX+*%8G(LV M5IPSR;H! (O>B48"B5X F@8 U!.Q"HY& B:(###MHUB<B1Y6G.L2'KA6G%"X M"@!0FDH!*1.+Y8O(@\0&7<M5@^P0.R80 '(%ZF(! "+[(M&& M&%G4),\ S MVX/$$%W+@3[T?T ?? 6:@#?Y!*'T?XE& $"+7@#1X]'CC-&-5A:)C_8"B9?T M CU 'Z/T?WP%FH W^02A]'__!O1_T>#1X(OPC-"-7@B)A/8"B9ST L=&"@ MQT8( "X @!0FN\%\PB+Y8[ )L='" C$8*CL FQT<& #$=A8F_W0$)O]T M HE>" [H9P6+Y<1V"":)1 0FB5P"Q'86)HM$"":+7 :+3@J+5@B)1AB)3@Z) M5@R)7A:+1A@+1A9T9[@" %":[P7S"(OEQ'8,)HE$"":)7 :.P";'1P@ (Q& M!H[ )L='!@ Q'86)O]T!";_= *)7@0.Z/H$B^7$=@0FB40$)HE< L1V%B:+ M1 @FBUP&BTX&BU8$B488B4X.B58,B5X6ZY&#+O1_ HM&"HM>")H" (L2@\00 M7<M5@^P(.R80 '(%ZF(! "+[($^]'] 'WP%FH W^02A]'__!O1_T>#1X(OP MC-"-7@Z)A/8"B9ST L1V#B:+1 @F"T0&="$F_W0$)O]T @[H: 2+Y<1V#B:+ M1 @FBUP&B480B5X.Z]+$=@XF_W0$)O]T @[H1 2+Y?\.]'^)1@:)7@2: @"+ M$H/$"%W+58/L$#LF$ !R!>IB 0 B^R!/O1_0!]\!9J -_D$H?1_B48 0(M> M -'CT>.,T8U6%HF/]@*)E_0"/4 ?H_1_? 6:@#?Y!*'T?_\&]'_1X-'@B_", MT(U>&HF$]@*)G/0"BT88"T86=0L>N%&!4 [HJL"+Y;$-Q'86)HL$T^@E!P!T M ^DH 8S L0>.P":+'-/K@>,/ (/["8E& HEV '4PCL FBT0,)HM<"O]V'/]V M&HE& HE> /]> (OE@R[T?P*)1@Z)7@R: @"+$H/$$%W+BT88BW86L06.P":+ M'-/K@>,! (E& HEV '0MCL F_W00CL F_W0._W8<_W8:#NBEP(OE@R[T?P*) M1@Z)7@R: @"+$H/$$%W+BT88BW86L0:.P":+'-/K@>,! $MU4?]V'/]V&E!6 M#NA'^HOE_W88_W86#NCI HOE_W8<_W8:4%,.Z*W^B^504_]V&/]V%HE&"HE> M" [H9_N+Y8,N]'\"BT8*BUX(F@( BQ*#Q!!=R_]V&/]V%@[HI@*+Y?]V'/]V M&E!3#NAJ_HOE@R[T?P*)1@Z)7@R: @"+$H/$$%W+L0W$=A8FBP33Z"4' #T" M '0#Z5P"H3* BQXP@(E& B:+1 2)7@ FBUP"BTX"BU8 F@@ R!-T ^F= ":+ M1 @FBW0&_W8<_W8:CL F_W0$C$88CL F_W0"B786FC</^02+Y<1V%B:+1 @F MBWP&CL FBUT(CL F"UT&=!!05P[H2/V+Y8E&"HE>".LFQ'86)HM$"":+? :. MP";_=02,1@*.P";_=0(.Z-D!B^6)1@J)7@C$=A8F_W0$)O]T IKV$/D$B^6# M+O1_ HM&"HM>")H" (L2@\007<NA0H"+'D" Q'86)HM,!":+5 *:" #($W0A MH4: BQY$@(E& HO!B5X B]J+3@*+5@":" #($W0#Z:< Q'86)HM$"":+? ;_ M=AS_=AJ)1AB)?A8.Z'Z^B^504\1V%B;_= 0F_W0"FC</^02+Y<1V%B:+1 @F MBWP&CL FBUT(CL F"UT&=!!05P[H9_R+Y8E&"HE>".LFQ'86)HM$"":+? :. MP";_=02,1@*.P";_=0(.Z/@ B^6)1@J)7@C$=A8F_W0$)O]T IKV$/D$B^6# M+O1_ HM&"HM>")H" (L2@\007<NA-H"+'C2 B48"Q'86)HM$!(E> ":+7 *+ M3@*+5@":" #($W0#Z9$ )HM$"":+? :.P":+70B,1AB.P":+30:.PXOQ)O]T M!(Q& H[#)O]T H[ )O]U!([ )O]U HE^%II;$?D$B^7$=A8FBT0()HM\!O]V M'/]V&H[ )O]U!(Q& H[ )O]U @[H$?R+Y<1V%B;_= 0F_W0"B48*B5X(FK81 M^02+Y8,N]'\"BT8*BUX(F@( BQ*#Q!!=RQZX48%0#NCTO(OE@\007<M5@^P< M.R80 '(%ZF(! "+[(,^T = 6:;SCY!(M&) M&(G4),\ SVX/$'%W+@3[T M?T ?? 6:@#?Y!*'T?_\&]'_1X-'@B_",T(U>(HF$]@*)G/0"L0W$=B(FBP33 MZ"4' .GW XM&)(MV(H[ )HM<!([ )HM\ HE>"@O?B7X(=!G_#O1_CD8*)HM% M!":+70*: @"+$H/$'%W+BT8DBW8BL0>.P":+'-/K@>,/ ('C!0"#^P6)1@*) M=@!U&/\.]'^.P":+1 PFBUP*F@( BQ*#Q!Q=RXM&)(MV(H[ )O]T$(Q& H[ M)O]T#AZX_H%0F@4 8!*+Y1ZX3(%0#NCONXOEQ'8B)HM$!":+? *Q#8[ )HL= MT^N!XP< = /IE@*Q!X[ )HL=T^N!XP\ @>,+ (/["XE&%HE^%'4TCL FBT4, M)HM="HY&)";_= @F_W0&B48"B5X _UX B^7_#O1_B48:B5X8F@( BQ*#Q!Q= MR[$'Q'84)HL$T^@E#P E#0 ]#0!T ^EX 2:+1 PFBUP*L08FBQ33ZH'B 0!* MB48.B5X,= /IV "A0H"+'D" B48"Q'X,)HM%!(E> ":+70*+3@*+5@":" #( M$W54Q'XB)O]U"";_=0;_=A96#NAV]8OEQ'8B)O]T"";_= ;_=@[_=@P.Z-_Y MB^504_]V%O]V%(E&"HE>" [HF?:+Y?\.]'^+1@J+7@B: @"+$H/$'%W+Q'8B M)O]T"";_= 8.Z,+WB^504_]V%O]V%(E&$HE>$ [H$O6+Y?]V$O]V$/]V#O]V M# [H@/F+Y5!3_W86_W84B48*B5X(#N@Z]HOE_P[T?XM&"HM>")H" (L2@\0< M7<NA0H"+'D" B48"Q'8,)HM$!(E> ":+7 *+3@*+5@":" #($W4IQ'XB)O]U M"";_=0;_=@Y6#N@>^8OE_P[T?XE&&HE>&)H" (L2@\0<7<O$=B(F_W0()O]T M!@[H%?>+Y5!3_W8._W8,#NCK^(OE_P[T?XE&&HE>&)H" (L2@\0<7<NQ!\1V M%":+!-/H)0\ )04 /04 = /IG@ FBT0,)HM<"O]V)/]V(E!3B48.B5X,#NBC M^(OEL0V.P":+%]/J@>(' (/Z HE&"HE>"'0BQ'84)O]T$";_= X>N!F"4)H% M & 2B^4>N$R!4 [HA+F+Y<1V"":+1 0FBUP"Q'8B)HE$!":)7 +$?@@FBT4( M)HM=!HY&)":)1 @FB5P&!E8.Z&/\B^7_#O1_B48:B5X8F@( BQ*#Q!Q=R\1V M(B:+1 0FBWP"BQY"@(L.0(".P":+102)7@8FBUT"B4X$BTX&BU8$F@@ R!-T M.(Y&)";_= @F_W0&#NC\]8OE4%/$=B(F_W0$)O]T @[HS?>+Y?\.]'^)1AJ) M7AB: @"+$H/$'%W+Q'8B)O]T"";_= 8F_W0$)O]T @[HH/>+Y?\.]'^)1AJ) M7AB: @"+$H/$'%W+_P[T?XM&)(M>(IH" (L2@\0<7<L] @!U ^F<_#T '4# MZ?G[Z]I5@^P&.R80 '(%ZF(! "+[,=&! @7X$]P%]&HM&!/]&!-'@T>"+ M\,>$<H, ,>$<(, .O?@\0&7<M5@^P*.R80 '(%ZF(! "+[,=&!@ BT84 M2(E&%(7 =%>Q!(M&!M/@BUX2BW80,\FZ 0")1@"+PXE>!(O>B5X"F@8 U!.. M1@0FB@PP[8M6 /1B58&@>( \(E&$HE6"(E>$'2RL0C3ZHM&!C/0B58&,U8( MB58&ZYZ+1@:[]P$QTO?SB\*#Q I=RU6#[ 0[)A <@7J8@$ (OLBT8,BW8* M,\FZ 0"+WHE& HE> )H& -03CD8")HH,,.V#^6.)1@R)7@IT!S/ @\0$7<O$ M=@HFB@0PY#UD (E& '0,/6$ = <SP(/$!%W+,\FZ 0"+1@R+7@J:!@#4$XE& M#(E>"L1V"B:*!##D/60 B48 =-H]80!TU8M&#(MV"C/)N@$ B]Z)1@*)7@": M!@#4$XY& B:*###M@_ERB48,B5X*= <SP(/$!%W+Q'8*)HH$,.2%P'0$,]OK M S/;0XO#@\0$7<M5@^P..R80 '(%ZF(! "+[/]V&/]V%O]V% [H@_Z+Y='@ MT>"+\(N$<H.+G'"#B48(B5X&BT8("T8&=0/I)@'$=@8FBT0$)HM< @O#=0/I M $FBT0$L0V.P":+%]/J@>(' (E&#(E>"NG/ (M&#(MV"HE& H[ )HM$$":+ M7 Z+3A:+5A2:" #($XEV '0#Z< ,\FZ#@",P(O>F@8 U!.: @"+$H/$#EW+ MBT8,BW8*B48"CL FBT0$)HM< HM.%HM6%)H( ,@3B78 = /I@@ SR;H" (S MB]Z:!@#4$YH" (L2@\0.7<N+1@R+=@J)1@*.P":+1 0FBUP"BTX6BU84F@@ MR!.)=@!U1S/)N@( C,"+WIH& -03F@( BQ*#Q Y=RQZX3(M0F@4 8!*+Y3/ M4)H" $D2B^7K%X/Z!G2H@_H%=0/I8O^#^@!U ^D<_^O1Q'8&)HM$"":+7 :) M1@B)7@;IS_XSP#/;@\0.7<M5@^P*.R80 '(%ZF(! "+[!ZX:HM0_W82_W80 MF@ SQ.+Y87 =0DSP#/;@\0*7<O_=A+_=A":#@!J$XOE0%#_=A+_=A .Z.K\ MB^71X-'@B_"+A'*#BYQP@XE&"(E>!HM&" M&!G1JQ'8&)HM$!":+7 (+PW1( M)HM$!+$-CL FBQ?3ZH'B!P!U-8[ )O]W$(Q& H[ )O]W#O]V$O]V$)H ,\3 MB^6%P'45Q'8&)HM$!":+7 *: @"+$H/$"EW+Q'8&)HM$"":+7 :)1@B)7@;K MCC/ ,]N#Q I=RU6#[!@[)A <@7J8@$ (OL@WXB '4?'KAJBU#_=B#_=AZ: M #/$XOEA<!U"3/ ,]N#Q!A=RX$^]'] 'WP$#NA-,Z'T?_\&]'_1X-'@B_", MT(U>#(F$]@*)G/0"QT8. #'1@P /]V(/]V'IH. &H3B^5 4/]V(/]V'HE& M$@[HU_N+Y?]V$HE&$)KW!_,(B^6)1A:)7A2:( ?S"(M.%HM6%([ )HE/$(Q& M#H[ )HE7#O]V(/]V'E%2B5X,F@@ >1.+Y3/ Q'8,)HL<@.<?)HD<BT8BL0O3 MX"4 "(O+@.7W"\@FB0PSP#/;)HE$#":)7 HSP('A?_@FB0PSP(#AOR:)##/ M)HE$"":)7 8FB40$)HE< O]V(/]V'@[HQ/N+Y;$%T^ E( #$=@PFBPR X=\+ MR":)##/ @.'O)HD,N ( 4)KO!?,(B^6+3@Z+5@R.P":)3P2,1@J.P":)5P*+ M3A#1X='AB_&+E'*#BX1P@R:)5P@FB4<&C,")A'*#B9QP@_\.]'^)7@B+1@Z+ M7@R: @"+$H/$&%W+58/L&#LF$ !R!>IB 0 B^R!/O1_0!]\! [HVS&A]'__ M!O1_T>#1X(OPC-"-7@B)A/8"B9ST L=&"@ QT8( #_=B#_=AZ:#@!J$XOE M0%#_=B#_=AZ)1A(.Z&7ZB^7_=A*)1A":]P?S"(OEN04 48E&%HE>%)KO!?,( MB^6+3A:+5A2.P":)3P2,1@J.P":)5P+_=B#_=AY14HE>")H( 'D3B^6X @!0 MFN\%\PB+Y8M."HM6"([ )HE/!(Q&#H[ )HE7 HM.$-'AT>&+\8N4<H.+A'"# M)HE7"":)1P:,P(F$<H.)G'"#_P[T?XE>#(M&"HM>")H" (L2@\087<M5@^P, M.R80 '(%ZF(! "+[,1V$B;_=! F_W0.F@X :A.+Y4!0Q'82)O]T$";_= X. MZ)#YB^71X-'@C-NY<(,#R(OQCL,FBT0"C$8*CL,FBPR)1@:)3@2)=@B+1@8+ M1@1T2(M&%(M>$HE& L1V!":+1 2)7@ FBUP"BTX"BU8 F@@ R!-T)#/)N@8 MC,"+WIH& -03)HM,"":+5 :)1@J)3@:)5@2)7@CKL(M&!@M&!'05Q'8$)HM$ M"":+7 ;$=@@FB40")HD<@\0,7<M5@^P,.R80 '(%ZF(! "+[,1V$B;_= 0F M_W0"F@X :A.+Y4!0Q'82)O]T!";_= (.Z,3XB^71X-'@C-NY<(,#R(OQCL,F MBT0"C$8*CL,FBPR)1@:)3@2)=@B+1@8+1@1T2(M&%(M>$HE& L1V!":+1 2) M7@ FBUP"BTX"BU8 F@@ R!-T)#/)N@8 C,"+WIH& -03)HM,"":+5 :)1@J) M3@:)5@2)7@CKL(M&!@M&!'05Q'8$)HM$"":+7 ;$=@@FB40")HD<@\0,7<M5 M@^P@.R80 '(%ZF(! "+[(M&)H7 ?@4]?@!^"3/ ,]N#Q"!=RX$^]'] 'WP$ M#N@P+Z'T?_\&]'_1X-'@B_",T(U>"(F$]@*)G/0"QT8* #'1@@ (M&)M'X MB48 BT8FNP( F??[BT8 \*)1A31X-'@4(E&%IKW!_,(B^6Y!@!1B48.B5X, MFN\%\PB+Y8M.)HE. +$$BU8 T^*!XO /CL FBP^!X0_P"\J,1@J.P":)#XM& M#HM.#":)1P0FB4\"B482B4X0B5X(BT86,]N%P'D!2XO+B]"+1@Z+7@R:!@#4 M$XE& HM&$HE> (M>$(M. HM6 )H( ,@3<R>+1A*+=A SR;H! (O>B48"B5X MF@8 U!..1@(FQ@0 B482B5X0ZZ?'1AH (M&&CM&%'TAN ( 4)KO!?,(B^50 M4_]V&O]V"O]V" [H4P&+Y?]&&NO7_W86_W8._W8,#NC.]HOENP( 4XE&&)KO M!?,(B^6+3@J+5@B.P":)3P2,1AZ.P":)5P*+3AC1X='AB_&+E'*#BX1P@R:) M5P@FB4<&C,")A'*#B9QP@_\.]'^)7AR+1@J+7@B: @"+$H/$(%W+58/L$#LF M$ !R!>IB 0 B^RQ!,1V%B:+!-/H,N2)1@#1Z(E& HM& +L" #'2]_.+1@(# MPM'@T>!0)O]T!";_= *)1@X.Z"?VB^71X-'@C-NY<(,#R(OQCL,FBT0"C$8, MCL,FBPR)1@B)3@:)=@J+1@@+1@9T2(M&&(M>%HE& L1V!B:+1 2)7@ FBUP" MBTX"BU8 F@@ R!-T)#/)N@8 C,"+WIH& -03)HM,"":+5 :)1@R)3@B)5@:) M7@KKL(M&" M&!G05Q'8&)HM$"":+7 ;$=@HFB40")HD<@\007<M5@^P2.R80 M '(%ZF(! "+[+@$ (E&$(M&'/=N$#/;A<!Y 4N+RXO0Q'88)HM$!":+7 *: M!@#4$XS1C58>B48.B4X*B58(B5X,BT80_TX0A<!T38M&#HMV##/)N@$ B]Z) M1@*)7@":!@#4$XM."HM^"(E.!C/)N@$ B48.BT8*B5X,B]^)7@2:!@#4$XY& M!B:*#8Y& B:(#(E&"HE>".NI@\027<M5@^P6.R80 '(%ZF(! "+[+@$ (E& M$(M&(/=N$#/;A<!Y 4N+RXO0Q'8<)HM$!":+7 *:!@#4$XS1C582B48*B4X. MB58,B5X(BT80_TX0A<!T38M&#HMV##/)N@$ B]Z)1@*)7@":!@#4$XM."HM^ M"(E.!C/)N@$ B48.BT8*B5X,B]^)7@2:!@#4$XY&!B:*#8Y& B:(#(E&"HE> M".NIBT84BUX2F@( BQ*#Q!9=RU6#[ P[)A <@7J8@$ (OLBT86T?B)1@2+ M1A:[ @"9]_O_=@3_=A3_=A*)5@8.Z![_B^6)1@J)7@B#?@8 =!0SR;H& )H& M -03F@( BQ*#Q Q=RS/)N@( BT8*BUX(F@8 U!.: @"+$H/$#%W+58/L"CLF M$ !R!>IB 0 B^RX !#$=A FBQP+V":)'+$$T^LR_XE> -'KBT8 N0( ,=+W M\0/:QT8( ")7@:+1@@[1@9]&E#_=A+_=A .Z)'^B^504P[H# "+Y?]&".O> M@\0*7<M5@^P&.R80 '(%ZF(! "+[(M&#@M&#'4%@\0&7<NQ#,1V#":+!-/H M)0$ 2'4%@\0&7<NX !#$=@PFBQP+V":)'+$-T^N!XP< Z=4 Q'8,)O]T!";_ M= (.Z*7_B^7$=@PF_W0()O]T!@[HE/^+Y8/$!EW+BT8.BW8,CL F_W0(C$8" MCL F_W0&#NAT_XOE@\0&7<N+1@Z+=@R.P";_= 2,1@*.P";_= (.Z%3_B^6+ M1@Z+=@R.P";_= B,1@*.P";_= 8.Z#G_B^6+1@Z+=@RQ!X[ )HL<T^N!XP\ M@>,% (/[!8E& HEV '42CL F_W0,CL F_W0*#N@%_XOE@\0&7<O_=@[_=@P. MZ(_^B^6#Q 9=RW8-$@XO#58-$@X2#N4-B_.#_@=S!]'F+O^D]@V#Q 9=RU6# M[ X[)A <@7J8@$ (OLF@\ ? "X @!0#NA)!HOEQT8$ "+1@0]]P%\ ^GK M -'@T>"+\(N$<H.+G'"#B48(B5X&BT8("T8&=0/IQ@"X !#$=@8FBQP+V":) M'":+1 0FBW0"B48,"\:)=@IU ^F/ +$-CD8,)HL$T^@E!P!T ^E] +$,)HL$ MT^@E 0!(=' FBT0()@M$!G44)HM$!"8+1 )U"B:+1 PF"T0*=%*X !#$=@HF MBQP+V":)'";_= @F_W0&#N@#_HOEQ'8*)O]T!";_= (.Z/+]B^6Q!\1V"B:+ M!-/H)0\ )04 /04 =1 FBT0,)HM<"E!3#NC-_8OEQ'8&)HM$"":+7 :)1@B) M7@;I+___1@3I"O^#Q Y=RU6#[ P[)A <@7J8@$ (OLBT84"T82=0/IM@"+ M1A@+1A9U ^FK ,1V$B:+1 0FBWP"B48&"\>)?@1T#[$-CD8&)HL%T^@E!P!T M&!ZX;HM0F@4 8!*+Y1ZXG8M0FET ? "+Y;@" %":[P7S"(OEQ'86)HM,!":+ M5 *.P":)3P2,1@J.P":)5P+$?@0FBTT$)HM5 H[ )HE/"([ )HE7!HY&!B:) M100FB5T"CD88)HM$"":+3 ;$=A(FBU0(B488)HM$!HE&$HE.%HE6%(E>".D_ M_XM&% M&$G4-BT88"T86=06#Q Q=RQZXHXM0F@4 8!*+Y1ZXG8M0FET ? "+ MY8/$#%W+58/L!#LF$ !R!>IB 0 B^R+1A8+1A1U+/]V$O]V$ [HN?*+Y8E& M%@O#B5X4=1:X 0!0_W82_W80#NAY\XOEB486B5X4Q'84)HM$#"8+1 IT$K$' M)HL$T^@E#P E! ]! !U+XM&"@T! +$'T^ E@ ?$=A0FBPR!X7_X"\@FB0R+ M1@Z+7@PFB40,)HE<"H/$!%W+Q'84)O]T$";_= X>N.&+4)H% & 2B^4>N!6, M4)I= 'P B^6#Q 1=RU6#[ @[)A <@7J8@$ (OLBT80"T8.=$?$=@XFBT0$ M)HM\ H[ )HM=!(E^!(Q&!H[ )HM] H[#)HM%"([#)HM-!L1^!":)100FB4T" MCD80)HM$"":+7 :)1A")7@[KL8/$"%W+58/L"#LF$ !R!>IB 0 B^RX @!0 MFN\%\PB+Y8M.%(M6$H[ )HE/!(Q&!H[ )HE7 L1V#B:+3 0FBU0"CL FB4\( MCL FB5<&CD80)HE$!":)7 *)7@2#Q A=RU6#[ 0[)A <@7J8@$ (OLQ'8* M)HM$!":+? *.P":+70B.P":+30:.1@PFB5P$)HE, H/$!%W+58/L##LF$ !R M!>IB 0 B^R+1A0+1A)U ^F3 ,1V$B:+1 0FBWP"B48&"\>)?@1T#[$-CD8& M)HL%T^@E!P!T&!ZX)(Q0F@4 8!*+Y1ZX0(Q0FET ? "+Y;@" %":[P7S"(OE MCL FQT<$ ",1@J.P";'1P( ,1V!":+3 0FBU0"CL FB4\(CL FB5<&CD8& M)HE$!":)7 +$=A(FBT0()HM,!HE&%(E.$HE>".EB_X/$#%W+58/L$CLF$ !R M!>IB 0 B^S'1@0 (M&!#WW 7P#Z;\ T>#1X(OPBX1R@XN<<(.)1A")7@Z+ M1A +1@YU ^F: ,1V#B:+1 0FBUP""\-T=R:+1 2Q#8[ )HL7T^J!X@< =62. MP":+3P2,1@B.P":+5P*)3@P+RHE6"HE>!G1(L02.P":+!]/H)0$ =0XFQT<$ M FQT<" #K+,1V"B:+1 @FBUP&"\-T#":+1 B)1@R)7@KKY8M&#(M>"L1V M!B:)1 0FB5P"Q'8.)HM$"":+7 :)1A")7@[I6___1@3I-O^#Q!)=RU6#[ P[ M)A <@7J8@$ (OL_W84_W82#NAU[XOEB48&"\.)7@1T5L1V!":+1 0F"T0" M=$G$=@0FBT0$)HM< HE&"HE>",1V"":+1 @FBUP&"\-T#":+1 B)1@J)7@CK MY?]V&/]V%IH]!GP B^7$=@@FB40$)HE< H/$#%W+'KA.C%":!0!@$HOE,\!0 MF@( 21*+Y8/$#%W+58/L"#LF$ !R!>IB 0 B^S_=A#_=@X.Z-WNB^6)1@8+ MPXE>!'4(BT82@\0(7<O$=@0FBT0$)HM< @O#=!DFBT0$CL FBT\$CL F"T\" M=0<SP(/$"%W+N $ @\0(7<M5@^P2.R80 '(%ZF(! "+[(M&&.D5 Z'T?T@] M0!^)1A!\%AZXQ(Q0F@4 8!*+Y3/ 4)H" $D2B^7'!L*, "+1A"%P'D#Z?H" M@S["C!1\ ^GP O].$-'@T>"+\(N$]@*+O/0"CL FBUT"CL FBS6)7@H+WHEV M"'3&L0V.1@HFBP33Z"4' #T" '5.)HM$!":+7 (+PW2H)HM$!+$-CL FBQ?3 MZH'B!P")1@Z)7@QUCX[ )HM'#"8+1PIT@Z'"C/\&PHS1X-'@B_B+1@J+WHF% M=(R)G7*,Z6;_L0W$=@@FBP33Z"4' '0#Z53_C,"+7A!#0XL.]'\[RXE&#HE> M (EV#'\#Z3G_@?M 'WP#Z3#_CL FBT0,)@M$"G4#Z2'_H<*,T>#1X(OPN ( M4(EV )KO!?,(B^6+=@")A'2,B9QRC*'"C-'@T>"+\(N$=(R+O'*,BUX*BTX( MCL FB5T$CL FB4T"H<*,_P;"C-'@T>"+\(N$=(R+G'*,BTX0T>'1X8OQBXS^ M HN\_ *.P2:+50*)1@*.P2:+!8Y& B:)5P@FB4<&Z9K^QT8* #'1@@ *%< MG$B%P*-<G'@LH5B<BS96G#/)N@$ B]Z)1@*)7@":!@#4$[$*CD8")H@,,.VC M6)R)'E:<ZQ(>N%:<4+@* %":2@$I$XOEB\C'1A (M&$#L&PHQ\ ^FA !ZX MZXQ0F@4 8!*+Y8M&$-'@T>"+\#/ 4#/;4_]V"O]V"+@! %#_M'2,_[1RC!ZX M5IQ0#NA>&8OEBT80_T80T>#1X(OPBX1TC(N<<HR+#ER<287)B48*B0Y<G(E> M"'@MH5B<BS96G#/)N@$ B]Z)1@*)7@":!@#4$[$*CD8")H@,,.VC6)R)'E:< MZ6C_'KA6G%"X"@!0FDH!*1.+Y8O(Z5/_H5R<2(7 HUR<>"RA6)R+-E:<,\FZ M 0"+WHE& HE> )H& -03L0J.1@(FB PP[:-8G(D>5ISK8AZX5IQ0N H 4)I* M 2D3B^6+R.M.QT80 "+1A"+'L*,.]A^/O]&$-'@T>"+\/^T=(S_M'*,#NA+ M]8OEZ]P>N.^,4)I= 'P B^7K%ST" '3$/0 =0/I;/X] 0!U ^G6_.O;@\02 M7<M5@^P6.R80 '(%ZF(! "+[($^]'] 'WP$#NB='Z'T?XE& $"+7@#1X]'C MC-&-5@2)C_8"B9?T L=&!@ QT8$ ]0!^C]']\! [H;!^A]'__!O1_T>#1 MX(OPC-"-7@R)A/8"B9ST L=&#@ QT8, #'1A0 (M&%#WW 7P#Z;T T>#1 MX(OPBX1R@XN<<(.)1@Z)7@R+1@X+1@QU ^F8 ,1V#":+1 0FBWP"B482"\>) M?A!T;[$-CD82)HL%T^@E!P!U8*$^@(L>/(",P8O7F@@ R!-T3HO!B]J+#CJ MBQ8X@)H( ,@3=#NX @!0FN\%\PB+Y8M.$HM6$([ )HE/!(Q&"H[ )HE7 HM. M!HM6!([ )HE/"([ )HE7!HE&!HE>!(E>",1V#":+1 @FBUP&B48.B5X,Z5W_ M_T84Z3C_@R[T?P*+1@:+7@2: @"+$H/$%EW+58/L%CLF$ !R!>IB 0 B^R! M/O1_0!]\! [H21ZA]'^)1@! BUX T>/1XXS1C58$B8_V HF7] +'1@8 ,=& M! /4 ?H_1_? 0.Z!@>H?1__P;T?]'@T>"+\(S0C5X,B83V HF<] +'1@X M ,=&# QT84 "+1A0]]P%\ ^FE -'@T>"+\(N$<H.+G'"#B48.B5X,BT8. M"T8,=0/I@ #$=@PFBT0$)HM\ HE&$@O'B7X0=%>Q#8Y&$B:+!=/H)0< =4BQ M!B:+!=/H)0$ 2'4[N ( 4)KO!?,(B^6+3A*+5A".P":)3P2,1@J.P":)5P*+ M3@:+5@2.P":)3PB.P":)5P:)1@:)7@2)7@C$=@PFBT0()HM<!HE&#HE>#.EU M__]&%.E0_X,N]'\"BT8&BUX$F@( BQ*#Q!9=RU6#[!8[)A <@7J8@$ (OL M@3[T?T ?? 0.Z T=H?1_B48 0(M> -'CT>.,T8U6!(F/]@*)E_0"QT8& #' M1@0 #U 'Z/T?WP$#NC<'*'T?_\&]'_1X-'@B_",T(U>"(F$]@*)G/0"QT8* M #'1@@ ,=&% BT84/?<!? /IB #'1A( ,=&$ T>#1X(OPBX1R@XN< M<(.)1@Z)7@R+1@X+1@QT&X-&$ A( Q'8,)HM$"":+7 :)1@Z)7@SKW;@" M %":[P7S"(OE_W82_W80B48*B5X(FCT&? "+Y<1V"":)1 0FB5P"BT8&BUX$ M)HE$"":)7 :,P(O>B48&B5X$_T84Z6W_@R[T?P*+1@:+7@2: @"+$H/$%EW+ M58/L%#LF$ !R!>IB 0 B^R+1AP+1AIT"(M&( M&'G4',\"#Q!1=R[$-Q'8: M)HL$T^@E!P ]! !T ^E^ +$-Q'8>)HL$T^@E!P ]! !U;,1V&B:+1 0FBUP" MQ'X>)HM-!":+50*:!@ $%'T(N ( @\047<O$=AHFBT0$)HM< L1^'B:+300F MBU4"F@8 !!1^"+@! (/$%%W+Q'8:)HM$!":+7 +$?AXF.T4$=00F.UT"=0BX M P"#Q!1=R[$-Q'8:)HL$T^@E!P!(= /I!P&Q#<1^'B:+!=/H)0< 2'0#Z?0 MBT8<B]Z,P8E& H[!)HM%!(E> ([!)HM= IH- *P3B48*B5X(B4X&B58$Q'8 M)HM$!":+7 *:#0"L$Q:-=@16F@P YQ-]"+@" (/$%%W+BT8<BUX:BTX@BW8> MB48"CL$FBT0$B5X CL$FBUP"F@T K!.)1@J)7@B)3@:)5@3$=@ FBT0$)HM< M IH- *P3%HUV!%::# #G$WX(N $ @\047<N+1AR+7AJ+3B"+=AZ)1@*.P2:+ M1 2)7@".P2:+7 *:#0"L$XE&"HE>"(E.!HE6!,1V ":+1 0FBUP"F@T K!,6 MC78$5IH, .<3=0BX P"#Q!1=R[$-Q'8:)HL$T^@E!P ]! !T ^G> +$-Q'8> M)HL$T^@E!P!(= /IRP",P([ )HM$!":+7 *:#0"L$XE&!HE>!(E. HE6 ,1V M&B:+1 0FBUP"F@8 CA,6C78 5IH, .<3?0BX @"#Q!1=RXM&((MV'H[ )HM$ M!":+7 *:#0"L$XE&!HE>!(E. HE6 ,1V&B:+1 0FBUP"F@8 CA,6C78 5IH, M .<3?@BX 0"#Q!1=RXM&((MV'H[ )HM$!":+7 *:#0"L$XE&!HE>!(E. HE6 M ,1V&B:+1 0FBUP"F@8 CA,6C78 5IH, .<3=0BX P"#Q!1=R[$-Q'8:)HL$ MT^@E!P!(= /IX0"Q#<1^'B:+!=/H)0< /00 = /IS "+1AR.P":+1 0FBUP" MF@T K!.)1@:)7@2)3@*)5@".1B FBT4$)HM= IH& (X3%HUV %::# #G$WX( MN ( @\047<N+1AR+=AJ.P":+1 0FBUP"F@T K!.)1@:)7@2)3@*)5@#$=AXF MBT0$)HM< IH& (X3%HUV %::# #G$WT(N $ @\047<N+1AR+=AJ.P":+1 0F MBUP"F@T K!.)1@:)7@2)3@*)5@#$=AXFBT0$)HM< IH& (X3%HUV %::# #G M$W4(N , @\047<LSP(/$%%W+58/L!#LF$ !R!>IB 0 B^R+1@R+7@H+PW1E ML0V.1@PFBP?3Z"4' #T$ '4CC,".P":+1P0FBU\"F@0 D!/$=@XFB40")HD< MN $ @\0$7<NQ#<1V"B:+!-/H)0< 2'4@C,".P":+7 2.P":+3 +$?@XFB5T" M)HD-N $ @\0$7<LSP(/$!%W+58/L!#LF$ !R!>IB 0 B^R+1@R+7@H+PW1E ML0V.1@PFBP?3Z"4' #T$ '4@C,".P":+3P2.P":+5P+$=@XFB4P")HD4N $ M@\0$7<NQ#<1V"B:+!-/H)0< 2'4CC,".P":+1 0FBUP"F@T DQ/$?@XFB44" M)HD=N $ @\0$7<LSP(/$!%W+58/L!#LF$ !R!>IB 0 B^R+1@R+7@H+PW1H ML0V.1@PFBP?3Z"4' '4@C,".P":+3Q".P":+5P[$=@XFB4P")HD4N $ @\0$ M7<NQ#<1V"B:+!-/H)0< /04 =2",P([ )HM<!([ )HM, L1^#B:)70(FB0VX M 0"#Q 1=RS/ @\0$7<N,V+MJB\1V#B:)1 (FB1RX 0"#Q 1=RU6#["@[)A M<@7J8@$ (OL,\ SV[F /S/2B48:B486Q'8N)HH$,.0]+0")3B*)3AZ)5B") M5AR)7AB)7A1U'L=&'H"_QT8< SR;H! (S B]Z:!@#4$XE&,(E>+L1V+B:* M!##D/2L =1['1AZ /\=&' ,\FZ 0",P(O>F@8 U!.)1C")7B[$=BXFB@0P MY(7 B48 =&T]+@!T:(M&%HM>%)H- *P3'KZUCU::" R$HE&!HE>!(E. HE6 M (M&,(MV+C/)N@$ B]Z)1@J)7@B:!@#4$XY&"B:*###M@^DPB48PB\&)7BZ: M P"1$Q:-=@!6F@0 LA.:# "F$XE&%HE>%.N$Q'8N)HH$,.0]+@!T ^DN 3/) MN@$ C,"+WIH& -03B48PB5XNQ'8N)HH$,.2%P'4#Z:< C, SR;H! (O>B48" MB5X F@8 U!..1@(FB@PP[8/I,(E&,(O!B5XNF@X DA.)1@*+1B*)7@"+7B": M#0"L$QZ^M8]6F@@ ,A*:# "F$XE&(HE>()H- *P3B48*B5X(B4X&B58$BT8" MBUX F@T K!,6C78$5IH' 'P3B48&B5X$B4X"B58 BT8:BUX8F@T K!,6C78 M5IH$ +(3F@P IA.)1AJ)7ACI2O^+1AJ+7AB:#0"L$XE&!HE>!(E. HE6 (M& M%HM>%)H- *P3%HUV %::! "R$XE&!HE>!(E. HE6 (M&'HM>')H- *P3%HUV M %::" R$IH, *83Q'8R)HE$ B:)'+@! (/$*%W+BT86BUX4F@T K!.)1@:) M7@2)3@*)5@"+1AZ+7AR:#0"L$Q:-=@!6F@@ ,A*:# "F$XE&%HE>%)H- ),3 MB48FB5XDF@0 D!.)1@*+1A:)7@"+7A2:#0"L$XE&"HE>"(E.!HE6!(M& HM> M )H- *P3%HUV!%::# #G$W48BT8FBUXDQ'8V)HE$ B:)'+@$ (/$*%W+BT86 MBUX4Q'8R)HE$ B:)'+@! (/$*%W+58/L%#LF$ !R!>IB 0 B^R#/D""!W0# MZ:0 @3[T?T ?? 0.Z(P3H?1__P;T?]'@T>"+\(S0C5X(B83V HF<] +'1@H M ,=&" %HU&$% 6C48,4!ZX0H)0#NBU_(OE2'4EN $ 4)KO!?,(B^6+3@Z+ M5@R.P":)3P2.P":)5P*)1@J)7@CK([@$ %":[P7S"(OEBTX2BU80CL FB4\$ MCL FB5<"B48*B5X(_P[T?XM&"HM>")H" (L2@\047<NA0((]!@!T!3T( '5M M@3[T?T ?? 0.Z-L2H?1__P;T?]'@T>"+\(S0C5X(B83V HF<] +'1@H ,=& M" 'KA"@E .Z$7>B^6)1@H+PXE>"'44,\!0'KA"@E .Z ??B^6)1@J)7@C_ M#O1_BT8*BUX(F@( BQ*#Q!1=RX,^0((*=14>N$*"4 [H<N"+Y9H" (L2@\04 M7<LSP#/;@\047<M5B^S_=@S_=@H>N V-4)H% & 2B^6X 0!0#N@V[XOEQP;T M?P FK<Z? "X 0!0'KA&@U":#P ]"HOE7<M5@^P2.R80 '(%ZF(! "+[($^ M]'] 'WP$#NC\$:'T?XE& $"+7@#1X]'CC-&-5@:)C_8"B9?T L=&" QT8& M ]0!^C]']\! [HRQ&A]'^)1@! BUX T>/1XXS1C58*B8_V HF7] +'1@P M ,=&"@ /4 ?H_1_? 0.Z)H1H?1__P;T?]'@T>"+\(S0C5X.B83V HF<] +' M1A ,=&#@ H4""/08 = H]!P!T!3T* '5GN ( 4)KO!?,(B^6)1@B)7@8. MZ)S]Q'8&)HE$!":)7 (>N$*"4/]V&O]V&)K- 20 B^6+7AY#4_]V'/]V&O]V M&*- @@[H!/^+Y<1V!B:)1 @FB5P&@R[T?P.,P(O>F@( BQ*#Q!)=RX,^0((! M=72X @!0FN\%\PB+Y8M.'$%1_W8:_W88B48(B5X&#NAF HOEQ'8&)HE$!":) M7 (>N$*"4/]V&O]V&)K- 20 B^6+7AY#4_]V'/]V&O]V&*- @@[HB?Z+Y<1V M!B:)1 @FB5P&@R[T?P.,P(O>F@( BQ*#Q!)=RX,^0((%= /IV0 >N$*"4/]V M&O]V&)K- 20 B^4]!@"C0()T"CT' '0%/0H =3^#?AX!?CD.Z)?\'KE"@E'_ M=AK_=AB)1@B)7@::S0$D (OE/0( HT""=7J#+O1_ XM&"(M>!IH" (L2@\02 M7<N#/D"" 75>'KA"@E#_=AK_=AB:S0$D (OEBUX>0U/_=AS_=AK_=ABC0((. MZ,[]B^4>N4*"4?]V&O]V&(E&"(E>!IK- 20 B^4] @"C0()U%8,N]'\#BT8( MBUX&F@( BQ*#Q!)=RQZX((U0_W8>_W8<#NA,_8OE@SY @@)U#H,N]'\#,\ S MVX/$$EW+@SY @@AT ^GZ +@" %":[P7S"(OEN0( 48E&"(E>!IKO!?,(B^7$ M=@8FB40$)HE< HE&#(E>"@[HG/O$=@HFB40$)HE< K@" %":[P7S"(OEQ'8* M)HE$"":)7 8>N4*"4?]V&O]V&(E&$(E>#IK- 20 B^4] 0"C0()T!3T( '4>
petera@utcsri.UUCP (Smith) (04/27/86)
Ok, Here are the instructions for getting PC-LISP off the net and onto your MS-DOS machine. The entire package consists of 13 parts. These are: #1 - The instructions (this article) #2..5 - PC-LISP.EXE uuencoded #6..7 - PC-LISP.DOC ascii #8..13 - individual example .L load files. Please follow these steps carefully otherwise you are guaranteed that the executable will not work. 1) Save articles 2..5 as uuu1,uuu2,uuu3 and uuu4 respectively. 2) Save articles 6 and 7 as doc1 and doc2 respectively. 3) Save the remaining articles as pc-lisp.l, turtle.l, dragon.l, queens.l, hanoi.l and match.l respectively. 4) vi uuu1 uuu2 uuu3 uuu4 doc1 doc2 and remove everything at the top of the file up to & including the ---- CUT HERE ---- line being careful not to remove anything else! Check the bottom of files uu1,uu2 and uu3 to make sure there are NO blank lines past the last data ie M.....stuff..... line. 5) cat uuu1 uuu2 uuu3 uuu4 > uuu 6) cat doc1 doc2 > pc-lisp.doc 8) rm uuu1 uuu2 uuu3 uuu4 doc1 doc2 9) If you are doing the uudecoding on the host machine then do uudecode uuu (you should now have a file called pc-lisp.exe of size 139086 bytes) download the file pc-lisp.exe to your ms-dos machine using a B I N A R Y mode transfer protocol. otherwise download the file uuu to your ms-dos machine using a T E X T mode file transfer protocol. Use your BASIC or C uudecode program to uudecode the file. You should then have pc-lisp.exe of size approximatly 139086, but it may be up to 8K larger depending on the cluster size of your hard/floppy disk. 10) Download the file pc-lisp.doc and all other .l files to your ms-dos machine using a T E X T mode file protocol. 11) Place pc-lisp.exe and all the .L files in the same directory of your ms-dos machine. Type pc-lisp at the dos prompt and wait for the messages : PC-LISP (V2.10) ShareWare, April 1986 by Peter Ashwood-Smith PC-LISP up with xxxyyy bytes free, xx% Alpha, yy% Heap. --- [pc-lisp.l loaded] --- --> These may take a little while because the program is large and takes a couple of seconds to load, then depending on how much memory you have initialization takes a few more seconds, finally loading the file pc-lisp.l takes a few seconds also. Be patient. If PC-LISP.EXE does not execute then please reread the above instructions carefully. Did you put together the uuu1 ... uuu4 files in the correct order? Did you cut out the top lines from uuu1....uuu4 but no extra data lines? Are there any extra blank or other lines at the end of any of these files? DID YOU USE THE CORRECT TRANSFER PROTOCOL FROM THE HOST TO YOUR PC? YOU MUST USE BINARY MODE FOR PC-LISP.EXE OR TEXT MODE FOR UUU. Is the PC-LISP.EXE file of size 139086 (on the vax, ms-dos size will vary by up to 8K due to cluster sizes ie minimum file size). Do you have enough memory on you ms-dos machine to run PC-LISP? you need 256K or more. What version of DOS are you running? I have only tried it on MS-DOS 2.0 and later so 1.0 may not work, I do not know for sure. If all else fails then you can send me a blank diskette and I will put the PC-LISP package on it for you. This should not be necessary as I have made sure that all files are less than 64K and have uploaded and downloaded the binary myself to make sure all is ok. Please do not send me mail asking me to email the package to you, it is much too much trouble to mail this thing to 500 people who did not get it, rather send me mail saying that your site did not receive it intact or whatever and when there is enough interest I will repost the bad parts etc. Good luck and let me know if you have any comments, good or bad. Peter Ashwood-Smith, University of Toronto.
farber@huey.udel.EDU (Dave Farber) (05/05/86)
A large majority of the latest distribution of pc-lisp did not make my site. any chance of a retransmission or a pc diskette (I will send back diskette and postage. Dave ============================================================= David J. Farber Science Advisor for Networking and Distributed Systems National Science Foundation Directorate for Computer and Information Science and Engineering (CISE) Washington, D.C. 20550 Washington: 202-357-9776; Delaware: 302-451-1163 Arpanet/CSNet: farber@huey.udel.edu Dialcom: D.Farber =============================================================
cosell@bbn-prophet.arpa (Bernie Cosell) (05/05/86)
I've snooped at a few info-micro drops (via very different feed paths) and they all have 6-13, but no sign anywhere of 1 through 5. Maybe just the first 5 ought to be reposted? /Bernie Bernie Cosell Internet: cosell@prophet.bbn.com Bolt, Beranek & Newman, Inc USENET: bbncc5!bpc Cambridge, MA 02238 Telco: (617) 497-3503