gpsim-doc-0.22.0/0000755000175000017500000000000010530414041012467 5ustar whitewhitegpsim-doc-0.22.0/gpsim.lyx0000644000175000017500000046046710530414023014365 0ustar whitewhite#LyX 1.4.3 created this file. For more info see http://www.lyx.org/ \lyxformat 245 \begin_document \begin_header \textclass book \language english \inputencoding default \fontscheme times \graphics default \paperfontsize 10 \spacing single \papersize default \use_geometry false \use_amsmath 1 \cite_engine basic \use_bibtopic false \paperorientation portrait \leftmargin -0.5cm \topmargin 0.5cm \rightmargin 0.5cm \bottommargin 0.5cm \secnumdepth 2 \tocdepth 2 \paragraph_separation skip \defskip smallskip \quotes_language english \papercolumns 1 \papersides 1 \paperpagestyle default \tracking_changes false \output_changes true \end_header \begin_body \begin_layout Title gpsim \end_layout \begin_layout Date $Date: 2006-11-09 08:27:47 -0800 (Thu, 09 Nov 2006) $ \end_layout \begin_layout Standard \begin_inset LatexCommand \tableofcontents{} \end_inset \end_layout \begin_layout Chapter* Introduction \end_layout \begin_layout Standard gpsim is a full-featured software simulator for Microchip PIC microcontrollers distributed under the GNU General Public License \begin_inset Note Note status collapsed \begin_layout Standard scott2 Wed Sep 30 13:25:58 1998 \end_layout \end_inset (see the COPYING section). \end_layout \begin_layout Standard gpsim has been designed to be as accurate as possible. Accuracy includes the entire PIC - from the core to the I/O pins and including ALL of the internal peripherals. Thus it's possible to create stimuli and tie them to the I/O pins and test the PIC the same way you would in the real world. \end_layout \begin_layout Standard gpsim has been designed to be as fast as possible. Real time simulation speeds of 20Mhz pics are possible. \end_layout \begin_layout Standard gpsim can be controlled from either a graphical user interface (GUI), a command line interface (CLI) or by a remote process. Typical debugging features like breakpoints, single stepping, disassembling, memory inspect & change, and so on are all supported. In addition, complex debugging features like real time tracing, assertions, conditional breaks, and plugin modules to name a few are also supported. \end_layout \begin_layout Chapter gpsim - An Overview \end_layout \begin_layout Standard If you don't care to wade through details, this chapter should help you get things up and running. The INSTALL and README files will provide more up-to-date information than this document, so please refer to those first. \end_layout \begin_layout Section Making the executable \end_layout \begin_layout Standard gpsim's executable is created in a manner that's consistent with much of the other open source software: \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Standard command \end_layout \end_inset \begin_inset Text \begin_layout Standard description \end_layout \end_inset \begin_inset Text \begin_layout Standard tar -xvzf gpsim-x.y.z.tar.gz \end_layout \end_inset \begin_inset Text \begin_layout Standard expand the compressed tar file \end_layout \end_inset \begin_inset Text \begin_layout Standard ./configure \end_layout \end_inset \begin_inset Text \begin_layout Standard Create a 'makefile' unique to your system \end_layout \end_inset \begin_inset Text \begin_layout Standard make \end_layout \end_inset \begin_inset Text \begin_layout Standard compile gpsim \end_layout \end_inset \begin_inset Text \begin_layout Standard make install \end_layout \end_inset \begin_inset Text \begin_layout Standard install gpsim \end_layout \end_inset \end_inset \end_layout \begin_layout Standard The last step will require root privileges. \end_layout \begin_layout Subsection Make Details - ./configure options \end_layout \begin_layout Subsubsection* gui-less \end_layout \begin_layout Standard The default configuration will provide a gui (graphical user interface). The cli (command line interface) is still available, however many people prefer just to use the cli. These hardy souls may build a command-line only interface by configuring gpsim: \end_layout \begin_layout LyX-Code ./configure --disable-gui \end_layout \begin_layout Subsubsection* debugging \end_layout \begin_layout Standard If you want to debug gpsim then you'll probably use gdb. Consequently, you'll want to disable shared libraries: \end_layout \begin_layout LyX-Code ./configure --disable-shared \end_layout \begin_layout Standard This will create one, huge monolithic executable with symbolic information. \end_layout \begin_layout Subsection RPMs \end_layout \begin_layout Standard gpsim is also distributed in RPM form. In recent versions, there are two RPMs: gpsim-devel and gpsim. Both of these must be installed. There is also a RPM for the source code. This can be used to build a binary RPM unique to your system. Please see the latest INSTALL and README for the most up to date information. \end_layout \begin_layout Subsection Windows \end_layout \begin_layout Standard gpsim runs on Windows too. Borut Razem maintains the gpsim Windows web site: \end_layout \begin_layout Quote http://gpsim.sourceforge.net/gpsimWin32/gpsimWin32.html \end_layout \begin_layout Standard You can find detailed instructions there for installing gpsim and its dependenci es. Snap shots can be found: \end_layout \begin_layout Quote http://gpsim.sourceforge.net/snap.php \end_layout \begin_layout Section Running \end_layout \begin_layout Standard The executable created above is called: gpsim. The following command line options may be specified when gpsim is invoked. \end_layout \begin_layout LyX-Code gpsim [-?] [-p []] [-c ] \end_layout \begin_layout LyX-Code -p, --processor= processor (e.g. -pp16c84 for the 'c84) \end_layout \begin_layout LyX-Code -c, --command=STRING startup command file \end_layout \begin_layout LyX-Code -s .cod symbol file \end_layout \begin_layout LyX-Code -L, -- colon separated list of directories to \end_layout \begin_layout LyX-Code search. \end_layout \begin_layout LyX-Code -v, --version gpsim version \end_layout \begin_layout LyX-Code -i, --cli command line mode only \end_layout \begin_layout LyX-Code -d, --icd=STRING use ICD (e.g. -d /dev/ttyS0). \end_layout \begin_layout LyX-Code Help options: \end_layout \begin_layout LyX-Code -?, --help Show this help message \end_layout \begin_layout LyX-Code --usage Display brief usage message \end_layout \begin_layout Standard Typically gpsim will be invoked like: \end_layout \begin_layout LyX-Code [My-Computer]$ gpsim -s mypic-program.cod \end_layout \begin_layout Standard (The \emph on [My-Computer]$ \emph default text is an example of a typical bash command prompt - you'll only type the text after this prompt). This loads the .cod file generated by gputils. \end_layout \begin_layout Standard Under Windows, gpsim can also be invoked by navigating through the Start/Progam menu. This will open a DOS window to provide access to the command line interface. It's also possible to open a DOS window (or CygWin bash session) and invoke gpsim from there. \end_layout \begin_layout Section Requirements \end_layout \begin_layout Standard gpsim has been developed under Linux. It should build and run just fine under the popular Linux distributions like Fedora, Ubuntu, etc. gpsim has also been ported to the MAC, MicroSoft Windows, Solaris, and BSD. Two packages gpsim requires that may not be available with all Linux distributi ons are readline and gtk (the gimp tool kit). The ./configure script should tell you if these packages are not installed on your system or if the revisions that are installed are too old. \end_layout \begin_layout Standard There are no minimum hardware requirements to run gpsim. Faster is better though! \end_layout \begin_layout Standard gputils, the gnupic utilities package, is also very useful. gpsim will accept straight hex files, but if you want to do any symbolic debugging then you'll want to use the .cod \begin_inset Foot status collapsed \begin_layout Standard .cod files are symbol files that were created by ByteCraft and are used by Microchip. \end_layout \end_inset files that gputils produces. The .cod files are in the same format as the .cod files MPASM \begin_inset Foot status collapsed \begin_layout Standard MPASM is Microchip's Assembler. \end_layout \end_inset produces. \end_layout \begin_layout Chapter Command Line Interface \end_layout \begin_layout Standard The command line interface is fairly straight-forward. The table below summarizes the available commands. Brief descriptions of these commands can also be displayed by typing \emph on help \emph default at the command line. \end_layout \begin_layout Standard \begin_inset VSpace 0.3cm \end_inset \end_layout \begin_layout Standard \align center \begin_inset Tabular \begin_inset Text \begin_layout Standard command \end_layout \end_inset \begin_inset Text \begin_layout Standard summary \end_layout \end_inset \begin_inset Text \begin_layout Standard attach \begin_inset LatexCommand \index{attach} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Attach stimuli to nodes \end_layout \end_inset \begin_inset Text \begin_layout Standard break \begin_inset LatexCommand \index{break} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Set a break point \end_layout \end_inset \begin_inset Text \begin_layout Standard bus \begin_inset LatexCommand \index{bus} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Add or display node busses \end_layout \end_inset \begin_inset Text \begin_layout Standard clear \begin_inset LatexCommand \index{clear} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Remove a break point \end_layout \end_inset \begin_inset Text \begin_layout Standard disassemble \begin_inset LatexCommand \index{disassemble} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Disassemble the current cpu \end_layout \end_inset \begin_inset Text \begin_layout Standard dump \begin_inset LatexCommand \index{dump} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Display either the RAM or EEPROM \end_layout \end_inset \begin_inset Text \begin_layout Standard frequency \begin_inset LatexCommand \index{frequency} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Set processor frequency \end_layout \end_inset \begin_inset Text \begin_layout Standard help \begin_inset LatexCommand \index{help} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Type help "command" for more help on a command \end_layout \end_inset \begin_inset Text \begin_layout Standard icd \begin_inset LatexCommand \index{icd} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard In Circuit Debugger support. \end_layout \end_inset \begin_inset Text \begin_layout Standard list \begin_inset LatexCommand \index{list} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Display source and list files \end_layout \end_inset \begin_inset Text \begin_layout Standard load \begin_inset LatexCommand \index{load} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Load either a hex or command file \end_layout \end_inset \begin_inset Text \begin_layout Standard log \begin_inset LatexCommand \index{log} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Log/record events to a file \end_layout \end_inset \begin_inset Text \begin_layout Standard node \begin_inset LatexCommand \index{node} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Add or display stimulus nodes \end_layout \end_inset \begin_inset Text \begin_layout Standard module \begin_inset LatexCommand \index{module} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none Select & Display modules \end_layout \end_inset \begin_inset Text \begin_layout Standard processor \begin_inset LatexCommand \index{processor} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Add/list processors \end_layout \end_inset \begin_inset Text \begin_layout Standard quit \begin_inset LatexCommand \index{quit} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Quit gpsim \end_layout \end_inset \begin_inset Text \begin_layout Standard reset \end_layout \end_inset \begin_inset Text \begin_layout Standard \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none Reset all or parts of the simulation \end_layout \end_inset \begin_inset Text \begin_layout Standard run \begin_inset LatexCommand \index{run} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Execute the pic program \end_layout \end_inset \begin_inset Text \begin_layout Standard set \begin_inset LatexCommand \index{set} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none display and control gpsim behavior flags \end_layout \end_inset \begin_inset Text \begin_layout Standard step \begin_inset LatexCommand \index{step} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Execute one or more instructions \end_layout \end_inset \begin_inset Text \begin_layout Standard stimulus \begin_inset LatexCommand \index{stimulus} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Create a stimulus \end_layout \end_inset \begin_inset Text \begin_layout Standard stopwatch \begin_inset LatexCommand \index{stopwatch} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none Measure time between events \end_layout \end_inset \begin_inset Text \begin_layout Standard symbol \begin_inset LatexCommand \index{symbol} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Add/list symbols \end_layout \end_inset \begin_inset Text \begin_layout Standard trace \begin_inset LatexCommand \index{trace} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Dump the trace history \end_layout \end_inset \begin_inset Text \begin_layout Standard version \begin_inset LatexCommand \index{version} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard Display gpsim's version \end_layout \end_inset \begin_inset Text \begin_layout Standard x \begin_inset LatexCommand \index{x} \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Standard (deprecated) examine and/or modify memory \end_layout \end_inset \end_inset \end_layout \begin_layout Standard \begin_inset VSpace 0.3cm \end_inset \end_layout \begin_layout Standard The built in 'help' command provides additional online information. \end_layout \begin_layout Section attach \begin_inset LatexCommand \index{attach} \end_inset \end_layout \begin_layout LyX-Code attach node1 stimulus1 [stimulus2 stimulus_N] \end_layout \begin_layout Standard attach is used to define the connections between stimuli and nodes. At least one node and one stimulus must be specified. If more stimuli are specified then they will all be attached to the node examples: \end_layout \begin_layout LyX-Code gpsim> node n1 # Define a new node. \end_layout \begin_layout LyX-Code gpsim> attach n1 porta4 portb0 # Connect two I/O pins to the node. \end_layout \begin_layout LyX-Code gpsim> node # Display the new "net list". \end_layout \begin_layout Section break \begin_inset LatexCommand \index{break} \end_inset \end_layout \begin_layout Standard The break command is used to set and examine break points. New break points are assigned a unique number. This number can be used to query or clear the break point. Break points halt the simulation when the condition associated with them is true. Break points are ignored during single stepping. See chapter \begin_inset LatexCommand \ref{cha:Assertions-and-Extended} \end_inset for more examples of breakpoints. \end_layout \begin_layout Subsubsection* Examining break points \end_layout \begin_layout LyX-Code break [bp_number] \end_layout \begin_layout Standard Break points can be examined by typing the break command without any options. Specific breaks can be queried by specifying the break point number. \end_layout \begin_layout Subsubsection* Program Memory/Execution breaks \end_layout \begin_layout Standard The most common break point is an execution break point. This one halts execution whenever the program counter reaches the address at which the break point is set. The syntax is: \end_layout \begin_layout LyX-Code break e|r|w ADDRESS [expr] \end_layout \begin_layout Standard The simulation halts when the address is executed, read, or written. The ADDRESS can be a symbol or a number. If the optional expression is specified, then it must evaluate to true before the simulation will halt. The read and write options only apply to those processors that can manipulate their own program memory. \end_layout \begin_layout Subsubsection* Register Memory breaks \end_layout \begin_layout Standard gpsim can also associate break points with register accesses. This is useful for capturing bugs that stomp on RAM. E.g. you can say something like \begin_inset Quotes eld \end_inset halt execution whenever bit 4 of register 42 is cleared \begin_inset Quotes erd \end_inset . The command line syntax is: \end_layout \begin_layout LyX-Code break r|w REGISTER [expr] \end_layout \begin_layout Standard The simulation halts when \emph on REGISTER \emph default is read or written and the optional expression evaluates to true. There are two styles of expressions supported. One involves only expressions of the \emph on REGISTER \emph default , the other is completely arbitrary. The examples below illustrate the differences. \end_layout \begin_layout Standard Here's an example of a register write break. This one will halt the simulation if any value is written to the variable named \emph on temp1 \emph default . \end_layout \begin_layout LyX-Code break w temp1 \end_layout \begin_layout Standard Here the write is conditioned to happen for only a certain value: \end_layout \begin_layout LyX-Code break w temp1==0x22 \end_layout \begin_layout Standard Here the condition applies to specific bits: \end_layout \begin_layout LyX-Code break w temp1 & 0b11110000 == 0b11000000 \end_layout \begin_layout Standard This one breaks only if the hex digit 'C' is written to the upper nibble of temp1. \end_layout \begin_layout Subsubsection* Boolean Expressions \end_layout \begin_layout Standard Sometimes it's necessary to specify an auxillary condition with a break point. For example, there may be a temporary variable that is shared throughout the code. You may wish to trap writes to that variable only while executing a specific subroutine. For example, the following break point triggers when temp1 is written and while the program counter is in between the labels \emph on func_start \emph default and \emph on func_end \emph default : \end_layout \begin_layout LyX-Code break w temp1 (pc >= func_start && pc < func_end) \end_layout \begin_layout Standard \emph on TIP: \emph default Use this type of break point if you suspect an interrupt routine is over writing a variable. \end_layout \begin_layout Standard Another situation is one where you wish to trap writes to a variable only if some other variable is a certain value: \end_layout \begin_layout LyX-Code break w temp1 (CurTask & 0x0f != 0b101) \end_layout \begin_layout Standard If the firmware writes to the variable temp1 then the simulation will halt if the lower nibble of CurTask is not equal to 5. \end_layout \begin_layout Subsubsection* Attribute Breakpoints \end_layout \begin_layout Standard gpsim also supports a concept of \emph on attribute breakpoints. \emph default Attributes are parameters that gpsim and its modules expose to the user interface. For example, the simulator stopwatch exposes attributes which support breakpoin ts. This feature is intend mainly for module writers to provide a mechanism for allowing the user to control the module. \end_layout \begin_layout Subsubsection* Cycle counter Breakpoints \end_layout \begin_layout LyX-Code break c \emph on cycle_number \end_layout \begin_layout Standard The cycle counter is gpsim's time keeper. It increments once every instruction cycle. The 'c' option to the break command allows a break point to be set at a particular value of the cycle counter. \end_layout \begin_layout Section clear \begin_inset LatexCommand \index{clear} \end_inset \end_layout \begin_layout LyX-Code clear bp_number \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard The clear command is used to clear break points. The break point number must be specified. The \emph on break \emph default command without any arguments displays all of the currently defined break points. This can be used to ascertain the break point number. Once cleared, a break point is deleted. \begin_inset Foot status collapsed \begin_layout Standard A break point disable/enable feature has been discussed and may be added a future date. \end_layout \end_inset \end_layout \begin_layout Section disassemble \begin_inset LatexCommand \index{disassemble} \end_inset \end_layout \begin_layout LyX-Code disassemble [[begin:end] | [length]] \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard The disassemble command decodes the program memory opcodes into their standard mnemonics. With no options, the \emph on disassemble \emph default command disassembles instructions surrounding the current program counter: \end_layout \begin_layout LyX-Code gpsim> disassemble \end_layout \begin_layout LyX-Code current pc = 0x1c \end_layout \begin_layout LyX-Code 0012 2a03 incf reg3,f,0 \end_layout \begin_layout LyX-Code 0014 0004 clrwdt \end_layout \begin_layout LyX-Code 0016 5000 movf reg,w,0 \end_layout \begin_layout LyX-Code 0018 1001 iorwf reg1,w,0 \end_layout \begin_layout LyX-Code 001a 1002 iorwf reg2,w,0 \end_layout \begin_layout LyX-Code ==> 001c 1003 iorwf reg3,w,0 \end_layout \begin_layout LyX-Code 001e e1f4 bnz $-0x16 ;(0x8) \end_layout \begin_layout LyX-Code 0020 d7ff bra $-0x0 ;(0x00020) \end_layout \begin_layout Standard With a single numeric option, the disassemble command will \end_layout \begin_layout Section dump \begin_inset LatexCommand \index{dump} \end_inset \end_layout \begin_layout LyX-Code dump [r | e] \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard dump r or dump with no options will display all of the file registers and special function registers. dump e will display the contents of the eeprom (if the pic being simulated contains any). \end_layout \begin_layout Standard See the 'x' command for examining and modifying individual registers. \end_layout \begin_layout Section echo \begin_inset LatexCommand \index{echo} \end_inset \end_layout \begin_layout Standard The echo command is used like a print statement within configuration files. It just lets you display information about your configuration file. \end_layout \begin_layout Section frequency \begin_inset LatexCommand \index{frequency} \end_inset \end_layout \begin_layout Standard This command sets the clock frequency. By default gpsim uses 20 MHz as clock. The clock frequency is used to compute time in seconds. Use this command to adjust this value. If no value is provided this command prints the current clock. Note that PICs have an instruction clock that's a forth of the external clock. This value is the external clock. \end_layout \begin_layout Section help \begin_inset LatexCommand \index{help} \end_inset \end_layout \begin_layout Standard By itself, help will display all of the commands along with a brief description on how they work. 'help ' provides more extensive online help. The help command can also display information about attributes. \end_layout \begin_layout Section icd \begin_inset LatexCommand \index{icd} \end_inset \end_layout \begin_layout Standard \emph on icd [open ] \end_layout \begin_layout Standard The open command is used to enable ICD mode and specify the serial port where the ICD is. (e.g. "icd open /dev/ttyS0"). Without options (and after the icd is enabled), it will print some information about the ICD. \end_layout \begin_layout Section list \begin_inset LatexCommand \index{list} \end_inset \end_layout \begin_layout LyX-Code list [[s | l] [*pc] [line_number1 [,line_number2]]] \end_layout \begin_layout LyX-Code Display the contents of source and list files. \end_layout \begin_layout LyX-Code Without any options, list will use the last specified options. \end_layout \begin_layout LyX-Code list s will display lines in the source (or .asm) file. \end_layout \begin_layout LyX-Code list l will display lines in the .lst file \end_layout \begin_layout LyX-Code list *pc will display either .asm or .lst lines around the pc \end_layout \begin_layout Standard The list command allows you to view the source code while you are debugging. \end_layout \begin_layout Section load \begin_inset LatexCommand \index{load} \end_inset \end_layout \begin_layout Standard The load command is used to load either hex, configuration, or .cod files. A hex file is usually used to program the physical part. Consequently, it provides no symbolic information. .cod files on the other hand, do provide symbolic information. The only reason to use a hex file is when there's no .cod file available. \end_layout \begin_layout Standard The syntax for loading source code files is: \end_layout \begin_layout LyX-Code load [processortype] file \end_layout \begin_layout Standard gpsim will automatically determine if the file is a .hex or .cod file. The optional processortype allows one to override the processor specified in a .cod file. \end_layout \begin_layout Standard Configuration files are script files containing gpsim commands. These are extremely useful for creating a debugging enviroment that will be used repeatedly. \end_layout \begin_layout Section macros \begin_inset LatexCommand \index{macros} \end_inset \end_layout \begin_layout Standard Macros are defined like: \end_layout \begin_layout LyX-Code \emph on name \emph default macro [arg1, arg2, ..., argN] \end_layout \begin_layout LyX-Code macro body \end_layout \begin_layout LyX-Code endm \end_layout \begin_layout Standard And they're invoked by: \end_layout \begin_layout LyX-Code \emph on name \emph default param1, param2, ..., paramN \end_layout \begin_layout Standard Macros are a way of collecting several parameterized commands into one short command. The first line of a macro definition specifies the macro's name and optional arguments. The \emph on name \emph default is used to invoke the macro. The arguments are text string place holders. When a macro is invoked, the parameters are aligned with the arguments. I.e. \emph on param1 \emph default in the invocation can be thought of being assigned to \emph on arg1 \emph default in the definition. The parameters replace the arguments in the macro body. \end_layout \begin_layout Standard In the following example, a variable or attribute called \emph on mac_flags \emph default is being manipulated in an expression. The arguments \emph on add \emph default and \emph on mask \emph default appear in the macro body and provide a parameterized way of manipulating this expression. \end_layout \begin_layout LyX-Code mac_exp macro add, mask \end_layout \begin_layout LyX-Code mac_flags = (mac_flags+add) & mask \end_layout \begin_layout LyX-Code endm \end_layout \begin_layout Standard Note that the indentation is arbitrary. The macro is invoked by: \end_layout \begin_layout LyX-Code mac_exp 1, 0b00001111 # increment the lower nibble \end_layout \begin_layout Standard The parameter \emph on add \emph default is replaced by the number \emph on 1 \emph default while \emph on mask \emph default is replaced with the binary number \emph on 0b00001111. \emph default The invocation turns into the gpsim command: \end_layout \begin_layout LyX-Code mac_flags = (mac_flags+1) & 0b00001111 \end_layout \begin_layout Subsubsection* Nested Macros \end_layout \begin_layout Standard The macro body can contain any gpsim command. Of particular interest are macro invocations within other macros. Here's another macro that invokes the one defined above. \end_layout \begin_layout LyX-Code # Nested macro example \end_layout \begin_layout LyX-Code mac1 macro p1, p2 \end_layout \begin_layout LyX-Code run \end_layout \begin_layout LyX-Code mac_exp p1, p2 \end_layout \begin_layout LyX-Code endm \end_layout \begin_layout Standard And it could be used like: \end_layout \begin_layout LyX-Code mac1 1, 0b00001111 # test lower nibble \end_layout \begin_layout LyX-Code mac1 (1<<4), 0b11110000 # test upper nibble \end_layout \begin_layout Standard The first invocation starts the simulator by executing a \emph on run \emph default command. When a break point is encountered, control returns to the command line and the \emph on mac_exp \emph default macro is invoked. \end_layout \begin_layout Subsubsection* Displaying Defined Macros \end_layout \begin_layout Standard All currently defined macros can be displayed by typing the macro command without a name or arguments: \end_layout \begin_layout LyX-Code gpsim> macro \end_layout \begin_layout LyX-Code mac1 macro p1 p2 \end_layout \begin_layout LyX-Code run \end_layout \begin_layout LyX-Code mac_exp p1, p2 \end_layout \begin_layout LyX-Code endm \end_layout \begin_layout LyX-Code mac_exp macro add mask \end_layout \begin_layout LyX-Code mac_flags = (mac_flags+add) & mask \end_layout \begin_layout LyX-Code endm \end_layout \begin_layout Section module \begin_inset LatexCommand \index{module} \end_inset \end_layout \begin_layout Standard The \emph on module \emph default command is used to load and query external modules (see section \begin_inset LatexCommand \ref{cha:Modules} \end_inset for more information about gpsim modules). A module is a special piece of software that can extend gpsim in some manner. LED's and switches are examples of modules. A module library is collection of modules. \end_layout \begin_layout Subsubsection* Loading module libraries \end_layout \begin_layout LyX-Code module lib \emph on lib_name \end_layout \begin_layout Standard The \emph on lib \emph default option is used to load a module library. Module libraries are system dependent shared libraries, i.e. on Windows they're DLL's and UNIX they're shared libraries. This means that either the libraries should reside in a path where the OS knows libraries exist or that the full path name must be specified along with the \emph on lib_name \emph default . gpsim provides a module library with a few modules: \end_layout \begin_layout LyX-Code gpsim> module lib libgpsim_modules \end_layout \begin_layout Subsubsection* Displaying available modules \end_layout \begin_layout LyX-Code module list \end_layout \begin_layout Standard The \emph on list \emph default option will display all of the modules that can be loaded. Here is an example of gpsim's built-in modules. \end_layout \begin_layout LyX-Code gpsim> module list \end_layout \begin_layout LyX-Code Module Libraries libgpsim_modules.so \end_layout \begin_layout LyX-Code pullup \end_layout \begin_layout LyX-Code pulldown \end_layout \begin_layout LyX-Code usart \end_layout \begin_layout LyX-Code switch \end_layout \begin_layout LyX-Code and2 \end_layout \begin_layout LyX-Code or2 \end_layout \begin_layout LyX-Code xor2 \end_layout \begin_layout LyX-Code not \end_layout \begin_layout LyX-Code led_7segments \end_layout \begin_layout LyX-Code led \end_layout \begin_layout LyX-Code pulsegen \end_layout \begin_layout LyX-Code Encoder \end_layout \begin_layout LyX-Code TTL377 \end_layout \begin_layout Subsubsection* Loading a specific module \end_layout \begin_layout LyX-Code module load module_type [module_name] \end_layout \begin_layout Standard Once a library has been loaded, specific modules can be instantiated. The \emph on module_type \emph default is what's displayed by the \emph on module list \emph default command. The optional module name specifies what the instance is called. Here's an example \end_layout \begin_layout LyX-Code gpsim> module load led D1 \end_layout \begin_layout Subsubsection* Display loaded modules \end_layout \begin_layout Subsubsection* Querying modules \end_layout \begin_layout LyX-Code \end_layout \begin_layout Section node \begin_inset LatexCommand \index{node} \end_inset \end_layout \begin_layout LyX-Code node [new_node1 new_node2 ...] \end_layout \begin_layout Standard The \shape italic node \shape default command defines or queries \begin_inset Quotes eld \end_inset nodes \begin_inset Quotes erd \end_inset , used to connect external signals to the simulated PIC. If no new_node is specified then all of the nodes that have been defined are displayed. If a new_node is specified then it will be added to the node list. See the "attach" and "stimulus" commands to see how stimuli are added to the nodes. \end_layout \begin_layout LyX-Code examples: \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code node // display the node list \end_layout \begin_layout LyX-Code node n1 n2 n3 // create and add 3 new nodes to the list \end_layout \begin_layout Section processor \begin_inset LatexCommand \index{processor} \end_inset \end_layout \begin_layout LyX-Code processor [new_processor_type [new_processor_name]] | [list] | [dump] \end_layout \begin_layout Standard The \emph on processor \emph default command is used to either define a new processor or to query one that has already been defined. Normally there's no need to explicitly define the processor since the symbol file already contains that information. The two exceptions are when a) the symbolic information is not available or b) you wish to override the processor specified in the symbol file. (See the \emph on load \emph default command on how the processor in a symbol file can be overridden.) \end_layout \begin_layout Standard To see a list of the processors supported by gpsim, type ' \emph on processor list \emph default '. To display the state of the I/O processor, type ' \emph on processor pins \emph default '. For now, this will display the pin numbers and their current state. \end_layout \begin_layout LyX-Code examples: \end_layout \begin_layout LyX-Code processor // Display the processors you've already defined. \end_layout \begin_layout LyX-Code processor list // Display the list of processors supported. \end_layout \begin_layout LyX-Code processor pins // Display the processor package and pin state \end_layout \begin_layout LyX-Code processor p16cr84 fred // Create a new processor. \end_layout \begin_layout LyX-Code processor p16c74 wilma // and another. \end_layout \begin_layout LyX-Code processor p16c65 // Create one with no name. \end_layout \begin_layout Section quit \begin_inset LatexCommand \index{quit} \end_inset \end_layout \begin_layout Standard Quit gpsim. \end_layout \begin_layout Section run \begin_inset LatexCommand \index{run} \end_inset \end_layout \begin_layout Standard Start (or continue) simulation. The simulation will continue until the next break point is encountered. \end_layout \begin_layout Section step \begin_inset LatexCommand \index{step} \end_inset \end_layout \begin_layout Standard Execute a single instruction, or a specified number of instructions. \end_layout \begin_layout LyX-Code step [over | n] \end_layout \begin_layout Standard With no arguments, the step command executes one instruction of the PIC code. If a numeric argument is given, this specifies a fixed number of instructions to simulate. The specific word \begin_inset Quotes eld \end_inset over \begin_inset Quotes erd \end_inset as an argument to step tells gpsim to run everything involved in the current instruction. This would normally be used on a CALL instruction, in which case the whole subroutine runs and the simulation stops after it returns. \end_layout \begin_layout Section symbol \begin_inset LatexCommand \index{symbol} \end_inset \end_layout \begin_layout LyX-Code symbol [symbol_name [symbol_type value]] \end_layout \begin_layout Standard The \emph on symbol \emph default command is used to query and define symbols. If no options are specified, the whole symbol table is displayed. The creation of user defined symbols is limited at this time (see the online help for the current state of this command). \end_layout \begin_layout Section stimulus \begin_inset LatexCommand \index{stimulus} \end_inset \end_layout \begin_layout LyX-Code stimulus [[type] options] \end_layout \begin_layout Standard The \emph on stimulus \emph default command creates a signal that can be tied to a node or an attribute. If no options are specified then all currently defined stimuli are displayed. \end_layout \begin_layout Standard Note that in most cases it is easier to create a stimulus file then to type the command by hand. \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Standard option \end_layout \end_inset \begin_inset Text \begin_layout Standard description \end_layout \end_inset \begin_inset Text \begin_layout Standard initial_state \end_layout \end_inset \begin_inset Text \begin_layout Standard state at the start and at the rollover \end_layout \end_inset \begin_inset Text \begin_layout Standard start_cycle \end_layout \end_inset \begin_inset Text \begin_layout Standard simulation cyle when the stimulus will begin \end_layout \end_inset \begin_inset Text \begin_layout Standard period \end_layout \end_inset \begin_inset Text \begin_layout Standard stimulus period \end_layout \end_inset \begin_inset Text \begin_layout Standard name \end_layout \end_inset \begin_inset Text \begin_layout Standard specifies the stimulus name \end_layout \end_inset \end_inset \end_layout \begin_layout Standard Here's an example of a stimulus that will generate two pulses and repeat this in 1000 cycles. \end_layout \begin_layout LyX-Code stimulus asynchronous_stimulus \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code # The initial state AND the state the stimulus is when \end_layout \begin_layout LyX-Code # it rolls over \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code initial_state 0 \end_layout \begin_layout LyX-Code start_cycle 0 \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code # the asynchronous stimulus will roll over in 'period' \end_layout \begin_layout LyX-Code # cycles. Delete this line if you don't want a roll over. \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code period 1000 \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code { 100, 1, \end_layout \begin_layout LyX-Code 200, 0, \end_layout \begin_layout LyX-Code 300, 1, \end_layout \begin_layout LyX-Code 400, 0 \end_layout \begin_layout LyX-Code } \end_layout \begin_layout LyX-Code # Give the stimulus a name: \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code name two_pulse_repeat \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code end \end_layout \begin_layout Standard A stimulus can be queried by typing its name at the command line: \end_layout \begin_layout LyX-Code gpsim> two_pulse_repeat \end_layout \begin_layout LyX-Code two_pulse_repeat attached to pulse_node \end_layout \begin_layout LyX-Code Vth=0V Zth=250 ohms Cth=0 F nodeVoltage= 7.49998e-07V \end_layout \begin_layout LyX-Code Driving=0 drivingState=0 drivenState=0 bitState=0 \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code states = 5 \end_layout \begin_layout LyX-Code 100 1 \end_layout \begin_layout LyX-Code 200 0 \end_layout \begin_layout LyX-Code 300 1 \end_layout \begin_layout LyX-Code 400 0 \end_layout \begin_layout LyX-Code 1000 0 \end_layout \begin_layout LyX-Code initial=0 \end_layout \begin_layout LyX-Code period=1000 \end_layout \begin_layout LyX-Code start_cycle=0 \end_layout \begin_layout LyX-Code Next break cycle=100 \end_layout \begin_layout Standard Even though this example uses 1's and 0's for the data, one can use integers, floating point numbers, or expressions instead. Integers are useful for supplying a stimulus to an attribute. Expressions are useful for abstracting the data. See Chapter \begin_inset LatexCommand \ref{cha:Simulating-the-Real} \end_inset for more discussion and examples of stimuli. \end_layout \begin_layout Section stopwatch \begin_inset LatexCommand \index{stopwatch} \end_inset \begin_inset Foot status collapsed \begin_layout Standard The stopwatch is really a collection of attributes and not a command. But the behavior is so similar to a command that it has been included here. \end_layout \end_inset \end_layout \begin_layout LyX-Code A timer for monitoring and controlling the simulation. \end_layout \begin_layout LyX-Code The units are in simulation cycles. \end_layout \begin_layout LyX-Code stopwatch.rollover - specifies rollover value. \end_layout \begin_layout LyX-Code stopwatch.direction - specifies count direction. \end_layout \begin_layout LyX-Code stopwatch.enable - enables counting if true. \end_layout \begin_layout Standard Without any options, \emph on stopwatch \emph default will display the contents of the stopwatch timer. \emph on stopwatch \emph default is writable, so you may initialize it to whatever value you like. The \emph on \emph default behavior of the timer may be manipulated via the three attributes. The \emph on .rollover \emph default attribute is the number of cycles at which the stopwatch timer rolls over. The \emph on .direction \emph default and \emph on .enable \emph default attributes are boolean types. When true, the \emph on .direction \emph default attribute will instruction the stopwatch to count up. \end_layout \begin_layout Section trace \begin_inset LatexCommand \index{trace} \end_inset \end_layout \begin_layout LyX-Code trace [dump_amount] \end_layout \begin_layout Standard \emph on trace \emph default will print out the most recent "dump_amount" traces. If no dump_amount is specified, then the entire trace buffer will be displayed. \end_layout \begin_layout Section version \end_layout \begin_layout LyX-Code version \end_layout \begin_layout Standard Display gpsim's version. Note, this command will probably get replaced by an attribute with the same (or similar) name. \end_layout \begin_layout Section x \begin_inset LatexCommand \index{x} \end_inset \end_layout \begin_layout Standard The \emph on x \emph default command is deprecated. It's former use was to examine and modify memory. The preferred way to do this now is with expressions. The help for \emph on x \emph default now indicates this: \end_layout \begin_layout LyX-Code x examine command -- deprecated \end_layout \begin_layout LyX-Code Instead of the using a special command to examine and modify \end_layout \begin_layout LyX-Code variables, it's possible to directly access them using gpsim's \end_layout \begin_layout LyX-Code expression parsing. For example, to examine a variable: \end_layout \begin_layout LyX-Code gpsim> my_variable \end_layout \begin_layout LyX-Code my_variable [0x27] = 0x00 = 0b00000000 \end_layout \begin_layout LyX-Code To modify a variable \end_layout \begin_layout LyX-Code gpsim> my_variable = 10 \end_layout \begin_layout LyX-Code It's also possible to assign the value of register to another \end_layout \begin_layout LyX-Code gpsim> my_variable = porta \end_layout \begin_layout LyX-Code Or to assign the results of an expression: \end_layout \begin_layout LyX-Code gpsim> my_variable = (porta ^ portc) & 0x0f \end_layout \begin_layout LyX-Code \end_layout \begin_layout Chapter \begin_inset LatexCommand \label{cha:Graphical-User-Interface} \end_inset Graphical User Interface \end_layout \begin_layout Standard FIXME: We could use a few illustrations here! \end_layout \begin_layout Standard gpsim also provides a graphical user interface that simplifies some of the drudgery associated with the cli. It's possible to open windows to view all the details about your debug environment. To get the most out of your debugging session, you'll want to assemble your code with gpasm (the gnupic assembler) and use the symbolic .cod files it produces. \end_layout \begin_layout Section Main window \end_layout \begin_layout Subsection Menus \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 File->Open .stc or .cod files. \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 File->Quit Quit gpsim \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Windows->* Open/Close the windows. \end_layout \begin_layout Subsection Buttons \end_layout \begin_layout Standard (These are also found as keyboard bindings in the source windows.) \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Step Step one instruction \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Over Step until pc is after next instruction \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Finish Run to return address \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Run Run continuously \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Stop Stop execution \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Reset Reset CPU \end_layout \begin_layout Subsection Simulation mode \end_layout \begin_layout Standard This controls how gpsim simulates, and how the gui updates. \end_layout \begin_layout List \labelwidthstring 0000000.00.0000 Never Don't ever update the gui when simulating. This is the fastest mode. You'll have to stop simulation by pressing Ctrl-C in the command line interface. \end_layout \begin_layout List \labelwidthstring 0000000.00.0000 x\InsetSpace ~ cycles Update the gui every x cycles simulated. \end_layout \begin_layout List \labelwidthstring 0000000.00.0000 every\InsetSpace ~ cycle Update the gui every cycle. (you see everything, if you have filled up on coffee :-) \end_layout \begin_layout List \labelwidthstring 0000000.00.0000 x\InsetSpace ~ ms\InsetSpace ~ animate Here you can slow down simulation with a delay between every cycle. \end_layout \begin_layout List \labelwidthstring 0000000.00.0000 realtime This will make gpsim try to synchronize simulation speed with wall clock time. \end_layout \begin_layout Section Source Browsers \end_layout \begin_layout Standard gpsim provides two views of your source: '. \emph on asm' \emph default and '. \emph on obj' \emph default browsers. The '. \emph on asm' \emph default browser is a color coded display of your pic source. \end_layout \begin_layout Subsection .asm Browser \end_layout \begin_layout Standard When a .cod file with source is loaded, there should be something in this display. (TODO: add section about high level debugging). \end_layout \begin_layout Standard There is an area to the left of the source, where symbols representing the program counter, breakpoints, etc are displayed. Double clicking in this area toggles breakpoints. You can drag these symbols up or down in order to move them and change the PC or move a breakpoint. \end_layout \begin_layout Standard A right button click on the source pops up a menu with six items (the word 'here' in some menu items denote the line in source the mouse pointer was on when right mouse button was clicked.): \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 \series bold Menu\InsetSpace ~ item Description \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 Find\InsetSpace ~ PC This menu item will find the PC and changed page tab and scroll the source view to the current PC. \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 Run\InsetSpace ~ here This sets a breakpoint 'here'and starts running until a breakpoint is hit. \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 Move\InsetSpace ~ PC\InsetSpace ~ here This simply changes PC to the address that line 'here'in source has. \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 Breakpoint\InsetSpace ~ here Set a breakpoint 'here'. \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 Profile\InsetSpace ~ start\InsetSpace ~ here Set a start marker for routine profiling here. \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 Profile\InsetSpace ~ stop\InsetSpace ~ here Set a stop marker. (See the section for the profiling window.) \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 Select\InsetSpace ~ symbol. This menu item is only available when some text is selected in the text widget. What it does is search the list of symbols for the selected word, and if it is found it is selected in the symbol window. Depending of type of symbol other things are also done, the same thing as when selecting a symbol in the symbol window: \end_layout \begin_deeper \begin_layout Itemize If it is an address, then the opcode and source views display the address. \end_layout \begin_layout Itemize If it's a register, the register viewer selects the cell. \end_layout \begin_layout Itemize If it's a constant, address, register or ioport, it is selected in the symbol window. \end_layout \end_deeper \begin_layout List \labelwidthstring 00.00.0000.0000 Find\InsetSpace ~ text This opens up a search dialog. Every time you hit the 'Find' button, the current notebook page is found and the source in that page is used. \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 Settings A dialog with which you can change the fonts used. \end_layout \begin_layout List \labelwidthstring 00.00.0000.0000 Controls A submenu containing the simulation commands. (these are also found as keyboard bindings (recommended), or in the main window.) \end_layout \begin_layout Standard These are the keyboard bindings: \end_layout \begin_layout List \labelwidthstring 00.00.0000 \series bold Key command \end_layout \begin_layout List \labelwidthstring 00.00.0000 s,S,F7 Step one instruction. \end_layout \begin_layout List \labelwidthstring 00.00.0000 o,O,F8 Step over instruction \end_layout \begin_layout List \labelwidthstring 00.00.0000 r,R,F9 Run continously. \end_layout \begin_layout List \labelwidthstring 00.00.0000 Escape Stop simulation. \end_layout \begin_layout List \labelwidthstring 00.00.0000 f,F Run to return address \end_layout \begin_layout List \labelwidthstring 00.00.0000 1..9 Step n instructions \end_layout \begin_layout Subsection Opcode view - the .obj Browser \end_layout \begin_layout Standard This window has two tabs. One with each memory cell on one line and information about address, hexadecima l value and decoded instruction (i.e. disassembly), and one with the program memory \end_layout \begin_layout Standard displayed with sixteen memory cells per row and a configurable ascii column. \end_layout \begin_layout Subsubsection* The Assembly tab you can: \end_layout \begin_layout Itemize Double click on a line to toggle breakpoints. \end_layout \begin_layout Itemize Use the same keyboard commands as the in the source browser. \end_layout \begin_layout Itemize Right click to get a menu where you can change the fonts. \end_layout \begin_layout Subsubsection* The Opcode tab. \end_layout \begin_layout Standard Here the program memory is ordered as columns of sixteen memory cells per column and as many row as needed to contain all memory. \end_layout \begin_layout Standard The seventeenth column contains an ASCII representation of the program memory. You can configure this column to use one of three different modes: \end_layout \begin_layout Itemize One byte per cell \end_layout \begin_layout Itemize Two bytes per cell, MSB first. \end_layout \begin_layout Itemize Two bytes per cell, LSB first. \end_layout \begin_layout Standard You can change fonts with the menu item 'Settings'. \end_layout \begin_layout Standard You can set breakpoints on one or more (drag the mouse to select more cells) addresses with the right click menu. \end_layout \begin_layout Section Register views \end_layout \begin_layout Standard There are two similar register windows. One for the RAM and one for the EEPROM data, when available. \end_layout \begin_layout Standard Here you see all registers in the current processor. Clicking on a cell displays it's name and value above the sheet of registers. You can change values by entering it in the entry (or in the spreadsheet cell). \end_layout \begin_layout Standard The following things can be done on one register, or a range of registers. (Selecting a range of registers is done by holding down left mouse button, moving cursor, and releasing button.) \end_layout \begin_layout Itemize Set and clear breakpoints. Use the right mousebutton menu to pop up a menu where you can select set read, write, read value and write value breakpoints. You can also "clear breakpoints", notice the s in "clear breakpoints", every breakpoint on the registers are cleared. \end_layout \begin_layout Itemize Set and clear logging of registers. You can log reads, writes, reads/writes of specific values and to bits selected by a specified mask. You can select a different file name with 'set log filename...'. Default is "gpsim.log". You can choose LXT or ASCII format. LXT can be read with the program gtkwave. ASCII is default. \end_layout \begin_layout Itemize Copy cells. You copy cells by dragging the border of the selected cell(s). \end_layout \begin_layout Itemize Fill cells. Move mouse to lower right corner of the frame of the selected cell(s), and drag it. The one cell's contents will be copied to the other cells. \end_layout \begin_layout Itemize Watch them. Select the "Add Watch" menu item. \end_layout \begin_layout Standard The cells have different background colors depending on if they represent: \end_layout \begin_layout Itemize File Register (e.g. RAM): light cyan. \end_layout \begin_layout Itemize Special Function Registers (e.g. STATUS,TMR0): dark cyan \end_layout \begin_layout Itemize aliased register (e.g. the INDF located at address 0x80 is the same as the one located at address 0x00): gray \end_layout \begin_layout Itemize invalid register: black. If all sixteen registers in a row are invalid, then the row is not shown. \end_layout \begin_layout Itemize a register with one or more breakpoints: red. Logged registers are also red. \end_layout \begin_layout Standard gpsim dynamically updates the registers as the simulation proceeds. Registers that change value between updates of the window during simulation are highlighted with a blue foreground color. \end_layout \begin_layout Standard The menu also has a 'settings' item where you can change the font used. \end_layout \begin_layout Section Symbol view \end_layout \begin_layout Standard This window, as its name suggests, displays symbols. All of the special function registers will have entries in the symbol viewer. If you're using .cod files then you'll additionally have file registers (that are defined in cblocks), equates, and address labels. \end_layout \begin_layout Standard You can filter out some symbol types using the buttons in the top of the window, and you can sort the rows by clicking on the column buttons (the ones reading 'symbol', 'type' and 'address'). \end_layout \begin_layout Standard You can add the symbol to the watch window by right-clicking and selecting the "Add to watch window" menu item. This will add the ram register with address equal to the symbols value to the watch window. \end_layout \begin_layout Standard The symbol viewer is linked to the other windows. For example, if you click on a symbol and: \end_layout \begin_layout Itemize If it is an address, then the opcode and source views display the address. \end_layout \begin_layout Itemize If it's a register, the register viewer selects the cell. \end_layout \begin_layout Section Watch view \end_layout \begin_layout Standard This is not a output-only window as the name suggests (change name?). You can both view and change data. Double-clicking on a bit toggles the bit. You add variables here by marking them in a register viewer and select \begin_inset Quotes eld \end_inset Add watch \begin_inset Quotes erd \end_inset from menu. The right-click menu has the following items: \end_layout \begin_layout Itemize Remove watch \end_layout \begin_layout Itemize Set register value \end_layout \begin_layout Itemize Clear Breakpoints \end_layout \begin_layout Itemize Set break on read \end_layout \begin_layout Itemize Set break on write \end_layout \begin_layout Itemize Set break on read value \end_layout \begin_layout Itemize Set break on write value \end_layout \begin_layout Itemize Columns... \end_layout \begin_layout Standard "Columns... \begin_inset Quotes erd \end_inset opens up a window where you can select which of the following data to display: \end_layout \begin_layout Itemize BP \end_layout \begin_layout Itemize Type \end_layout \begin_layout Itemize Name \end_layout \begin_layout Itemize Address \end_layout \begin_layout Itemize Dec \end_layout \begin_layout Itemize Hex \end_layout \begin_layout Itemize Bx (bits of word) \end_layout \begin_layout Standard You can sort the list of watches by clicking on the column buttons. Clicking twice sorts the list backwards. \end_layout \begin_layout Section Stack viewer \end_layout \begin_layout Standard This window displays current stack. Selecting an entry makes the code windows display the return address. Double clicking sets a breakpoint on the return address. \end_layout \begin_layout Section Breadboard \end_layout \begin_layout Standard Here you can create/modify and examine the environment around the pic. Pins are displayed as an arrow. The direction of the arrow indicates if its an input or output pin. The color of the arrow indicates its state (green=low, red=high). \end_layout \begin_layout Standard You can't instantiate pic processors from here, you'll have to do that from the command line, or from a .stc file. \end_layout \begin_layout Standard Your can create nodes by clicking on the "new node" button. (A node is 'a piece of wire' to which you can connect stimulus.) You can see the list of created nodes under the "nodes" item in the upper-left tree widget. \end_layout \begin_layout Standard You can create connections to nodes by clicking on a pin, and then clicking on the button "Connect stimulus to node". This will bring up a list of nodes. Choose one by double-clicking on the one you like. \end_layout \begin_layout Standard If you click on a pin that is already connected to a node, then you'll see the node and its connections in the lower left part of the window. You can disconnect a stimulus by clicking on it and pressing the "remove stimulus" button. \end_layout \begin_layout Standard When you want to add a module to the simulation, you first have to specify the library which contains the module you want. Click on the "add library" button and enter the library name (e.g. "libgpsim_modules.so"). Now you can click the "add module" button. Select the module you want from the list by double-clicking on it. Enter a name for the module (this has to be unique, and not used before). You now have to position the module. Move the mouse pointer to where you'd like the module, and left-click. \end_layout \begin_layout Standard If you middle-click on a pin, you'll see how the pin is connected. Press the "trace all" to see all at \end_layout \begin_layout Standard once, and "clear traces" to remove all (you'll only remove the graphical trace, not the connection!). If the tracing doesn't work, try moving the packages so that there are more space around the pins. \end_layout \begin_layout Standard When you are done, you can save by clicking the "save configuration" button. You can then load this file from the command line like this (assuming the .cod file with your source is called "mycode.cod", and the file you just saved was called "mynets.stc": \end_layout \begin_layout LyX-Code gpsim -s mycode.cod -c mynets.stc \end_layout \begin_layout Standard You can't load only the .stc file since this doesn't contain the processor type and code. You can create (with an editor) your own .stc file (e.g. my_project.stc) and in that file put a command "load c mynets.stc" after you have loaded the .cod file. You then only have to load this file (gpsim -c my_project.stc). \end_layout \begin_layout Section Trace viewer \end_layout \begin_layout Standard This window shows the trace of instructions executed. See \begin_inset LatexCommand \ref{trace} \end_inset . \end_layout \begin_layout Section Profile viewer \end_layout \begin_layout Standard This window show execution count for program memory addresses. The profile window must be opened before starting simulation, because the traceing is not enabled by default. \end_layout \begin_layout Subsubsection Instruction profile \end_layout \begin_layout Standard This shows the number of times each instruction are executed. \end_layout \begin_layout Subsubsection Instruction range profile \end_layout \begin_layout Standard Here you can group ranges of instruction into one entry. \end_layout \begin_layout Standard The right click menu contains: \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Remove\InsetSpace ~ range Remove an entry. \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Add\InsetSpace ~ range... Open a disalog from where you can add a range of instructions as an entry. \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Add\InsetSpace ~ all\InsetSpace ~ labels Add all code labels as ranges. \end_layout \begin_layout List \labelwidthstring 00000000.00.0000 Snapshot\InsetSpace ~ to\InsetSpace ~ plot Open a window containing a graph of the data. From this new window you can also save (postscript) or print it. \end_layout \begin_layout Subsubsection* Register profile \end_layout \begin_layout Standard This shows the number of reads or writes the simulator does on register. \end_layout \begin_layout Subsubsection* Routine profile \end_layout \begin_layout Standard Here you can see statistics about execution time for a selected routine. You mark the entry and exit points from the source browser (profile start/stop). If the routine you want to measure have multiple entry and/or exit points, then you have to put a marker on every entry point as well as (and especially) every exit point. Othervise you will get bad data. \end_layout \begin_layout Standard When you have done that, gpsim will (as simulation goes by) store the execution times of that routine and calculate min/max/average/etc. You can also use the menu item 'Plot distribution' to open a window displaying a histogram of the data. From this new window you can also save (in postscript) or print it. \end_layout \begin_layout Standard You can also measure call period by switching the 'entry' and 'exit' points. If also want the time from reset (or some equal point) to the first 'entry', then you must also put an 'entry' point there. \end_layout \begin_layout Section Stopwatch \end_layout \begin_layout Standard The stopwatch window shows a cycle counter and a re-settable counter. The cycle counter is the same as the one in the register window. It basically counts instructions. \end_layout \begin_layout Standard The other counter counts at the same rate as the cycle counter, but can be cleared by clicking the "clear" button (or preset by entering a number in the entry box). \end_layout \begin_layout Standard The up/down indicator denotes the direction the counter counts. \end_layout \begin_layout Standard The rollover value specifies the range the cycle counter can be in (a modulo counter). For example, if the rollover value is specified to be 0x42, then whenever the resettable counter reaches 0x42 it will rollover to zero. If the counter is counting down, then when it reaches 0 the next state will be 0x41. If you don't want is like this, then set the rollover value to something large. \end_layout \begin_layout Section Scope Window \end_layout \begin_layout Standard FIXME: The scope window still needs some work... \end_layout \begin_layout Standard The Scope Window graphs I/O pin states. It is similar to an oscilloscope or logic analyzer. It can be controlled either from the command line or from the gui. Currently only the digital state of I/O pins are supported. \end_layout \begin_layout Chapter Scripting and Configuring \end_layout \begin_layout Standard gpsim does not have a native scripting language per se. However it is possible to place gpsim commands into a file and load them later. This is useful for loading modules and stimuli and connecting various devices together. By convention, gpsim's configuration files have the extension \emph on .stc \emph default , for \emph on st \emph default artup \emph on c \emph default onfiguration. \end_layout \begin_layout Section Embedded Commands \end_layout \begin_layout Standard If you're using gputils, it is possible to embed configuration commands directly into your PIC assembly source. The gputils supplied include file \emph on coff.inc \emph default contains several macros that embed simulation command into a COFF and COD files. \end_layout \begin_layout Subsection .sim macro \end_layout \begin_layout LyX-Code ; Simulator Command \end_layout \begin_layout LyX-Code .sim macro x \end_layout \begin_layout LyX-Code .direct "e", x \end_layout \begin_layout LyX-Code endm \end_layout \begin_layout Standard The \family typewriter \emph on .sim \emph default macro allows gpsim configuration commands to be embedded in the PIC source. While gpsim loads a .cod file, the commands in the \emph on .sim \emph default macros are collected. After the .cod file is loaded, the commands are redirected to gpsim's command line interpreter in the order they were received. \end_layout \begin_layout Standard Here's an example of switch module being loaded and configured: \end_layout \begin_layout LyX-Code ;# Module libraries: \end_layout \begin_layout LyX-Code .sim "module library libgpsim_modules" \end_layout \begin_layout LyX-Code .sim "module load switch SW1" \end_layout \begin_layout LyX-Code .sim "SW1.state=false" \end_layout \begin_layout LyX-Code .sim "SW1.xpos = 216.0" \end_layout \begin_layout LyX-Code .sim "SW1.ypos = 156.0" \end_layout \begin_layout LyX-Code .sim "SW1.Ropen = 1.0e8" \end_layout \begin_layout Standard This loads gpsim's module library, instantiates a switch module, and configures the switch's attributes. \end_layout \begin_layout Subsection .command macro \end_layout \begin_layout LyX-Code .command macro x \end_layout \begin_layout LyX-Code .direct "c", x \end_layout \begin_layout LyX-Code endm \end_layout \begin_layout Standard The \family typewriter \emph on .command \emph default macro is similar to a \emph on .sim \emph default macro except that it associates a gpsim command with a particular instruction. This is useful for changing attribute values at different points of the program. \end_layout \begin_layout Subsection .assert macro \end_layout \begin_layout LyX-Code ; Assertion \end_layout \begin_layout LyX-Code .assert macro x \end_layout \begin_layout LyX-Code .direct "a", x \end_layout \begin_layout LyX-Code endm \end_layout \begin_layout Standard The \emph on .assert \emph default macro provides a source code mechanism for setting breakpoints (see chapter \begin_inset LatexCommand \ref{cha:Assertions-and-Extended} \end_inset ). An assertion is an expression associated with a specific instruction. It essential means, \begin_inset Quotes eld \end_inset If the expression at this instruction evaluates to false, then halt the simulation. \begin_inset Quotes erd \end_inset \end_layout \begin_layout LyX-Code ; Close the switch because of capacitance portc1 will go high after a delay: \end_layout \begin_layout LyX-Code ; R=145, C=4.2e-6 TC=6.11e-4 or 1527 cycles 0-2 volts requires 0.51 Tc \end_layout \begin_layout LyX-Code .command "SW1.state=true" \end_layout \begin_layout LyX-Code nop \end_layout \begin_layout LyX-Code ; portc0 should be same as portc1 \end_layout \begin_layout LyX-Code .assert "(portc & 3) == 0, \backslash "SW1 closed, cap holds low \backslash "" \end_layout \begin_layout LyX-Code nop \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard In this example, the \emph on .command \emph default macro writes to the switch module's \emph on .state \emph default attribute (see section \begin_inset LatexCommand \ref{sub:Switches-&-Resistors} \end_inset ). Just prior to executing the first nop instruction, the switch will be closed. The \emph on .assert \emph default macro at the very next instruction makes sure that the expected state is seen on PORTC. \end_layout \begin_layout Section Sockets \end_layout \begin_layout Standard gpsim supports a socket interface. This is inhibited by default. Advanced users may wish to study code in the \emph on examples/scripts \emph default subdirectory. This code not distributed and is only available in the subversion repository. \end_layout \begin_layout Chapter \begin_inset LatexCommand \label{cha:Assertions-and-Extended} \end_inset Assertions and Extended Breakpoints \end_layout \begin_layout Standard gpsim supports a wide variety of breakpoints and assertions. Many of these were described with the break command. This section will illustrate how to extend the break command even further and introduce simulation assertions. \end_layout \begin_layout Subsection* Breakpoint Messages \end_layout \begin_layout Standard A breakpoint message is an ASCII string that is displayed whenever a breakpoint is encountered. Any break point can have an associated message. The syntax at the command line is \end_layout \begin_layout LyX-Code break conditions, \begin_inset Quotes eld \end_inset \emph on This is a breakpoint message \emph default \begin_inset Quotes erd \end_inset \end_layout \begin_layout Standard The conditions are described above in the break command and are the conditions under which the break occurs. \end_layout \begin_layout Standard Breakpoint messages are useful for distinguishing among many different breakpoin ts. \end_layout \begin_layout LyX-Code break w counter & 0xf0 == 0x80, \begin_inset Quotes eld \end_inset Counter overflowed! \begin_inset Quotes erd \end_inset \end_layout \begin_layout Standard In this example, the user is monitoring the upper nibble of the variable counter and breaking whenever it is equal to 8. When the command is entered, gpsim will display: \end_layout \begin_layout LyX-Code break when bit pattern 1000XXXX is written to register counter(0x26). break #: 0x20 \end_layout \begin_layout Standard The breakpoint can be queried with the break command: \end_layout \begin_layout LyX-Code gpsim> \emph on break 32 \end_layout \begin_layout LyX-Code 32: p18f452 register write value: [0x26] & 0xf0 == 0x8 \end_layout \begin_layout LyX-Code Message:Counter overflowed! \end_layout \begin_layout Standard When the simulation encounters the break, execution halts and the message is printed. \end_layout \begin_layout Section Assertions and Embedded Simulation commands \end_layout \begin_layout Standard gpsim's breakpoint design is a powerful tool that can catch many problems. The assertion design extends this power even further. An assertion is like a breakpoint that is associated with a particular instruction. For example, you may have a routine that requires BANK 0 be selected. A gpsim assertion can be placed at the entry of the routine to verify that this is the case. \end_layout \begin_layout LyX-Code .assert \begin_inset Quotes eld \end_inset (status & 0x60) == 0, \backslash \begin_inset Quotes erd \end_inset Bank 0 must be selected! \backslash \begin_inset Quotes erd \end_inset \begin_inset Quotes erd \end_inset \end_layout \begin_layout Standard The syntax is identical to the extended breakpoint command. The expression is the condition that is checked. If the expression evaluates to false, then the code halts and prints the message. The \emph on .assert \emph default is a macro that is part of gputils. It requires a string as its input argument. Notice that the assertion message is embedded in the argument. gpasm and MPASM copy C's method of placing a backslash in front of quotations that are part of a string. \end_layout \begin_layout Subsection* Command Assertions \end_layout \begin_layout Standard A command assertion is a gpsim associated with a particular instruction in your PIC source code. These are useful for changing the behavior of the simulation based on where the code executes. Almost any gpsim command can be placed in a command assertion. However, the most useful ones are assignment commands. For example: \end_layout \begin_layout LyX-Code .command \begin_inset Quotes eld \end_inset SW1.state = false \begin_inset Quotes erd \end_inset \end_layout \begin_layout Standard This assignment writes to the state attribute of a switch module named SW1. \end_layout \begin_layout Chapter Trace and Log: What has happen? \begin_inset LatexCommand \label{trace} \end_inset \end_layout \begin_layout Standard Inspecting the current state of your program is sometimes insufficient to determine the cause of a bug. Often times it's useful to know the conditions that led up to the current state. gpsim provides a history or trace of everything that occurs - whether you want it or not - to help you diagnose these otherwise difficult to analyze bugs. \end_layout \begin_layout Standard \begin_inset VSpace 0.3cm \end_inset \end_layout \begin_layout Standard \align center \begin_inset Tabular \begin_inset Text \begin_layout Standard What's traced \end_layout \end_inset \begin_inset Text \begin_layout Standard notes \end_layout \end_inset \begin_inset Text \begin_layout Standard program counter \end_layout \end_inset \begin_inset Text \begin_layout Standard adresses executed \end_layout \end_inset \begin_inset Text \begin_layout Standard instructions \end_layout \end_inset \begin_inset Text \begin_layout Standard opcode \end_layout \end_inset \begin_inset Text \begin_layout Standard register read \end_layout \end_inset \begin_inset Text \begin_layout Standard value and location \end_layout \end_inset \begin_inset Text \begin_layout Standard register write \end_layout \end_inset \begin_inset Text \begin_layout Standard value and location \end_layout \end_inset \begin_inset Text \begin_layout Standard cycle counter \end_layout \end_inset \begin_inset Text \begin_layout Standard current value \end_layout \end_inset \begin_inset Text \begin_layout Standard skipped instructions \end_layout \end_inset \begin_inset Text \begin_layout Standard addresses skipped \end_layout \end_inset \begin_inset Text \begin_layout Standard status register \end_layout \end_inset \begin_inset Text \begin_layout Standard during implicit modification \end_layout \end_inset \begin_inset Text \begin_layout Standard interrupts \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard break points \end_layout \end_inset \begin_inset Text \begin_layout Standard type \end_layout \end_inset \begin_inset Text \begin_layout Standard resets \end_layout \end_inset \begin_inset Text \begin_layout Standard type \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \end_inset \end_layout \begin_layout Standard \begin_inset VSpace 0.3cm \end_inset \end_layout \begin_layout Standard The 'trace' command will dump the contents of the trace buffer. \end_layout \begin_layout Standard A large circular buffer (whose size is hard coded) stores the information for the trace buffer. When it fills, it will wrap around and write over the old history. The contents of the trace buffer are parsed into frames, where one frame corresponds to a simulation cycle. \end_layout \begin_layout Standard Here's an example of a trace output: \end_layout \begin_layout LyX-Code gpsim> trace \end_layout \begin_layout LyX-Code 0x00000000000026F6 p18f452 0x001C 0x1003 iorwf reg3,w,0 \end_layout \begin_layout LyX-Code Read: 0x00 from reg3(0x0003) \end_layout \begin_layout LyX-Code Wrote: 0xE7 to W(0x0FE8) was 0xE7 \end_layout \begin_layout LyX-Code Wrote: 0x18 to status(0x0FD8) was 0x18 \end_layout \begin_layout LyX-Code 0x00000000000026F7 p18f452 0x001E 0xE1F4 bnz $-0x16 ;(0x8) \end_layout \begin_layout LyX-Code 0x00000000000026F8 p18f452 0x0008 0x3E00 incfsz reg,f,0 \end_layout \begin_layout LyX-Code Read: 0xE4 from reg(0x0000) \end_layout \begin_layout LyX-Code Wrote: 0xE5 to reg(0x0000) was 0xE4 \end_layout \begin_layout LyX-Code 0x00000000000026F9 p18f452 0x000A 0xD004 bra $+0xa ;(0x00014) 0x00000000000 026FA p18f452 0x0014 0x0004 clrwdt \end_layout \begin_layout LyX-Code 0x00000000000026FB p18f452 0x0016 0x5000 movf reg,w,0 \end_layout \begin_layout LyX-Code Read: 0xE5 from reg(0x0000) \end_layout \begin_layout LyX-Code Wrote: 0xE5 to W(0x0FE8) was 0xE7 \end_layout \begin_layout LyX-Code Wrote: 0x18 to status(0x0FD8) was 0x18 \end_layout \begin_layout LyX-Code 0x00000000000026FC p18f452 0x0018 0x1001 iorwf reg1,w,0 \end_layout \begin_layout LyX-Code Read: 0x03 from reg1(0x0001) \end_layout \begin_layout LyX-Code Wrote: 0xE7 to W(0x0FE8) was 0xE5 \end_layout \begin_layout LyX-Code Wrote: 0x18 to status(0x0FD8) was 0x18 \end_layout \begin_layout Standard Each trace frame begins with a new simulation cycle. Typically this will include a simulated instruction. Here's each of the fields: \end_layout \begin_layout LyX-Code \begin_inset Tabular \begin_inset Text \begin_layout Standard 64-bit simulation cycle \end_layout \end_inset \begin_inset Text \begin_layout Standard processor \end_layout \end_inset \begin_inset Text \begin_layout Standard PC \end_layout \end_inset \begin_inset Text \begin_layout Standard opcode \end_layout \end_inset \begin_inset Text \begin_layout Standard instruction \end_layout \end_inset \begin_inset Text \begin_layout Standard 0x00000000000026F6 \end_layout \end_inset \begin_inset Text \begin_layout Standard p18f452 \end_layout \end_inset \begin_inset Text \begin_layout Standard 0x001C \end_layout \end_inset \begin_inset Text \begin_layout Standard 0x1003 \end_layout \end_inset \begin_inset Text \begin_layout Standard iorwf reg3,w,0 \end_layout \end_inset \end_inset \end_layout \begin_layout Standard Other events that occur during the trace frame are indented. Typically these will be register read or write traces. The read traces show the value read. Write traces show the value written and the value that was previously in the register. \end_layout \begin_layout Section* Saving Trace to a file \end_layout \begin_layout Standard The trace buffer may contain thousands of entries making it difficult to search. The trace save feature will allow the trace buffer to be written to a file. \end_layout \begin_layout LyX-Code gpsim> trace save mytrace.log \end_layout \begin_layout Standard The entire contents of the trace buffer are decoded and written to the file. The format of the trace is the same as it is when displayed at the command line. \end_layout \begin_layout Section* Raw Traces \end_layout \begin_layout Standard The \emph on raw \emph default trace buffer is the trace buffer displayed in a minimally decoded form. This is primarily used for gpsim development. When saved to a file, the raw trace is not decoded at all. In addition, the processor's state is written to the file. Thus third party tools can be written to create custom trace reports \begin_inset Foot status collapsed \begin_layout Standard FIXME - The dynamically created trace type information needs to be written to this file too. Without it, it is difficult to tell what each traced item is. \end_layout \end_inset . \end_layout \begin_layout Chapter \begin_inset LatexCommand \label{cha:Simulating-the-Real} \end_inset Simulating the Real World: Stimuli \begin_inset LatexCommand \index{Stimulus} \end_inset \end_layout \begin_layout Standard Stimuli are extremely useful, if not necessary, for simulations. They provides a means for simulating interactions with the real world. \end_layout \begin_layout Standard The gpsim stimuli capability is designed to be accurate, efficient and flexible. The models for the PIC's I/O pins mimic the real devices. For example, the open collector output on port A of a PIC16C84 can only drive low. Multiple I/O pins may be tied to one another so that the open collector on port A can get a pull up resistor from port B. The overhead for stimuli only occurs when a stimulus changes states. In other words, stimuli are not polled to determine their state. \end_layout \begin_layout Standard Analog stimuli are also available. It's possible to create voltage references and sources to simulate almost any kind of real world thing. For example, it's possible to combine two analog stimuli together to create signals like DTMF tones. \end_layout \begin_layout Section How They Work \end_layout \begin_layout Standard In the simplest case, a stimulus acts a source for an I/O pin on a PIC. For example, you may want to simulate a clock and measure its period using TMR0. In this case, the stimulus is the source and the TMR0 input pin on the pic is the load. In gpsim you would create a stimulus for the clock using the stimulus command and connect it to the I/O pin using the node command. \end_layout \begin_layout Standard In general, you can have several 'sources' and several 'loads' that are interconnected with nodes \begin_inset Foot status collapsed \begin_layout Standard Although, gpsim is currently limited to 'one-port' devices. In other words, it is assumed that ground serves as a common reference for the sources and the loads. \end_layout \end_inset . A good analogy is a spice circuit. The spice netlist corresponds to a node-list in gpsim and the spice elements correspond to the stimuli sources and loads. This general approach makes it possible to create a variety of simulation environments. Here's a list of different ways in which stimuli may be connected: \end_layout \begin_layout Enumerate Stimulus connected to one I/O pin \end_layout \begin_layout Enumerate Stimulus connected to several I/O pins \end_layout \begin_layout Enumerate Several stimuli connected to one I/O pin \end_layout \begin_layout Enumerate Several stimuli connected to several I/O pins \end_layout \begin_layout Enumerate I/O pins connected to I/O pins \end_layout \begin_layout Standard The general technique for implementing stimuli is as follows: \end_layout \begin_layout Enumerate Define the stimulus or stimuli. \end_layout \begin_layout Enumerate Define a node. \end_layout \begin_layout Enumerate Attach the stimuli to the node. \end_layout \begin_layout Standard More often than not, the stimulus definition will reside in a file. \end_layout \begin_layout Subsection Contention among stimuli \end_layout \begin_layout Standard One of the problems with this nodal approach to modeling stimuli is that it's possible for contention to exist. For example, if two I/O pins are connected to one another and driving in the opposite directions, there will be contention. gpsim resolves contention with attribute summing. Each stimulus - even if it's an input - has an effect on the node. This effect is characterised by a voltage and an impedance. When a node is updated, gpsim performs a Thevenin voltage summing of all the stimuli together. The resultant voltage is then propagated to all connected stimuli as the current state of the node. \end_layout \begin_layout Standard For example, in the port A open collector / port B weak pull-up connection example, gpsim assigns a voltage of 5V with an impedance of 20kohms to the pull up resistor, and a voltage of 0V with an impedance of 150ohms to the open collector if it is active, or 100Mohms if it's not driving. The Thevenin sum will be roughly 0.05V if the output is driving, or 5V otherwise. Capacitive effects are not currently supported. \end_layout \begin_layout Section I/O Pins \end_layout \begin_layout Standard gpsim models I/O pins as stimuli. Thus anywhere a stimulus is used, an I/O pin may be substituted. For example, you may want to tie two I/O pins to one another; like a port B pull up resistor to a port A open collector. gpsim automatically creates the I/O pin stimuli whenever a processor is created. All you need to do is to specify a node and then attach the stimuli to it. The names of these stimuli are formed by concatenating the port name with the bit position of the I/O pin. For example, bit 3 in port B is called portb3. \end_layout \begin_layout Standard Here's a list of the types of I/O pin stimuli that are supported: \end_layout \begin_layout Standard \begin_inset VSpace 0.3cm \end_inset \end_layout \begin_layout Standard \align center \begin_inset Tabular \begin_inset Text \begin_layout Standard I/O Pin Type \end_layout \end_inset \begin_inset Text \begin_layout Standard Function \end_layout \end_inset \begin_inset Text \begin_layout Standard INPUT_ONLY \end_layout \end_inset \begin_inset Text \begin_layout Standard Only accepts input (like MCLR) \end_layout \end_inset \begin_inset Text \begin_layout Standard BI_DIRECTIONAL \end_layout \end_inset \begin_inset Text \begin_layout Standard Can be a source or a load (most I/O pins) \end_layout \end_inset \begin_inset Text \begin_layout Standard BI_DIRECTIONAL_PU \end_layout \end_inset \begin_inset Text \begin_layout Standard PU=Pullup resistor (PORTB) \end_layout \end_inset \begin_inset Text \begin_layout Standard OPEN_COLLECTOR \end_layout \end_inset \begin_inset Text \begin_layout Standard Can only drive low (RA4 on c84) \end_layout \end_inset \end_inset \end_layout \begin_layout Standard \begin_inset VSpace 0.3cm \end_inset \end_layout \begin_layout Standard There is no special pin type for analog I/O pins. All pic analog inputs are multiplexed with digital inputs. The I/O pin definition will always be for the digital input. gpsim automatically knows when I/O pin is analog input. \end_layout \begin_layout Section Asynchronous Stimuli \end_layout \begin_layout Standard Asynchronous stimuli are analog or digital stimuli that can change states at any given instant (limited to the resolution of the cycle counter). They can be defined to be repetitive too. \end_layout \begin_layout Standard \begin_inset VSpace 0.3cm \end_inset \end_layout \begin_layout Standard \align center \begin_inset Tabular \begin_inset Text \begin_layout Standard parameter \end_layout \end_inset \begin_inset Text \begin_layout Standard function \end_layout \end_inset \begin_inset Text \begin_layout Standard start_cycle \end_layout \end_inset \begin_inset Text \begin_layout Standard The # of cycles before the stimulus starts \end_layout \end_inset \begin_inset Text \begin_layout Standard cycles[] \end_layout \end_inset \begin_inset Text \begin_layout Standard An array of cycle #'s \end_layout \end_inset \begin_inset Text \begin_layout Standard data[] \end_layout \end_inset \begin_inset Text \begin_layout Standard Stimulus state for a cycle \end_layout \end_inset \begin_inset Text \begin_layout Standard period \end_layout \end_inset \begin_inset Text \begin_layout Standard The # of cycles for one period \end_layout \end_inset \begin_inset Text \begin_layout Standard initial_state \end_layout \end_inset \begin_inset Text \begin_layout Standard The initial state before data[0] \end_layout \end_inset \end_inset \end_layout \begin_layout Standard \begin_inset VSpace 0.3cm \end_inset \end_layout \begin_layout Standard When the stimulus is first initialized, it will be driven to the 'initial state' and will remain there until the cpu's instruction cycle counter matches the specified 'start' cycle. After that, the two arrays 'cycles[]' and 'data[]' define the stimulus' outputs. The size of the arrays are the same and correspond to the number of events that are to be created. So the event number, if you will, serves as the index into these arrays. The 'cycles[]' array define when the events occur while the 'data[]' array defines the states the stimulus will enter. The 'cycles[]' are measured with respect to the 'start' cycle. The asynchronous stimulus can be made periodic by specifying the number of cycles in the 'period' parameter. \end_layout \begin_layout Standard Here's an example that generates three pulses and then repeats: \end_layout \begin_layout LyX-Code stimulus asynchronous_stimulus # or we could've used asy \newline \end_layout \begin_layout LyX-Code # The initial state AND the state the stimulus is when \end_layout \begin_layout LyX-Code # it rolls over \newline \end_layout \begin_layout LyX-Code initial_state 1 \newline \end_layout \begin_layout LyX-Code # all times are with respect to the cpu's cycle counter \end_layout \begin_layout LyX-Code start_cycle 100 \newline \end_layout \begin_layout LyX-Code # the asynchronous stimulus will roll over in 'period' \newline # cycles. Delete this line if you don't want a roll over. \end_layout \begin_layout LyX-Code period 5000 \newline \end_layout \begin_layout LyX-Code # Now the cycles at which stimulus changes states are \end_layout \begin_layout LyX-Code # specified. The initial cycle was specified above. So \newline # the first cycle specified below will toggle this state. \end_layout \begin_layout LyX-Code # In this example, the stimulus will start high. \end_layout \begin_layout LyX-Code # At cycle 100 the stimulus 'begins'. However nothing happens \end_layout \begin_layout LyX-Code # until cycle 200+100. \end_layout \begin_layout LyX-Code { 200, 0, \end_layout \begin_layout LyX-Code 300, 1, \end_layout \begin_layout LyX-Code 400, 0, \end_layout \begin_layout LyX-Code 600, 1, \end_layout \begin_layout LyX-Code 1000, 0, \end_layout \begin_layout LyX-Code 3000, 1 } \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code # Give the stimulus a name: \end_layout \begin_layout LyX-Code name asy_test \newline \end_layout \begin_layout LyX-Code # Finally, tell the command line interface that we're done \end_layout \begin_layout LyX-Code # with the stimulus \end_layout \begin_layout LyX-Code end \end_layout \begin_layout Subsection Analog Asynchronous Stimuli \end_layout \begin_layout Standard Analog Asynchronous Stimuli are identical to Synchronous Stimuli except the data points are floating point numbers. \end_layout \begin_layout Section Extended Stimuli \end_layout \begin_layout Standard Discuss the extended stimuli in the modules/ directory. In particular, describe the \emph on PulseGen \emph default module and how it can complete replace the asynchronous stimuli. Also describe the \emph on PullUp \emph default and \emph on PullDown \emph default modules and how they can be manipulated into being general purpose DC voltage sources (FIXME, would it make sense to rename these modules?). \end_layout \begin_layout Chapter Modules \begin_inset LatexCommand \index{Modules} \end_inset \begin_inset LatexCommand \label{cha:Modules} \end_inset \end_layout \begin_layout Standard gpsim has been designed to debug microprocessors. However, microprocessors are always a part of a system. And invariably, the bugs one often encounters are those that are a result of interfacing with a system. Modules provide users with a way to extend gpsim and simulate a system. For example, the \emph on system \emph default may be a processor with a few pull up resistors and switches or it may be a processor and an LCD display. gpsim provides a few modules that one may use either for debugging or as templates for creating new modules. \end_layout \begin_layout Standard Modules reside in a library and are dynamically loaded with the \emph on module \emph default command. All modules have I/O pins which can connect to other modules or processors. Most modules provide \emph on attributes \emph default that allow the user to control a module's behavior or query its internal state. For example, the USART module has transmit and receive baud rate attributes that may be configured: \end_layout \begin_layout LyX-Code gpsim> U1.txbaud = 9600 # set the transmit rate \end_layout \begin_layout LyX-Code gpsim> U1.rxbaud # query the receiver rate \end_layout \begin_layout LyX-Code 9600 \end_layout \begin_layout Standard The symbol command can be used to query all attributes of a module. \end_layout \begin_layout LyX-Code gpsim> symbol U1. # note the period \end_layout \begin_layout LyX-Code U1 = USARTModule \end_layout \begin_layout LyX-Code U1.console = false \end_layout \begin_layout LyX-Code U1.crlf = true \end_layout \begin_layout LyX-Code U1.loop = true \end_layout \begin_layout LyX-Code U1.rx = 0 \end_layout \begin_layout LyX-Code U1.rxbaud = 9600 \end_layout \begin_layout LyX-Code U1.tx = 0 \end_layout \begin_layout LyX-Code U1.txbaud = 9600 \end_layout \begin_layout LyX-Code U1.xpos = 72.00000000000000 \end_layout \begin_layout LyX-Code U1.ypos = 276.0000000000000 \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard Modules may provide only help which can be accessed using the help command: \end_layout \begin_layout LyX-Code gpsim> help U1 \end_layout \begin_layout LyX-Code USARTModule \end_layout \begin_layout LyX-Code no description \end_layout \begin_layout Standard Well, the USART module isn't the best example here! However, a better example is one of the USART attributes. \end_layout \begin_layout LyX-Code gpsim> help U1.txbaud \end_layout \begin_layout LyX-Code 9600 \end_layout \begin_layout LyX-Code USART Module Transmitter baud rate \end_layout \begin_layout LyX-Code \end_layout \begin_layout Section gpsim Modules \end_layout \begin_layout Standard gpsim provides a library of useful modules for simulation. The current version includes the following modules: \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard pushbutton \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard pullup \end_layout \end_inset \begin_inset Text \begin_layout Standard A resistor connected (nominally) to Vdd \end_layout \end_inset \begin_inset Text \begin_layout Standard pulldown \end_layout \end_inset \begin_inset Text \begin_layout Standard A resistor connected (nominally) to Vss \end_layout \end_inset \begin_inset Text \begin_layout Standard usart \end_layout \end_inset \begin_inset Text \begin_layout Standard A serial interface with a GUI terminal window \end_layout \end_inset \begin_inset Text \begin_layout Standard pulsegen \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard I2C eeprom \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard switch \end_layout \end_inset \begin_inset Text \begin_layout Standard Switch, which connects two nodes together \end_layout \end_inset \begin_inset Text \begin_layout Standard and2 \end_layout \end_inset \begin_inset Text \begin_layout Standard 2-input logical AND gate \end_layout \end_inset \begin_inset Text \begin_layout Standard or2 \end_layout \end_inset \begin_inset Text \begin_layout Standard 2-input logical OR gate \end_layout \end_inset \begin_inset Text \begin_layout Standard xor2 \end_layout \end_inset \begin_inset Text \begin_layout Standard 2-input logical XOR gate \end_layout \end_inset \begin_inset Text \begin_layout Standard not \end_layout \end_inset \begin_inset Text \begin_layout Standard Inverter (logical NOT gate) \end_layout \end_inset \begin_inset Text \begin_layout Standard led_7segments \end_layout \end_inset \begin_inset Text \begin_layout Standard A 7-segment LED digit \end_layout \end_inset \begin_inset Text \begin_layout Standard led \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \begin_inset Text \begin_layout Standard TTL377 \end_layout \end_inset \begin_inset Text \begin_layout Standard A 74HC377 style 8-bit tristate latch \end_layout \end_inset \begin_inset Text \begin_layout Standard Encoder \end_layout \end_inset \begin_inset Text \begin_layout Standard \end_layout \end_inset \end_inset \end_layout \begin_layout Subsection USART \begin_inset LatexCommand \index{USART module} \end_inset \end_layout \begin_layout Standard The USART module is a full duplex configurable USART. In graphics mode, the USART will display its output in a console. In addition, the console will accept keyboard input. \end_layout \begin_layout Subsubsection* Attributes \end_layout \begin_layout Standard .tx - The \emph on .tx \emph default attribute is the USART transmit register. Data written to this attribute will initiate a transmission. The USART does not support a transmit FIFO. \end_layout \begin_layout Standard .rx - The \emph on .rx \emph default attribute is the USART receiver register. Data received by the USART is available for querying through here. \end_layout \begin_layout Standard .txbaud - The \emph on .txbaud \emph default attribute specifies the transmitter baud rate. \end_layout \begin_layout Standard .rxbaud - The .rxbaud attribute specifies the receiver baud rate. \end_layout \begin_layout Standard .console - When set to \emph on true \emph default , the console window will display received data and will accept keyboard entries for the transmitter. \end_layout \begin_layout Standard .crlf - When set to \emph on true \emph default , carraige returns and line feeds generate new lines in the console window. \end_layout \begin_layout Standard .loop - When set to true, received characters are looped back to the transmitter. \end_layout \begin_layout Standard .xpos - horizontal position in breadboard window. \end_layout \begin_layout Standard .ypos - vertical position in breadboard window. \end_layout \begin_layout Subsubsection* I/O Pins \end_layout \begin_layout Standard .TXPIN - transmit pin \end_layout \begin_layout Standard .RXPIN - receiver pin \end_layout \begin_layout Standard .CTS - Clear to send pin. This can be left unconnect \end_layout \begin_layout Standard .RTS - Request to send pin. \end_layout \begin_layout Subsection Logic \begin_inset LatexCommand \index{Logic} \end_inset \end_layout \begin_layout Standard The only attributes supported be the logic devices are the standard \emph on .xpos \emph default and \emph on .ypos \emph default breadboard positions. \begin_inset Note Greyedout status collapsed \begin_layout Standard FIXME There should be attributes to specify the switching characteristics. \end_layout \end_inset \end_layout \begin_layout Subsection* and2 \begin_inset LatexCommand \index{and2} \end_inset - Two input AND gate \end_layout \begin_layout Subsubsection* I/O pins \end_layout \begin_layout Standard .in0 - First input \end_layout \begin_layout Standard .in1 - First input \end_layout \begin_layout Standard .out - Output \end_layout \begin_layout Subsection* or2 \begin_inset LatexCommand \index{or2} \end_inset - Two input OR gate \end_layout \begin_layout Standard .in0 - First input \end_layout \begin_layout Standard .in1 - First input \end_layout \begin_layout Standard .out - Output \end_layout \begin_layout Subsection* xor2 \begin_inset LatexCommand \index{xor2} \end_inset - Two input XOR gate \end_layout \begin_layout Standard .in0 - First input \end_layout \begin_layout Standard .in1 - First input \end_layout \begin_layout Standard .out - Output \end_layout \begin_layout Subsection* not \begin_inset LatexCommand \index{not} \end_inset - Inverter \end_layout \begin_layout Standard .in0 - Input \end_layout \begin_layout Standard .out - Output \end_layout \begin_layout Subsection I2C EEPROM \begin_inset LatexCommand \index{I2C EEPROM} \end_inset \end_layout \begin_layout Standard There are currently three I2C EEPROMs supported: I2C-EEPROM2k, I2C-EEPROM16k, and I2C-EEPROM256K. \begin_inset Note Greyedout status open \begin_layout Standard FIXME. Probably should have attributes for configuring the prom size. Also, there's currently no way to query or modify the prom contents. \end_layout \end_inset \end_layout \begin_layout Subsubsection* I/O Pins \end_layout \begin_layout Standard .A0 - \end_layout \begin_layout Standard .A1 - \end_layout \begin_layout Standard .SCL - \end_layout \begin_layout Standard .SDA - \end_layout \begin_layout Standard .WP \end_layout \begin_layout Subsection \begin_inset LatexCommand \label{sub:Switches-&-Resistors} \end_inset Switches \begin_inset LatexCommand \index{Switches} \end_inset & Resistors \begin_inset LatexCommand \index{Resistors} \end_inset \end_layout \begin_layout Standard The \emph on switch \emph default module is a model of a simple two terminal switch. It may be controlled either from the command line or the breadboard gui. The \emph on switch \emph default module's open and closed resistance are controlled by attributes. Thus a two terminal resistor can be modeled as a switch that is always closed (or open). \end_layout \begin_layout Subsubsection* Attributes \end_layout \begin_layout Standard .Ropen - Switch resistance in ohms when the switch is opened. \end_layout \begin_layout Standard .Rclosed - Switch resistance in ohms when the switch is closed. \end_layout \begin_layout Standard .state - Switch state. When \emph on false \emph default the switch is open. The \emph on .state \emph default attribute is writable. \end_layout \begin_layout Subsubsection* I/O Pins \end_layout \begin_layout Standard .A - One side \end_layout \begin_layout Standard .B - The other side \end_layout \begin_layout Subsection Voltage Sources \begin_inset LatexCommand \index{Voltage Sources} \end_inset , Resistors \begin_inset LatexCommand \index{Resistors} \end_inset , and Capacitors \begin_inset LatexCommand \index{Capacitors} \end_inset \end_layout \begin_layout Standard The \emph on pullup \emph default and \emph on pulldown \emph default modules are two terminal devices with one terminal tied to a voltage source. Their voltage, resistance, and pin capacitance are controllable via attributes. \end_layout \begin_layout Subsubsection* Attributes \end_layout \begin_layout Standard .voltage - DC voltage \end_layout \begin_layout Standard .resistance - resistance in ohms between the I/O pin and the voltage source. \end_layout \begin_layout Standard .capacitance - capacitance in farads between the I/O pin and ground. \end_layout \begin_layout Subsubsection* I/O Pins \end_layout \begin_layout Standard .pin - the only pin exposed. \end_layout \begin_layout Section Third Party Modules \end_layout \begin_layout Standard In addition to the standard modules, third are separately distribute gpsim modules. \end_layout \begin_layout Subsection Character LCD - HD44780 \begin_inset LatexCommand \index{HD44780} \end_inset \end_layout \begin_layout Standard This module emulates the ubiquitous HD44780 character LCDs. \end_layout \begin_layout Subsection Graphic LCD - SED1530 \begin_inset LatexCommand \index{SED1530} \end_inset \end_layout \begin_layout Standard This module emulates a 100X32 pixel graphics LCD based on dual SED1350 controlle rs. \end_layout \begin_layout Section Writing new modules \end_layout \begin_layout Standard A module is a library of code. On Windows the library is a .DLL and on Unix a shared library. There are a few details that a module must adhere to, but in general the module has full access to gpsim's API. \end_layout \begin_layout Standard The easiest way to write a new module is to start from the source code from one of the existing modules. For example, suppose your project produces a serial bit-stream in PPM coding and you want to display the output during the simulation. The external module you need is similar to the usart module but not the same, so start by making a copy of the usart module and then modify it to work how you need. \end_layout \begin_layout Standard To be able to load your module into gpsim it needs to be in a library. Usually you will be creating a new library just for one device, but sometimes you'll have a few devices. Either way, the library must declare to gpsim what devices it contains. This is achieved with an array of Module_Types class instances, returned to gpsim by a function named \begin_inset Quotes eld \end_inset get_mod_list \begin_inset Quotes erd \end_inset . All gpsim module libraries must declare this function. You can copy the required template from the gpsim source -- probably one of the \begin_inset Quotes eld \end_inset extras \begin_inset Quotes erd \end_inset modules is slightly cleaner than the main library. For our PPM decoder example, we might have a module_manager.cc containing the following code: \end_layout \begin_layout LyX-Code /* IN_MODULE should be defined for modules */ \end_layout \begin_layout LyX-Code #define IN_MODULE \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code #include \end_layout \begin_layout LyX-Code #include \end_layout \begin_layout LyX-Code #include "ppm.h" \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code Module_Types available_modules[] = \end_layout \begin_layout LyX-Code { \end_layout \begin_layout LyX-Code { "ppm_display", "ppm_rx_iface", PpmDisplay::construct}, \end_layout \begin_layout LyX-Code // No more modules \end_layout \begin_layout LyX-Code { NULL,NULL,NULL} \end_layout \begin_layout LyX-Code }; \end_layout \begin_layout LyX-Code #ifdef __cplusplus \end_layout \begin_layout LyX-Code extern "C" { \end_layout \begin_layout LyX-Code #endif /* __cplusplus */ \end_layout \begin_layout LyX-Code /***************************************************************** \end_layout \begin_layout LyX-Code * get_mod_list - Report all of the modules in this library. \end_layout \begin_layout LyX-Code * \end_layout \begin_layout LyX-Code * This is a required function for gpsim compliant libraries. \end_layout \begin_layout LyX-Code */ \end_layout \begin_layout LyX-Code Module_Types * get_mod_list(void) \end_layout \begin_layout LyX-Code { \end_layout \begin_layout LyX-Code return available_modules; \end_layout \begin_layout LyX-Code } \end_layout \begin_layout LyX-Code #ifdef __cplusplus \end_layout \begin_layout LyX-Code } \end_layout \begin_layout LyX-Code #endif /* __cplusplus */ \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard This declares that this library provides one module, called ppm_display, implemented by the C++ class PpmDisplay. The class which implements the module must provide a static method \begin_inset Quotes eld \end_inset construct \begin_inset Quotes erd \end_inset to create a new instance of the class. For example: \end_layout \begin_layout LyX-Code Module * PpmDisplay::construct(const char *_new_name=0) \end_layout \begin_layout LyX-Code { \end_layout \begin_layout LyX-Code PpmDisplay *ppmd = new PpmDisplay(_new_name); \end_layout \begin_layout LyX-Code ppmd->create_iopin_map(); \end_layout \begin_layout LyX-Code ppmd->create_window(_new_name); \end_layout \begin_layout LyX-Code return ppmd; \end_layout \begin_layout LyX-Code } \end_layout \begin_layout Standard Your module will need to include stimuli for its I/O connections. You can use the standard gpsim stimulus classes: IOPIN, io_bidirectional, io_bidirectional_pu, io_open_collector. In many cases, however, you will want to derive your own class from one of them. This will allow you to customise the actions when the node state changes. For example: \end_layout \begin_layout LyX-Code class DecoderPin : public IOPIN \end_layout \begin_layout LyX-Code { \end_layout \begin_layout LyX-Code private: \end_layout \begin_layout LyX-Code PpmDisplay * Parent; \end_layout \begin_layout LyX-Code public: \end_layout \begin_layout LyX-Code DecoderPin ( PpmDisplay * parent, unsigned int b, const char * name=0 ); \end_layout \begin_layout LyX-Code virtual void setDrivenState(bool new_state); \end_layout \begin_layout LyX-Code }; \end_layout \begin_layout Standard The only methods we provide here are the constructor and an overridden \begin_inset Quotes eld \end_inset setDrivenState \begin_inset Quotes erd \end_inset . This is because our PPM decoder needs to be told when the input pin changes state. \end_layout \begin_layout Chapter Symbolic Debugging \end_layout \begin_layout Standard gpsim maintains a symbol table. \end_layout \begin_layout Standard \end_layout \begin_layout Chapter Macros \end_layout \begin_layout Standard \end_layout \begin_layout Standard \end_layout \begin_layout Chapter Hex Files \end_layout \begin_layout Standard The target code simulated by gpsim can be supplied by a hex file, or more specifically an Intel Hex file. gpsim accepts the format of hex provided by gpasm and mpasm. The hex file does not provide any symbolic information. It's recommended that hex files only be used if 1) you suspect there's a problem with the way .cod files are generated by your assembler or compiler OR 2) your assembler or compiler doesn't generate .cod files. Also, you must supply a processor when loading hex files. See the load command. \end_layout \begin_layout Chapter The ICD- Not Supported in versions 0.21.0 and later \end_layout \begin_layout Standard gpsim supports (partly) the first version of the ICD (as opposed to ICD2 (the round hockey-puck shaped one)). \end_layout \begin_layout Subsection* Special configuration of the code \end_layout \begin_layout Standard Read the MPLAB ICD USER's GUIDE. \end_layout \begin_layout Standard Here's the short version: \end_layout \begin_layout Itemize disable at least: brown out detection, low voltage programming and all code protection. It is probably good to turn of the watchdog too. see the MPLAB ICD USER's GUIDE for more information. \end_layout \begin_layout Itemize have a NOP as the first instruction. \end_layout \begin_layout Itemize Don't touch RB6 or RB7. \end_layout \begin_layout Itemize Don't use the last stack level. \end_layout \begin_layout Itemize Don't use these registers and program words: \newline \begin_inset Tabular \begin_inset Text \begin_layout Standard Processor \end_layout \end_inset \begin_inset Text \begin_layout Standard Register \end_layout \end_inset \begin_inset Text \begin_layout Standard Program \end_layout \end_inset \begin_inset Text \begin_layout Standard -870/1/2 \end_layout \end_inset \begin_inset Text \begin_layout Standard 0x70, 0xBB-0xBF \end_layout \end_inset \begin_inset Text \begin_layout Standard 0x6E0-0x7FF \end_layout \end_inset \begin_inset Text \begin_layout Standard -873/4 \end_layout \end_inset \begin_inset Text \begin_layout Standard 0x6D, 0x1fD, 0xEB-0xF0, 0x1Eb-0x1F0 \end_layout \end_inset \begin_inset Text \begin_layout Standard 0xEE0-0xFFF \end_layout \end_inset \begin_inset Text \begin_layout Standard -876/7 \end_layout \end_inset \begin_inset Text \begin_layout Standard 0x70, 0x1Eb-0x1Ef \end_layout \end_inset \begin_inset Text \begin_layout Standard 0x1F00-0x1FFF \end_layout \end_inset \end_inset \end_layout \begin_layout Subsection* icdprog \end_layout \begin_layout Standard Download and install icdprog. \end_layout \begin_layout Standard Use icdprog to program the target with the hex file ( \emph on icdprog mycode.hex \emph default ). \end_layout \begin_layout Subsection* ICD usage \end_layout \begin_layout Standard Start gpsim like this: \end_layout \begin_layout Standard \emph on gpsim -d /dev/ttyS0 -s mycode.cod \end_layout \begin_layout Standard , assuming the ICD is connected to the first serial port. \end_layout \begin_layout Standard Now you can type 'icd' to see some information: \end_layout \begin_layout Standard \emph on **gpsim> icd \newline ICD version "2.31.00" was found. \newline Target controller is 16F877 rev 13. \newline Vdd: 5.2 Vpp: 13.3 \newline Debug module is present \end_layout \begin_layout Standard 2.31 is the firmware version. I have only tried this particular version... \end_layout \begin_layout Standard You can step, reset, run, halt, set the breakpoint and read file registers. It works both from the gui and the cli. \end_layout \begin_layout Subsection* ICD TODO \end_layout \begin_layout Itemize MPLAB has a setting for target cpu frequency, I have only tried with a 20MHz crystal, so there may be adjustments to be made to the serial port timeout settings in gpsim. \end_layout \begin_layout Itemize The source, disassembly, watch, symbol and RAM windows works. And the rest doesn't. I guess the breadboard should be able to work at least for the pic, but it doesn't. \end_layout \begin_layout Itemize eeprom support \end_layout \begin_layout Itemize modifying data \end_layout \begin_layout Itemize Fix the UI to give more feedback about what's happening during long delays. \end_layout \begin_layout Itemize Better error detection. gpsim doesn't always see that the target is not functional. \end_layout \begin_layout Chapter Examples \end_layout \begin_layout Standard The \emph on examples/ \emph default subdirectory contains several examples. The \emph on examples/projects/ \emph default subdirectory demonstrate sample projects that can serve as templates for new projects. In addition, the \emph on examples/modules \emph default subdirectory contains several examples illustrating how to use gpsim's various modules. Finally, as described in chapter \begin_inset LatexCommand \ref{cha:Regression-Tests} \end_inset , gpsim's regression tests illustrate many powerful debugging techniques that have not been fully documented. \end_layout \begin_layout Subsubsection* usart_gui example \end_layout \begin_layout Standard Each example contains a brief \emph on README \emph default explaning its purpose. For example, the \emph on README \emph default for the \emph on usart_gui \emph default example in the \emph on examples/modules \emph default directory contains \end_layout \begin_layout LyX-Code The tests the USART module with the GUI fix. \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code The code for a 16f628 PIC is used. The code first transmits a string of \end_layout \begin_layout LyX-Code characters, which are instructions to the user, to the USART module which \end_layout \begin_layout LyX-Code will then be displayed on its GUI. This verifies that the USART can receive \end_layout \begin_layout LyX-Code serial data. \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code When the focus is on the USART GUI window, characters typed on the keyboard \end_layout \begin_layout LyX-Code are sent from the USART to the PIC and then retransmitted from the PIC back \end_layout \begin_layout LyX-Code to the USART. \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code If all works, the typed characters will be displayed in the GUI text window \end_layout \begin_layout LyX-Code of the USART. Both transmit and receive must be functioning for this to \end_layout \begin_layout LyX-Code happen. \end_layout \begin_layout Standard \emph on Fixme \emph default - we really need to document all of the examples! \end_layout \begin_layout Chapter Regression Tests \begin_inset LatexCommand \label{cha:Regression-Tests} \end_inset \end_layout \begin_layout Standard Starting with version 0.22.0, gpsim distributes regression tests. The purpose of a regression test is to validate correctness. The tests are designed to exercise many of the aspects of gpsim and gpsim's modules. While designed primarily for developers though, the regression tests also serve as a rich source of examples. There are many features gpsim's developers will tuck away into a regression test and fail to document! \end_layout \begin_layout Chapter Theory of Operation \end_layout \begin_layout Standard This section is only provided for those who may be interested in how gpsim operates. The information in here is 'mostly' accurate. However, as gpsim evolves so do the details of the theory of operation. Use the information provided here as a high level introduction and use the (well commented :]) source to learn the details. \end_layout \begin_layout Section Background \end_layout \begin_layout Standard gpsim is written mostly in C++. Why? Well the main reason is to easily implement a hierarchical model of a pic. If you think about a microcontroller, it's really easy to modularize the various components. C++ lends itself well to this conceptualization. Furthermore Microchip, like other microcontroller manufacturers, has created families of devices that are quite similar to one another. Again, the C++ provides 'inheritance' that allows the relationships to be shared among the various models of pics. \end_layout \begin_layout Section Instructions \begin_inset LatexCommand \index{instructions} \end_inset \end_layout \begin_layout Standard There's a base class for the 14-bit instructions (I plan to go one step further and create a base class from which all pic instructions can be derived). It primarily serves two purposes: storage that is common for each instruction and a means for generically accessing virtual functions. The common information consists of a name - or more specifically the instructio n mnemonic, the opcode, and a pointer to the processor owning the instruction. Some of the virtual functions are 'execute' and 'name'. As the hex file is decoded, instances of the instructions are created and stored in an array called program_memory. The index into this array is the address at which the instruction resides. To execute an instruction the following code sequence is invoked: \end_layout \begin_layout Quotation program_memory[pc.value]->execute(); \end_layout \begin_layout Standard which says, get the instruction at the current program counter (pc.value) and invoke via the virtual function execute(). This approach allows execution break points to be easily set. A special break point instruction can replace the one residing in the program memory array. When 'execute' is called the break point can be invoked. \end_layout \begin_layout Section General File Registers \begin_inset LatexCommand \index{registers} \end_inset \end_layout \begin_layout Standard A file register is simulated by the 'file_register' class. There is one instance of a 'file_register' object for each file register in the PIC. All of the registers are collected together into an array called 'registers' which is indexed by the registers' corresponding PIC addresses. The array is linear and not banked like it is in the PIC. (Banking is handled during the simulation.) \end_layout \begin_layout Section Special File Registers \end_layout \begin_layout Standard Special file registers are all of the other registers that are not general file registers. This includes the core registers like status and option and also the peripheral registers like eeadr for the eeprom. The special file registers are derived from the general file registers and are also stored in the 'registers' array. There is one instance for each register - even if the register is accessible in more than one bank. So for example, there's only one instance for the 'status' register, however it may be accessed through the 'registers' array in more than one place. \end_layout \begin_layout Standard All file registers are accessed by the virtual functions 'put' and 'get'. This is done for two main reasons. First, it conveniently encapsulates the breakpoint overhead (for register breakpoints) in the file register and not in the instruction. Second, and more important, it allows derived classes to implement the put and get more specifically. For example, a 'put' to the indf register is a whole lot different than a put to the intcon register. In each case, the 'put' initiates an action beyond simply storing a byte of data in an array. It also allows the following code sequence to be easily implemented: \end_layout \begin_layout LyX-Code movlw trisa ;Get the address of tris \end_layout \begin_layout LyX-Code movwf fsr \end_layout \begin_layout LyX-Code movf indf,w ;Read trisa indirectly \end_layout \begin_layout Section Example of an instruction \end_layout \begin_layout Standard Here's an example of the code for the movf instruction that illustrates what has been discussed above. Somewhere in gpsim the code sequence: \end_layout \begin_layout LyX-Code program_memory[pc.value]->execute(); \end_layout \begin_layout Standard is executed. Let's say that the pc is pointing to a movf instruction. The ->execute() virtual function will invoke MOVF::execute. I've added extra comments (that aren't in the main code) to illustrate in detail what's happening. \end_layout \begin_layout LyX-Code void MOVF::execute(void) \end_layout \begin_layout LyX-Code { \end_layout \begin_layout LyX-Code unsigned int source_value; \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code // All instructions are 'traced' (discussed below). It's sufficient \end_layout \begin_layout LyX-Code //to only store the opcode. However, even this may be unnecessary since \end_layout \begin_layout LyX-Code //the progam counter is also traced. Expect this to disappear in the \end_layout \begin_layout LyX-Code //future... \end_layout \begin_layout LyX-Code trace.instruction(opcode); \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code // 'source' is a pointer to a 'file_register' object. It is initialized \end_layout \begin_layout LyX-Code //by reading the 'registers' array. Note that the index depends on the \end_layout \begin_layout LyX-Code //'rp' bits (actually just one bit) in the status register. Time is \end_layout \begin_layout LyX-Code // saved by caching rp as opposed to decoding the status register. \end_layout \begin_layout LyX-Code source = cpu->registers[cpu->rp | opcode®_IN_INSTRUCTION_MASK]; \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code // We have no idea which register we are trying to access and how it \end_layout \begin_layout LyX-Code //should be accessed or if there's a breakpoint set on it. No problem, \end_layout \begin_layout LyX-Code //the virtual function 'get' will resolve all of those details \end_layout \begin_layout LyX-Code // and 'do the right thing'. \end_layout \begin_layout LyX-Code source_value = source->get(); \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code // If the destination is W, then the constructor has already initialized \end_layout \begin_layout LyX-Code //'destination'. Otherwise the destination and source are the same. \end_layout \begin_layout LyX-Code if(opcode&DESTINATION_MASK) \end_layout \begin_layout LyX-Code destination = source; // Result goes to source \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code // Write the source value to the destination. Again, we have no idea \end_layout \begin_layout LyX-Code // where the destination may be or \end_layout \begin_layout LyX-Code // or how the data should be written there. \end_layout \begin_layout LyX-Code destination->put(source_value); \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code // The movf instruction will set Z (zero) bit in the status register \end_layout \begin_layout LyX-Code //if the source value was zero. \end_layout \begin_layout LyX-Code cpu->status.put_Z(0==source_value); \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code // Finally, advance the pc by one. \end_layout \begin_layout LyX-Code cpu->pc.increment(); \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code } \end_layout \begin_layout LyX-Code \end_layout \begin_layout Section Trace \end_layout \begin_layout Standard Everything that is simulated is traced - \emph on all \emph toggle of the time. The trace buffer is one huge circular buffer of integers. Information is or'ed with a trace token and then is stored in the trace buffer. No attempt is made to associate the items in the trace buffer while the simulator is simulating a PIC. Thus, if you look at the raw buffer you'll see stuff like: cycle counter = ..., opcode fetch = ..., register read = ..., register write = ..., etc. However, this information is post processed to ascertain what happened and when it happened. It's also possible to use this information to undo the simulation, or in other words you can step backwards. I don't have this implemented yet though. \end_layout \begin_layout Section Breakpoints \end_layout \begin_layout Standard Breakpoints fall into three categories: execution, register, and cycle. \end_layout \begin_layout Subsubsection Execution: \end_layout \begin_layout Standard For execution breakpoints a special instruction appropriately called 'Breakpoint _Instruction' is created and placed into the program memory array at the location the break point is desired. The original instruction is saved in the newly created breapoint instruction. When the break point is cleared, the original instruction is fetched from the break point instruction and placed back into the program memory array. \end_layout \begin_layout Standard Note that this scheme has zero overhead. The simulation is only affected when the breakpoint is encountered. \end_layout \begin_layout Subsubsection Register: \end_layout \begin_layout Standard There are at least four different breakpoint types that can be set on a register: read any value, write any value, read a specific value, or write a specific value. Like the execution breakpoints, there are special breakpoint registers that replace a register object. So when the user sets a write breakpoint at register 0x20 for example, a new breakpoint object is created and insert into the file register array at location 0x20. When the simulator attempts to access register location 0x20, the breakpoint object will be accessed instead. \end_layout \begin_layout Standard Note that this scheme too has zero overhead, accept when a breakpoint is encountered. \end_layout \begin_layout Subsubsection Cycle: \end_layout \begin_layout Standard Cycle breakpoints allow gpsim to alter execution at a specific instruction cycle. This is useful for running your simulation for a very specific amount of time. Internally, gpsim makes extensive use of the cycle breakpoints. For example, the TMR0 object can be programmed to generate a periodic cycle break point. \end_layout \begin_layout Standard Cycle break points are implemented with a sorted doubly-linked list. The linked list contains two pieces of information (besides the links): the cycle at which the break is to occur and the call back function \begin_inset Foot status collapsed \begin_layout Standard A call back function is a pointer to a function. In this context, gpsim is given a pointer to the function that's to be invoked (called) whenever a cycle break occurs. \end_layout \end_inset that's to be invoked when the cycle does occur. The break logic is extremely simple. Whenever the cycle counter is advanced (that is, incremented), it's compared to the next desired cycle break point. If there's NO match, then we're done. So the overhead for cycle breaks is the time required to implement a comparison. If there IS a match, then the call back function associated with this break point is invoked and the next break point in the doubly-linked list serves as the reference for the next cycle break. \end_layout \begin_layout Chapter* COPYING \end_layout \begin_layout Standard The document is part of gpsim. \end_layout \begin_layout Standard gpsim is free software; you can redistribute it and/or modify it under the terms of the \begin_inset LatexCommand \index{GNU} \end_inset GNU General Public \begin_inset LatexCommand \index{License} \end_inset License as published by the Free Software Foundation; either version 2, or (at your option) any later version. \end_layout \begin_layout Standard gpsim is distributed in the hope that it will be useful, but WITHOUT ANY \begin_inset LatexCommand \index{NO WARRANTY} \end_inset WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. \end_layout \begin_layout Standard You should have received a copy of the GNU General Public License along with gpsim; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. \end_layout \begin_layout Standard \start_of_appendix \begin_inset LatexCommand \printindex{} \end_inset \end_layout \end_body \end_document gpsim-doc-0.22.0/gpsim.pdf0000644000175000017500000072372010530414027014320 0ustar whitewhite%PDF-1.3 %Çì¢ 6 0 obj <> stream xœeŽ=O1 †÷ü ®çÚ9;7"X‘@»T-*ÚSßOܦ y°ò¼Î „ dÓövr³[½ìÏn¾H·µà¾T±>9¢g(oîšcðIP=ˆFÌÊäºýéü1-ËÁ"0cÖj¨‘ž9˜· c%;×-6Ÿ¯£™Å@"µÓ¸' ÕÞS6M«Ÿ)4Òèã(ÑQ¾ =%¢KaÌ:4¼îÊû×qŸÑÿÚ¯Ý,˜4scOÇÆ”Ø7öm(a YùÏ÷ÖËÿ§† <;›HÿL endstream endobj 7 0 obj 214 endobj 20 0 obj <> stream xœí[ÏoÛ6vÔ_¡[ÓƒYñ7y\»´èØY••D«%Ù’Ü®ÿýHJ¤hÉ@ƒ$k-ÚðÁÈ'ò…â÷øô>RÞÇ €q¢?ÃwVFûhC³_Y¿]Gon¡ˆ\p¯ï¢¾Œ!Æ@Ä”S@Q¼.£›wuÕåU×¾^ÿ£:!K bDwbDµ]¿nàëWTp¨qÖ›èæ~×¥îƒ8„°!¼Ò!ªr,‡Ð¯•ŽA Dxˆ}übbðÚvy£cpÂ8b_Šü«ù'$ù¥ÃX¹?ÖF0u³+HM+ éŠ€H ]?¤Ÿ‹ê^ÇÕ<‚íít¹ 4!°š3Ûÿß>$!„ö^òìÐ¥Ÿ¶}c8´ƒ:Â¥ eÇ!‚ÊŸ ëYƒs,ò‚7t„¥h„aB}®p’¢Ø·ÒKCXÒõ´ÃP-BGÚz €D>½cÛî·¼K‹­Y‹8LK²a]qʱ雬®~¹?4=ó¨Z ÂB×»®¨«G±UÊ'ÍËÏÉê÷2ñL,ù¨¬*­ñt yJoÿü`æI “‹žß °ž5òÂüäcùÄTRðœ÷OKµ´¥]õEµ©ÌpÀÜãék;(L;‡)kÙüS&Š$¾ø¡¹‰º=T•uQÒÇ93¡c-Ô‰´ÅË&>ÁÜ|(š¼´S~ÃëÃûl°ê¹M«ç•*bŠ•ª—Ì44jz\I¿«Ë2­6úáŠÅÐ’õ}QkÔsq;+¨r½¹K³þ%€p{“bʼnº˜Qm S¥qÚuiö`†|„¨_ ‰‚ÂZ¨ÎËQçvö²'Ÿš¼/·5û±¥ïÙ¤*t¬ÅØlUáQMaÒYd„ŠcQ>aX²mžš}Qõ!”£Ÿ=ëg“Áб^z/Iï£ÕÓÓÛ¢‘ÞÌ“i2§ö¦hÓ¶ÍËaë\9$%mރ „”žäÒ¼<”;çÈ“7Èd…µ˜:sâ<&S__ÙœÇyöP[ç@^r¥—¼ °B`6ò˜Íç̾kòý!¯2£ÒH!¬møf€!àÔm¯„œ› °³111Ø#î±¹sê>äÛeJ¯åÜ¥`-U•}r O•åœÚEfö°!2!稾çœÏ °BPr>9/I,á…EØmg¥||-ãšÀб–ºñì±›ùRÝYàHí:Ý\]Êåa ÜDN„Û:v—iÖÔý»±z‹^h¾BÇZªNÌÔ×iw<82¹ÞúÓóÞ#Ž—Ÿ™Ð±–zÆBGÚNß5r‡ޏU½É­ÁÐnäš¿ËÀZªÁàž&û’쎳wMåm[›—6Ó¿fC¡%"t¬X:yµºBÇÔý¡pûlú£Å N`èXKõÅ»é‘/v'„ŽÚÍ¡2 )Ùæàlò:ÖRÝ´ð¤œL¤Ü+:¾·]>ž*Ê' èRÖRJÏnÈH ŽWXû“þоðû:þ+ÒŸÿýx×ßendstream endobj 21 0 obj 1148 endobj 33 0 obj <> stream xœí\MsÛ6ÉQ¿‚Çö „øzéÔO§3MÒXêäLKŒ¥Äe’NÒ__EYö(ŠMÐ4^Ë%ñøðv±ÒM’˜¤ÍŸýœ­F7£›j›û˜­’³éèõ†‰’!F’é§4ÃO`1"a‚©ÿ“éjôË›÷ï¦ç煉_§ŸÕ@Ä;Õ Â ) ‡¡æü1FpD“1âjT2«ÊæB@¢†7Æê¿Õeqݘ1‚Kg‰‚SÊï5QšRvÌÀSúêE}õõCA®/yÂjù‚`©mLP0CÁÉR‹d”v‘\/W·×·•Ʋê@Ï`n†î뇂]_GñÛqµ|àºPCàªøÇ(¤:ìÂ=Ø-6ß´U±6öðÏêÙÂZSÈéЦgè¾NÄ)I÷ve€ÝsQ·u™Írm%ê\~?á>ãÙ”¯Hõ„‘ Úp‡–qÞ_ Bˆ­)/«e±Ög2%¬~žS8t_§┲ãønëeÒ÷÷Æ"áF"”û<Áƒò©p1è}HX*cŒU6¨D¸)¶¢©¾!~;øÏ2Û,–³L×BŒswõ«¼´¯>€¿Öu^~rú‡¦€awÈ(¥Ýš~-9ᲃO$vøÛliV hš:ë·åz^X­%RæâÖiÄêq=îRÔ  öÕW¤Y«ÁíIªÎô«‡Â¨A©®·Ö¼Íצ؂$„õŽ¿ /†‡óXâ%DŸÜaI€º<»­ëbm ~ ï¿éÞ<ÓAùŠ5 §–èïpm“¦¼œÕ6û# @êc_s# Íj? ¹í NžPWj4˜¬j‡—|Il«Þ&ÅmiD!NÚ^ë¬ÔêMæ{Q§¤ee±Æè©*¼½˜ì¾úŠ„fuÄY¡}â dÕJC3’§ø>êS±:õû¿½˜Ä¾úŠu% ÀÅðÅí“^ï73»äazº Ò×¥6B¤ ΨST ¨DÒÅ0nLpʱ‹´^äœÄe· ¸ülÃeyáwÇL±ôq} ½AŠp¬u0 _ß®tfÂŤÂÝêÕ²ªí<@9QÙiDL<îCîYôÕW¬Ð¥[è²*›/:mÛù„›j¹£œ») 2€áK•­7¾bÅ)Ûâ” K»ýؘTN ‰tHt=!PÈ}OÈÐÀŽ+ ÷yªå+VÑÈÛ8è–í¡Û:›}y¨.0 B].ÐwqNÏÐ}ÅÊÁvY¸ÕÁ»È=+ól~Ydå¼9F•Z•䨘úüÜå+ÖOØ4JÛŒ*º¸œj869´÷àÚñ”8P?,<ÇÒô…c{í+VŽ àÌŠ¥ÿÊËÿ”Å«k³…¢ ‹ÒÃɘ-0¤G˃ÞLÅ |Ūcƒ~g.ÂmÀî—L&¾QŸÉnR† Àø¥Q?6_‘¶ëà°›™ì4Lt¿d2™C± â;—mAÊmÁušéª»;ÏT”Þx@ ì¦1<œGÒø@[& »2u‘¶Ý•9™•ËM½\_5‡‚úM l­ó1­.¤‹èM±~uu[Úˆªƒ~ƒ CÇž®Ì–Ú&ûš2ÏW—ù|žëkªäµ„þš«• FïeP¥n°D=O_}Åʽ"fÇo d¯$¨–z;^åeH2çc•ÍÌF&F ¾£7¾9쫯X 3ÀC;Ì´o7Ì in"A„;K!O>!}õi悃FÂZ$´§dU•—µ^Ú”kF÷ñD?±‰ö9øŠJ:—°Í9{›ÍfŽZЄJ¬5¯+k$è ñÏ×Ð}EZHÇšýîÈ8h˜rè=÷vÊñ‡fÉ¥ýba*9ðíhÛœƒ Ÿsœ¯óµË Ô[’úŒûÌ”Ø[ RyöeS,×îM‘€ùev7Aa²ÕÐB÷e(;@8B;«Ì_ú½;¥9Ôë> Óuk˜ÿÄzÀ 1zG2ÄëâÈnÏN‘»ªÿµ„p w禪¿‹«ßô©ÍOx‚ý¸ÈÌúÍb>ÌEVÙÉݾ‹l³É׿›«©›ò- X‡z>M>Œš¿ÿ,pšendstream endobj 34 0 obj 1583 endobj 37 0 obj <> stream xœí[MsÛ6½ûWèÔIgjÀbñÑ[b»‰g’8µÔæÌÈŒÌFŠjâ$@Rd’NªÆ¤ÜñÁ1<|ìÃÛ]ù0¡„MhñSýž¯N>œ|˜0WæÍW“§³“Ç×À&†É¥˜ÌÞ°²™T6aDO¤–öïÉluòèìêÕìâÕlúóì/Û«NCÛH(NÅf3¨ê‹fýSM¤­xÊ•-ÌnN©¢"D+VÀEÓdµ[Fy²^ß„!«oùmì QŒú×q´,J9#š)_ú¦(2„·3+‹Òlyó««)£Tûó¢ÇÄM4ˆê˜¾iŸÓD 69µãVÕ4s¸œhÃ=îóÔA2b´àUÙÇrTh¸1UÑ,ÌIH»|eá]Q¤0ÆZÒ™0Ù€å&¾qñŠMqDOÄ’<˜aÜ¡bz‡T¯Ê%éz’Y `çsj“IÅ]Mí·’Ù—éÍnoK ±¹e áSänn©©hŠ“îË-›m²rÅ’h¡¡Ûà6{Ô#2çQa4)¢ö¢%°º?)ücúäÚщ¡A§g™Yä¡.ñ±cUküSfOË„µÍ¿é"™;¢‘èù¨°Æª€X3PŠ}„./ù™GÑ"ϋץ,1:8á«—•T*½/Œƒ0ÙP±Æ*f2PIR]`ÿáÉ$ºdš~Lòùm/j} ù“ç6¦ ÷×ñ6ÙæiV†{”h ßÖ¿AtÈäøQ©lM¬RY Ær`—EhK€†  e-ÜõQ;˜¦»loq 6ÃföIã¾ ËBþ[´v©2³P&¬éY´‰æ‰§2.ãa€{< rWÕÉ8ìïΞ³ñÙm’¹õ± *é¡_—V±¶ãa³ü®êÐhæ—«™›5ö™›=¬±zÕ0 `ðÞ{·Û(‹æyœU–1á·ù‹³óЧ‚£/<õ2QoìççB(íNÏ·™{ V¿wµ)›½ãÞ—Ø<Ë¢Ím™Ú€ÕfØ?°¹B~\Ó‹s†@+ÒØÐàŽmÜ4¸÷Í_8¤¬½ù{n°Þd‰@‚ÇY;Ÿoç"Dˆ=OKVÓGcCG®ÇaÝ¡bšu_8Áfî»$¡{²÷ënõ6]–BTèrz¿uÕ%1õ€v‹EEX^\·2¨buuk»”‚5ÍõJîk¿ŒæÎÛÙô™A mZ¾B(Ò©ð¤ Y+y —uqŸÇŸ\¡!Ñþ–T[Äî‚#o Cc‘ïû7\†P©¼%.ÏÎ.Û–Ôý~•æÝØpºÛlÒ,¯®ªáÈü¬“µ«N‰2Ú#ÿíªÃX¸Oˆ³m’–ï4€ÛÄÑ7§„3â–˜[NÔ†ò±¾¢ú0bUa+ž”…@!,…0mãAw-.>E«Mó΃zš#6–TµpDç:^”$ Ä(ê§o·Õ $;ÍDëÈÙ20ð%Þæ¥]¥ ^࡬Á±iWìµkšÝyýà{Kßy£híWéjgQW8í°€~ö<$l…€ ëËí—íi4¿ÈÒ]i1„Û›ÖHƒTl¤Ä ›AªåeȈ//×Û<ÛÍs¯;–™@ù½‡™ƒ`ÀP±Ž€™(ö3ΙÏâµÕb÷(Ü&OT/Yøzï}Míh*17TûÉÖºÂÒ}h-ðoOtö*ÖXy§kÞu<µèðnº‰çIÅ;fk†wEßÃ;°àÞ Ëü Û&ï4ßóÄØá]r;ÖØ¨XIxöÅ©Q™PØ\N†d'©]yñQHb9Þ·ñ†Šub†rOÌd‡TUF¥P„,šûË&ê»ø1~;ÖHnÈÆ@½ÇnÕa÷Ó,ŽÞoÒdûÜ…×ç+ã\ûcÇéékIÌ‹Ùä÷“âç3|¤’2endstream endobj 38 0 obj 1693 endobj 41 0 obj <> stream xœµWKo7¾ëWèÔ:€Å,ßä1 ŠÀ€ó¨¡ ø²^QÒ6ûÊ>º¿¾³|ÌJ–êœj pÉÎ7ß|3ü¾Î]gó/þ/êÕ÷Õ÷5õké_Q¯Û®Þ>P³f‚h£éz»_…tM9'f-µ$’­·õêæ®û7Û¿V‚–q›¶»ÕM»›Š±l›ùËۦזXÅ”˜MmÒÖÄ¿ÿÐ e=of†dÂðh¦æ5šNeZËç%C`븴Ÿªj³wù8õn7–œÅhü<´ûñ‡7ÎH&•I†zç­Kb˜À½e=Uù؆˜(áÒ¤˜öaös!m\üX}[ËÎï—$Ó\ÆO_îÞûýnÏâZí··€Y[U®÷á)KDF“Á]9læÕ (8€¼Ãó‡±/Ÿ¼=N”Ò)ˆi ƒÉ£©Ù9Y& U"y!bAÔñ‡O_ýNA2kqÑ5®Ï«ù$Ü2š,™žª²ð4±Mß—…kÁUüðx3¸àÕ©­yí*ï?ùóîÓ¥"J$äçÉôø†xd˜Aò7pÚ˜üÑàùsÌ‘q\|rÎó’Q awCyh–njTJãØFZš4á×ìi_tE‰Ì’Ѽ(¦>*Š.éËÍܤÍ]; åSå|Œ(otúôÎÛ)"¸Ô¢™çy ò@á/•LSTDsé3A>ó!wÍX†:ÂeDe —ø«‰–)Ížš’(®yÂbß·u„Sj¥/ò+3tV´±ä€ñKA#À™Î.éÁ ¿{û9 -f³+›!ÒËPÉhv1ñJJuMÙ<6 HèîÝý} Ag:Yn÷ñ^RùÚ½Êft}«…Í0´Îõewœ+iiµDsDn{œ†ˆ<” àiâs9þdޤÉZP B©”æi¼k¨­ÏQ… e¦Eï"™"ÍRTÃ8«^é?À ­èŒ .ÉÊX&ö3ÎÔL%–ja_¹Äÿ’ÚÑ c\Í–ÿUW×h}uã×.†°¦Õ¡ä@ç¾ü9dqVJðêç¹¢#¨qy<9o§ÊGå·0§l"ù¨Í.kêD3!¥UrcZ×ÜôÕ.è§…{ê™nòµÞ›´¬°Kíé»®–Ð í™[¢ˆÚ :v¡ÀÔN_||Öy›Æ¾FŸ)ÿ!…–¯PH"X³ô Џ–1ѦlßqˆC ´vmñÄÐ9·  BÍŒ÷‘ 00sZÐ,ûxü'‚ ¤x‘(3E2Ÿ&“³DŸ…µQœxe¸L¢‚I “Xä 0¢€Ý‹f˜œI|dG`Å¢Âûñ)]Ò•ÀÇ4d0+0#zÔrœ}ÞË"*¤%J#bÓl@K`kÜ+ê»Ê’í"µ0»ôóÇ›_ïßÜFù™c àE[×QAÄ ª²ImT×ò35þÉuáÙÉuÞßÃu"0z!yçûÉÓs,†L1v~ky2àö®nã‘“É´ÞÁ0é†Ð[ø,&Ù†FÍ´F™zîR `H’ Gvî)²-‚:©Qa5êRœ²‡Øp”Àɰ*¿EÉ‹4º%–t³'P¬o] ˜·aœ³³ì.º9€ãêj—r´„Ã-Îh˜Ušóap5̦ñ»¢ 8º×€_ÊäR,Tr1Æ0¥â‰9¿\Ž$Å1oî66y»ŒPWÒ” ¬˜ $sßdK²û+sR^U—v˜º®íaÜÀ3 ÓˆÚ]‚ð ¬îvå,`·‘Öè“:è"Èð>‘6­ÿ¦4Å7ËÏùqò:{Áf®óCœóãT,NšØÐP£ ó>ÂTŒŒ€¤@±/€°Ì±’ 1Óe™C›Lð ù…vvRòž¥á,ŸGLÃ’mc®š¡cϯ"†·®á\á,N-ÃpÒÌ{ÒÞ›4oÀK̘39g0]HÄ8UU¦Ï>¼áEc/¨uÒE`mcÃ9y½äÜ@ÍOO¦¡‡º˜¿ü¾]ÿ±šÿ»aørendstream endobj 42 0 obj 1539 endobj 48 0 obj <> stream xœ½YYoÛH^äQ¿BoÎa›}wç-°’=²æ%/´DIœ¡D™‡ç×oõU-Ų ãÛh5‹u|õÕ¡ëyIè¼t?ñïb;»ž]Ï©?KÛùûËÙùW¡æ¬$J15¿\ÍÂtN9'f.MI,›_ng¯?lªýX÷¿]þ1Ó†HaÜ»\Î^Swtþ•š9DM˜"Ý)$#Ìß[ï‡fëî*K¸Õ2>^¸#*ˆ¤ÆÆ£w;wÆ5ÑšÓxöïF‰ x´a”V&q7Mý=(ÄôÜ f ¯ÕLá  Lø»+wÓÅ…Nï¾í&¯&%åÉÄe·;ó§†p^šx:º#P\ÂKâÑ¢êëxQeÇÎYbx©U<óJÂK4/ÓÃÕ2<+‰¡¨Ï¸é»i½ñÆs¸VEê±jÚáÿ¤$Rq|¢¼EK¯[äè¹Åè ›nj—ÞÎ6·©Û½—b Õ’?äu=Æ‚¯iÖb·öz0E¸2éò¤Rb CÃw^‚ƒ |YЀ˜~Úí@ ñZ+ÀOz\n’›iI“ÿúßec*òîóçxh…¦ÇoôvÈôü×Oï>~ùäƒ*ˆ¢,]~ÕÖCr…ÁÀ|oÚ6é@“%ûÞ‡šr¬ÕÉXK$GWn»Q¥Õi_Œ]±¬Fÿ™àD–2¹®Ù­º~[Mçó£`<Ë-ºkÜT»»ï9€ƒ-z1mëÝø&ZË(K÷‡.ˆ•´Ú·u5m5áL%`÷õ såü x§%á4'˦’½Â–éê«~IÈWÉæ!.)_¹Ñó‚K"ƒ”x®áÀ(‚&¾TFܹÁíøÂð:Ô¦1~Ô‹i¬®Úú4G”Š0ï&3"³ÖY4h&¹ÄûTk¥L&†Ñœ§£áÈRJ“Ó—I¹'H-YŠù¢¯ ˘ä–Q`ˆ>.5ú¸òìJ¤å<z[ív1íàT3ôN5žÅÐñ{ªE·ša°x[˜{!Ç7q¶D>ØN  Näγá´[E…¥0ò8F.왣ƒÓ>†Ng¾ëöõ.²ò { ~1;õ‹:’˜@BºÕø=J*%2pô[wúérþ_¨Š ˜È½‚îêžvb¹šãJçû‹ÙùÅ—ùØOõìü÷9ÿÓýzÿŸðçâãü³O^’{Þ ¢¬t‚¤‚‚OtºPƒ5j(,s®¤wÆÖl»ü-<Ò‹Ið{y½˜4 v¨Ù²}³OvJ;Á©~®×î ¤¼˜¿FRÉÿHHkŸªÒ3 |¨¼ßÇÊçeÄÊ2åcñãæç*2sÇwÅrë9ÃBšÄ%ä'I’,dYJb²þù(Ö^Ø`‡5 ÌŸM>ÅÅû˜ÐèÃ+qbÈACû¾†À¼̵ ˆ>pݺíU ô!ý 'ÜDhWŸ*é4…V.>/ Døí:n 9‡ròj=õ÷z !óª9È{¤Ü_kS¡XƒcYµÜζ՟þbé‘Nk@ÁYª\Ç”i×\OA.tf¿ŽP©-“h°û(XçIc¸…¼}`ÏpÙ=ãòÉ’NŒË¿£øAFÇ㡹~l/¬¦¯…@ Š:†ibè†_›Ð‚còƒ¡~†Â÷„šñ'K:jè._<ÔnSÀ µãwÐ ;åa¬Â¬ö ^XÿÐéC 4sÀF? ÏPø Ðò…CçvI¼,Ó¦ñ]»F>Å©­†1ªÀ|8ŽŽõ>ŽÙBâHÃ7H°©Ýïëë© •f%ep é»nÌ2’ä}ßDþµ¥I2nbNBŒÂÖa]iH•s·»2©B% ©¥ IR㘠}/ÃÍЗX08Œ[L¢ЧMÝÅǰÖñ ±<éP¤*¤q”Äjê›0ŽÙ_$KÊpÑùÆ{ˆƒ¯8|$ü_À · ë©)ZhN ÊñÖçÉ3ïX…\Ö«Ønêíª¦vŒ;plÔwPvJcÕ¯Qñ%=¶c1Ù  K6Á3€YiÉ–þíõº¯ö›fQµqíÂnꦡNM¯’:³ÊX÷«¸û¹I®õ·ßHê«IÞÏ+™!¿hlÌqU÷ÍÕ†"Œºn•£$nxÒ\Ç$¡ 'ë¶ÙåtB×>¨`jâi¶Çú}š5ÆÃ4ìЫº–Ü[ß„#m)Å®©iÝšã nl°›Ù¤u(cØ:}¯óÖI =Zžôi‰ QÜ6n½ŽêÀmˆ¼S(E`_wû6·a¸éÜç-–#á2Ýÿcb9z{6mQ),¶s[Ý"Neº{u72SÓ¦í§ÉY{¢Ë›„"L0œƒº]{†~uÑÒ ®n#ú…Â]pd„¸Òs¤FqÝèËâÛHÄæˆÀ´¾¡ŽÀ4Ëì¸jÒ°¡áŽÐ.Še38|‘îP¢U ?Ü/ =†Äv•bÊ“¾Ózu½»M ÷85|áàÐ'tBO^©‰ëÔ·aw („£Ê[À¤¥€°àn{ZGW»¤ûµËðK]“ÆaÑq=L¨n:ñH WÁòü|ž½%Œ ܾæD¡ëeRWs´Ÿ0ž® vA¯wc-%§p.qz¬±=¡±¼ãíc_CšR÷ÁáªñÔС”ô²¸N_®ä½dÛ\õUßÔÃÛ «$¥à€¿)“Øú¹ŸÿIÊYÄendstream endobj 49 0 obj 2128 endobj 61 0 obj <> stream xœ¥XÛnÜFò¨¯˜‡kf‹}oNß°½Ž4Xca ŠCi¸Ë!i’#Eùú­¾9"7²0;;T:uªj¾nRB7©ýþ.g_Ͼn¨[‹‡ÍËíÙù%§›ŒdŠ)±ÙÞœQLé ÝPΉÙ(£àÿ7ÛÃÙ“W¿¾ø°}sùtûï3¡‰‘°w»;{B‰]¡Œd‚ê°öˇ«‹wv™Ã²‘q9±K’h©y\zñÞV$KUXú»]QDSžŠ°ôÿ,ÍHª$.^¼ùhWÏ/™^8Íglî‚òû¥™ïO8åD¶I˜†Uw79/Úæ¦º=ö¥=¢)ÑœE“dW ùu]&Ã>ïËÝšI¦ˆÔp$aÂÚî«Ánd€¯àчûª®gðrÆÂbÑ—ùèÞeŠ0™F¤Û¦|``FÅÝûã­ßKIÆTÄõÐ6m]ûªpñ’D ÍÃ7·]p››°ô»_Ê(¥¸«8ŽÖIFI„–hó¸ž0Åãêðp¸†ÝsÜL²ècÕÜ´ý!«¶!¹¡`­”ÌAŤ„¸þœ8ÿ †®^~x7¬‚·%‚àm7T‡¡JMtÊÇÀ£'ûòzh¬†0šED Äc_]»+$a™ˆFGqˆ‚ /nìØ$S­&sÝqN˜¦ñ¸ÅÂÁÀ1)Æä§)Ä 3«/‹²—NÜ­«ÞáYÈ9ÃE¼dÜ—žÃŒªEö‹h`{fODrÐh Ëô˜ Ãî%0רø’ƒÜ¥8R$O ÌÆx€Ÿ02›\ ‹Fat‡öØeˆ`™eŸoE»+I°VËL¡¨YŠ¡fy4[k=Ƈ Äç8øL¤d`lÓu–F’]{"h`B|åXÕ»€ T¢"8Gá¹®š¼pï"RŒÀ„V–áãǦúz,kRš†F)Æ /4W‡‡a,ñ\Åê2|;¨ˆ&¥‡M‘!@ É£†Î¥í äD¦è‹÷WÛhÃW_¼} ÓÆFæòÍ‹×ïÞ8 ÁnÊè‚@)[!bH Cìíæ!í0òlc>· 5Íq©§úVq°eL°ÅOÕ/«ÃÇâõ¥jvmHeÁ4ÖÜõ¢©P®†³("š¡þöÇfž(kf¬Î¡Ø‰IP 3Å=Ú¨0¶Þ$hCvİ%X–XÄëeÛÇ© çÜüòimF,¯šþs× üÏ"%ÅÊ]ÃX„#>©ÝTŠ-oÒ=[žI’®o‹rÚþÇçøO/Ž:M~F¤2MÆ''ì'ŽŸ>?)É-YB“tU…Ác”’ /®{e³‰eióßàôç§ÎEa{ç#/)VÝ ìþñj{yñþOM âë ðýè;ûS“ó¬v ü`ä·?ݘ ç Éдɸ™À¼ñ˜þ÷ƒÐ§LC%ÞË2+ë'®½]u ™Dª­}sv ýPvyÕë4Zu:Ý™a„´?ÔÄm» Fô±í¡V¹Ô¢¶¯>) ›ÖÇPæ}±'þ“EMHÝ­úsçg{tKFÉùÉ6ÛâQv¢DIµNˆºÂp¸8öŒQçøÚÝb­mê‡P® °…O¾îV­¨Š%gÃäòÄÅ«×Ë,9IµYv&»EÏAoÎÇñá*ýü”C¡ LvþZÖÝÂ)/õ¡Upæøþ¼êÙ>\äŽëWûöþñõcºgkû3 4ùmL:§Å,é’cüæH†]ÿëjèj_‹N#z $¾™0Sˆz¸æ”c³·—‡¶J9ýîé² ²Qãï˜]eë¹³fhI³oÌ«¿’®õpÿW‰‹Í(ÍÝFWL ºŸ[–¥ò(ØÀ{&|z÷¼jÝq,û/ß»ªc*Î>ª¦‹˜-M·}~ˆâùf»ùíÌþù/ÑúÀuendstream endobj 62 0 obj 2161 endobj 65 0 obj <> stream xœ•YÛnÛH]äQ_¡HDmöý˜8™ë¬í™yØì-Ñ2'©Ô8úû­&«ª)KÉÌÀ@„´úVU眪j}™gBγø‡ŸËíìËìË\cô±ÜÎßÝÍ.n´œœrf~÷0“ã2ççr.µùÜåþ?¿ÛÎ^]þøöã݇›×w¿ÍŒ¹…¹w«Ù+)âˆT"éqìŸo¯®ã°†áÜÒð"Yá­×4ôößÃj'Bæpè§8â„—:38ôËx¬ "s–¯>üG/n”?1 0^ ­ÔÔç/´Î……/Êêa¯O¯îËq3¦›))\x⯋Ëf»Û÷eû¿œ;ÛKa¢öÖ^d^g Ǿöƒ%™p>Ëq¬êâX6X^[ÔèVm ¹zØÎ ¡¡¥_‹ínS¢«•´¼y–K¡Gªoc´Ö4ÔvÕ²ØÄ/T4Ó©÷E÷8ŒÂRÒå—Ív[Ô«áJÈœ¾kÁ-ƒeZ ïxÁbŒ¥Òž<4û—ÃÝr¡5»`³ÁвÂ| VÔ›Ãp ¥ÖéÎ%¢ÁYK'õcü¤àùg CF×/ ¢x72í9F枣©Ÿ^°‡ë:hþÎ×5šB±iŠÕ8¬… YøÞ…ŲY¡m&s´ï‹1ÂÒ ¹a]Öe[ôå Cçþ€Ð1NÑkmµé†K/T€›%pxžßÿ\¯Ð9ÅÑ}‚å"ÃFVõªöÓ%]æ©{ƒŽò>¤3»j;ìé9Í]"´=Ä”ñVlº W!*îK´ÄgL‚ª&g¼ú÷‘>HÉøsˆ«þåˆþÜCFw£A©mþºyL4ºkº®ºGi¶BCÎ{n µ,3%2ÃÈBÁ–Akw3çþdÌb"¥¡O¯š=©sKF]ÖÑ•EUÇDƒ{š$Óœ2<ëd¬šúÓkä€÷p[1Ù­;Úy pÎüJ¦iS âËS³Ì,4„”¤k ÖDé&xjǨ_Ü@‰Þ­Œ |AÚ ‡ަü ðÅnÊ/ûªÅDhsÎn%зïΕ Áç.ÀËZdP,eŸsäîKFˆá2òê™PŽ?²:—À× “|®£{}HÑÆP8ÿUÕû¯mv³ðª'@yΦÝc³ß [ë ÒlRîSEÞWÊm€ÑS€Ïi÷uJ'4øÛ¾ëi*³÷R=Aø†]2E‹ 2ˆ¾kvûMÑ¢Á^2ÙGà>™äP¬ª®o«{dŒ ì8H±MÝá—q@7ÕçD¥gHv2x~(WM[¼Á‹_hƒŸï±š y:¬î÷oV±@”ýR0ã\xΑã‹Ò,xÍ›è™Ö,âŒ?)²œ¶Ý5- 1Y¥°Äe©È=ò¾1S’^¿Å[øŒÏ»|ƒ&;ÅJ{]-Ûæ¶y``´€,N_ýÕBÅŠ yæmá¯:r|nRÖdtf’Ñùîö½@µ… pñ‡ÞgϧÓ곇œOEõ®X~.Öå ¹Á Iè'½Têž}ªÁÎU‚í +™x·ïʇýFàŒÎO«†Ú’<µ¨ ¬<ïû9Ô!p±b‰å.ªõc”„L¢ä#°ñ‘‹œõud¤´)E¾Ø”Õ:.ùú\‘ÙcÙ Ss5r<Ä,{®w±ÆIíôi¾.jÊ‘“D‚˜=:dE/¬M‹O­;œZ×¶÷ÍñØ–¬«òé¤,ç¥ýzMïPy5ë¡úÍç¶!/¨3ÕŠ=g½:c½OB\9—­·]˜f9z纸ñjŇntx»…óÍ\Sç5N90>¶Ù šÁp”¹?#ÁN±#o¥¹áé»¶Yí—åø@R4wwœðÕ$#롎®2yJ¢˜»‰î#'ÝuJ<>u-]±-±´€VFšv[Û”aΤç'ÇOîoÕÉý‡RÑ{É<½þˆè6Üh¼½½>Áø`>„І¥8SýAÓÌ£(|¸›ÿ'þn`ñ‚Ù|&Äß%|„‘„Þ$~.·³wW³‹«ëyßîËÙůs9»ø1þóîã%|\½ŸÿmöájÜëìo ­Pl€*çÓŸ G€ÉتáÇD#HtìU3)ãlðØ "‘B8ö,Æò###ÖÙóÚ(v9©€‰j€ɦWÉ*1”a®!⌸'ÌúCÀo'K(€©]ƒ´ÀXŸ@ã;‹c)|wèË˶[­˜ìIǃJ>¯($@—Ûð\ä{ï¾sÚÐØ-«¾ÉGdü…¶—Øe /T}#< ‘ E_àÒ¡YšTxÌ«P°IÇ9ïõKÒŒHGe‡ã²ãmו[è€Zò™af'@Ç¿ÿQ@„endstream endobj 66 0 obj 2510 endobj 81 0 obj <> stream xœmSËnÛ0¼ë+xLÚpùæ5Azi  e9V!˶¤¶p¿¾|«B0Ü]Þ $4œüï/ͽ¹ŒXùõòÒ5ÏoBFA)¦HwjRä ‘†‚¤»4O¯gwÛ†åK÷³Ñ¤°ÂÇuÇæ‰èù a´ÑhÚÓJæyBÜëõrqó1D#jPÔd‚ïã<T àTaF¿Í¾ÚÉõC¢gšX°^¤ˆô¨,zFÄ„îC5C•Yú½¨@ u¾˜rQŽ‚)c,p† µ)4YJOA‹Âq ˜-%“‹¹×Å7.Ó#2RY†×mqãûykO×åOìžy!5i9BVgvò½C-j‡›;LCU¬‹¸Ã0]s0EÉ3+Y/×.Ö_Þ¡eü;Än„£°Üm©`Ë9z›[D0iš.FZ^Íû m÷æ§*Ï‚°”}œË»”¨Ñ6_½,ãFÀ½a¼h9k¿Œ·m¼ÎQ©D Ò”¤ë)í0eä®~2‘°•¨”Žj ×ÅÞÍ‘EÖUŽ›Öd¤Ë­®öFŒù}¥Þq\o“{ eÛªÒîá‘}äÀý ´þ‹ ·q~O ®ìÿ Î4XV=Óí³g€$¯Ãu[š®Æ}ºy‚(ü£øé£0ìãH‘ )CÒzö2q.¾väGÎ?À'+endstream endobj 82 0 obj 522 endobj 85 0 obj <> stream xœµ[moÛ8>ô¾åW=àÚý†ï/÷á€4Éb4m7à>ÜŠ­¤º³-W¶·í¿¿!EÒr,Y•ÎD¥eê™™‡Ã™áðË#2ÁöŸÿœ.ξœ}™7>¦‹É»‡³‹{F&I%Ÿ<<‘úgRMÈ„0†ôDj ÿŸ<,ÎÞ^ýrùéáæþ§‡ÿœq…´€gfgo)²#„"ÉòcWïî.?\Û/„@’cí¿xûáÆŽRˆæaŠÛ0ïÏvœqD”!~üÒI¤Ã,Ìì~~qOÕnÀÌE “&jcŸ¿y˜ü * ÊPÄݳç„#Rb$AH© âÚjêÝíÙÅíÝdSmó³‹LÈÙÅ/öÏ»OWðq{=ùÓÙÍ­›ËþÞMD(¼Y ¨Hf†MÔn—vùˆ’€_ ­pÓr±È–³†ˆ{°(µO¦‡ÅˆBÓ°õ€Uß»€qÎGë4¢'œ‹iûùÿBØU”š#Ð;¬$«õl³É¦Ÿ{ÙÕQXÃÕeDE –'õR^oŠÅv^¸e%2,ûMé< 8"ƒƒGY–³|ÝK§’uR€ð)(ÀAš’€œ£HÖ‹ï±Ê³ÿö² 1,†)ÂX6qý–oœa¢Œ‡žÕ>ހ邭#~Ê‘’ûáUY,7½!V'€Å§Ù(ìGÝÉ0 ÀŠ P'º£€Û¥l¥$¨oÛ¹|"%ä°Ëb¢›8/gnó" &%Êʯ¥c”1+Ö«yæ6FàפéWÒXF µÉ¿þ2Bô8j¨7j§‘l¨+F‰¬T¬¡u\1ϳª—.‰aÙÕgÀ)4pÝç ·7P†ÃÔÆ[“@¡¼ö* ‚ØðÔ©Íé;™‚9ê´Ú™‚™걆şÔÊ,Œ}9‹ÀºÌ`a-çy/_ƒíBÜašè®÷Ñ Š´$!þØ|vƒ„#Iyˆ=¦ÛªÊkë3kH1]m{)1BÀ.JCñI"Pa`¿MÂ[4Cõm«>&¤ÆDA‡†v¨®ÛCœƒ»óŽ¢T!%U\#Çýå]L^ƒ[iÛ¬nn>Ý{7e´Þæã]Æè¥“@ʨ“į0KëSdýŒt'>Uù—m¾œú‚¨0¸õ΄22+1XªaK'¦‰¶5ª]Uå4_¯krp0•ÁíŒ.òc„tüjð\íüÒ¤u0ʺsoãuÐø9Ÿ÷»˜Ä¨ÀÖ Ñ„õà¶D•Š‘É÷UíE$ÒF×àCÐ+…´xík9¯c» Áíx®v .ÓfÙvpâÞR¯ûbÚ[wK Š*Ýîs;T·K¿I·£«¢šn‹Ó4 -×ù£§''*<½}~Ž"Ä¥±Z³]­ÊjƒzÙ1BæNvp:x®vvpJS'à–uùÉÚa^¬;SˆHĨ¨ÆHXµƒÕ­Ëm5­ŠFbç%jw°ïÀ‚l68b±ˆÿjÞŸ^‘¸“¶Ât’’†´éu½QŠ­ÉQfý¾#1**!<4¢ 뽇6Ò&n)]rËRÇÌ1ÎEð1ßìB ’ó0Ô27öN±¾óª;±Œ¬¡ªNV5x®vVGM6ƒËQt"° ']óò¹—T‰AQH¸`7Q½/Ÿ/ª|ZVµm%Rœ†ÓÀ¼.ÜÃXj«å,7α3ñ€‘xº˜ÅóB&Ðg„R:é1ái¢j,HÚ¨ÚÕü¸u9;…:êQú$EÁ«ª]}¸*÷ׇ!Ä <©O™êâ7™!pŸ 8R#r98ðü$¾…ªÓ»Ñ ×"g†E9ÛöøRÃrÞ Ûö[>ϧ.HQ±Xkùë¡sè }jáz™0FºN&h<¸RØÎyÒÀV)×Tëå¸WÖ8J…ĸ¨Ë&6p!2eb|CDÝoã°;m ØIR[n»S’Ƨðsáâ «É/>Y÷u+&hðÖm›ÿ*«êÑóŒ§ÃGwu}Åc]mC„lSÔu²£D¡œN"ñ5ÁD‰›ŒjÙYÝÏSm;Õ9”‘=¥7ÐË1 ¬pªCp—O·›Pe ›ó7ŽuVÅ´e°*Ÿ«¬ß³Œ´“ìD-G0QÚ–#ƒmEÃs|¿ßø•Ä ¨€×JÓDÕ™´–µ¦årS•óã߸Å@Œ©y<®yÌ?g>/•:ìÂ;(—¬†Gÿœ=÷Ç#ôÓÉ$r¢Î%NRw.iۼ曶“6yïáNjTÔpÈ&ª.¦\¶œù´íZñg¯ÜV,× ÌÔnFý”¡‡NÊàu+ÁDi»•”«-1»‚š)þQÚ$FÆ0ðƒ³&´«*Ï6¡¬Î .¥¥xÚ'E4ú)ºŒÎ̉ÀÕ%n<V¥LÇÖžõ¦\}=ìË6ý ЩÁR%í:o¢½Ë³õ¶^îÌ.ÙØê\,rŸÓP‹–ùækž»(‹Á1‘V/=F¢1*è$‘>Q«Ó©[•ˆ­1º‚Ößõ†”.‰aY·¡„iàê.eÔˆûÍ;r§y剉`¢Á‰óˆ’6“±5gSeÓÞªejXö:„6ª‰ëÚ÷ÈQÈ€éÑŽ³(Á~fûÈQö_¯#Z' ĉú…˜ƒÓÞ¡«¼.ã±1§ÍGVë#Ù~¤Fb¨¶›LÓÄÚY¥vIÈÏŠE êH‚2‡Ëù2BÞN¾ðuöÀDi;{ s|}™Ôî÷[//C¢Ü¶‘‘&¦ßßÎòU•O!šœýþ“ë4ƒ¥-hð>4`d|ËE‹@ò+!Ô›Ää÷¢ÎG¨Sãó‹rV<5nX„ÛÙä°ªêÓlfØã2.üùä~~™Íf…Í3¸p{áÕìrϹ7ùÞÖR,ŸÊjá œ®ëâ^Ð l4ŒKjõrN!5ŒNÎmpêoõÇ '»à:ÜäƒtS³ç qL ¸‚©àÅ/žaµ “ØcWâC[-cÛYHÜW¶èÏâWÿ ßQçë@ý,¶—„¯þýá_5®}‹[`€‹»ÝwX‡›˜:ëº{…+Aw—†ò™ÏÚݽBÄãÅYþ*jïzzw»ºÑ»Kår™ïR|c‘<ûÁ¿~)j¸/ÉElã Õ,…‹wºí¬M½ã‡/7¾¤ÒÄ~.HN6>È ;R†BÆÁ´vôœ¹ævb@7ˆÖ)^œÈ Oä[ÃöÖ*â!S›ÍÖ«|Z¼Êg(ЋF¶Ü>3rµsm±Y|¦êUhŒ¦åîÀ¿Ò=;W;/}—‚6â¥åa%áØEéܨBHøõ×ÂsØ9cß]<úÐŒª=Eœ3ð^F²æŸ=°fºØv¶õü£ý]û–²šç뿵ºiCTçBüBs!Ëß[@`w¼ÅGj¨ š˜ÿŗܴж½ÎŸ¼Û›1;|r™‡â€1´ùfǘsªì‚‡G\wÇ´]^ŒxbëøJÛ›ñƒ'íð#>n‘îªv îQ˜XFÜ›¯áÖ›Vqðöâãáન] ¬yý¢S ¶7óâlÿ·;í0 I'„“a=†$Üöe±Ú.¦}!W+Œh¹Æàë¥? lÈe3ä×»~dûï_ƒHendstream endobj 86 0 obj 2924 endobj 89 0 obj <> stream xœ­YÛnäÆü¨¯˜7o€¨·ï—¼É^%^ÀZ;’ÞŒ  F”ÄxfÈr¬Àá|pªÉ®jr†;’’`„í!»«ërΩâçgbÁã¿ôw¹>û|öy!ú5ü³\/¾»={­Ä"°`¥Õ‹Û‡31¼fÝB,„RÌ/¬·ðÿÅíúìÝ÷?\ü|{yý§ÛiǼgoïÏÞIW„dA —Ö¾ÿéêêâÓ‡øƒ1ÌjîÓ?~ütW¥aÂkÜâã'Ø÷¯q]i&\iý".Yæ•â wî_-Ý‘Ý`³¶Ž)/ÆV >¼`äBh¦´•ñ…s·3ðä¹t°MºˆìM€¿Z iwÛþvšqEæ–ůsFœkˤ³°¥aJöOÞ>•ýëžy öà–ixNsxwX^Öëu±¹ïÝ+™Éάڸ#Ñ„][öOJÁŒ2­vušcÉãmÙ¥(ïÑ„tŽpÌ)ƒ‹½©ð_þR¬«M™¼bBЧ¯ÐÔÕ¦kYz^ÒŸÊd˜òôðs¿Ä™1ê5»öëŽYïññbÛï ¡lµ8‡ý½~jÛêq3¸HYfT1dT0J¡{w›êó®ßIæ„Cov뻲¾âŒÓr;üãä¸Û§!D’3iÕÌû Þ×è‹e±éon„ïÊTD‚ë£s(¶ÃsˆÅìßî“ã¤×øh½MNÕº\•E¿,%ãÆÑ®)Q5sZ‹£xhæâÁ׃mÊ@‰!ß¿EЇŽ#·Î|*V]ÊC.)é²-"ÛÒVëݪ誺wž†ß„ÀžŸÊ~U*æ$åøì6Ëzs_á. âíqH™zY]‰¸E;Ÿ«î©ß+¾ t>`MžÄ«™àäk·Ý•,E28‰¶³ÎllFnœd¼ä‡W ž®‰^oSª+È J´ûݶÚ<ö»xæ,áO ««2Eà ŠRÛ•M¿õ¦j(LNW½)Ë'iq›åSÑt)Á!oƒ‰K€,PuhãC0j¸AûÖõp›rËq…šUÙûC™ƒ¸mý`EhoÆI{žÜiÊŒa„Pßz ßPýÀ·?ž½»ìa/úîÛ3íYfÊIZ2x¢ˆÌC&çóø K@A.XQ‘ÓBƒëyKPóË]óÏEþ1Ë7–3é<Ö§>(@˸x±3`‘`VfÊû7 ÄÉßö„e’ðeß`.F Ÿ©uågqGëY‚L["ÈXžõ®K™h9Êp»¬¯im?d§egÝDDH¼ˆ—¾iÊ”Hg\hªÏeõÍ2áÑÆÍnS½ºzö± Ç>>Äã"ŠWÉ¡‘= œÉ¡ ^p­mÊeõ°ONÕ Õ¬:F>ˆàœS‚yªB.¨ O‘ßaá€Þéý y8”<ø3RVª·Å:ñl°ä¶«€`ÿþòK¹Ü!2{ <&õéªkg‹B@ˆÆ,¯¬Â@ñáUÖuÛ%ô£Käº0ÊXšˆyïÙì=TlNi'¹A4þdU K1;ñì‘_¢6U³*ìÐ(–j-H…)3’)>Ë”zƒÐ®)šHÌmÒ—!øf{‚#ýÊ1G¶.“ÕÞ£q¿Íì³EÝËÝÉÔn¶”Z€D"ÈŒ»M¦¨QEã–O‰QúNî_ÜßoËvæé¢Ã8¢“©–O i½¦ú?Ô$f•€¬ÂmAݳ„.Ö„餌e¤aK¸Õî7]ñ%!”æ’6þË,SA‡dEc~ù S•¿o>^¾øðáúòæ¦-P±%EôKù¥ù ©XÐðý¡©1›­ßAh"¹ÓéK:QÇ6â0ä çCÕ;…|®´__åýŸû-[½.–м'y”$4xY½?o«®+7,¹Úr­§!š‚“Òù°ÀÀå\@Z:>jCÔ¸9/A+"‚i÷ë»zEÎ!'“#óû¯Ÿ" k“;«D#úP2€f±zJáÅ*a€VÖŸNc‹™)‡ãðö’bè©ö›:h xNð3*¶h†6I° ]À=Ö»m $ a¢I“…"d F ¾-V;hN°¨Ü[Íõƒ±áHÙ Gs‡ò·g\Ïh0o¿Þo¹Q¿U­Vi{A}i¬9–jއ™¼9/cÆ'ýäÃH­áP‚ Ê€˜ñØ%­$[*¦'õfµOQŽvnšaÜ/ât‡ª€¼'wäºÅ#uàXÀ2KH›zÛ&€Í.,°‘…® Wg•Hت‰®Â¸"Qm“õN“këãlxÞ¼×½ÂJôý+úö+jÎi@.ÔÜuùXµH¤äÎâm®òÖ>îW“dóàVDÉ6 þcù—Œ=nW@n*rh±jë”L2„£v¾· PE˜cÖ}Õ˜ ›0NäŽx($x:0<3;)î,‚ŠeLœrh0o@Ù**Òd!O…¸#PÙµåÃn•Ì3–ÌË­uÈܱ,ì\â 4w.]ž €íTËÝqŠíÛäl—M‰'š”èmW¯›,2{nÀ`“Áë‹«%¸Ê/Ù0uˆç©–÷õÏ䛜#³Úb‰¡éNm½.»'ì "’hUýJ8Ï'êÖ32Sý*0 º1~òí:ØŠÃÿ$‚#wCÖë!É\#{ZKtüBÞ‚u”·Z¦cF}çX„Ò$(ÎËû³„“Ñ(v!K·i#zÅQX¨ÍR&ªÕÈ—T«ìµ ~…jMšbëIÓëË¿}¼IŸ9Ll«_!YáÎZ¿]±ªL©/(Ö÷×€¸ãYUÈ’ic“Ó`‚¥*=?šN"ÇéuÖ0'Ôg"]-A01÷¨‡ÌºZéyÁx½N;WºPÿ­rj“ÞôÜ}.f"Š £9·(¾t‡Y—,ºçcî«[òÔ©íöi¨ÙÏê¨Ç™&é©9ú¦Ådâ”Lí®iê-4á@1)²ø§TaQyQ!T› ½8v$F´^ý–ÁÅf²­Mö*úÚƒ¬Ÿ›eõ^¾‡Ž[ûCWŒÆ»)« b:?Yf\½¦7ñ{™qy;Ù±†Õ-ÁQK®§GcÊfUvåàð>¨Iùؽ-’bb”|"Æ@)Ž,É(2Rño™ß•«:Kj4âyˆ hD)2#¦‡e‹ŠÉ‘“—f‡÷ÒKàÄ`P&›e’:çVÆïž1þKöxàÛÞ‘Ð%:’¢íp{°ÝdPIÉöÂÀ¬¿|·zÔ‹bò˜ƒ^4rdþú÷¢Ž“ jÜ‹€jŸèI5^åè½zÜ6j¨Ü¤¡¢ð5kT=5 ¢ÚzF1qíÌ\²"†rVÌÃ)¦ePBftÁ˜/@„â‹Ùžu.ÇæŽßVÅÝ ¿×jOpS¬‡áùYÒ±åºs˜Ðg ÙÊfe…ˆßmì+TÅsÊ»ñ•¾¼]üý,þû.dendstream endobj 90 0 obj 2640 endobj 93 0 obj <> stream xœµYÛŽÜÆü¸_±yÑÊ@†îûňHŠ ˆGÙ<0`p¸œÆs/ÞÝ¿O5»«H¹# N¤AÍžbuUS§šŸ®YƯYø›þ-öWŸ®>]ó~ ÿ)ö×on¯¾û(ùµÏ¼F]ßn®xü™±×üšK™¹kã üÿúvõòí¯º}÷ñÛÛÿ\)›9 {oï®^Š,¬p‘yÅmZ{û÷|ýá/áÖ™QÌ¥{ÿá]X:ãN¡‰÷Àî_úT·ž§õ×aÉdNJ&Ñrÿóï> ;ó|VÆfÒñ±×œ‡¬$œFÓ•°ð³ÞÔe]ö¾ðÌq‹ïl·ý"W™ êª{á˜LârÕ„5Ÿ ©ž¥8:Ê»>R>“–¶ÇÞ6Ë$§lóÓ©<ô‡ç×\¤õͱNŽp¥}Z<vO½%‰1Éc˜¼–P”u›W½Uá3å,ø­w*ƒs…?ßuå÷1ªÚ£ºà)ƒD¯„ ­ë2ÿµwVgÎX<ØCï*ϼ§¥¶ÜŸø«WìQˆ¥”­¬È,‹¶úÚ„P”û〗à ÑÜUeŸÉ2㤿ûæTÕ7E¿Y€¬«¶YŽ ‡ÒUöw„d¾óEÚé,-±5‡? þô¹Õ™•ÏþêU¿êØ·3†Ûg¡ ŠÈ}¾ÝÆÚ u¤¤¢êŠ¡Èym0áxq³ËóJ+±Ú„%—iniãbþâ`C):×cX²™’WîªûªM/±Šqóö¦·Qá시k®ض [P ~^ Ü3;óÓ*ò³lÖHXF¡‡j½ÞÅZ¡÷7ɬun’ó,¥EMÓâ^Ñ~ó›ãqWæÑaHîÝã©NÈ.ÀÕ²iÍbʵËÀ-@pfE¿ùŸÇ}ÙVûˆ ào` t»jobÚ„5SÙÄl@•ùÊ^™×}Þ•È´RjP™Ÿ‚kó”À¥u‡x@.Ç- ï«Ý.Ù–FofŒÚ¿–CÍàªv‹a1’LÅÃðD!Îôút¬m–HÒ"Ô¾éLz/ÐB$ch#:c`h ¦ Ò©2F§óýiWþ1u3ï‡òJì&3Æ.ïsD‘´£u™Zª2jr*›éÑ©BikÌ@œi<ÙÍ×UžŠÀ ˜<Ë[dGÇ@<¹Qok¶yÛÄ‹‹áõ±»ß»ÞŒ‚ÂÕÊ ÇNXcö¾+cØM&µÇ½ÿŽ}ŒsɈ‘:êÞ kXÒ¨QRA4ÛÔ¦µô³â”#´×ù©_…ƒ8Nœúi€&λvŽÄõˆûL¿X ý&?Ü%„ÊÍB¦…§L§h@̓ôõS}¼¯ó}j Ü ”Éki‹ q—¯Ë]j9Æ[œÂh’a›îPüÒ´yÝ.µ'%ƒbãÓ蜜ÊÞ`‰;§æ¤sxìg¤, ZÞXnþnÝöóËS‘ÊË ÿÏ(Ïmœcªæ^¼˜©¹hubáOs§0 ?»¼•0ªULDßûŸ¾_ ð¤®þÕ” vÊ ‹)ð€‹§S‰r à¤&T0Æ'SŸÃg‘¡nùAˆ‰&¹ÚtÃZª|?À-õÏ /©ò$uwŠÛm&ÃG‰íl¹¡ ‚ƒÆ›³îo D\'œiM8 ì€ä ²Ìz(áh6L¨C{¾™DfÆG+h`ááëÃ1ÈŒT©œ§4UÛå(¡&Êri„]H¿À²rr–å)nÔ†¡aÎÚðTtc½Æø˜GSbâ¼ OF¸…á÷ržÎÃÇ#-CŸÐÏT«ôvŠ÷J†–æÙ/IßÜ%²þ¿ÍõÚ–3î:ÄþüòmWßæMoDKèHpsì‘mÒ(·˜Ó&LµŒ#½´n¦'Wï7ˆVeÏšéTZ|SïR*­"ÈkÜÊÙôâ§IÍ:«D; 'ïúl x3ñE¡Ñ¢( ªÏ§ê‰·Mµïv„sdkù0+ív(W=ZÙæ;”þÎ ÒŸØ\ÖhQ Ùžäè=„f¾1¾bjµ„‡6Œx=VWüÙÅÁx¼åøëòS—ï’¼c#y·@Kzy`çÐfŒýÀ®£,{Ý‚œ\'ª’ŽV×b¼Fwo°+àëv}|fŒ€çǃüý Òœ‚Ç KÀ]ƒrÙq?hùŒˆÑ8ð¾Zš'¹—tƒvQ¦ ÐðRL24Óg<ˆ8‚ÏÀº¤Öƒ˜:*œu V3cgÈ–"ã­¦¡QÔefa¸K`‘Ý»€g:å ¦Ë6Í*$¦gíú"~\ÃãèÃSŠþ’À¯b܃ÑÃÀ¼ëv%&ÄzqiÂ;ì¹0nÏéçȧk’r•v¢„6)SÚR%æEÊÑáKÓžt_>í¹¹§s抖LÉÒ‘Êk§Uʆ„WJ‰b 3+ vy[lÓ‰·—œ ¡m° Ñò¨ŠP"1ÏraÁ_7…b]Ò¥ ó•ý´Èº ©ŽÑ¬f¤¥6eÞv5Þ€ž%™œxOYM•R+<2”Ù=H†(s¦&6t«Å3£†Y3Ö(éjò¿ï†5Þ­3oøyEŽ8Ö~Q‚ð,ñ¬ ºiÜö0k6|‡ÁÞ7 áÜ9Ò '|cOAdžÄ,;WçàÈXàe "q¸æÚïS—Uẘž—‘ß$×䀋D3z$yžyÙp3õkÅTõûf’-鮞ÌÓÕjÙ.¼½E¾–Ïûª¤­ h…Øå@²£Q‚lˆ—Rõ,_üµø!õ"òFL8B^˜<-!¯¯™w·×ÿ¸ ÿ öŠËÍendstream endobj 94 0 obj 2559 endobj 100 0 obj <> stream xœ…XkÛ6]䣅?,Ðsø]¤@’¦è›´;;@?$ÁB#Ó3j-Ù‘ìNfÑßC‰¤dK“`€¡ÈËû8÷Ü{ùyI [Rÿ~‹jñyñyɺµøSTË×7‹ËkÁ––XÅ•\Þl¬?¦ô’-™Ä,•Qøÿò¦Z<óó«_oÞ^¿¸ù}!51öÞ¬Ï9ñ+Œ+™ko~y÷îÕûý‡,#JR>üûêý[¿Ê3ÂŒŒ"®ÞCîO~]H´eaý•_RÄAE”Ü¿¼æz¢7t–JaØXkÆû_2I„TÜX X—açŠkˆ †ˆNN¸dQµbëò&H0ã+WšHʤ„ä§›EFŒÒQÆíþõ±ºuÍœê+E‰¦Ø»âŒ°^Îͽë|j¼OÕ¹&¸Ok}Tìª*¯×]TðÁ¤”m'ƒçaíØºn'®R–ÅÕîÛÉ×)POÜvÛ¸üÀÌ[Ð/ïwe}hIpŸƆÑK¨J>ýšnY«y´cpB¦­Œ¢«c{ l²»ûºðZ!–«àÑvïŠò™[w*JIä âåµ²'²@èHe¿ÇŒ*Œ˜`Q φÇÒž‡òp¿;è©Ì"ÂóÚ¯Y@UfÑíýíJ°¸ÒW;1fwÇÊ! H`òøa]¶ûmþØQD0.Ûn»ø ‰°¸Ûú°†ªD. óœÐlŠùŒ%ÌçmášC^v‚ «•˜o¥œK­fp, gs8îr2,“>ÚŒÑ,.ýRÅЙ[2xjÈK·¾HnâÑ¢¼'K› ¡' J’Í)èS‡Ÿ†We€ÂÚmÝ!¤Íå5² hTè ¥l -º½l–h™`pÎr\p"§< ˆæmëªÛ­û&Ûò¹׈¤÷‡·î®¬¿wõúS÷Uã+û+ÄÞè†[Wßî?}šåhæë‰é(šË3ŠEŸ©”1 ÎÆT;e6õÚ»µkX“Êß:FèöÍî®É«ÊˆŒjåª]óÖ©–)›÷ƒø Ä—0 ì‚ r g\Z6!Ý8OùÒ {Þ¬C¦[’i>ÆeUãúº,úFÑ72ùö·ž½,¸;ŠùuWKŸÑ‚zÖ(O¨Þíå®n/’]§¾™°¶SòÕT§aÍÀl6>‚p5ÄgÒãl²­¬ÛCs,:%;ßp‹† ’*8rw¬×e}צHs`IÔ„TQ(“ï4ò̦ÈpÍ÷³‰ÃÀÊœ›q{q·oËê‡ÎPÄO=‘‚«ð12ÒË·ŠÇsû"±I^y Èà(ú…uûVª¸ÄRÚwhÜâ|l)s*Î×ʺ؜¯5îN\l.h'×XT‚1$!YžŸ ”NÖŠmó°>ôºY¢åX5u¾9ƒ„óµj÷çœjgš%©æ|7ÃâÄà]ó°™6“Ì’d‹æºëO¬ÎgÄO|ü´xžÄ34AŸTùò‡ØŸÙ~\XÌ\8 à“Š{ÆŽrçBÛLâw[ÿ?hetÒêŸ+NM0þ¯¢ùø¢7u[j}ê=> ïZo&á½mòù;éÔÂîNê%÷÷N«‹2~‚U—¯0¦o¥cÎÔüDÓ'0W„g4jöÃ5eÔc,‘Pϰo„/²çì¤åS”êéLÏR(Êñ¸ÙíûÌIwÀ1~)êÛ„"tÙLwp¬ößl Â÷ŽÃõ¡ em9Ó¸ùâoP¤ÐôŽ4Ýæ62†¨»$#R¬±»þbJ$7çÆœ~ˆ œJ"úz^;/¡%¶©±Ž^†C£zÿ^3Ä$¶þÍÎ[à€NZt³*áàÙ6."bü›¾;Jʵ©oàᑪV *6âïïæ´|â§Q…ÇͱîŠlßø©ÖLñ•{ãt·.4$p†04Çm~p±ÏóÐ'ó,„ÛÉ,åÓìØúñé[ ôµ¢ ˜ iþ_çBôµQ ç»/ߥ®0››ªOˆfN&ÓîN*H‡ Ññ%¯Ê:x@LiTPilBeµ[—›Ç¸œA<µ%ë2¹< –ëc@±Ÿ‰Õ·óƒÌÓc=€Ñ1=ª)=ºâ~7K]qÛÊsM·5Î-HE39‚“rÞdž³¯Í‰iÈŠܳ-ÿˆô'RÍrÓš•÷n¡Zˆ(pßÄ92¼'a 9¸*¶¡”hŒµ#íGwn0w¥ÌbŸÝ›<²‡¤ ¶à±Þ÷( ’¥\¼:ôX M㿇'øŽ&Ã1÷}¿_elè•wǰYèDç§ìÁGu5[%%òÈ LyŠºŠ‘r74Áç˜mÍÓæJcÕ`ngíÛ›åü›°ÐHÿ¥<]Éý›¯ö™Îõ£‡:~}µ¸¼z·Äã—¿-ÙâògÿÏë_ßàçêÇå?o¯zY³ïË(®~\Ò¨Û£wZ”là‘“»'Ú»H  É̺ר Ü­Ðvº¿êQ¢ç^`|£šÉɇÏEjO|åÒÕyh_0ÈdC±Ý¸üpìsž¦6Aè>o×f&]rë\|œ0º£8¶mz÷’(ægÔ"H&Y\¬z4€>2“bØ?cO¨/éÁo½N)f•=éq˜É´´9&+¨w}Rg¾ÿû?íÊiendstream endobj 101 0 obj 2155 endobj 104 0 obj <> stream xœÅY[oÜÆü¨_±È‹íB;žû ‹ €#»ˆ€ØM ò µË•˜rÉ5¹kYE|ÏpfÎKJIÛ‡B‚GÃ3çòï\üyA [P÷~¯wgŸÏ>/X­w‹ïWgo> ¶ÈH¦¹–‹ÕöŒùÏ´Y°‚Ø…¶þ½XíÎ^]üðö§ÕûO¯W¿IC¬‚»«ÍÙ+NÜ ã$“Ì„³‹¿~øðöã;÷¥ˆ–Ô†?üxùñ½;åŠ0+£ˆË ÷/î\HÂLÆÂù[w¤‰‚Š(¹ÿüÍ'n&zƒÎR",jÍ„ÿ@ñ“DHÍÝKÖ)¸¹äÄCL¯'\²¨Ú¶í­£$£Ñ¸âó±¨×sz,¥ L‚k–` àýõÕ}Ùõ&Sµˆr×Ín—×›Þ™ŒXŽ®ëŠC¢¨äáôp_ô‡’hP.ʨšõ?zÑ’pj5ªì5 þ̬Îëu–D †öõÁS„ªâ÷ß?†§¸«ü٦؆(ʲp˜«CPUXC|·ïÊ]¯DNâÛÇ®ðveÄ­å4ˆ…¸D[?üðÏþsA(ÑÖ¼Ã8dCó{ý!†‚eñû•÷ÕRÀ±¥|±dà`;ñ˜àÔc¦÷X8ñÁ̈4ŠËd[IÎÍƬ *+…ø‡°ï‡^?aS4ªp(wE@‰¢" .멈®X7õ¦ë –°_:K8OÀ)#œ œ3àã„jßœÊùæ·cwÕŒªÉàgKœÇ–Ìþ‹G¤1‹väÕ± !¨šÚèËË­÷¥aÒDêéxBb€“FGe)8ûÖK„gY|åK¹ !ƒps„ùÀ[ÂÎ{KPôÖ¾-kŸ¬íZIŒeHVH«A²Û¶¨{? 䔘 ÁØ-ÆÉÁLŠgs.³"jòÓåEŒ… ™Ñ‹ûÜ;QlìMp&‹0/hQ­ÜCÁ3ÈÓeÝÚãúP6ý¥#ñldÇ”œÂ/ƒÆFbrtþEÈ"…tâ2%ЮmÓîCfeBÇãf‹d`Õ‰Ó&^xSÔ²篇¢­óª02E*Ñ h•èdŽ¿Ÿ‡$3Hr¡øÿ ëRœ O&lFæÊ›€L]¬~t5;~yRÒî‹j?[¼âµAñš«å¡+ªíy,ã{ŠØz(«*Ò’ˆNݔݾÊC6È”Sy¸Ì!‡ùI¼]ùL¼­NIæSµ è4Æ”ÛÔw–¢-eÀu%L‘h5BDß¶¥/€D‰oŠnÝ–{Lí’2>éÏœ%–dzûÆ£ÁCGë||!f¥ÃøF9æÙ& ʆy¶I+êü¶Š3:^½¼x¾§«Æ®ÙÓ>"(% ì«»}±.·*µü‰Ê ÖFgvE[zêw½ªÀ™È93øÇ² Iö¾¹g\ñcÉ@.®åÈÐÁ ê,ÀÒ£RjLŸëW¹‹T¢-öãßDX(Ì6{6Lo¼‹|/=Ý›ÃáñgúÍõkâ§”ŒzÿêI.Ë$–a ê˜ šP†ŒÚôìÛ¯fð j³–‰ŽÊ·PS# ,›ÎWƒ$´„RØŸzÀl®_÷EQdDk–ô€öGè #´rhfßSws†Žíš]¤V™÷¿aÙIððs(FDæ™Ãð@Œ3%G«ÒÏ ÁŽ2¤) ×–0XñÑUe0Bäêª æ+"ý+ Æ¦nªºAÅ£+ß6BN„¾„ÛýéŸúÓEüç~}ä[ƒò¯\ù{}ÜÝ-ëç¦óõê|ðw~sÓKXr ¥pÇw‰ÜÝ^DŸ¶yãGaxƒêçÇe8Æ%ô8CËºæØ®}ù„ÇtêÌ7S±sNÝ–U¨KÑ¢&U´_S:uÎëÇ©ðcç§:Ï=Q gV¦nƳީò©DÏ›¥go½eš÷‚b«¶¶ÉÆ9íºHDÊ(lgêõØ=žk »”©É¯'Á›5^C¿6½Lònwý:æÂ¢šA-8æl®þ¿6“j™Þ¨Wn†›‹™}&›'Oÿ¾EF¢J ßWQœÃOeøÀÀSÖý¬Ÿ¼QÓ¡ÌâÆæ¥\ä¨Cr+vJŽØ…Ll3\3šÑœÕ„ëFbcþÐ…@Ià›cxMœ°mbi/ú¥œ)ó¾ZÂ0‡l0[Rf@Ï•*ë:¶WP ±ì=Üø€Kt†£Ê¬¢y;󨦏 ‡\a{v¼»+ë»ù2È­ŠÌId3e°É7óa ×\ÍGQ´n­N¾‡î:G1Er&}®aŠ£i mߤÏ5)`ƒÇÀ|’ÜMЃù*4>2­’¾žÇî9íþ¡À½¸;¶}Wâ+Løã„‚xjœå „9¶Öûí±zõ;-¼ü‘'¦šI1}IÓâöE{a×ìK¤œèÃL¥ͱ;B‚øV‹”6çªÉÁÜBw08ßµyÏ'ÐúQÁOzr¦ˆL‹‹ýýcW®ÃZJ)ÐÅû¼=D/@7/ ìõKëƒWSI")ŽÈÞïĨ´Õ÷}(Ì3Šx¸ç “®ŽWÅììw·MU®½_©†b” «Ñ ?%¡wP¸‘‰A‡!DËQÐéä8Uã*Å7Û3-{ƒØ›î î!{΃M&C6q×l’MOú$h5Øl ͇ü†dKµqb¸F¸Î¸µ#t10«ÓÔÅ´EÞyó%ä³`¹Ðf¹E!Å|›ÙªÎf²;rÿÂNÆ­±zc¶°ãÀðYçR;XüÂHÚo”Ü6Åà\6¿¨ÉÎ_¤ÿrÄ Sz¥#,dsëÙ²rSZ蜤†Ù™½Ã¨ªvõ!ÿ:ñþ6°<š–ŽNK¿dt;ûÿ¤¶ ðÏ,â¿ìþì߯;s?ÿs0'±endstream endobj 105 0 obj 2456 endobj 108 0 obj <> stream xœµYÛŽÜÆ”·ýŠÄ6²Óê{7äAqdD@´v„ò`g†;Ëh†‘3Zm¾>Õ·jÞvµ°ëAr“ìË©S§Nõ|ZQÂVÔý‰oWŸ®>­˜Km«¿Ü^½þ ت …æZ®nï®XøL›[1!ˆ]i«áÿW·Ç«o¿ÿÛ›Ÿnß~øîö?WÒ«àÝÛÝÕ·œ¸ÆI!™‰cßÿøþý››¿ºJ-©þþîæ­åŠ0+Óïn`Þܸ„™‚Åñ7nH+ifÿùëÜÌö {–ÚaÙp×L†”~°Ô#ÙjÍ Œú©m¹ó{+ˆMùùÔµÛªïÛîüxªþåp Êu|á®>TK;Z3E‰`iý©¯~C8µéHõáà!´DVÄÑòrnå¹Þ–‡Ã£Ò4*=ÞUçª;Ö_\r¢u‘Õw~›„1Cy;ßûÀNe‚÷Õ! ª‚§ÝÔ}øZŠË´7dˆB¤‘8!"¨4á—𥡶‹¯qŒ!ÛÖÍ b´æy7$ŽÂ`:Ìm\°Ñ,MОÎuÛ”5áv¯Ó뮵] ®‰1«µÛ õr=dÒM˜h ·~ ¤iôÁCÁ‘ܦx·q¬,T<‡!s š˜ã‡ ôE‚öó|¨êºzWÅŒP£â%‰æ/䢟‡Â#¯?UÛúUåaœ©›¸7Á0 KÌ+±Ig1Y«‰QÀfˆOöyµ¿t¥‹ƒ'§%Â0™?ë1”Ý%º ‰gê·]}:'I0ÚΧ0§Ø¶Í¹¬›ºÙ{¡f—”˜]Ûöx,›]ïÏ9©ólÀ­>`X(ªfûäû@—ÑH/ç®:V!9AO@G„€¸xé«»Ë!Nn8nç.&èœÄdÞv  ¨*`ŒT¡„HÄÚU›8WÈÀË~¿õ*”B~5Q ¨T)¨Ÿë®=V]@Ü”Ì*QúQæT4§AÒ'8a‘^Ý`úk”q8sPJŒ`éÍ®:Áéª]J2Ø‹HÛ&Q›ù Ž#$ðÎI' E(@°šèXc÷Û-\.&ØŽåÖƒ)Ñ kOÛ/ê±a„ZªA!®þÅ÷ðyxYp¥ѓø;-ÀøïªWML/™P$Öê1¿¤ i°úSØB1Þ‚vgd:–Êü»My¬–*Ô° ¹ƒ¶Qì¬6 ïŸËnÏ®#ªVgþîùõümBÈõ´¼Á«7¾¨A^»´êå‹nÚ]`¼a81¾jvÇEäá´Vëà›&IjªxÜq5qçñ›PQ j•D>EÀ©AA "ç*ÅìŽjëŠQú´ý²¡ x*„Ïø¸@P9¥M8 é¥á;•]yŒmÖ\ ðôÀHþ\¬üË7Ë^ÃBéò:ÀxDnÃgä…úþ†¨è!ÊÇ o¬Äwóò¾m‡j›ô ¼ +8ʽ_Ý YlÇ—Å2IΠ{œï©ÿ¢¦ "¸‘¸nPz?&”ô4M¬ÐÞELK9ˆA!íïÁ#xè6#sá9&_ãv’(ÍŽDe`*…+Ð^‹ÆåUןÓ(Jé!º8ØÊª‹È‘-#xƒ8a–røIíÔªNµÙ‰ƒÐàúä,fGöˆEÖ=?ÿ7±¬ZŠëöt#í8¥‚+ä:KLLvØv6LC·cB 5($eæÖ0˜æÞ_\Å E\8H…ãüú8žaG`àꜥãÌáþÞ.Y_.¾¦¡á˜ªß¢A¡Ê–ãºh}0”@ñ×®Pf®=£ŸA; ¢#ì–;W(hyæçîÏ]²ÎÁ¡4œå¶Âœá6ø¾=ìª.?¡õÏû`WÀ1ñ›[ Lzgõž ßo* ×É© ìprXÞu)IX»©™}Pêý¢›x¨Ï÷‘m\/pa8Ç ¼jÞ”%Ð5§‰ß‘Š,¥ÉZ8&Ì ô즆¾Ç˜lÞl1¨s¡|„6ÌDÒ#«ŠÔ¸ù—†e‹ T1i§mÙDÂ3l’0TfèÚËþ>X]X¡ £¼jŽòº©2‘¡ Âî·ïs¸ ¸s$C»¨<® äV« 𭍯¼_„ðf6·á_ƒ2aŽR5(×p¤œk‹ÒðaÁ®§ÄuõL£¯^T¤¯‹ 5|¬cõxZçb~ LÈäJwe÷ëyÁéè&In¨zÖ/—–¥Åþ_w rq0,VJÙõ5r…;'5Iº¡ð´ÎÞShtA³úû9]êfë.-Ãåߘ\1B >ÖàŠ‡ö¡êætnêÍæ‰ß=ÀèCƒl‡<ɰzîA–„Rr0¯XŠŸ–\ÍPr—B½ÌnnE6é.Cj>ýdTF›Ëq³¼Gp¤Ð…¦=.Z:Gt‹÷øSѤÂùâû™ªŠ5Î ¡Í¿ÒLN;èîm“bÚïRrS71¿ /wDcCmx)™•dé,þ®‘Mâåé¯èœ}Áá|éš>Ö7Édþ5$¶î£Å‘È¿'¸ÄœþžðD2S(c®›Êäÿõr΂˜[è[¨™Šùà›±¼½]ýãÊýùYÛ$endstream endobj 109 0 obj 2388 endobj 112 0 obj <> stream xœ¥XÛnÛFú诠‰Ñh³÷K‘p“ Kè‹€’h[DÊ"Õ$ßÙË i‰Ò4~¼\gÏœ™sÖw3ÎČǟòÿr{vwv7i ÿ[ng¿]ž=y¯Ä,°`¥Õ³Ëë3‘_³n&fB)ægÖ[ø}v¹={ôìåÅ—/ÞŸ_þ}¦óö^®ÎIW„dA WÖž½{óæâíóøÀf5÷åÁëWo_ÄUi˜ðC¼z qëJ3á‚(ëqÉ2¯W9½þä½t'yCÎÚ:¦¼g-LyA_˜+8sé`5…~[w}½JYÈBboªå>嬘POÒvS‰ÌfŠëqs2í¼¼­B>"dËë[Ú¦¨žinñ[‹võ¥|KYÂgY5)逋mÓWëô@IæDÐåAÞ˜ÒÚ`ÜÔ3„À¥›]·Þ¦oA1¹Wv»­š+eJâ“w×) Í8œ°¬íª}¿^6UBH feÝôõ0-z»jŸ1Ìq-™+€J[;› Á¼/±âÇ´âÀ?é“ è"0vYõë¶I¥QvŸÖým€;G_mûÛ«ë”tãd:VâA ¼„#=Lû%pDc9»œžÆÐ!Š \Á2–àêo«¾ðDiå Äo;øÇ\ó ¥Äœê”`¨| o ðÆküpÛÔ…]N|yUÿÐäf€r@Ée,Gæsµh ”£ý%§È/„ªf¹C‘Q‡À§’Dcã=(y†àñC/§¼5ÇÐ) Ž¦Ýõçj»Û¤SÌ}`éˆ:ðŽHhæÝDo)ÎN<.TðNÒ¢LqËq3ûCîHøíu ÷¡þ¼;;¸u/„ãx>òÍŒ­›Õvr¦R^»h4"0£ ½îsshH-ÛÃ&m…wa&"[uAÜ3æÐe¼%‡¼ru³NÄ<_¯ž*ìÜÁ&íf%Ý1ôe„>C„`ç ÿ€9isšúöA¡æˆ}™)ã‚nÚO¥Õî´Y/…Rƃ¡ NåvõHåóyw·ݎr‘yÈù”N0 “zñ .2(!~Øw8JLÀRþ·Z†¶T$+]³¾+dœÚ|˜)RÒLiQèÛ, œYå‰|I‹„bÜJÌ­Îy(ðHÝÏeyè×ÍÍijUFˆ1Zñ¤J!$¥aOŒ¸‹0’Ô‘ö|ûÝÖY<`¿áfü]šÂ¢.öuõ1MpRI"Ü®A,ãÀ Ršu—'·Wãê7©ç*L…vhê¦ß·›bT4Wþîû"~œÁÄÁoômiâ ȉ eŸ îÎ/™ ÝfÝ ÏWƒÄ­ Õ{ö~àãrÜÿPš˜Åz4€:U# ÜÖ'ÕóŠàê,³à^óÿ£ž+6i£î[°she“¿ò|Ýí6Õ—BÍ8ÚTÀ0ÏIG¡ËØ·ï1•‚ƒÉSØlJñ´#Ž.û}Ýô›Ô_ \ŽÐøhPse–'Ûœ²n$• §!àŠjÈØçXU>z‘j³×b1KŸƒ5åÔçý—]A ª'½:&£ŽŠ$N*í¢xMqTŒ/Ñⵇ¾x0œP_ò,q5Ý$h"4Õ¶.ÓŒ{õÊ ZÅyºáds I8î0ã›Ã°î¦•BBïÈñœNnûׯšyY>–§or-¤7GÚèi͉kɖ㛌˩Jkˆ‰®eÊ y+§œÛ(÷jµ:ýжê>¢G²\š#7÷ázSÝ$Òšç£X¿àÙ-] û‚O]§>71*üÇSóIß—\19qV(¸œEÿ«í#‡§OÚ3B¥Ã¦%¹ïm»:|EÙqãæá½[ãÉ…¾æÃ-ò«A ÍÐç_ë¨>aäwÈ ÂHp䋆ˆxûÃ&Ø´zF(›IU¸;Ôû/EAùpé›~н¦ÚœªX>,ÞíàNæ©Ê]]ߦÝ2»zIN&é$ÖÁg£ nŠãÒuî{±zím›¯ªyLj ìß’OÒÐ0ñø‹2„")8yîẠ¹[ºn—C]gÓ|³ï:ÅÅIÁ¡ÀÚÑë¨Fu,î„;PE„dW/ׄ­’4Twëz‰uŠ`i¯Ñ8pš†]{ÝJ[%ãÆßéAY™Ç;-˜!À; wÈA`Üði2d6A_p=¦ƒS˜YîãðÜQº[> stream xœ¥WÛnÛFú¨¯Ð› ÚìýÒ‡iì"l§MU´@Q´HÇl%R¥8þû ¹³#R¢œ dö2sfæœÙSÎÄ”·ø¹XM>N>NEgK‹Õôçùäå{%¦+­žÎï&"n³n*¦B)æ§Ö[ø>¯&Ï^¿yõëüâýóù¿í˜7°vžOžIÖZ„dA ‡¶×ï®®^]Ÿ·?ìæ¸|{}ÑZ¥aÂëtÄÛk8÷—Ö®4.´¿jM–y¥¸J'wÛ_¾—îÈoðY[Ç”}¯…Å º¿a¦ :+gÒ5úVgyY}èÜ€ø¼ xçªÎwË¢³«~”Ëòv“mÊ¢‰7?¸A[< 4ž9ypÌ[³?'žAIÀßÉÞ¢›*[cáÏgÆ9¸KêÍü—B}¤ 2+Žn>€S1î¸ÆEõz[ÖU—5ÀJª”˲‹;0!Œ´hÛ5EÞ­äÌ !Ѻ­»áL ª„% ÝY3ʤôf1ãÁ(åŽÑ—L*'è?v·A¶eH'wõh˜ ܤ8¯úÔZ‰± *Ã8wäɦ[/4sZ§õÍc³-VÝbÎ8‰ö¼XU^TÛö§™â’i ‰‡$û¸ïŽ‹À¦½<¼þEw¤‡¸¡ËŠØXži£ÓŽ˜È˜’íÏÖ{ƒÉTVy„ÜARD ¤ ¶Sfb•@÷ N—<žµ6È5÷&¢!˜0”ÂóËËä¡u Šn¯dÎ8:¯‰ÇieLJjVåèŸ7&9óÇõÛ¿ºÝp  îø_.¦{¾<Äy  “Ø;±¶¡6­UÉ‘U‘U ¶±Z‘Y—veË©9ŠüÞt«5³A®ôÚxÂzMeØÜ×»eލXEE¾)š2/Jã†2›Ò+îÒØTª×Tël{Ê@Ý÷.ØPR{õ”Ïï~OíadZø_U£Ñ¥‡e×ê•Ý à°B Q¿a"I_(BôsÙl±ÜOÕª oâ™ß³U €ÄÝn¹L}"©õ8@bÁ8‰|oгäÀj½²{nº-°M'‘kÖÅ¢ü!£Ö ¤/Ù²Ž²GCkp%º!@©Îí ^Äõ”X€¶IÇ“§,–‹2œúèú)W˜ •V$±/Ö›ã’!¤RúuØ Òð0,º“L®Ì(“à`:š€™D#'ß‘ t~ÊâCŒÌðuà@óã¨^ hTéD_C;$~:Òë§eüH¶»SnðîÑaD Jp5ø¡>/›õ2{Äy¤·Tô34^"aò)šÀBtŸ•ËìánÇu€Â(rÔÝ -öé`cÝ"Ö²–¾añLJa¿rÔ5D™ní"°ÛSs?”ØÇ`U©¬òa´¤¹-ÃÅ R‚&—úÕƒK(=ЧÞêÁ§,TœÜ3 òNK&äÚ"«P¬q)·=I#Da *r†í Í_o)ÃrG:›¦/U¹WUkpî0ž êÿ¢Biç> àò<_ôŠJÎøQ*âN“?"Ñ>höãb³Íªm™m‘zŒ€Ù›¶œ~D:MÔ}€ú¬2€º©ýtÝg®äÇpç‘MËÈ/Ú“\BVs”–Ò–¦®ÇDëœG§Æ%Qí¥#ðR_%ݾ¶’ï‹zµ‚ÆíàÓ0 š‡¾¡ÒE Ë: ‚'§TÖ»!an¡ùˆ&OPö“'Γ ½`‚ðøÊÔ˜${I³’âU+]µ‚Kϱ7þô«šOYêöV¨N'QžXŠ„oª‘i (Ú«ïP‡þXâSq0Á‹Öv1Ÿþ6iÿ¾‹­Kendstream endobj 117 0 obj 1668 endobj 120 0 obj <> stream xœ­XÛnGü¨¯ ü¢[Ó÷î}óÚÖ€ãÄŽÞ#‘#kvÉ!ÍF¿ØýàTwW_†3¢µ€ã!5Í꺜ª:Õ_¡‹Êýÿ«íÅ—‹/ êeñÏj»øçõÅÕN–XÅ”X\ß^Ðð3¥tA9'f¡Œ‚ÿ_\o/¾{ù¯¿\¿þðýõ¿/„&FÂÙëõÅwŒ8 eÄ ªQöòçŸ~zñî•û %Q¢2øáí›w¯”IBˆ*Þ¼½?:9„jKQþ‰1œWy>éBȧ¹è/©Ðç|qóg¯ïÐBeG‰‚h*'~Œ2J,SÑÚÕn»­;A‰®ÊÖͳ.Dòbª”—ÝÁ#²"Ú$”~|´x˜f’’ÿ:#úÿýà¿hB¹_Ž}H:8¥9e(v¨œÓ„êÕ®ëšÕàUp"8‡½w`¨¥xöÏ¡9tõ­f•Œ×õíg÷éƒ:wã 0¦`²\,)C%Û㦂á¢"ÖŠX9¿¼yIÐnX*½['3î 6)-XÑ þK°p2 "‘ €‚^k[Åø·}Ô)¡êл}³jŸai¢¥²Ù•Îß§2Z[o6h—LÅÄÞb$¤H‰ÅH8äW‚Àê±Ï(‘ŒîjŸ$@!S)#wurMD£þ‰³”R^æRi9öÜ4ÁtÀ+KÞ{T®CvÀª ¬_R º>DsKæ®CçiÖ>A‚«•%¬ãBÇ+ê`Š•œë§åìà'ù±„ÒÚ“üX;—%eÄC;„SiY4õ¾Å¤¹ß³#/‚ŠÎý¾^c?eŠpUѯâ¥Å(½wS¥>±iûÄûMŠÂ¯MƒBH« õãÆÖÏózêÕÝs Zr û…adeŒÙó~påvìýq!J¨bÓò‘B©ù©—ÔV©öÑF7DX¶¢ á OÝKøË‘S²? D*žj{·jú>Là)F €‰ P ¥…Šóc¶áIJúþûð°ÇNb]ž?ÔÕÛæ“ç( [¤&úFÔhgÁGçþ§I–þšÆþãú¸ÝÏ(!Âan:Ð;Ñâc ¾T"H›ž ÜøO*df™1×½¢†Ø×…Îs7‘J*;%1J§NÛ´€’M `(ç™ÃÔ¬LÐN¤=µÉ ™AAdÓ`eÜ1“ˆò6èÈÅxŸ±Ôq¹‡h(éç]lôÀˆTB~ùKàc†•à®î±©M-rå»[0 nc$‹a¯ÌxØûŽÈa–E%ïv‡-0˜„¥åà94—^}ùQéšJ9¡aV4,¥31›Íæ¹ß´«vVµU r™bˆ϶âT¢™Zò·ä|”%ÿìV±Õ0ÉOÆ-t `QØ?lov 4”u ųM¼¸ŸMKq¸÷P·]*z^"{Z¤ ´Ý­ËÍÐî:Ÿ5XµòhÆÚ×ê€6<¯$»~G陀¯š½»¨G¨• ž§3$ ï‘iVÝžcG¼ñ·ï1Éz:£%Ø{Öv…íZeŒ¾{×aÞWù#6]Ân7 ~ØíGäÖt›E¶ ‹;êêvSßlâœUpÑi‘ó¼œÝ s#áÃîˆÉ¨,jïÛþñosi¦°™8î‚M%ƒŸ#õ‡C‹lºgSè‘~AO´Ñ‰A·ÝéUQYVIÀdQío‘ÚÂð¡‚‹±æÉÝäž4æ& ¨i¸>ºxü@gÆóz†­B[{ÎïÓ™Ö°™Ø™þYˆO;8Ó’» Ëé]Õv~fÓV•6£2›y:ŠÖMGŽÝû 0qW¿Â?C¹Öâ+Ž0­«‘nJš¦¹÷ècŠLZ¥óâ©x%t6öPl²ÃA5w\OxEcpûã~¿;ÄD0¥ýæ!0+€}2îó¾o·áñÄímy&!]ó€JÃÿr™ö¦D˾Œ€ Ñ5'a˜<ºÁÂrI0,2!èl6ò&Ÿ·¿ÊKƬ2ŽMŽk? ñg®ÙSuš—jš—Ñïß\ýû­¬f‹Ã­æ™0ý¡XIyw`Éæ[ÆXHf&{œ·“¸+·èŽãtTéô¦öc<‡5ääµnî±fâß_*Qú/ÝÓ†Ì}5 ²°î§©Æ5ivÝ®»Û(5,»p0—FŒöÉãö¦9D,^;ûhÚÛbD‹Tù«ãáÐt’2©{LͯÜîÕÕaºØ>Æ+w0ñm‰¡Kè¥Ð R¹Ï쯯¾¾|K踗Œß’a„_þ1³ g..È«Æmé4ìˆl î̦Û€»D+¿¢Òò• ¹T:çþi'E*5Oq(Ö×7uèÜ}õê?õçA9ûf¥0¦Öò¦F/.箦ju0bzõí¡Y?ƒü²ñò‘Ç–ˆ=ó„R¼$ËBŽ`q%ÕÓRvk1¹:ͶNÎL_‰²áóÏAÀ¸aA ÆPKF˜ÿ#ʿы37?2\ŸÇÝ·ÃÝit» Ý»KìQ'oIÀ’ÍÉK’ò]nô’ôåØÎNòe<©!"hxgÇ´×oÃëëÅû ÷ïo;Fûõendstream endobj 121 0 obj 2282 endobj 124 0 obj <> stream xœÅZ[oÔH^ñØ¿¢ß$âÔýò +"ò‘æFÈé˜Ä»n»±Ý@¤ý»?xOÝNÙÝN`ÐDiÕU§Îõ;ß)ϧ5)蚸?ñïÍvõiõiMýZúk³]?=_¾åtm «˜ëó+Ž)½¦kÊyaÖÊ(ø÷ú|»zøìÅ“7çÏß>:ÿ×JèÂHØ{~¹zÈ ·BYaÕqíÙo¯^=yý«ûAÊB bâ/Ï^?w«LÔˆ$âì5Èý»[碠ÚÒ¸þÄ-©ÂpNx’쟾eúHoÐY(]pC§ZSH¶¦¢àB1wà„ƒuvž0 b¢!T{l!˜±ñÂ~ß.Ýx’v€)œù­ÿË~ôÖÑB(+¢„÷»Þ»®72ÉÝtíX·ûêý#ïPR0•œ4ÔÛ}SŽu×z× SpÂ’ί+/Ì”€‰‡'ü.£IÚ—ºiÒ Ên÷öê‚p’Dí῟‘Â<0ÆkA´i±õk¼*Dºî«÷%§õ‹¾*ÿíeÂq¢’)»®nýîÎü`Ö'”Æøë!ȦT²¤[Õn:Яê«Ëb1ªiû WÕu«Ý÷FõùWo-3Éðj³½íŒ\“$¶Ä|å#Ó^5a«*˜$i½n‡±ßo\ÈÇŠ’†¤Ä C m°Î¢p+9Oe6ìªMý ºŒQÔR%MÚýö¢òB8¦i½ûx,x¢ÊÜjf^¡Ü¢$xE¤bId¶0IwÝçx§„,ÑIþ¢ÿ¬Å¥öEïS ©Ã=Fø¿»Î ›œ_×^"/'©ÈÚQˆ¥¥WFJRñj¿­Úqxs‚.2\Œ z(P<–[ճݖ­w»`Pœˆ{^ä#`'ÖCX²”R>ÍŸÞ>UÉ+]¨' ¡<ŽŽ—$ ˆ¦œ‡“:ðGvP‚v¼9{Í:cÀeUD06Ú¦ Ï>†Â“Vh>Í=ÀLaaP¥,%YÕ×›q+Ànw¼ßË ¢Q‹TçVJ–L¸ªÃy)óùÏ ~ ¥–B½Q4?H/j¡æ…2ÄBQ‚Š©e°Õrž6?økd’^¡Æ ½4Á®5©1kŒŠ-Ö˜7Ä‚vÁµ‹'(<‡ô¡N¤-›djЊ•3C7±ð¡Ãbv ­Aæ2ºOYŒþ;„tté’ëûÿaKÃ$+‡è8¥iË6šmC~_zdS}à %6»&%ÏE9VM°Q:)pµOFüÕÌð;äÆV?wH,ijsI/úã¯½Šµ rêÕm0’É8ˆvð®ùŒFí,ë îà~E±îêäSžuÏUo2zmö}Ÿ¼êò±n’Ž>¿$$«ÂîsKh xf)ƒöÍeâ;2¹¢íúmÙ47a¥DºpQEÜ&9öC•DXŽl#`ìT*£yèdÒ\Ÿ=yù26!Ø·`ÜãXk„¡qÁyàSRð~òé—ëzs}œ&›r¨bN))-àZtö—ë½(aØ_ôÝÈV©™P>pC–ކ†ÎBAŒÅ6°xåíiß0v»!RB9ÖèÇ1`Ð;Åhî©É»–% }5îûL æL‹iÐ*bÆ´ìÓºÙ^tÍ2«@y<×b;Ø,`¤0¿ ëÚrë ¯94ý:ÞìÒ¯Šâ¯ŸËf_ý±L7\ìà|Bk"¨ž¾&5/æ ;±i.’ƒS Ï?Óêê:åÏ·ÅB™§/ÁÔ§= MìÛ4“ñœ6:³‡ËêA[§u° „šº&ò°ûS*tº¹ÏܪÛa/hѧ²_JÔHTÇfzÒÌrzK²XQGÊǛǛÇò"n±TÓ™³…”—õ°kÊ›8FÀ7ó’i ÌC¾ &Õ 1·8£"£V™‚A,ûÔ‰$’^‹Ëc½c0bëV.ižÖšz[Q ²ŒÉVÆI ê‘ØÜ+ ‚I ‰¹©ÑôýáJ³¥öN°ëÚ&"PXÍîºjvÑpɱ#|Äù— œÅN–/%ôÑXŽIeß–Æ™‰Å§ÚXŠïÝ‚fPJÈÞÍY@³Ñ!î~ø&žÅÙqº_òðîC+JÂñTd¾±¬n „àÓñè6¼š¿Ì´>@, ¥%åÜM±&:>ÿ#†¤!jÖ•=+àù1âª-›X·0çÀ„…Ê’ÉÔ&2D0"i‹LTÈDcI8à;Ãã“ç†Z˜uÍ`Xê8f[’Çìöøêrûú"¦ŸQxÑ>Òsp7iéBÈø„úW'î"«óÇPÔoxÒjRL푈?Ì }z^b‘ŸƒÎülPeBþÔ)øŽŠÞ¡å[Ow,ÒM."ýë.Ö2™Õô8=ŒÂøF®KֶܰÝ0ÆóTãyGÕá© |³‘Ôb¯MýWèܪr¨#3r5ì(Á& „jˆ{lÈyâ¹ñ_Î|jÏ‹áÉÛšÄØ5Å×½HÈ3BåѰ2Ñ!ÑØI3Ô.ÿ“ª†ÞëP8gàÅMJ‘Ì´¯a³Þóóõ?VŸÖLØðh|!\SÚ6£ÚA´{^~z¶:={µÖ]­N_ÓÕé ÷Ÿ§ožÁ_g¿®ÿ¶z~öKrç½ Ê"L'HI'ðÏZ~_~^¦FSeÄ8¾ºuÉYuÙ|Àî6SŽq˃•÷«S·xY½[šf(3÷ÀÃìq7Öbòøß³];8ý,Î'I(¡GB'ðÐwMÓEÐ48é.ŽÔ·yT0 &þ˜GoÉ@m˜ü,I˹LsFÞ_.§/µÒs‰m ÷‡M„5°.áÁͦùvvß³ºÌ=|è{Çô» ù4}ˆ½i‡öˆ·‚fî¶çHÎ"9~aÑ@Õçó‡´«ÐÍîÌéðãr&B¿ã.‘~Ž¤Åœ¦ä>ñÙº·]¸Î«ërdWõuwù­ä½o½8JÂfŠÝžMw«œòäGT¾%ºÚþDIËy¢­ºWì=¡sQM ZezZº3KîY+fܧw;UköÝú-¡‡_«¾¢î²Sêì»%”þ‰’þT&øÿɺÏï¡._T}õ ù’[RÀn$~Q‰ƒ"sŸ Û_úþWnw¡óø8T-}ºûöü Ï_ä—æ¥É×~ŽƒàUÕV}ä‚nÑyºùºŒ%y*Z¸¯)±vûfÀ/–†¨<,§‘œI¤‚}µ«‚j°ØhžMðËpÕõíó%„„aÅõš?8.uuà&CVÜŸÿOu#Òendstream endobj 125 0 obj 2496 endobj 128 0 obj <> stream xœ•XmoÛ6°oþö!P3â;9 ú’­ÚnkØ—@¶ÕX›-¹.ößw|•d©Y‡ r$wÏÝ=wÔÇ,G8ËíOø»9,>.>fØÉâŸÍ!{¶Z\¾¥8ÓH "X¶ú°Àþ˜Î0¥HeB ø?[ß>ùô—ÕõÛïV,˜DŠÃÞÕvñ-AV‚ Ò Ë {þóë×Oß¼° œ#Ár^ݼ¹¶RÂV,ª¸yz´rÊ–ùS+HQšÓ¨Ù¿|KäÄn°™ ‰¨ÂC«±ö¸XÒ\!Ép¶$¤NugªÃiêœÕà»WÝC½ÙµMÝœºÛᦥߵÄÄíûÆá€‘Ö2:¶Ú•Î[Ø'IVueªbqi¡3…qû)qR€+1sš?£à3{ç½­œƒaéü§]Y;‰VH‘Ç®ÌätÛì÷ÝÔ¨æ¾lRÁ‘¤ZƒVŒ”"t›üQI"£‰¹;eÑØÜšÛÍÃfïŽH jÉøH” ®šña®a8õTåxLÉ"rÕÞÅ™hÐ5Àã\Áʪ:@©u4ââX¶U³½ðÁ JŽ? F‡B¦I–¼yQîK,$Dï¹þÐŒ}U—Ó>LL{hNSжM}a¦¡ÿTÔæ\e1µþs@9–çHáD÷=4—pžûØé ôO¯„ÝOίÄOBî{â}dfkÞoí £ë”C“ØœÒd~¯óŸ`º=öʆþâÌ‘ŸªûIÔþ Äx(™tÖÅ¡üÞƒ)FLöæØ•ÉmŸšÛãiß•·my, 3ƒLYoçÈ|IR ˜™"Nú> ×xbj7ˆJbÒ¾p"ZÆíë2ú#R×ùx‚”) ” BeÔ°~ eæáXÕwÎIH{BcC«L—bz€”ÛÊP®zHwCâž8BL0C‚°(Ü4‡CQÇ\–9Öâ÷³íŒØ¨ŠhwÇ®:ü0­ñ¹¸¤â ŸÝƒsŒzOL±Ùyè†tgš /x5u³-}æŒ(•á{³»Êß'ŽŠ1áù´K6»Cj'iÞ°:¦DócjF}ƒ%)îÊ«)KÄ´Öª\æò½OXs § ™muyà/ãKš4oýÒ;Û³üºÒHäÖËz¸k ö”§ä†H~¥xê~Ü–˜ó¨4ÐÜ ‰ž†©/;û¡i·ñœëä'<˜ÿóDxÛ¾ï”3ÅŸ<Æ—÷ô.x¢wð1!ãñª6‘\•H0Ý•mçIÒ]_7… £Ñ¢Ÿ,š*Ì+N"‚õé°Žº(0Â1ºÁoŒ0K¯¤¹€۲몦öE VœÚJÝ™²ØºQÞD’÷o¥è‡ö„ÅÀ+'ն륡µ°úpÚ‡Ní‰>®ît<î0 ¢#ðhb“#Κ2©)ûΰê«Õ°x‹X ¬ïÌÐ_Új’V‰<…Ù”(x)8‹†\䀻Tzeó06ô¡¤aÝ™¶ØÄì`Â.òI:ÔÛtF}ÿâweLgžÇ¸=ßGãg³`8š"]‡@9Åø1ã÷oI¡t¤{Eù¤ÝVÝæä@qFûé`\Óð°Öü? %öZžZzã§ÿÜÕÿ(ò à ÉÀL ã“#E ÑfÀ°ijc_.áÄø:?‚[è€}šÚÁw½Ê~µŸk€ó-Ÿ<[5ØÏ1ÒÖ ¦š[ß6‡Å³›ÅåÍëÌ´§rqù[†—/í¯g¿<‡?7/²¯×7^×ì§pœ# ÝJ ?¡` "·à!Á,Us £Øî¦vuIb¯ÒKUj1.šN¬ÜK-Ö¶¯+™˜í¾ÃY28&´ßýþ!v®T\Žv 1Knp—r'ÆØ(WlÇdÊ.P,Åæ¦+Ï–ô¬X@)IÅY7&õoA3Ì ò(æ‘Ñ‹g'“Ôj:Îl·X„ërWIJ§"h5‡"I_&€Vš ®Úm`(Ü¿/LØL`$æC·€¸a2‚Ä_jD…m±gïbÖ¿4Ûø¤&í¿ A‹æý»lWtI®RÐÖe¿}ä8ù\Õ›ýiëÄ–7‰ûwe[ö¥cþI5endstream endobj 129 0 obj 1839 endobj 132 0 obj <> stream xœ­YÛnÇòȯXøE2÷ýÀ[FØr"ðƒmÃÝ!w’ÕÌ,)æëS}«ž©Hˆø@±·§§êÔ©SU½6¤ â~âï]sõáêÆúµôk×lþvsõÍ{N7¶°Š)±¹¹»¢á1¥7tC9/ÌFonš«×ßýýÍ?nÞ¾ÿúæ_WBFÂÞ›ýÕkV¸Ê +¨ŽkßýüÓOoÞ}ï>²P‚˜øÁ×ïÞºU& jD:âúœûƒ[碠ÚÒ¸þÆ-©ÂpNx:Ù?þÍ{¦vƒÍBé‚:¶š‘ð€4ã¶œ˜B ºÙ2 «þè›CåMã…µ,™v9ÕCï-“°_§å²[Ù[Ÿ<€ îëëær,‡ºõ)8ƒËäÝîiw¬zÞ–L\ðÍ–²ðÜОËaw(ºöxlªÎMy‘m؆%° ¿î\í껺òK oÃÆçH¾Äõ‡òx©‚Œ›ÂÊöuWí’”Z0‚‘»ör"šFá2ž퀘í ¡…13[ªSy{ôàSB 53Ãh<4lì]›QŸîçHÔw1|Ö¦­C±™nËüEÁFŒ xýâ6‚VX–Žíeˆ„ך%ÔJ¤… ¤Ã“[Ò…à4­´g‡Iÿç`€²c Q¸M€Gp"°\¦4<¬™>yÅc}ZP±Â>k}™PPï:ñ§LÆÿ¶Š¦ºÄŧúìD¾Ú{Ea¡Õµ.WÞ¸jÆ¡«BXÀ(,&ÁÐÕ·‘ `^Z¿ ±tÀv%±Vúyا蔧ýê`“F3FåzQB90ƒi1Vá—ØÑU ¦Ó&̳ãsÛ¶Ç*ÔW¨FŒãÃÓ9¦ 'à‚ðË¡:ÅØ IÆ•ßË7ƒÞ†Ï©ºpZB÷‹&|>¬vëó,Åòm˜b§¬Ç× µÎÎ$0æšš6{/Ðúš­Û˜B<lí !’ •ürŽ•Y² Ä› Å|ðµ.¤€µ-óT$óáþ’¡À]¹«V[x8NØýbÁ¦{§íå¯ûKsþ£lœ…¿¯…o« }Ç™»¹¡ ÃôÛXNÑ’™s¬¶Ë˜pìÎ]Ña è\l)¼†Q; Ñ”SMÛ1<”ët,´ÍU<×D ‰¾yü•÷ú¹h‚iÌ(èú+R`Omâ²AÉïO)æy ê#ôR™`n*øSµ÷I%h·qò„Ù-Ù Q¨Lxð¶Ž£LZ¨9K ]¡_E1Xv+—»Ð&¹¶ ­ÝU)_xlG7¤ÅØPWÒòôâÛåj¿Ît T׊{¦3‘˜Î—Lˆ*®²[U×£hÌØŽ* ÿwìç,UëþqÄ6bÌïïGM>ÌwÞŸah}‘&Â8Wh)åÄâyuêÓÇ\•GïÞµCT(…Jç‘"Ðŧ@2a×6M,/‚ºÎE/c"G¹ÕÞB‘ ®¸ù;þûjˆ(æ ø½ ÍšŸWXbúíS ®…î«\\ãùºâ´UòÉx“`|€æ‚¿Jñ¾lR{N(v-¿½}.ì% ‘ªe÷ÛשI’<y‚cž!$º¨fÊ+–|ü¸^µãž-$ 1Ÿè54ÁVrõ4](ÍùZØ™SÄöµk_Aý\×í½” ‚|=¼ Yn`Ì´cû›Äï®íbƒæ{T¤K_ERJA°Ø¦ç9Avô‘2·©6ކ¦jÙœ~,›úTÅì'Îè?Ú´LÓîë»”ª„ ó›ªi»´n8ÊF¸Fá;N÷’ç¡jÔ¯‹éJÝš»!A`@!bÖ 8Æ£¿ûT2h.˜è †hh¨-ÖMXd±ñ /Îõk hð°wšê€c4{qÎ[3½›«2ï„ ÄèR,çÞä¶l»QË—š9õ¼uáVR£u×ÐVå~ùŽvå‚ ï\Îw®}¼›¶qåÒßT”ÇÏp'ÒuìΓÑÞxÀÔ¸œ‹[îfo;–ù‡²«ý­£¯tÓëÞzxÕDzhRàÏ-P3ÎGã«H´2#îHC•o-wÐÊõ±T5¶™¿í\CÁLcîr%ßCW˜>K‡Îeç,æýÐvKØÈçx#&ÝEË—Ä#õ^ù–)î³aËŒ*œâ$ë½g]`Ó<ý‘žóÅGqœíÐüÆîäWò‘éß§~»´Ž|$d„o—,&·$þ ù4û.àf Q&áÄ„• ™8jx¸Œÿ<|¦Þ¯¸IÉH&8^¯p¾<†;Ð/̃vÞŸÖø¾$ÝCºšœu(ÚU÷5¨ÖâÛ‘5N-¼,^:r1žqþOxžÛn(Ÿƒôçnaü§PÒb‰Òèk+HðËqH_”¼¬×åò+®,> ßÞlþyå~þ ±Læendstream endobj 133 0 obj 2272 endobj 136 0 obj <> stream xœeAOÃ0 …ïù9¡î0/NÒ89€TF“Ø€*Ç T CCT¬!ø÷$]:Mª|°òùùé9€\ÄJ½iYÇ:Ž=ZÓòKÏf•BîÀi4÷†‡5C9*–k›û–eó›âÞ—ÕÄ¿3M`ó õ/,“ Jp)±ùÝrY¬®â ÏÁhaÓàv±*#•9 ÕƒÅb|¯#W&^DdÀ*%ÔàܯÏ*I£Ü!³6Êâij‰‡…Üž.L•°@ùTR ½õÛîkÛ^ôç!X3„kÿž~êý¶~þx3B %Mž÷·9Ñ _g»Ïýw=òyLRçŽÒ(lÖ“$¥ãœ¥âWl"-=`±þ3l endstream endobj 137 0 obj 272 endobj 140 0 obj <> stream xœWK“ÓF®âè_ᜀT<Ìû‘(Hq `Џheí®Y2‰eÿ==ÙkCTµGýøú믛¯kJØš†¿ùßz¿úºúºfцÿÔûõ‹íê٩ל­¹^o¯Wé¶fB»V–Ç×ÛýêÉËÛê05ãÓí¿+c‰’N»ínõDӳ̮¹$ÆÜlðÍFq"e|ø×XnÛºêÂŒ ²øøä“g¥ˆ–P²¾é!àuU7)7kGä)c¦aÂBI„޼~óÏÛW†×BÎËŽ>$Ä$“Lѧ&N a²©ænÌP‡Òs›}|˱œ¢Ç*}n…*›®ã3C”¢ÆfÛ]09b˜(_¶]7ûi¬¦vè}øY:"œùçÛfl~ f¨OAPƒtxüñæàÛ}ÌÐ*-~Su~ˆ)B$ã0öaLFA¸sXã·v×x¬ÑPw\Ž%ì›ãnIJ¬¡|A$v hÕÁúÛØ­hgàÛbsÿ€M Óm5E«%† Lª;tí£”¡ Ä‘å§aßä¼-+y׉KÄY«Škì—“ãíÆywÓŒ÷YA ¶mà;kSŽÞu[MMì¿È´FtïÚé6Wˤ¢Œ´D©»–äØÊ––¾™'x­‘3÷‰@\(…ˆïÛ«.ú’@ÓÐÔ: 8Н‡CÓg°µÕ¦$ÛïĉjLìÎg*ZúRœRCm¡GS•ü”ÄÊ ãÒsÀ‘ë_A²k¦ªí|&­dÛT] ót>m÷Ã<¦&qEh`?Ï~®²s®FœorY’ó2Ø}J—Q©x)kú}ÓO$œèbe‡pc(f6 ZÀ†f* ÙÑÌRï~ð©*A(3hͥ €œ‘×êB^,º 4·Ä‹Åß´}@0˜\…dñ Ðhèÿˆ¿(Â7‹óÇyè„(ÎS+-ðÍ•—wIÊha`ÕOK­ü„A@"¡Ø*¦f<Ö îVûf©®vM®™ZWˆ|iên•GäóøRZaK†XÞôó¡­ãkG¤)B…ù_žF:@öÐþRè.w >(P— ñaûOèîï÷WC—¢¦Ú1*2³Hs«1õG]; »Jx,Jí”C…ãG¢¾›ëÆ“´á_HðV"¾Ý@GLZ‰‚°˜ '@\ÌåmÕöË–\„.k‡0„Yz2þJ­ƒ,(•B1V5ˆ(äó…P9X“RâÛ¦ŸýÅ Žï6Ðyžn„×m×lž¿ËÚfÑB#%ˆŸêܪÊ"Æ,cfY?Çš¤Õ Úb`87ð€Ú£Àïçz¬r­¹˜—ñÆ 8uâî3ÎÔrq º@RÍ æ~óü÷(AA/o¡þg/»!ÑôJÑÒ¥…vz‘¢ŸÊ>¹Ü< ò{6!)4!ü¼w/æiÊgÊÿéÞ—'ÛÛ&%FΚ²/FLÚ,;¹œ-°T¹P®‡9 +bYùÒf4ýÁ!dÁIx×+NÌýÕPÑ¡«®Èä@úéóGuiÔù¶½ˆº9KÇ È‘*èçÍH‚³áÐlâ²á°?“f~œšO—“­§Äz<¨¬SKÒpTÎu¸*Ń‚Á qòÝ·¼³Ù"áéÓñjµ¿Œ:÷SÛe³=Ž‚T—%&Ë%èÓ †ãfY÷×S95/Ÿ§Rà–R!Pß§süÏʳ Z¦O'¸oým™^‘?Ì}Öº«—.ª±™æ1ÝT ‹j¹õw»vjŠ6ªRÇq³ÿÔü2h=†ý<̾K‡¨ƒë—8û8  Jh=…þÙ¿_‰z^P£àÆø8{˜×Eòʾ/æøÿ„b~ù÷§È'[@f4ñ—Gñxµ]¿_…¿?²^yõendstream endobj 141 0 obj 1431 endobj 144 0 obj <> stream xœ¥YÛŽÛFò8_¡7Û€Åôýâ7{ì¬l¯­`±À¼p$Έ±$Ê$•Éì×oõ­º)É; ? ܛէN:Õú2#÷/þ]n¯¾\}™Q¿–þ,·³7‹«?r:³•UL‰ÙâǔžÑå¼23eü¶Ø^=¿~ÿúÃâÝÇ‹?®„®Œ„ï.VWÏyåV(«¬ :®ýããëï¾~ýO÷‘´•аøè÷Oa ¦á¡âêÏ¿ÂÎ?¹u.*ª-ë¯Ý’ª ç„Ç¥ëwníÇLŸDQ ¥+®u7ãá)g”VVJæ˜s8Ÿ„oÎ]$*…VþË\V†)ßø©Ý6õØv;SiMLülÛ­šsñÌ­¨¤u»Ó*l¾X·ƒ?8,x‚cÙíÆ¾Û ñè’âÑ×[³c ׇ°$-³6.Ýï‡vë÷˜„I( !æfxéóÅ*)lzg½[ù”ÁVª§_'tÚu\ûÃRQ)&R ÷‡Ö/ÊŠ1šÂ:ìWîížsF fÊ á?ü5ì`äÅŸ>ÎÊRJÓÛš>âÍ)âý¶Û=‹( ‹Žáam­Â‡Ãµœ›§^§æD«Ièþ%jiÍÉá!ÇLJ‡m þaÝxª0^ifÔ4%í5$K$vPàAv„5S-™8 ƒ ãÎó§b\c’€ßãÂà›Sè³">›CbÜÿ ¥Ø´GwðXSØØÚ„õfbª2$O`dLHzm·džÒKê1zÚQßÃc·Xh­å|¡ …„Ô¢ÞÜ>Æ8‰b©j÷}3 ¶GF‡ÒF×c¿™_ÇüʬAí.‡¢À–ö²Ûnc ÍjK(ÒʘP» éJ$_»›Þ§ AjdE½Œé˜€-P$plvú+áEñÕTN3«—›ÆÓD1ež¾ù;²˜ÓŠz|¢§Kø[+è1>J >ú}3ÜbàI¹V'¤Ê–°ü}% ¿ª*"‘mø´:Ïíz>Mþ6|Ò<e5E“Þ|óü±;DR±¢‚šbß«ˆãÊÆ÷ Hdª¨ö.T>hI8Å××­æiï“Pª†6›&–0 N²,¬Ã>: ‘«<¨ÁtmÙÝÅÅÓ»&ñ^æÄ½šß¼,ƒî© Ö‹Å·âT¨ÜKÛm$Šù!x¸÷MßÄ|¡Gp¤Óìê]ÄÐHâ6Ýi“|ˆKT¦×¬Îµí]L¾Íšu¤žÀuN Úq„É`TuH6/²³j6µ§+º2ƒêÛŒMèxÒ)å áÄ%„ ˜3 AYlG—j`®„"ué’Á^õM½ÛmàˆÑÇ­uj¼ÚÐÈu ßÖŸãPoBSUiš»Viº Ñõ© fÒžØáHvÃãn¹î»]ûßÀ03ˆó© $¦jØ7¡> $·.Ì ¼…ñ [t•‘¨Ã‘j¨k•¡ÞtËÏÑ)ƒÉ¡Yo 9¿5¼­ ¾fîúj²ÎÌçŸUÐULŸºƒ÷WÐ#©È­ ‰î“ç>û¦Oz…¼èbôJçcM?„ˆŽÜ6%!xŸ¹ÃÅå„DaŽö}wêiþlW±s,I58>$wÈ”.ÃrŽŒR†O'?k`k £QÔ%PêB@û؉ÌÕeóÊC !åÉêYÌtÄâü0®(#A=lŸC ¤ˆrLS€ÆSÀ·lßÝþqv{o×lÂùq†qN— ¬(øÚE쪶â„>‹!쉣Î9Öê,'_ ' ±vjº²T¢Á­ƒ€èðôð²Ût)s&"Kð׫( LDúU;ì£xNýXä©”:å©4GNìÛe¤”.tÝ%•étÂ¥"&®Lá©J+êc˜ ¸ÀC–&bMºÁ^©’ý.å1x’}ÊÁ•Gà§¹H»*“%¶ÓFSŠ#0Ì6I9´EWS4/§KÔ‹;Ä‹€eGÍßt5d,Øî|ÑV[¸ñ9m½îwûàxxÛD‚Áü„3K·m¼›òJMSð£i¢–Å´4NkO™JV0'´Bè­¡Ÿtó|ÌaºIßþíío¯RǢغëÕ™«€¡Y¦îGéDa¹íi¤” ]ɺ½O݇¢Ü4X2ˆè¹î¿ ¡–W«æ6I êp8Þ¼ˆS‚òVîÔ"zé‚—j䦜gÓýhÁTÕ` â!x:ÇdÂd6×y0y‚Ú4wc´„cÕŸüü¸=.ã—Q…FáyÀShøùzçq{›nà¸ØqûƽÍnŒœ“P½ —^ ñ¾¯·L쯟A‘LËîà&×XJšbÿxòK)AÃw ~Þw0ê†k'x;Œ©—ñí¼ðÏý0#åã(4t(ì¿o»Ãmàe%ªörÓ.?§qßù¼HÃJãö\¥Q¢N)ÀdAûû8¨Â¹ÂþäO;¸yï.±Û ªXAÔšDí³—,‘#å zLq"Xõõ=†WˆÔD Šžá‡#G(i°BBs÷™¤ÆŠÉÅÞ™Wt]¿Š|Q•â9Ñ_Ýv1œbnþÚ èoyQEÛØ|EmNžF;ILyZ®ëÝ}så¨瀚׭‚ô®ÓQ9 ¤ Âô}ñ—D}z¤\=Aã`‚,™Rã^Ç(Ú¬´wŒýÏPäÙmBC ÿÃ8véV\ úW7ˆ$ª8W[¬ÌòÁØ‘rE…28õì»ýÂ"vʾÉ5bz'¸mváNÃÍ8yöÍ3ŽÎcÜÐþ…¬Ä¯¶c³Mv^ænðŠ kâdLÇê+F„gNˆŸÅþ¢³Ä‡ Aw'“6ìšÄ›IÄóÔ¹ˆ9lޝš]wù*º¸.îaÎ5“øÀÉ|Ã=ÉUÇùìºíÃéW=MC•s7¼òS0 žLÖ)² 䦳—æ™ßÄûù£ ¼ò2ÿÊž&þĨ_ŠTc!ayÀlÂ,6?hM7/^EÛ+&¶WAµ Ž¿uü’ò­]Û³E¾}¤n>Äö¶–}»OæëÄQkæ:áäŠø§v—œ²8‘ý’ÔÍÄ)3Å5HqGPбpt)¼¯^™Àø›Žòj®É5uö–UUÒl»ð·(0]SÅ^Åî% zá}„ÜÝvæ)½Nv±¸Ù;»/ Û…#xaÀl¤NÀ¤­x„D¦IryÞ?õ±ç:ÞY`–‡¾Ï«Iå;¸×Ñîj@—›ò¾ëãaiYÜZ'³(yyUd^åÌÍ8`âÄ9Î}É3’*¨b[@‰™êkë~Lšf 6Ãþ°Û%ŸP,Hð™í&e—Ñ¿Q8êJ¦&ßq­ÛØU] ‰²‚~IÚèK÷â§=üœKH«x>´ì]Ûý& vÖ]XÚ ýñ'abO ¨xá7“ F=÷‹Xò±»Á¸®Óè ö¢›«!ß¡§@lD`~¥VÖuü ˜»;ã ƒßL³¨9ÙŒî¡ ã§fL„£}½è¤"?ˆ> stream xœµYKsÛF®ÊQ—ý ¼Ù®"Ì{foŽ×Ú¸²µöJJå¢ HB"²@ ýûíyõ,Ç©ÚÒAÒp¦§_w=ü¼Ê3²ÊíOø½«¯>_}^·íêÕOwW?Þ0²2™‘TòÕÝÃñǤZ‘a,Ó+©%ü¿º«¯^¿ûùí§»÷7oî~¿â*ÓöÞí¯^³Ì®šNTXûçÍÛO?x÷ö_ö#a2®@¾ÿè×[/‚*8ÀeXýðo|m×ψ2$¬¿µK2ÓŒå,,½{o×~¼¡j¦9hͥʘRc½)·6 ìðÉÆÞ,¨O]ûñtÚ˜,§y¼µŠnpV™LJ­:”ßÌ2nDÔç¶ô[EF‹êÍÄËBë¢û¯šƒPWËÎí̳\å:¬=´~‘ƒªÂ„Å®=UãÔby&5‹~>YÛªæÑ}šä¹™áb¶¡TdFËÕT2ô.iOAù\(qéÐé¯xdIæKQ1ègƒÈ˜ÉE<{w—á0•xÑp(ƒç$åhQ¹ª¶Iž3/ù9‰PE\øXjôñSÕìÛàËxàÉ;A–ÓhÅýÏ\g÷£XÜ–GÐÑI‘™b:ú¢®·íÑ™ÏEÆ£‡ïUl×ÉöºlÎnU@>`VCYÏ÷úó‚$h\k›ãsÜ)&Á„D5ŒÅh|ñK`‰—Õ±Ø"˜T²ùéP6Á9RëXú¶N`ÊÑñ¥|>:ÿDzÃDÃ’î½s`¹wñ±h4ñ®ªIÔ4Ä*tf‡HÐohFÁq…1ß?–ƒ £c¬¿Š!Ô I°´Uƒ+„¡Ñˆ}[Æ2EèÄ4ɉiE·;„B*$‚ á”$œ«~«TqŒìC𧨪‡V‹ë1'À)gWA & .߀íèɧ¹#Ûn¿vR´ z\-'€@N 1{ðnDáÆèDeR©ˆî2FPŽúŸ½HHA‰¹8nˆ¡ò…ã q(9F\iT¨“cDžã<눤ሚ?])|½£*íúGy*›ý&8[Ú¦¼!$Ó:èöê°ÊÑäuAèϧX5 Ã$ÇL_à#@œ&+Z°¹ÃÞHSJ}@)£ë‡o I*Ž}‹íÀDû¶)×!r9S—8ŸHè‹:5hFÆJÌu+zï6I3ÍeÂh¬M XBªM±ÔûQ2:446hL-ÅZ ô‚º˜šeÔX¾&àk`ù»§DDÐ1'Ú@¢X2”‡DÊó·%ò ‚åæCÈ3­¸Ò‰²”gJ¤²T43Ðhqm¿ïʾ_‡ä‘TÓd{"N}Ha=Òžví>Òè1ˆ$¬‚‰ÔIÎÝÎ#AC׋×}©Ê Ñ{Q Ih_õ§cñüŸ'^‹- @”'[°2[Ž„ý;Ïmwß ¨¡„c—©†WÞíTĬÞcC(.`9æ[]hdRåØGh !sÁ"ãú:¶óD®YÔ7dB T(sÙÿê*KØâNŸn}`„åóž3ÒaW_ñ;16QøÿÙïLÌü>.»¶òß >‘9"õ"7ÇÜøǶqZP©RWí©íü•’çÉoGÎ.{ž5XÐi °ç 2ïyŒ\ö<—îeƤ˜iõ/îôÓ ÐCĤš]W¡«ƒéÃ÷uÂÆmïFOŒóhXh¡¥ö¡á(‰àìGšqIé8Öî–ň—Š0ßWű}ÌB“ YÔû/!'òTËî947š¸ÊPÕ £Ís{é/êzð1†¢¬„O#äM¼é•õà« .GXncö—ÎÃÐ6kc6©e¦^¬GIybØÓ`Ú´C¹m[7ãqˆ3C§âÑ[왚 4ذC$6‰&ÑC±X*).+ÆD¹Qƒñ¬b÷bãþìÉ;HU9ûª£pÙ2Ns_î=ˆÐ&>ò†!’$ûaŽiöÖç$ŒÆLPÃ…¯'OÕpˆü££ŸU@"´ŽÜ+!ØTÜ» [B#Vñ¶Ý¡hñiA½‹8úÛ„hV×€"ßÅ…%†èŒ{+­/ƒï¥ÁQ?qÙÑ%‘Ë‚Õ@[A~Ì•ñ BFÐE”ãàëÄj‡ö”~‰‘4v?oÛ¢Û$Cÿ[·×V0@¥No$]ií„Á¡Üß¿q)-a†ÔXê°°\Okþtà]œ5ëÂoµEš! þÂ{ˆeÙ–1Á‰Píï0S1 ÀŽ‹ý^—2;ÖÍ\È6¸kÂðl¹´oiÖBîüâÛƒ©ƒ—®°sÀzâÇtK´dÃÁãVƒQÒôëÛõµrbàC)£˜Û¡<Í‹@ëß!±uª‰ð‘îìž¿|njû@(Äøšvýq}­ã5ß+¿rÍܳ_œ½ðª9ÒÅ«·¨È#U<ã\a$×7ëkã.ÖQØÍ9ΣE[!ª¦=÷þ! NÆ'ˆP©AQ¡Æ—¾ïw…ŸŠ›ñuð6âüàÏ5¾ÂLð„V!÷ÜD­fµæRŠƒZÖn=G }õS¨šáH³œKA#™æÌ§Þãq–tD‘ÌÎ|–h*zIGï¥/U5¾xÕ!ÔwÑR“ž|IÕŒJ5VØÕhŠ­ïG”Ù7Ô(òcHl[ TR‰ÀHͲ<Ì(·.ëÖóL×LØi*s—ON7%ã‹~,-–zbi9†/# N”bIÌl²µjÚ®ÆN¼¡ô˜ŽŶ=ÉÁ| úu€L!Ñ(“1–Fê_ìË]UÎ*Îlb¾ôh}> stream xœÕYËŽÛʼœM~AðÆ60Óî÷#;__'6`ÇÎÌ\ ¼¡$ކ±$ŽIÊ“ùûT¿ª)‰óJV¶[dwuÕ©S§Š?g”°õÒß‹ÍÉÏ“Ÿ3Öò_‹Íì·Ë“·ç‚Íqšk9»¼:añ5mflÆ„ v¦­†ÿÏ.7'¯ß|÷íòÃù›ËHC¬‚g/—'¯ñ+Œ'™Ik=÷íã§÷ï>ûŸ”#ÒÀþñ§?.âÜÀ R§ÕOƒÿâ×…$Ì8–Ößù%M¬T¤¥÷üÚÛsnŽ,«¥6D3¶›«ô‚¿p&à~ ž<ó–è°õåuîâÕÆeú¾ÞÌ×wáÞ‚Hø)ý2Tóð¸&‚›ãs®Àò•Û]ö¢ymQmÿÍbŠïÙeÑR8°‹ÃÃÚº1üS1ÆÓ~¿·»ù:X/à5åðœu³øü͈&?Þn“IBò¼VE_;%D¾áºÙF€S­ÈWÚ°F‰`´¬­Vñ|p§à9®ó®®~Ü´ÍvèÉôu™ðî—³3ðº{òuÿè³]Îæµ!EOÍeP_m¢U‚P&òê$ˆ˰ªã’Øc(çmÕ-ÃÛþt•]´›Mµ]öá E´2ù—ªOž1Ö=dU³MÏ1G̓添n/`‰ÂPÍ»ás%opÛ×]Xµ„3À=n皥Ì3Ý~Þ¬®‡` Xé´™e†âdtËU=ßry›z»K)äq{]wÑÀ Òf·ß¥ ó©/F–²“;LæÅuµ]Å4¡D¡rþU[`{@ÈC:OÂr?y|½Y´Ëxž"Œcþeê ’ø0™ Àš‘"ÐAd©ÙœPeŽÑo5Þà¦kW]µ çk"èÞMÛÝ%»¬@n€=a+ŽôÕ-áÄpkj¤ÛG;#”£Ûõn³íË"í>‹•£oþ=Ôõ6EÃqá±nQ¯×ao[–—oí[â×Ï §ÁX‘‚ÜMÈ0FéýËŒSw“d˜üÁ,PGörLFK˜´ ‘ý¨wîþ¶u½LžÝ‡ãDæ,U$Ž}НÖëDæÒpsìB>vaÀ$½õƒGÔv™ež:^ "ærMçÖq¸gcƼ„À—ÚÕt“Œ‡'&È´Ìkï.Þú”8ØHeWßtuçVC‹™ÂEâÍY{˜äÊ+© ÖË'yPHùì1”gÃÿŒ,ž¡G•Tf§y©Ý¾Xíb^Kê‘„6Ç”ô`µúر°õˆ& ó®Ï—6”æK·©¬‹:Ì€ä2¢¹¬«3ÙH†™¿lò³Žbý½–ØÆêà‹bá`Àþ±Ã½ÈøŸÏ'ö„2ôu‹T«L6u~7äU­T~´p…Þ®cÊÛ£AóÚg—ÅË s 7†fkn#MP#(j®¸¤F/z›û$O¤£î1£OÓ¹Ó9j_.~K¨’“/º~¸Oo`¡JþÝðsº!§BÎÇ©ûE€•ÿ{&Þ£‚8΄Û&2÷I‹Ú£cS˜fZÒ4C½9ÞàÕE= ÍvÕ¿J—š‚DØÝщB¢d“û$Á´-vB¨µ)d.&Ø-pÎK‘)D‰B!]¢%‘B€E3ƒ)ä-¿¿^vÕ*ƒ—¾¨xNØâ¹6±ˆ`¦÷ÙÎã”w[׋¬PK)Ù`J râû›d„ØuVË%—>÷LPn ÕÃc Èå2äœÀª\öøHI 9ë= á®>gñêHÏΠZF’„Ø%ú‡Óò-ÏëUÓ1³”¼`Sú«©oûIu m2¨UŸ=ŠY  ÆfE1V]¾ +’̱Ðñ!X" ¸‘@ê›M³®º”TÊhtPÖ¦4Ðå¾&l2n›í²Í‘¥¸ÅmTè Ò €ÇB2S2¸K7PT¶gbŠ×:÷%—1]´É2ÃUÁ;¶Ç£ÅÇÏÉf~øðí<¡dJvà×/v<ÈÄݲªÓ„¥-Þÿ:*h¿‡Æt®¢Nc®t³IºDe¾®#Åbgþ<™ vÌOJò‰¥Ûâ ñß×3¨L…‘Àý1ïsŠaØ(SSF S±ØuY}xˆiämÐw Èåá{)$’‹Åؽ÷© ¼›¤iqó¦¶Õ0§ee´¨±€-›þf]ÝE½ Î58/h†WQcs£ ‡Åm¹P*o»MS …×Kz¢•±ðT¤×»è4 };fD5o³'ÍáÛG³ A,ýy /íf]ÇÚ¸§-(,eéý@A ´8G~ϬvÊOº&ë9t‚êa'åWÍæÏïŽC.ãvQHSÍ/æÄˆc¡:ñȰkì8 ÎP©  ÈqþþI…r$ÌŽñ nrŒÍRµÄð@uÝÏG˜ýþ&’€õƒ]=æ€Ü‚ (õôª]¯[ÄSÑBÛ\ÑiQHÐÁ€Ž ëÆ—8ˆ–ïA0Zó:ùZYì—‰e=¨$ú¹-½â‘&ï3õ8ß` ÆMO##h(ùX΢ß)‚·Ê:·äC—Qæë¨ÕGmèèíG¡/<¡Nº’&¹Ä4£Æˆ{Ø„ž0EñcSô“²0là€ çù5ˆQlŒF 2Æ LŒÍu»^愱åJ/™dœ…ìÂQfNdY’c]_ ™Z =–†`+2ûü8¹wÃÐnO“®ÑTpÜ !öÌ&ýÊ@†þ¹*Lª"~ø‰•6AÆš"I)CCž5žt̪Ï~°@©(²ï³™D…:Ñ;CÙÐÊ>³w¾HêH²´èEÜŒg¦vÈæ8d8éƒn`Çcy0oÁŸ‡£É½pmìǘnÎybkÇ0JÁ‰[¤ãGS⽤KcF¨@Z¼io’]œ¡hÙÝ$œ²‘fÉ!„<8å šRd%ùÆãhM'ÆÑ”MŒ£÷Z±Q»âD™¼ h˜-> stream xœ¥ZMoÛHæèËþ!—$@̰¿Ù{óÎNv$ƒYǃŹÐ"-s#‘ Iã¿Õìêê–DÉö.rHÒ&›ÕU¯^½ªö÷Ež±EîþàßËÍÅ÷‹ï 6­…¿–›Åßn.Þ_ ¶°™Õ\ËÅÍÝó¯i³` &DV,t¡áÿ‹›ÍÅ›Ÿ½úýæ—ë·7ÿ¹&+<{S]¼™[a<³’\ûÇõÕï¿~üùê“û‘²™4°¿ÿÑ_üÜÀ RãêÇß`çn]ÈŒËpýÊ-é¬"¸ôó/níý57G–ƒÕR›L“Ú͵)ž¾q)X‘ik—Î=íý—¹­áŸŠ1>ßm§óêL |ðè–L& †/ëõz˜<ÃÁЇ×ÿíĘȃGº:PHzl‰_‘p¥ÏeúHž™èþÛÇ㫾\­šv5ù§uØd¼¯ñ[FʰxÛõUÝO[™ÌY°¡»›ž…Ï„€¸æ´ÁP¯ëåXWSŬJŒþúføú6› 7<Ë5_\2XåÏˇf½ÆÀHQðã0ÈŒ3òÆçnzVÀ1LkNÈÎ,ƒààRí£e ‚õ›n7Ôè-Ã~c‡n,û­;/¥rúƃ÷)ƒÕ\„žYÝÓ–,¢°„¾¥ä’§Ø|&I ïúrãMU™1\¼ôýƒjaõaß¹Ÿ]rË ÙḊ«l+ Ea ½€Up'.6£gx_Úpð4Ò²`Á®­qO3ÂÙñŸe’b4ø° ¥Ttf;Öí8ýD€;h߇€øš ἭѪBK‚m·m¼/¸=Œ:³¹9çÉV}$9¸„›#tÎd*2cå ³à_MÒYÊqy?YdXMðM†ØP\…å/Sȧup´(ŽO•¤ø««ªB†3⼯ð9™pS·;LL¥©<4#ÚçvuC=Ë@ϳÀ8Á÷¥[³çRƒŸ—áU“$H°ö®î>è0­(™nËå·Ußí<â¥Í„æÄÎݺëtf!‹ðNUoë¶B.–"³FpBù1s{s€m„¡šâÁ3– a}€ò@¢¯·}=€å=2  àœ\Èp-‚Â|]G¯…ü\5ÈÀ‡((ìë›:[e´BÇ\_}þúv²T!ï×ÄS„‰Û}4„.ìûX¶'Ò‰É(·xa:}ÙÖ˦\£EFÛð¡»v96>Z®š­žtÀT®—s~ˆ ýå÷ÐQ7] ‡›?¾¼»ù|£Ï”Ér ù²²ÿvD·ó.; UÇåß‹à:"Ñ£S›X x¨L²9xˆŒ‘[èáYM$ôñ·¿ÀS91ëº[–¡ršÈ‰Ê]«Tض¬*È_„sa[þ£ÈoIªÍà‰Å*àÍ#ËDR>CõuP„ÕrÀÒh´s‹T0-^B¼³ÜÉT,®éÑXÆ‹ƒ£YÇe9›9ϸHΖÜp( œÞª/O¤£%öÒŠÔ´Aµæ&œyd>“7U,äÅ“ ñ–Cæ1ʼÛ5pq†ëð±`ÁGäOk%mRbÑw>ááèCóc¬ë±«@ï»´B›®9Ÿ3b£Û¾.¿m»ô§gj€]ŒH_W^®C ;}êV+"0«äó±Rá'‘måzèð{RYs`ð H¹' VÛ¡Ù¤ë¨cÛrÓ,!—ñTÖЩvÛ hÊ3´^FJåúÿ§«Ã€ebÕD uÚç˜A“MÁèݺ eZ*'üÂæÛ¾[ÖuåÕ·M(Lxí© >Ù™ßÓî¥ß°'$Àò¾lW5r‰6¥ÙLÝÕ˜’¹"…~[Ò†%u,t‚{¾¯KðдU‡Ð/rªÐ˜ÚÊrêĪ]2Õé–X$< dȳsItn’qÒn~ÄŠùœ#¯x·:à®è8~Až'w©H•w˜y£¹²a5Js1•ü=iŽßLÕgÀ4:ÊÝ7•×YsmÇ|û2Ÿ[÷ˆXG‰¥ù¸&L­,ÏŒ2¤†z!Ãô#=-§^ÁµJAáIrÛtš5 "Ã)WqÊeÃÒ³K¯ýÀeÜŸî,”î:ßùó†í$“÷×Àénˆ%5÷¢RC}w³8ŠïéD&ƒ:‘äÜ/›ÛnªÐÐQ­Ã‘ÿlꇹpY8‘âÚæŒcКЪ> stream xœÍXKoÛF¾ëÒ¿ ô”´Ù÷£—ÂvÒ&@¤¶Š¢€/”DKj$Ò¡¨*þÍîìc–”E;q´…qÆËÙ™o¾yí‡1%lLýOúw¾}}³ ÃæÛñùtôâR°±#Ns-ÇÓ›‹Ÿi3fc&±cm5ü<ÝŽž]¼>{7}uù|úçHbœ.FÏñƉ“Ì$ÙÏ—gï^¿¹8ûÅÿI9" èúí*ªà>:Iß¼Í?y¹„Ç’üÌ‹4±BP‘D¯¼ìÅ%7'–ƒÕR"ŒéÛÍMü@ñ1“DHÍýþ)89ñ–èäŠ &pÂ%Cÿ~î "¹CŠv¾ >8€A ­ËÃi£ˆâRÀMŠÎNWë]Ð@ ׯŠ2G¸PeUÝàSÉaqJ„¼Þ··ûvRW›»!G(“hða]-êpŸ$–jD÷¯SŽ»¬9˜À(qEíª 2IŒ”øiUlˤZ‹ìöËe¹kƒ¡‰¥¿\?›¯ŠjYbˆUVï5ýxý<°H(Âð†?¢Œ‰|´Þ'ª)Ëy’Í‹*5áÎàÁY݆M@®€ƈµ¦ð#ÎJÞG¼Ö&ǸZ™%Ô)ô¯ç#FåÀ-жÀuZZtáe½ŸmÊÉ|³ž¿_WËàTTv¨JäR2;b ·?Qýlݦn˜Hm½\nÊ]"¬Ð9ù0^ŠXžã*bžB¸åÄìâ`Q†b¡€<1Š¿Ë¤jŽXѬ‹Y2i" LB*@>2~U6eb¼Þ¢Ywé:A3Û¢A´€CRä"Žmƒ A¸’ˆáºJállC㣙³3ÞîeÔà±åz×–MŠ›dåÉ'œ {%†‘¡Ù•›r"Æ5d!Fñïàd›ÈŸŸEd19DC©LzçSJ7ÑåÃMSG@8ÑJcü·eµÙDk(FV@FÏ‹—f½\µ‘¢!¢PôM&žW•®…‚ŠÌ[¥"¡ˆ¡™8]•ÐënêͦN¨é\c)º`6w]Ûr»û!Pµº_Aàœ… õK†ãß •ZøU1†¨]–Û:ñ°TÇÄõ¼Ĕu)÷@†ÍS@uã8` Rþ¥æ]•XٹȹöšJhYM»ÄЛ}9l£°9gO´ñbSx3u¹-Ÿ7eñþ¶^W±ÔŸÞ%ž*úM™ù»ÐyI˜J''ÐÏy¯X<ì=û·Í94Àéÿ‘=\ª•â_Ã"˜ª´²ò¿*†£‚}•å𪟠ùE½Ùo«!¡ †ò# ßù_ÒÌøýñ S™ÎŸ:íåõmYíR˱¾Gñþ6¹mèñ$`s]{|3½F~È ×ø Q¿K * xy7Ci•g¨^ƒ¸¹\Wë4üé­oRǤ9)6»¢ÊŒÊ ‚îæ.LtÞoã(á¹/ò"Yê7Cyÿ-Cïz[D0ØrÜgÀˆ:!2ÚšI"‹õ*“Åc”ú—êÌ|OiÊvßT‰-\e¤‹X„ñuDH›kix\H@år3?Î9ÝcuI (A‚åí>ÖÛoÈã}H2³üiâöæ³Á¤¸çÑ€?¯¦ã_GþçiÑœendstream endobj 164 0 obj 1615 endobj 167 0 obj <> stream xœ­ZmoÜÆüQ¿B½/q‹æ¾qw äƒk¸M€6pEuGIŒïÈ3ygUÿ¾³/3»þøÓûwwR¶Öú×/a ®á²ŠOúVþ«{.dÁ´eñù;÷¨*Œ¥ˆÞpÏÞ~âzf9X-+]­s»¹ ?Pü’ÉBÈŠ»\ ØŸ‚7¯œ%UÜŠö&ð‚K†ûûËà÷§ ÍЄ¦ÞÜöõ°Y2ä |c•T°®*÷ïÿØ ß3/ŒÕ¸·§þèW6`†@÷¬ëÎ?ô»°øphêCóv×oÚ»'ïRSÀ:ø›ºÛÄßX­Ð£þƒ°]£‰þ[ïÚ®‰;4Ââï n±”h]ãí°+%8.<ûÚ}·kºƒ_[²RdÃЃ‚\+±´6®³o×4œ¥•šm7ú§ea*ÚG\ábP~yÅXaŒÿÓ¦÷Ûú©ñŸ•e¡Ê ¿Pû•XYT•±ä&ÿŒZJE«}´Ï ‹F?Ô)+JÜŸ·WÁÎJ²ì:n r¡"´lÚ¡YÚÞKè‚êï’MêÄ=²¨8¹þŒQ¶äÚ¶Û´kÀŘ>…[mý§XL—è’ö0âþ•<ç“¶ÛWŽá釹ùýñ€ï‚JBÚ¾íŠ5nŠãŠñŸYC>[÷Û°øÉÑ_ÚüIýœ¿ŒNþ"ßM¾ðr¤NÜvóú~hšî‡­ÿ¦0ŽœÔóÀyò°Ê€34›Úû‡›ïƒ“8'·à#åÿüŸ°ci‘È`^Å1žÀßE_²Šš…R–rÒêPw‡6îFS³*KÅèP&É¡û¡_7ãØÞ+R¸`ahï†~sWª ò ÷&>x  ⾋ ŽKl·î0³}òP‡pq.šñ5ìÅ2–˜7ø†‹äóC~iD©qµM?÷×á¡öÎaUaR³íAÛI0V'‡÷»]¤Ú+MQê m[½ Ø¥í4m2g5Œ>ZS­£½ãam.•EC^m› Ærv9C\@2[%èrNŠŒ7 <pÏ»~RKÃqá[_ˆ˜(˜áõ¶]n»{Ÿ@–‚êxàÃéÛ©4ÈŠ ·  Þä–6ü](ΨU4ª*‰Inb@?Pq<} # "Î¥4~?¤-yË-‰¨’b¤aŠã—¾«#ÂÊ„ë}Û¬ÃÏ7¬DǃPvÊ óÅÂçÀg´N@4ìW¦µÚõC$ÚÒÜj]Tl¦!\ÌSxû®ƒÊäC_Ó;ÚÝq{‹›ïc¶3ÅðÏs/Txú¢J€Œ¯³ KHM ú¶øTË“z .æ”9¤¨3dI¬œPªÀ»„RÐ$Í+T.Ω-V’•_f0"š],L’£ÛŽ€™‚·´îq¿o1ÊÕ¶¹;D~4 šp‰¡Á*©S=¶›ûæŸ)… ö"JÏJ’çE#®,íRækÇÓj 3Þ³ "¡J=©{´÷œ*ŒœS…’É)U(;§Šìí:È™2£FȶeJËE) !ébð@¨=CVšÙ3Ĩ*-¡è9‰IÍ©™Õû”€ UKnÑk˜€ÞÈ ŠR“ˆ@©‰WÏ#qtÛõC‹ê@# 4¡ØºL2þvˆÛ "¼÷1±A3NeÂBqœ'«µódeÒL*ššº§÷}?b¢í¾CÔƒž©&ØñÍšäöM¼Ý6Wy+éÚ®qG='1»µÌ^l"sé˜ÄªÒ’+·íçDËø0bqÓ2ÏÇŸîP~JmfËj‘ÈÚí!RC©4?Ý€á炱dÀ¤tàCRœV1©ef½…Ôß<ÅX0F-aLýØZ §ôP.Xæ‚ÿ&ÃJëŒÿ1Ë”‹çt¢zD¢>Õhãç5Å lVÊY•4ê7F§guì/¡²mftóoL+èðE{$çÓh îsäPž3K ¯7è2cÓ„&lÍ*!ð½]¿9n‘â¥Ö³‚–­¹Ûѹ¦v©úgX>ámq[¯†I/5ßÖUšYW9•vã¾YÇœrvv Ûöv¨‡^2Sx“šw= ©yH˜C§`B$Èhü$c¢¸ÌËN¬’—Ó`ѰÂ^ Ejý§‚Ee¡ƒ³å¬¢N¬ZEp7Ô ©môÆ*¦k•ÆMÖ«ë1­„à'äí‹DšsvRøÀÀ†YƒµX²À€.‘ÆRQï°}“Òàn ÈߣŸJ‰ZÁ2÷{Àé¯! c1ö«8Ña Œ æÏ¨”Á†IGk]ÎÌ0mÔB#§³ap&à#§QnbËOcᦋ`ð*8­´8îEA[DD˜ÔAÿÒl#»ëm‡' Xu5v†U@æKX‹ŠÉåYÔâ÷3ÕÊS‹;pdõ²¶T$úŽÂIŒÔ†Dòõ˜týD&àR sB—2+~<€0õÍ(wqzä¶¢ìlfÑ¿P›“oàuj „¡O>Ä 9h YÎ(?Ó4· ¹ˆÜvìÚ/Ǡ؆&±Ô~¸KJe¬H£Ç -Á*«iÜpÛÀŽ›˜EÂM¨ÿZ¤Ãi ÈfÃÉ7K›o+ ¦rVÂ2íû±Å™?p=4AüÊ´CˆX…†HmÂ?úÈ´RæEÛ ¯gà®?†n j¤|Ú÷-ÂS@[œ€±T¢ðËõõf¦Ú]·MÎØ„äeÎVJ¾¥Öi.Îøé "¢Ò§å`¢ßœˆ¹µ’UEYU4"žŒƒÃ³)uÜF6DÛµ› Ò€WÆž(”4f½LÕfíÙòW§~[ìvr‰º8B{xâ†ò´ Lh"õ‹BR.bg(T¤PXDý%*ƒØùè42›d‹£=ª@‡¡^#vJF߬·ÛX€ sÅ&é²Áä ØµH‹Ä0HTÂ!¬ •Ô(Mï»5õ£¥¦Qxb,®D«õ¶©‡h4GÌëöǃп=S‹YOL­ >j%J„´1àÆ$D8þ…‘µÉœ¾Û>ÑÇÅÿÁ¢E%u?Ô{P²µ7@€œaÄ/ÞUÔÿæ´X &‹lºæcÆs³þ)Öf¨¿Ád¶*%sÒA*ê¬Á¦j´ThΦoÆpŒÆ]sFõÁéša[%ýðg uÓÖŸHªP‚çýp¶ýÇp®ÎOE2û÷õús}O.!Í åéˆërž  G"ÍDân.™N€'çë“ã‰]Ÿ][ ¼ŒûšN9TE‡$Ù—¸³ N ƒÁ+ –k“?³F–‰…FV¤«ÑrXY¥k ›¾#رäÕÅ’¼fI^8kæÆ¾\}ó–‘ĤxfÌ €HcîåyBøºW[âåÍk?äÊ«ûãà{fÏPÊBx¨]Ét=J$]Ô\’®?§´ò­Õ¸ôƒ™\ïàO¤« Û¾ÞÌŸ¢Ñî¤LTçl½y]ãqƒ,v¥:NŽ8‹u~(Ó•Å-?¶‡dˆ$Ñžâ¡.¸ÄM|9ÂÖs­‡õ1ÅÓðvødd´Ú=y³qåó¨r½•NmØÂhÊi?\,Ln²4üí8¦ƒyŽýÎ4 渃~êN–ºG¼¤é6ÐtÍat'ï«?»?¿ýáÌ/xÁË Û€)ÝHU†Bè>Ç•S¨¸Ö¢ÅÒè3¹×;WAgH ÈÕ:¾ž„E2&˜rr׌UÜŠ;Sâ¶sÙ+×íå$(á³j\¥è)Ó|ê³öãÙ+ stŒm·Æ U2‘˜2f]Ž w¾ƒ8U‹ÅJúé½·ii»/lî̘:<í›ä q.%|c޲ÂfGWäD}rECZÂìM" §ÈÓ± v)YïÞlÚC?„³~'½¥Íާ’#´FŸ )¡îl˜³‹)Ì ÐÓÍ ¨17è'¨ÿ ¾ÿ ôž[+XIwéb~Ï1›.Ð9L&½³°ŠËGc@éÀËÕ¤A—ئmÑ¡V^WX~áuEÅM4O\ѹøEl¾•úFŽîÙ|D–µ§ß2À˜šà,ÄçÚ`;?¼2óZW<¯UE¬¢Vrô×9dëÉи‹KBß~J(¾¦©2åË·Mj&Ó…~ÆfJÌ5HÎ0‹u“Q½ë©‘ˆÜ=ùØ)¢‹XN¦÷™Óã°_Qx Ù_XžÞB¾åP1M÷I©±¶nfŒfm›xº8«ÚÝàÚßLÆë˜4Ì®µœ;3Ì/TŽ8©ªqÔ㟩4B_$Ú4p·àh޽tëÓÝ`Žé$VîJBÃÒM瀬8Í€* ÒÍÃ_šfûÊ¿÷áúòŸî¿ÿ÷I^endstream endobj 168 0 obj 3627 endobj 171 0 obj <> stream xœÕYKoÜÈö¨_17Ù€§Å~wç¦ÞØ@u´ ‚ºP3ôˆÙrLrV«¿Õ¯jR¤Æ+ï%‚{šÍz|Uõ}ͯ«‚ÐUáþÅ¿›ÃÅ׋¯+ê×ÒŸÍaõ×Û‹«NW–XÅ”XÝ~¹ á1¥WtE9'f¥Œ‚ÿ¯noÞ¼þ|ûáæíí/„&FÂÞÛíÅNÜ eÄ ªãÚßn®?üôþúïî'i‰Ðp~øé_?‡#˜†„Š«Ÿþ'ÿèÖ¹ T[ׯݒ"†ó‚Ç¥÷ÜÚÕ Ó3ËÁj¡4áZíf6< ÙŠ Â…bî5ÿ$ì\;KTtÅoåŒ0A“Ÿ;ïŸ F©dnûþòNXR0Üùk]=VÝ’uk Ö0+áe’pæwß>Ô½?£ ŠñžÇºÙ¶~^X¨‡G·Ê…þÁ(©íK»¼‘à3äÒÄ¥ßÂ’¥”â®Íi¨Û&ºN©MÆlÚS3xc$)¦ðK›B" ™Þ}ìÚ]Wü!Š(ÍÒîCuh»§¸^hLy¹ÝvUßW½Ç€7H,º}ð–SC„ÂðÂRØ 1–刭Ýâš{+!¡”cüo!”–ƘžIZf“í‡SܤÄr¾6ÀaJ$ÚcÕT[ï %LÓ¼‚’l+F»Ên¨›]Œ-W:¹ßׇӾtq+ŠŒãq›òÔW± Ž©b`ÑB$p ]¹©ÒK )Ë' ÌÆ%K&5­÷•JÂM¨šò~ƒ²® fÔ¹(7§Ã}¨nH$¼0ІHDì‰C}¨úXÅ…ÅtTåæ!•V±f Æ¨NÞ=µ'ï²k䘻MéÍ¢Š0‹¹Ûuíéû“VˆCom‹QìL¢Îƾn†6Zb Æ¢mªh‰ÖRaý ¡ÇAj нÆÍ`Êo GŒ›ÛäÔ®Þ=¤ĨI®löõæ—yˆUsŠð‚A—Ûu3”àÑ_ü[ Ĥpá†AR|Ø?ʼnæN­ä„©«_3Ã_ùgŽŒô׳q¤Â1p Àk‚®·¾gÁ‚ä8õ¼­„ø‡œ#M‚ÀOоcÜXå^º%è¿–ó´´­ûrßîb£— ™Í—®õ3Ž18Aÿø¬ñXÉš/ ø¶ÎèXÁå»r!zz ¦Ð¦ÀF– íkAXè…2!¨ì4¥ã# ûúës{¥ÔßÌI¹ßÇ!4±/ï«}ÇŸ¢8¢ò JJ6;†™BÈoSáÌÎŽ…¾ òä >û0mÑe N0råç¦<ÂÔð…É +d5±3À|±Erç¸;‹1mAÌÁÀ5SÌ 9·ç¨Ÿ3ÚrtÚ×yœøÐ³´Á:[8hÙñ!‚Sñ¬á+òÜŠ­I:nž Ø–CIâóEaÒò©$y4:ÃäêóggyË|ŒT€‰<Ï…ž—Ö·†D¹ïÛhL}$f1PP0¸örÛýmëîͱí‡~ÓÕÇáîm¯aÈG#9žŒ™cW7©»ÃÌN¦Õ/Ð%¦\FÃù¦ÚÕýÙ¼M«L»_1‚ÁP]Xõ¿Ä”ºªÜöq‚[Ø3A|ìê!Žu$Üès6DzÎи¸IÎmÛ*¹¬9²°@\RŒ¡q¡+]è’œ¢Ì‰x!“D4Ÿß›ÔV(DŒrö]©„ZÒ,²)æà?gSF.Ê(¿}•Š_g%fëM±$ûé=¸[ÀHþIÑé¸s"ÉYgÍ©jÎ8 ùˆTôÕ¾Ú QÉ ÈBÈIX„—!LþêÈ8ŠÁ/æDc2öPv¿ HÙ3à8¢–‰ðÌ3ò/ñ‰²Ic^ç1¿¯zˆµfi‘Bpl¡‰ä$ ²Œ%ÑZ=¯ I¤ÉUÑžºMº¹à Õk—Ê ršan9fçn$Ã!ošá/^ê^õC{¼{$=tW]$—>¥â/´0K6²i²z!"’Açö£‘PPE®º­¿´É29lÁѪCUö§P6 Ãq:=”ó‰õÒ|ðïÆq }g¨{‚ÄõJmñqhñE噟‘,¾ãÒ(eê®Çc¹ý×EÉL*3éO£FZ¢ ˜s—¸øÊiw×jtF£‘‹M¹ß¸@…ýN€!ß:ÔÍÕ¡üíÊç\0Wm箺rW]UÆĀ …9@®Œˆ.Gu±Ó$Îä¿/ÌÄ…“ª8:ãÕ­ƒ²)ž'Å_ËÌ.r@¨f<÷C éækçòs”˜Žõ˜ï-0´®¾ÁHN6û\^æò™Â‘zm“NÔ@‚3@ç%Z–ü`Õq_>%™ DHqõò± Dü„ ¥ÆÎ„ƒR3©:Áx–ªð¼šKUàSz.U]šÒâËJ•{¶>ýÿƒX­›e)ðl&`¡2­½€]S«ˆ‹WjÚ¯.)&—JJr,©1Qó7ÏÈm¿Ï«®n·‘SSN®…¯>hDÿX›‡„Ræøéó¯-“’½ô¼Á‡!¯ôÙv¹ !a_&¿®4ŠÓä%朂ñw¢€ Û¬rùŒ—¥WÖ4닮꫄eGú…7(Ôú6ìÔŠüêë©ÜÇòKÐ"ÓMX:ïZ#®™SDsŠ~èú4z8ÞƼ½‹¢<ŠEƒìl(¹G!˜¾ºX`ÿfcú 2“áÑç¶¥kÖ®7ˆ«LHùøþÕ‘´ i?Ü®þyáþý:Y¨ endstream endobj 172 0 obj 2473 endobj 175 0 obj <> stream xœµXKoÛFzÔ¯riXë}/·7×H}¤ŽŠô MÑ6ŠTH*¶óë;ÜÇ,eªBr(r02Ú×|óÍÌ7ü¼¤„-éø/ü-¶‹Ï‹ÏKælñO±]þ¼^œ_ ¶´Äj®år}»`~›6K¶dBl©3 ÿ_®·‹——o/Þ­__¿Zÿ³†d Ö®7‹—‚ŒƉ•ÌÛ/×ïÞ^]^ü:þ¤,‘Î÷?ýõÞÁ l:X¯~‡“ߌv! 3–ûÅhÒ$‚Š`º|=Úί¹™½^-µ!˜é»õ_2I„Ô|ܰàŸ‚•«ñ%:¸ÂÜZ/æ™ ¾ÚÝC>÷Çî]ŵ+®ˆànÃú¾tXÂ2aêÇSœã‚A£9žË)áÊDëCÕlZg–$£:¢áö3J´‰`ô÷nD+üÐ;›$Ffà|4e„)!b I" ÐY0=u9MÑì2€™2<ÚlÜM Q'nêÊU_C~ãO—Š0+ç‡ó‘(x¸£@ȨŠ9 ì 7V‚k/WŒ‘,›9à x_Õû ¹P<ž=„ %Ñ\Æ(ôùÖƒÄIfE´æ}ŽAâÝÝ6Þ¤¶ˆYÕ„ÍÌRsjwçl@Môö®ê#€­³o ‘&Ê *§P+ Å] >ŒZ\v“÷U‘×õ“J€ÑvE‡Ïˆ¤ˆiÓݾª¶éÝ%+HÈ{ Q!…]CÚ‚ï]È͸9ÂCÀ>…nr;Pƒ#=DU<œ=PAd h—edw†Ô afDÌÂ|pæ V}õÑä‚džNù ›øã…òÈbLöÑG“˜Sä R ‹ÂMÊ´Ôï®Ë¼+] FŒÆú}óäÓÒ]@2¬ë«âSÕÜ…:­Öé£d}áÎ\³ZëS~ mƒY…!ÿø²íÂÁLªèË®+¡ž¸Õ Sÿlç#’ ÑMo¶ó#÷‰`'…ªÙoo&“yPŒf§\†Ûº§¹7íãÇW1 êèSKRÌ‘h˜ûÝyÈ^N´”ч&\*2¼òòrðHù¼Œ§lʦÊ=RòÔë7UWºdttýaB õ,!ƒÃÐ9ÔyÆsÎ"#º¶®Û`ÎX„ý‹ç ЄÅö·FâËœNy½¹Æ-æZ¿+‹ê‡‡!T²96áÚåÍ] ¨åúäÚÓù>yÃ!fÊ&Ì0k'­³J‹zNF¥‚žÍ‡Æm»Ù{T!™}ö‚HHAÇv"§=òM,=–LJ´w“¡ò+ç>?æÛ]]ž…dCþW·ón’`42Aþ}<€ª¢¨ÑßÄšjî±V¸±™÷¶¡S.ÄKÕ”>J~éÂÔ¤46á Æ¨øþ°zn)@ÏeG—ž)tåTcAXAeÉ,Õî'RŸéʼ¸9 P œ£?¡-Šäe5D])J£®#Ê£ö½9Í©º¶Á¢$Ú¾–]K3ìW·!>ôî¬'gÇËÕUÔn$%,ö Ɔ,>×—e 's$øCs<búˆe(´¯iŠ=„ß\èHú\èp§ñq‚ãã×JÁæ]XQôÚÓÌ‚9ù8 dˆn?Áâ_§ÊŒ±…WÙÒø7¡?‹Ñ¯òÑùÚ>VÆvŽäJH„µù1L<ˆt±SÇûMaŠJƒÈ0ïN>ª<[ñxI]} žË$K/`ÈI|Wýo.“\Vs9hÂT¸B,@C1˜V$æáÿVáÀQîXÍêÛm ~yJKçÖy7‡å®tᜠΠ° …ûWZ•[ Ý…9~ÎÍE»+ƒYTPÏ¡*ÇA‚ ÕAœgó6ëh6·ß\ýýÛëŸÜE 9 ø£²ª‚ý4}85+A¬¡F¯ú!%„°¨Ëš²Üôá\¦ñÜóæÒRûß n»O„ø†Ì2Z ;¦HŠ™‰øÂÈÅ3,O"ë¥åÏð…'kv/DÜ¢å®Ëw÷¾ÐŒD°‘8Wç„ÝLÑÍ®ŠrEI–ÀâuŸKv¬«TpPôH¹”IÕ¶ \„ýJ` °˜$o‚^czáäØž£¬¡ r1£šBS·wUª´k˜©y“×O_'ý‚Çs¼¬&Ÿ&⼬˜¡sE'ÙsEw ŠÆ¨ ^}HNlJù²Âa˜eY·]»uV8iü`wR¦o·áS ”èŒã˜WWML‘F\”z–"JßqÛݾ"¡ É$¯.÷]ÃQý”Ä D}ÒÛÆÿÝôä© 6Õ]5ä.ÇOwspÚÁLúÙF}0‘®‘Ò Ä”Òý\,æÝ±o@ûÝ®í†rã\}½^þ¹ÿý wÜÁendstream endobj 176 0 obj 1799 endobj 179 0 obj <> stream xœ¥XKoÛFrÔ¯ÜCRÀZïû‘ ‡ÆMŠ´Ž€ ZZÙ,(R!©8þ÷}’é¤iáƒáÙåìì7ß|3ëÏKŒÈ»Ÿø{³_|^|^oK¿6ûåëõâê†Ë%ÅHJ*—ëÝ"|@–„1¤—BÊ^®÷‹×÷Å¡·íÏë¿J#Á ‡}ëíâw¦«¢—”#¥qnViÏJPï6~Ü´å¡/ë;÷Á 6“裨·ÎÈ%"\Ñh¼nêgwÇ6~puCÕÒ qráðÕpGÒpwèʽÛK%RT³ègÛØÎ[1RŒ$ïuÓû8¢”˜h¼/œÍ€‰‹Û2„äÑ:œ ‰tƒ`2‚1•N(úÒ°p¦È]7ÆŠ)DظTõݱ¸ó1çÉÏ!¤çôJEÞé4FFã»ÆÛ2š'@l´1-ù7‚mDF`•Ü•J0s ‰¶.ì#DдïÐt]y[…Ð,å\÷! ¬ÁÉá*6~ëŠQЍ!Ëdï<Ñ\çDošý˜äæ‚Qi¥¬ã RAäi΄a,™ž…à eÆPvÊN[™H;«¦Vƒ8ikoC`aàNY¬8ŸðœdŸÁ"™Ö÷7ðj0ã'Xj¤• ÉvììîXMAØ5mÌ·ÁÂŒ‚Md‚¤›Œû¾Ù«P#rúâz8x“ ïúr¬<¯FØH2I© Ò¦©k»I'Ðè±Ò)î$åJL¥\3AÓ¾3)×,kmŸz ¤:y°X*Šýÿ`JÈ«#9—ˆŠ|ĶlAUªÇ¾Ô"+ezÐ-…4Ì$£JÔ<ß(´¸!´?Þ_ûx5â*7Í¢ë äp‡’8!דMh©p2Œiaë æYqNj©s»ãáP•`’]oªc<`yΊ­iR-|:(Ч ¡ˆàÜÙ½ Æ0fdn=pÌlÍ*$aòÓeÝÅ(‰ÉZÓÙØñ©6ßɶ¨rá ó©ì‹MÛt±AM¥ûû¢Ì˜ÍÐ'ïºPæ ç.yú”7~ …³óÑ`†ÍLn×Þ¾…ŸI‘;œ6¹3\øÍï­ÃùÚN³“|ˆ¥³„òAâZÁµiR¨H*SÎPšp`n“Ù±ƒ-¶G:È_Ò'RBE0vCTs8ëUšúŒJ·ÿ€ J, :Y^ºp\)ZȨšr€  j^“î"³£¯Þ…`Áy¢ UìÓ䯲,-öâòÜsp¡;éI¶Þîg•øªòqu^ݘsº³ éJçP‚òí+UÕ‘ƒÇóCl; nnË/1»Ó‘ž÷L8´a$å;p^ÐÇϳGèTv'×EJFfŠÍ óÅþË“¸Ñ.%+N )'Àî¡ì7÷þt ËÎðTL“.ËOÈ[;Œ˜rø×A ÔIÓ~ê‰èf@»}9Ûň†IKBþ꧉àýž;©´ª¼máAi»—¡ýÇÑï4°‹á’çürΧŒ„ÏÖ¿âKúÂM &’Q¯û¡³âÆ›‡¤œÜñã'äFýÝûÁð\+zûË®¨:{1;b1ãß !zæç“7ëåŸ ÷ó”è¨endstream endobj 180 0 obj 1770 endobj 183 0 obj <> stream xœXËnÜÆ¼ÔW ´Hb@Óî÷#ŽòR8¾“¹ÈFšCi˜pÈ1ɱåï¸÷ƒSý$9¤'ðBpsX]uªêÔ)¾_aDVØþ óÃÅû‹÷+âÎâŸü°úv{ñjÃÈÊ #©ä«íýñ¯Iµ"+ÂÒ+©%üµ=\|uóÓë·Ûï7/·\p…´€ßnw_qdOE†Î~»ÙܾÝÞ¾ùÑ> .P$oüÓç'âŸß4Ç¢¶O¤ë‚à' ågÜ ®Ð*Ù¨w@0£„ ‡yS¿x8µáN°dñQ¿w!­#ˆ€•˜6±GF#%###âQÖ÷mùÎý#-¸'ˆ… +›S!¨K›Èh iƒ[9ùrñ¤©Œè¢¼9BPÂ]­²¼  SAc<ÍbG†„á ¢ƒXèÜ0…™m‚Ч|t()µ­FŽ+Û"ï«(NãÏ/óË«óªLjM¤µ{PÔ»ÃbuCj¡¨mmØúl½Ú˜)Åhm' ;GB`”ês©–)Rß=P@:A”UÖFò”)̾™ý6[rPft0P¹sÉdæ çŠÇ¼8z¼ àüØgý9ÜeŸ Û–Ýï¬ëš<õà”~²@?Z¥;GÌ]¡<:gîÌ‚ÙcÖöe~ ¸N½°<Ñžò¾lj×@šÁSŸF†[3A!¶¡RwêŠûSÓ2ß7¾w ðUr<ßgõCY?„–P|ÒßÐÍah‘ÌȪS •q>|6, ™x´+ïï‹¶¨ûa Ä‚=6e݇ˆ`JI=ÐPs?‹(0ÖÔõcÛ<´Ùa™mœk¶k§lÃØJ£hûØþXÿ²QVM¨ Ù|3j¯ÝM`?5óQ•Ž|™Ö×­‘èE±'øidã2{†Ÿ£CM=MN8’S¼œ¤™“BbDNCTçaÎJf< )Éh‡%C‹UXî|BQ`’æOæGW,»®9µy¦æ4õò®óËÈ”óÂ6DÙ|Œ:mðBé4º¢ïC÷€q)püõ»¶ÈþŠÜ}’ÈðÞswCµP’B‚«kß dˆá)!}ï&Çw/½’åˆÊôuδä‰àÆuꉰ§c‡l*”¬™àÔÝÎ]ˆ±8K .º`•cè·ÔS‰m=U2ùfçT‰ÓI«„Çy;yù"ê „Z¼øœ)\¥SÞºBsÓÇ;ÁÏÂJ°Ê£‹ ²ÕÑ=YÝy]…Á±ùßí}D]ëZ "˜:TèôsÊ~ï¿ .ç:+èÉœe„˜áÎþHB®Õ)=«&qrÂqhE)»pj6ŒªóвE)H_#¤ˆ(ï³*ÎL“S`L'À`ºÂ2—¦ÑÎÿ)–YÈ u¯ž Ø›ªéŠ9Q.AhOæä»"ÏNÞÈTà¥Á4L¸<;fy úÞŒ"Vè 3®ís2³ÿ±¬ªs~hf¦÷åÃ\RÜ&˜F· 4vE•}úÚ•;ÇP}FçÌ7ó6ׄ‹«™³7×€z±–çú`{smלbÍçJ&å8"¨:&ÿ”WIG 7â5§êCSy"ÞïOeØqÆÞa$ÈùuÛ< !‹;A2áöUØÜúâz°ð‹®uJBÏÆ—ëæ‘`±À~y.ùlàY”ݾ9U»…Ú› ñìPÌê ›!<Ûš»«!ĉªo,wþµ¹Vøb^ ìîåìÒëë™»øjö«»; 悚¶½º»šû]5/}SíJ j>‚ýc¨q¥‡ Í”Œ²Ÿ[ÆkÖ­'4¨®ÖX å%®ÏǸ™s”¦Nÿ„8š0áts›zÉí F𠎀_uRGÛ2<è“j$ìiv¢áç¹xøÞÒ@}opŸE0ªÓ`^ŠJØHºÈw΢â1tÉÓæ36‰&PG dÓ Žº"Hà³hÂA<¨$+Ïh*¦ŸO]UpštfV$X˜œ ÝdžI¹Tþf/I²#?EukU†Ïò@x ðE;øÄ¢O‘a å$‰¥‘.ˆÝCðHJ, 7I2ô|¹KI.бe2íVä3@b|²`?½ Hú™›x;ßì'ºQÁDµÊž«è ©ð_ëœ.NaÖE0Çy^ý<Ûs¦©ÚòÏ Üò ÍÇiZNmÔüÒŒ„IÚ›A"ÏûôïD&”¾ÙÌî©lRûAcÁ&–¾tQ‹TõÐUuh+ÆF×>´ÈÛ_7!5À³½qUñývõŸ ûï/¡ú±»endstream endobj 184 0 obj 1997 endobj 187 0 obj <> stream xœ}TËvÓ0Üû+¼„Enuuõ\–RJ7¥¤æÛ%‚$N-§Ð¿G–%7Ž>ÝÇhfœ§’–l|Ò»ÞOÅS‰˯zW~¨Š‹%aiÁ*®DY=8µ)]b‰D`JeTø]V»âÝÕçËûêzù¾úQ F†Úª)Þ ä`ê„=\-oï«Û»›ñHRX 1]Þ}A.€Y›Á«/wŸno¾-SÇÅ’ëhJBi …§¤ˆ¦ÉK@Bñ±aA¼ • ®Ã˜Ä“¥Ä Ìäºúg¤c+ÌtÚÁ¿Ec¡$ã2L•@<–~?x·‹4a(MðÇáë§1¤@[nÒÉj„4HI”Õò‰àˆ4“ˆX°ÃfÈ퇶ŒÛmTžY·ÑÎ@X–ÇVçjåO˜’«yîÆ­ÝÐ6‘®¡U._¿DLqž°¦}L–k†6s8n‡‰DØ ‘ínžc­†2ßcµ¯§]\3x†¾í'ÆîAÙÝ*rXP¨Æ ûŒ‰G¿œß$9„´yçÐ%å±,»ŽÍK g³ru×´y€°³©Ÿpî6í eÏ’)‚¶bÎMü6FÃ(÷ý^íÛÖ_øºw‡·c¥(¦Õœœuãú¶º>ò6h1K– ˆÉ7l&CâÛwS¦BzÅl\ãüлu,–£uy×1CXô‰wMrÀ±Á ~+<‰U·ß¾$fáÏä4ÿç=O¶ˆ™þÊmWëm›>M†Œÿí ¾=y¼Ðbö"蘒«µ¶ç›Â¢×Ϭ÷®Û§0*6Á}{è¼›]`À¸Ö§.\Wå×b|þQ°Gðendstream endobj 188 0 obj 625 endobj 191 0 obj <> stream xœ•WÉŽÛF½ë+lÀj÷¾ðaløàƒq$_85b"‘’òÌ|‡óÁ©ÞŠäˆ#8öÁp«YË«W¯ªï—”°%õÓ¿›ãâ~q¿dá,ÿ³9.?¬o¿J½ä”hÍõr½[ÄØ’ AìRYJ¤\®‹W÷Å©/Û×ë¿Æ%„{ëíâ•òGo¿2»ä’k˜7³ÊwVŠƒï¦ëʶ¯šºó0¦ 3,Ù(ê­?”p& O‡Ÿû²Þ–á—Óœð±âŽØhðC†¨MŸ”Å?§¦ªû.ÆÄÍÒ™ÉSººR’Xîߺ꘬pjE2ÓO§¦V„&Úðì ùC$B¨tôPmË`‚î0£ï!bc¨¢­Êþ)\UD À=ž7»än³ÑÛv’ŠtDi¦h1ˆY©l¥@x B)r4_Š:|a ç,ãûsñ!²+¡ôû²‹ M>”í(íls[®B¹„ D™å L¥ju›¶ºÅŒhÉ â×ïƒ! !rðBQP2ÉÆ¨„»’8_Õx¼iŽGÀó<r½¯ºKÛ]¹ñ@¥P˜C9NBå”àìÜõmч€¦]hßø3`$çó‰GNå úp‰Af j¤‡çQ> lOì Rÿ+Áá@¥”u„E0ψ¡sòÈÜà1qÔ×?ÇZÖ‰FÊL€Ý¹… b³9¢©QÏx¨‰1ÈC lÛlÏ›èz&eØ«ãùPdä¥$Ò0;ÏÞ·_•ZBNA|ëBØD)(˜”£ögœ8©³óÜ4Á!@âüË—²ëŠ»r^4¨œàÄ8Þ¤š),ãÐ’Áº"Ö!ŽÑz""éçB"l)pËã›?>~þœæš#Sû¶ªï¹&”¡dôû¢ÏD•XÏ9gÛª;Ч23°ÊÄ~Ø—u™g-¿BŠ6á¥-²x¡ Èp…JdkYošs c¥ŒÝ«@ „Î>n2PÀü‰hYbCT0¢Ø8 ˆ…Øž›?Ä.Lnü}‘ãPvˆèœ)!Ì´˜‚0‹Å27› c›ˆn¹S¦D­AµX½ujtzÊ2¦ÝS݉QHÕg>”©NÄ^½ÝXz_Ô„C `Œ©R“(;i!Ah| zñÕSä[£.lšz[…f~X>ÏýˆÆÝ¤qÎH‡H$Õ†”Í$(Ôò“0€O/ǦÿM+p¬fzôyn€Š³Ø2ÿÎj„ žÐ6¤Ÿ¶‡\1Ã+6$ŸJ ƒgt™ iQË·åh4‚` ‹ZÜ6ùþ °/ñRÃÌxYÕY ¨ÑSŠ€9Hjn¦Š‹™ŠªÁž/Vu5±ÁÝèð)=h •—Æc“€#j úUŒ ”€§¼œ ݶÚeí¦(ñ;ÐÛ$ŠhÅ/'Ná©pÎOŠÈøu x¸ìͤôi4‰ýöÛå]ú¸£Ïàýû  –¾¹tþããàJÁ3íïe»;4åö—ùçþLõøça!mă «ÇÌFWO‡2ˆëû°Ñ);&M›6UÐçì)ùÎ9ÜGUßä½ÀCIñy2oútJ¶a7æ8Cêêööç?L]«/Þ“Œ³]3,¡óOœ"þåˆvT|xX ††$'Ðñ(ʰã¯RްRqmô?×–©V}áT8þ|mbLá”*ïÏÅ!‰µÈ \噣¹œ–äUqxÓü¹‹4 Î}ŽâD-¦Bk93׊»R¤,óÙòðŽ(¾g 4>ÑâFøn¾Ã-Œb<5ÀK ž3uèmDÞ‰Ö`wŸŠb®Wa¶å¥ô/ø“º{Ë9tÖV`$ÛIGªÇøn[Þ¤bó9eà7 ®¿½E³þ9£.Ç4Ó_ß]øtV@¤atb¼# K‚³l~O Ñ \•ó‚ªý»:÷Ïm™ErX3ïÏe[¥5<ÂöÔèE ‹çUö½0,)Cæ+ˆ„:øÂo€:NK!ý/ŸÖËßþï¾r·endstream endobj 192 0 obj 1637 endobj 195 0 obj <> stream xœYÛnÛH}÷Wh^v2@Üé+»;@p<^Œ1H& ˜6û@S”¥$Ê$'ß1óÁ[}+6EÆ;ȃ‘f³Y—S§Nµ”°uÿâßjñxñ¸`~-ý©ö‹·Ë‹W[Xb ^ÈÅr}ÁÂk…^°‚˜Ea øÿb¹¿xqýËÕ‡åÍÇŸ–ÿ½š{—«‹ЏƉ•Lǵ«»»°QP"¤Œ«ËÛßÞßùUFŒµ&m~ÿ³[ä’PkY\¼ù×òæýÏ7þ‰RDq*â“·o®~ýðÛíû¥?ëÕG®'.€ù²ÐDð‘B…”É_¸Ô˜Å%×°ê¿ñpì¶û¿‡Ývt¼Ó‹äú}[—Ÿ½C VuZ|ö;Z-¸Z\2·½ö~ b-Oï™YKÅcµÄmý°íúºõð$®?µÛ¾žÚð¥ÜjþÈâÓ¯¼øÏdùo>…°¢ñúuM½yVãÚ›7~„ÉJ‹ûŒ[¼ä†ÃïÞÕ]W>Ô¯¯›Ó!šm)(/â‹Í—º]ïš§zõÃ\/™”DJi‘ÄHÿÊï›úàm*W4YÚo¼ÿL’‚Ë„ÈßiWöÛÆ¿àŽÒ,®>TÁ¨Î?«”ÏæóüÒYªS8üNITJ:úkX²Œ±tb]’€ûBØ”¹M¹ë½œÎp¹<¬¼Ôˆ*ž3kBìO[‘>¹õÇZ˜âiíØnÁå‰Ðä 8KÈ‚‡€ÜP%—pN«šùs9ï¥H_u]Ý:güùP`\c0¢Ùš‚«´x³¿¯W«Ú?)HÌ$sîFùÑ”(V$¿ªf¿‡ãºYXð¢€\Z€…‚úªõǘNñëÁJb•R6Ïä±P`ê‘rVu·}8DÌ3ÎÏ‚i„Âb,½Ñ¤ÐB¤ ›¸sž x„ŸvñDÊÒ‰}ÓøEfˆ¦lHqÙÇUFPUy@4h‹‹}µ‰œÉMËû¸W&T ô7·d…#šû]½ïH¬ MiúÚ2ÂÌe0ëewé+\8øJàIG&D8À!zXP´0‹%œ…±œ«˜¾Ž©†’bŒ6!îลÿ'ÆÑiaðÐøWiéËLe"íi)“³ëS µÖF(kŽ|裈Q…åp˜ÖdÙe1Ž) {$W•É£ÝÖ÷F‰TæÖ;Ü ¡sÀ—&P¦”Kš¨KÁÈ#Ô¨aÈÔ`rSmË>”©t½¥H!zÚöhÔ$sk´/¦¦¯+(i:IãÉší¡ëÛSå¢0g /hzúXM0Eªicb˜D™1rÜÕž—$ßœ¢ïPžÉä}ù-úAÖÆ¦ á\*ö N‚»޳ã8kÒ®¶ž?Ô‘ç©jš -Ñø¶NUå(Öb6OÛ¶î•R$Ì·XhN¿&¡1õ4å†aÁß×Sœwõ®®R?œ®Óö«ùHîz†ÚtöBE%ÞbYaÎ㮬ò þ¹IõBfê§YQ,·úз!±œh¤Ð¬cU©@£÷ù4iСéAÒ3~ë›x³T?v»þ†ÜØiâ3nše¶9n˜íùUÙÕ©‡å%ôW±ëàQ-‘ž(MÝëO/º¾ìOݹ–L2ÐÚLôÓOQ_j‰ë™Ä­/ã’Á]Ÿ>ýù¶<|žèM:ýÐþÔõçz3â%?1áö8úÏY `_rº1Êù¡­ÁŒ’ÂÛ};ôå×øIiÆíRNµÂµàl[•»ˆsÔi×Ôœå š…€úΠôe4ýŽHöLG- ¼Y'ç>{~é’0f`d1ñYuVv¾û»Á0ñTÕV[Ô×0æ3…}Æw áÊ*žðVmêês¤0.q9²DHrüvAêóHC¢ŸôÈeèMƒËßW @© ÞîýÑ{­”çù¢Q˜o(8$ôðzÚ´3*ðô)Í:U5«:Lü’JŸ—0ýñœÏü^j†>?,Lëgã‰8á»_„Ú«@÷ùè=Ò³ýœ×¨×ŠìœûtÆ}3{_V­¶ÓùóªyN³;…2·±S@)vЇ#4…]ÐÇ^Xà“ÛØ• ·¨ÖÚzhÙÀ‘|¨Õè„ÊD¡íá!¦‡ºÁ3“aJ‰`rå‰îíÌ‹Eö¼ ¼\È(ÖÇÃiÄE¢e†ãƒ÷ ÐY¹‰LuÏ鯑¦ø+Bw<—ºBìFNâ¨Ð]çóånüµ SЂº:Z¼ L˜i¯SW§kínzSTÖqÎt¼†¥WmÊÃCª'È:åÃPΖ Þ×aˆd&kÌ_¶ñdpÄZ11`†O†’Ñ™gw—ðLàÝå=èÿtÑF)6ð°Dš Ž¸îiS·õ-³ÎTÆ0Œÿõ[Î:¶L"Oã4¹Û7AÙú4xëæCëj¼é]UŽuU˜ùêRÃ^Qv>vr‡‰™±stÙ—®„èÐs2-"§ß¿TZä}<8‰$›ÝÊÿ’Æ Þôɧ4 è®c :ž1ƒРѱ—aô½™‹â¬A¦ @^ Ó3eáfF nsˆ÷@ð /-¶Î;oç®ù\«õ–h Xv£xÍå!ÑîáÊG`gk§ ÿÝ+Ÿ×‘áÇ0×ÀìPÙàG²Dù8óÇÝ8\µÂ71Ùo!k'àç§M¦¼ÂÉ¥XÆâÇäpgöL¨üo8éÎÇ(œç®fŒ®À7õP e ñ‰u婟¹Jy¦Çæ×Žô’xù Í‹áжoV§]ë\(”,‡rŸê,®¸Ø»…›åâŸîßÿ¦1ì©endstream endobj 196 0 obj 2450 endobj 199 0 obj <> stream xœ½ZÝoã6?ì£ÿ ½í.P3$‡Ÿ}9Üö 4@‹»+ô¥/ª¬Äºµ-­,m.ýëoH‘”³‘œØ‰‹ë-f~ó›rø%£„eÔý…Ïb»ø²ø’1¿?Šmöéfqõ«P§D)®²›ÛÅð–1b2i("»Ù.>ü°Î›®l?Þüw¡ ‘ |îfµø ÜÒÕ¯Ìd\m4sb–ñ™¥ä(Ç=wãžcøˆÔ&ü´Í‹Ò­JFVóÝÊ- E˜Ð<,þ\ß}ïÕ„S!Ãêoë¼s«JPŒ…Õu¾w‹K‚X*³%·Ä˜ðUÓ”»¿*sYbÑpáT–‚üÏϋ׻}S]µ»ûø~!*ˆîÖe0CqßWôm[î¼"€HˆÐ컼óÏ#ÀZ°h`}ëe8ÐM´ä¡îÛø$ÐPÓÖwm¾õ’Ë£äÊ[h c’GÝöõ¶ìªmé¿’Pem||·ï‡—Z¢u|绢 jsD•©¸ÞÕA?fiÔyU¢ó·ÕΛ#8š„L–Œ0ó%cî"ï÷‚H´ö¹÷#1—þðï"Ú2íîïˆÿ©$Ró(î_·]¹óoA£¥H¾ŠXp …D,º÷nÑ®•†ˆÝðvRF³PóÛ~ãj GÐù¼«-ŒLÞ¿\$ÒKFòH:’§Þ­ª®ªwƒÛPUsÀ¶ÞL0ÍÝ”«§ì¿†ŽœOhj^Hà% ¶ ©ºd|ä0 0™„ß5ûjÐAWÀÈX/·6ÂóµZ%O€¦ö±Ë­ˆO®«}W·!”¨‘)fÚ`‹6‰2]Ì Ç4û–]´E ÁøuXBr±¨|Ù>tköîõH1+Ž{¢.¹Á0CÐ,}¢"Fkˆ¦Þ¯KDÞÛ€II²ÄFŒû(W?fŽ&41'œã²§#‘CØiÌ©ê0ì¦ÀÚÕ]ˆΙ}¬)¦ää)z¯ËM²‡’’S}Uåw»zzT̨1«¬Ë €PÉ[—ûjøJ`a’¬èIäo|ë»¢ß 9‹ãr3¥v¾Ë7ª`•œL,{Oòo²ÿ`©ÄlDùZ¸Ä Î˜Õ˜[LsŒ0®¢~º^\]ÿ’um_.®~ËØâê'÷ϧÿ€×ÿÌþ¶øñÚËr¿÷‚§NÇáyw"hº~?®b±~st4ŠGϸ·¹îjåû‹’[&2Ÿ«Õ,àÆzÍ/môû# ÂC™RK0ˆ:Y­Yokúv²”ñŽ=s”Ö—eÅf*‰¥ËÃ>Û„u¿ -áQ¢\Xa`¨;P8_µå~?PŧqùM6–ÿM”¢ïæùŸˆv†Y³äÀàsŸ¯'‡Ä6–_ØŸr M,NÖØYâŠÔÀ%Â…•s•áÞà@½º)êUù¬+ÏPlÖ•Þ¨B¿™¸`œ¢1α ùµ-‡¾Ciš¶hwØ !îZxZø¶ÌŸ¯¶À·ªØy˜ðõieÏ7ýÐòb!í}Â&S‡±2vy›ºÈ“ŸåˆÍòØÉ5fš/@õ©9ä4¾xñ€}ð“ùrßVÝl&Â\ØOl½lø‹s†a³„aÆœš¬¦ ƒ±sj¦:0nßœußy°‹§å÷¡Ø”akAeû¥Å…-ßì›G&Ìõ!ÒQfœaÂ,3¨oÓbRi/ÚbR ¸äs‡Guÿ¹jš¡å„ îöNj/.¬µËÊs&µóÕA§‰ÛüE:Œ-:êþ3tžs?·¸}~‹&’[ìó/ÙD2…N“„=š;aê÷áüŽ¥p¼º#ÂÅõ·ÒÚ°êÛpnäO‚X¤Aµm6U1œÔ8fËt¸¹­WÕ»—Usì™%‰Á2þí) :y?{ÚNCàvŽãËŒ ; t}Û7ݳ‰àÕ¦?CÐ,ðÊ›ôy\™“÷ЧE§ÅwP— ì`§ÿy<µ­©ÑÏ{⺂à®;Ô·{hž-ºç¨5ëW©é›´c\ª“7Ž'ù¸×WÂTèß÷å |xa½œ-¦ÅÅ^äÃ3Ôšõ¡êM'¯*Á ô× J0!h&à¯S*ÁØî¿¦%˜^+(Át† Y˜˜=YÖ)3Œæ™¥q{fzšXÃbáúpÐ1eûcý8°f[E½ÝÆ™;¢ÊÓœú¾Úl¢`;òU¿mâ¬Uˆ4jLcŃUQcÉUb8‡Íæ't“ƒÉ™ ßÔüævê2aҘ綌s0)ÒüÈOy–\b2D&./·úðà8rÛäñÇh”xW†)+v'i¯ZµEžFÏàžÎSÇ\¿¸_Ç1#j¼<°¯þŒ§B¥mÒ>Κe:_ç­÷©»Ü‘޶Ýièê÷q¾:Þpc×0£U„Aš­G·`g>ά«ÝmÝnSï*p £x”t¦Î‘Ò“¼»Ôú`~ùjÿ*¢•ã-‘p=@¹»quhÊ äv÷Ýf³ÿ.€&©0ß<*™M·-Rp „4½oó&Ì&iÎÝÖý_ˆ¹”rœê®Bxq™Ž”ÒA™›•›qLútL19À9{Ôƒõf5MÓàƒá»»B¥™Ç4æ´^°ñØf ø%¸a,K÷RÌ£¯žÆ¼œ`ƼÔçÆ<‚7SÞÆ÷€Iïiòv?lй;OOÂ(Ù ¯“e·m¾-j`8L¸_—ƒp$—¢éD=\”aÊ ÌÕ¡;%ÖÒ„Z‹¡×Ô»•Nº¼nRÒŽsmª“Góè€t¥ÚbйÊÜ]‡þÌÁÛ ãúÒ]_ð'4ê} 2Ó©R„Y1)Ç»×1QâØ”-ÇpÌfZ¦ËcS•`âZÈÜM¾kúîû€šq]¤»ë%£A¥ÒýýJ)©Üendstream endobj 200 0 obj 2182 endobj 203 0 obj <> stream xœÍY[oÛØòè_¡‡ÝE#æÜ/)ÐÂë(ÍC±›zäe_вÙJ¢CRQÜ_ß9·!)Ò· -6y0<¢ÎÌ™ùæ›oè/ ’ÑqÿãÏbñåâË‚z[úQì?­/Þ\sº°™UL‰Åz{AÃ×”^Ðå<3 eü¾Xï/~¸úpùq½ºþqýÏ ¡3#áÙõæâ•9 e™TGÛúúÒm&…Ñxµò6™1Îx´]þüΙȈµ4ÿþËßÞz«Ì”béÌOü™Œ1=¹v“)®Iòòáò×ø'’£ñãÇÕÏu¼¹†ϯ ×Jg\ðá…¹_fø…%'&Ó„/–LƒÕŸs×Vû¿øÌÐ̨”š®É‹ÒY—Ѽ¤Ì@¾‘Á?¦Þ+ŸÊ3iÓ—ï¨Ù Ébºµ`é÷ez5qF¾QBøÄ\ÕÍi­ZèdnÊþúôšøè˜2™¡}x×e¾ñàNÒCÇ>·63©*Û¦ÞŸÛÜÙ¿…;òß~ô(¡™"<@l&Ô³©»òíÌ5VúüÀ®öéÐa,Ÿ¼ƒ÷+H›iŽžòÖÁ3kÙùÁKª9T/û`Ô<#Ž¶Ë»c‚yƒ1î*éãÁ„Ó—Ìõ1ÃÄLÀ¡_ ŽÕ\Vé{11>ü;ACâXBt*µ9>ûgwÉxÃ%ç"Sæ@›ÆLÌLÌ|7ô¡Ø¶¶úõv„gþ4žWâ™xŽp&ßgù M\h¸gj‚!£ÙyøKjuÆè#Ű/-ÆåÌ=Þ2 &ŸПȷñ£G‚éWT®ˆm2 ú2Ý“Ö8h£Æ¨Lø3§A»æ´é|ê”×gî§—¶žšÉœ$30Þ×_‘–‡sòˆ†ñb/…ñTø, ÿ7(ùévú?³ò¸¸z).æè æ5}Á¼¦ß1¯ù3ASoþ®æµüÝÍësõ¸d‚dDR7‡D­òâ6ž ¬°çZÌ„jŠõÈ÷Á¬@R£.þìmî-0°›ê"…>È]ÕoÔÉפ‚ó Œ ç<=xˆG2Öyòù!™¶É1èØã.ïªúà3 \ EÞô¦ŒÃfL÷Ů̢V—ÌŒt9´Ö$¹¿¿«Š|·»0Õå~w[ù{Q“Q‚ÒþTívq‡ ðp?üwÇ¿ ‡CÚÑ…A–@c˜žÐâmÊM„ ¥‚ãIm× wSÞ IÞ?”MùǸGP-Òöq*X`¤L+Sµ!‹Ük½M™5¸(u·>n ʉ‰äèU¹Û´o´Îö ·€GBð“ ÿ´ËÏU7Áþ¸hã¹Z¸Mù䮩‹²mëÆ‹ =ìÆW‰JÐTßuȺTƒù:ÈaH?™«øk´ $pJ›Žf×=¿æèa(‰6Ç8\s&½ËáÞÂÑ(´$ ½û ©‰íŠ"Õ=$0£¶Gþ×`²¦@zêе²ÌZƒeÏ»ohÐd­‹âØÄÆD%oŽMu¸‰<ÆUgØ.3ˆžR`'–:aoH)Š"¥äÍÌÕaQ—›Ð Öu„ðÓ=Ìå ‡Ë6±›‘|ÒÄz5¸ P 0Œ˜¡Î!:%ê¦j»2eŠHe°²ùÙý€g8‘)ì»SSu)6Iø({­¿8'™è¹ssm2¡¨œºc¯Έ¹¦œ¥àÚÛ0y¸«Kâ®D¶ɶ¯*ë!K²ÜvÇ2Kr= )p/p2“ÉÍ'¼®{}"ç"eߪ<)È1Ãnžå¯Ç¢…¢æ„Õ•‡˜neyr–|b)Ì?+Ïñþl_0%¤î™6¶œÎ¸Á–;pÍIª_õž¦S8w±M  ޝU}l#îAq;Õ!À)1Åþ´i&µJÞ²8ØÎàB± 4$Ìs÷ ÊÂÃk§_óè&”ÂP‘? “5¾(“T#"ty(èi±pÝ-T ç 84¯Mé³êÌC€$›*öÜW“Þë¿bÂÎ`Oö0¥áÎÚb¯mª¤ ,Á°_Ç]ÙI±žê•¬¶Ì›â6‹Î¤郘â%g0)9RjŸh0õ²³M‘ûØD zÇ dä¶Ð }L !äzí„3öç®FŒŽ;¸Ì2Lzß4ZÌ ¸Qð/D Èp†éŽyu,LRäa ¹œ)ñ$]͇4ìx2½Šºx¢êÜÅ:‰Ú/ O½=Kš6ÿŠ}›¼íïýÃÙ®¾™oK?L8p*Îz’õ= ¯š49$Gñãz(IÅJÔ–Ø).í“BB6ç” Õß_HPÓˆ¬fÆÏ¦t:ÕÏ`IUéiÈh'ÔL)Ìi¥œaõ¿Te?0TÒ×ûìrÙÝÖÍ>L¥%w³Ž¨a›>{_x %ÂeaÁ‘ìÑÚ&mè¶Pd›™9 z™Z<1yýeúé6dÐíËʤ'7U{·Ëïãâ Ä® ‡hÊ },Ô¢ÞïcÝÜîBð¯K»êP>4#äA fäu~ŠT'^{`¶³ÍÃá.gFÚ›kÙÃ?%£w ×D¼…H&€r—Æ`Ø)Ì~§ &Lªš .Î>RžÿßcP·àcXI:$JM–̉Á¼ÙW‡jŸ–á^€Ëôô¸Û©Ã^Ë¢Ö媯z|Ñsn¼z¤$»±~GÏM]ƒ® 8ömðë…®LÛ:ékP{v÷Ï‚ú3†cð±—¯cæ&ð®¾Ûû† ¨0YŸR禵¤ϛ웨r5Á™7§9bE4l¾)»@z¯QѱóʱçÇ&GÕ;šýPu¨ñ ì´žPš«HJð¡öä±Z/þqáþÿØ=³endstream endobj 204 0 obj 2212 endobj 207 0 obj <> stream xœ}UÛnÛ8-ú¨¯àÛ¶@Lkxç¾,’Ôm ´Ýl* ûª•X ÛJ$Eþ¾CŠd. &|83œ9sf|Oj ¤Ÿtv‡ê¾º'±|trÑTëÄR«˜¤¹­`qSšΩ!Ê(üMšCõîòêüºÙܼoþ¯„¦F¢mÓWï 0jè„57ç´T )x¹‰˜¤Œ3ž°ó¯È­­…~þûÓŸ•T)–c~¿Š1C0[61Tq]çW®Î¿%3^K^ÀëëÍ׿ÂÅú#¾,ËJS.øÓ‚¹ +ŽDH¼Y1n1^ﺱw}¸æ’&Tz¨õÃðåév¿_°†gt{ŒК"Û¾ü0ÏbXdXé\”ß¹h/¹ø»iìÜ<Ó±%@¡æ99@Šr)¥Ío}ŒÂjj dËa^2FS–3ù1 Þ»˜"GcÎs ?Æ4j*xm~—ÛÛ½[ª6( –Ý›ÝiÎ=”²øSd’ÒdÛ»vò ÿhnjäXJbÜÏÉÁ€ÎOví1ñ̬ÎQþs‰gÌíõê”ýµ:°uV]7¹L–uÒf?b  Ìåû©íܯÉMînœü¼P3¢¨Õ;dE átѼ¦REQ×@VÙ*²»iÈ?a²¹Æ¡Š:^aÂä¢zÂiU&,€‹mµÞ~!~:¹jý@µ¾ _×—xl?7Õf»ÄzuKhI$f¬¥y:2 fœQaâÀ¤Ôµ!8)ºXRÇÛ£Z…Bî·ÿ~Ù$JµP™þU”1•Òm5E[HV¦¸8¶‡¡ÃÁzHÂgÌÚgýêÓR±^öpÌMQ¤¸si+a¾,ÏÄñvœmÆØa\cRåË£sýœæ]Ô3ñ ’‘,ê³T(Sb?Q&(TY\¯ÀÙˆO’Èl^8\iåVÜGš¸R`ÊÒ FAK•c~7ž|*@X[ŠögiÝ)j´"+Ûoò6y¬%/äd¬n—$ä¾íN{ŸVîXþ¢Z¦ŸTëöûÇÂ2±?vËRÅÆÉše¶\ÛíÒ¸Knžuùq™”ÿ‰Á»CYÂe«óã…ÏO³©­Ÿendstream endobj 208 0 obj 829 endobj 211 0 obj <> stream xœ­ZßÛ¸.Ú7ÿ~Û+kù[dß.¹;d½¦ äY±µ¶Yr$9{ûßw(r†’¥ÍÝE€, •ÈáÌ7ß|3ܯ[–ñ-óÿâÏýyóuóuËÇgøcÞ¾}ÜÜTf+XfŒ0ÛǧMø€o¹”™Ýj ¿±ÛÇóæ‡w§â2”Ýßÿ»Ém¦•SðÞãaóCîÝäv+T–ÛœûevøÎN‹L›ñÅÿTçk] Usô_pÁ³\á"éô¥Ëgy|ø±,jÿT«L2ÁãÓOþ‘“_l»úðÿx'¤Í„“Ûp™µaÛÁï[+E¾u™ƒ³*o%, ¦ý3½s·‘<³ÎÙ¸pÑfqåMEÆG`¸ßûmèÊsY¿ŒgÈ3›sí˧kýf´ÙeR[Q=ùg6ËuÎd|ִø΄àøbSî˾/º°8O×ÞKg÷{j»h±0—è£çÛ¦ÏF‡òÌh´ý1¸6U†›øpÜ,Ï”äxêK׎¯Ið¯CÇ«eã!s†ûák–K‰¦žË¢ßÜI‚Ðí8Ç%£™Xà¢T¦Ç}« XìÇ¿µ™cM}®†Óhà_ɈÁ&FP,»1°I3 ç3ÙÏÄb£ïvܘh? Â0>s¢Ë¸å‹ãÎ0’gNXŒrŸ hSÜ 1ûâR|®êj½¯–P_çä `§q!ð}ulÊCÌfuCˆϤ£lú\Æø1£ð½b¿¿vÅP¾‰KÀ ˆ€ò)8Ak–£_þº¯Êf„¨°ÞpZ¦mà6cŽøÛ¸¤¡½ø[õ¹.³˜ ,¡6ºo'ÁSV‰)6Îí¡¬{t#¬=Åx’¯¿>¼»‹æ A´5.iTš2ááþ_1œf„û*@̇6ÏÑàsu®öÑË™@ç\Únˆq°Ü!ˆŒç€dÃoŸ"x™ £EFϤIaåæU‘¬ädrv7Àr99¬ ô ¤ i«CW%7¢ßU9—SÏBÃíëv™ψ)ÉfYx$5£Äøp­‡ ¢‹ÓÄ›@;­PñÀâ%>´Ž!¦¸A…¡®AÌÑb'¥Î4)œM °)‘ (K§Pù¥€“äè¨YF3*Åé–„ºÊ½„7ìH Ìðî‘Îæ· ÒVÈ%¨ Ö3P¹,ç’ñ(À‹èðc9,óµ!·R^®uwጊäõíQ†@Þ'÷h½'1‡{=u훤˺ýo³ì2£C,4žËÈv‰Ø5w§²8DòåœDκd˜)–)MEj’GŠìm}é# ¢ÃçSŒ0P°fêßy.‡Ý®æ!BJâûSуƞ­§O nE²„b”’𡉨äŠèƒ :…C‘YÔybÕCÿ&V"™žˆnîæÈI"N ½*ä.Ù‡¨ (Îkµ¯ì,Ð7ç*d#ÉÜ„º«. W\LÝD»õ‰—¹>š¢n’F¦øû‡Ò,åEÞfR’,Ð|4í{9€w*ªºÀÒ$Âõa¸ BØB úB ©uJ”¾÷ê!"4¨¼u ObgEw(c%Я›ÖÖCqÄW #™Ö•OeW6û>%}vP_É@ˆÛkß‘+3/=>kAŽ·Œ Ä òô¹í‡˜©B“ m„Jša©Ô¿TÁºY¥‹Eu¦þ”ø‘7Ž’~86Gµ"ÄçÿwµR!DDnè@+úmH=¹„ˆLÝå¾=޲äè¤ÏI»RõY8º ´ë´)’¶Z¨5XE5Я±¾M9ž=&¬¥åëêK\E%íQ. ÙO~‰_s61®‰TzÿQ‹-¤½„’6öñBhàA2 4:¨;¦1Zö©Ap’£!§Ä†òõë¥ÃÌù_„0$&þì™wìP ½ºþ(ÀÌùÞ$¹8LzZâ/È7@WÈ+86Ô~ì‹> Î—aІX¨ò× $I*TÐö¨nI ¬­0²æ6•ÊT„¥"\$MNMÑÌ4" GÓâ%·Þdò™ŽÎ¢.‘Jà6)‰eb¥£¿ŸÄ@ƒÜO0­^Úktš&ê ¡µ˜BgNBEƒ5U&­FÉã^åU7áÕ°ªž$ľn÷_¢F16i”E³JBø\ýµ#¾&ìW1ò L!ýRvU{ IDî¹öq¢1ßðñÃG–ÅÌà9[Ú ¸ã0ÀÓ¶¹…pP.—‰h\•ß7škR~Âò^#ê¤RÖ:Û –A¾&Quœt«6øS£ UéªÁžRÀ ¤Öä· ŸiðÕ­.¡_ŸàŸ´n‹0þ“ò¤bx@‰¥ð¤©œ_‘œˆØ‡ð€|â)'ÖÊí5–[ßÜá÷³’À8›uÆÆ·:R¯EVOÊ[–‘~\¶HKNy!ý)̽³Ç«K¼n”Þs‰â~ì˜/äLÐn›:Âqé…&ád@zM !B€ú¦û„v š¨»èú4ïÉù‚JgÒ}š´Ì®{¦ýÃhøÔ²I[;9(t‡Ö¾¨&‰¾–èDz)»¢F=D}ð*¦þÖ:êoOEÀ÷lÈ({e¼!§*ƒäbÂ:û/;’6MF¹&üh[¥YÁ(Žï䙘VN¤ôŸÞÝÙùîÒË?ôÏÞ°õØyÙ¤`iX1ù›€Ä~⑚¸°>z N4vö…”ââáÐ)<”£\B€AÊ@)nÌVfAÇð5½Y%ØüŠoeHXixŠ4G~9¶±òÀWI9¹úB ”ÆNk³å"€OJeZb8ILQuûk5`ñÒBÝÞ,̆⯬ҔC]õ8IdÚ¦Ä麲¿´Ía´Rsà_K3ýÉœÛN-‡\·à†îÊMs›.èø´È”Ä!À$°r¹RÙ¦¥‘Žé't̲.Ïe3 ~tθÅ9GœCk±h@Ü/Gj“î¼ý7¯Ôa[¨•y¾:Œk3Í—8‚‚èåVÏGP$#œG²wÑÇiÈP\.][ìÇÔ€ hš³ž‹/É™”ÒˆE%Rû·¤ù›i0ͼÕs~„O‡üÚ©'ò|mvÑUe¸’ÈZ®hê†-µNƒ¦tÓ6®£€…h,]Æî³4èøVum3""¸[8h³rN°}_vå]Ô<§­Wæ#+SK„»¯2’h€Ìžh–C5Xðã‘Ðj¹®ió—+)c‰2ãš“ÆöùT$ÌÅÑ«mssky;ææùÔÂ!5÷À??nÿí/¼¡¤dÞF¶ÝAèü¥vîQÌ¥ƒÎÐú{ñ·›û‡Û¡»–›ûO[¾¹ïÿ{ûë;øñðÓö/›ŸÂZ«—ç¹Þ‚²ÉsP„ÓËså/–¹Ï´py¹=·[ÈyhÛxàv_<¦Õõpj¯ÇS*÷‚r‹ØH5ê¹N÷‰‘š¾ýµóQ‹WÑþÆLS¬ÎU¬]PfØœEý. ÊîÚ¦Üùáôš3¿¸‚¤µ6M›ÓÅ•¨ðyûâ|ˆÅ,ô‹“n†*íªRç±ð¦ÒÄ¡È,OBgÍEß_ÏñvÔKxj  Ì º èÚk CÐè>;@£»L¯xû²ûÅ33tšÀWÐáMNX¬= ÇÕGÄè%aà ÿÇ i¢JƒÇB£(õž¨ÆÝ^lû¿§ 8ñ=ÄÚÚ[ Ø\~gT#´³>·ü»ÒQÎùÿ|¯Hendstream endobj 212 0 obj 2933 endobj 215 0 obj <> stream xœÍZ[sÛÆžÉ£~ß’ÌXðÞ/í“’¸µgì:uÕä"! 5IÐhÕÿ¾gogÄJ²›éLǯŞÛ÷}ç,?­HCWÄý‰¯wŸ.>­¨_K­w«Ÿ®/^~àte«˜«ëÛ ^SzEW”󯬔QðïÕõî⇟__ýzýêÃ×ÿºº1ž½Þ\ü ·BYcÕqíoÞýóí•[纡Z¥g¯ßüí¯n•©†)‚«¯_ùEÚ¦i\üðêê­_5`LÄÕßÝ’m6=øþÃÛ_þä?ÅaM:Áµ;·þòÓ #Á@¡tû”& â^¸äp¢ìê’ixÍïG“•¼°rêw§íiŒv¯„ÿYû}·žºwkŒÕé¥ið—-Ikþó‹ ”*.¾yùÞ/ÊFS’Œ=ô{BÊec_]R ArÿÃþ—ýùLC˜Aö¯6–RÊãRwl·þep¬áæCÆ`‰° —´°„×,éBà5eJëFï†Þ{4Ä*úˆ´^zSbaÒº&×aRàFn½q*X'þ_­ûö3U‰ñÜ 1Æš7ìÏ1–/<¹¼I¤–ÿiÏd @Œ„g/™hx¨öëû.Úh M½ëöÉxN-m¥©[ßïûO'ÿŽ  %<ÕÙípô‰† ™ûÝaÛíºýÔïïÜÿJ Pñ\<û1d ¥’¥ìkÇh­6ù“Ûmði”M«£ÇÈK«Ö0o¬0BÛ/Ýw!Ùø–,~‚ÎQ€ðôx4Þé"š××ÞcÊú¨áØ#§iÝ’j¬ä<=¹6]ØZ˜†ÉžÁ•«ij×÷ßdh%25ȬîGo<\$Ý»áŒäÕ&Ex¸º}\&”åíÛ}¬ É%Çý§1q5grqž"jðv?õƒß_Fq4ô¡ß¦â·6=ìÆ~Ó%Z—Hëç•Cf8çé±ï¶Á%/?H¹¢ Qš¾dN;O¨6!¢Ö€êò'`*àça?¹r GÌ%àóôÅݪ vDÉe,ÏõÁ¥S>Üdž¦y¡¤‡EnýI˜¥¯­A_ŽÃ T|ð5À¼Å<{è§} ˆ# Ü‡Z÷«rîðŒ1D¡}Ø=æ0ìÍ [d¥”èÿ$à6„–›:‹¹@¡e™|SJ3µ×OßaZétê1\S‰IzƱ©åÐ(Sv˜LÉB­ñPRù­­ @ yÇ‘ þÝS=-,:õ/Ùœ>@Ê'6lŠûj㢑è®Ûà-5Á#>žéÝŸZ7JSšr!³”•5þ+2¯=¦,3JÔùÞ¡Å’ '%55ÅQÍ´€ ÷Ý1Éi­k÷›( ˆEŽñÚû¸µ%&=ü9føšaØŠtÌÕRØ1 Cú©‹ÈpßôG0Ò`|A¨")»ˆŸ¬QR ñ%È‚¼Dˆ»é"P"ä"É|žJÓ.w‡±ßù͵#¬d@ß°ý‹\ƒ"iIËó¾…˜ëd/t=f†jm Úi:ö7Ñ›F‘´ßiJ®cÙuãi·ß7QIž~•hŽŽBçÌH U ‡.CaHngUEm.‚š>ÜÇòá]›Š‚é\3´H‹cøª@ÆHûwef9œ¦h䘕3ßG%.°¦j[v·¡ ]r¦çn!Ùü“ 1Ïuƒ¹Ã–r› ÙsO$¹h®#¾CDÃHGÐæüнeµ0YZ‰ñú¾=¶PýÇ~  %žðæK<µal¦Ÿ€ 2ŽÕÑ´ñ°Ú».æ~‘ãGÉ?Pcåhíݦݯƒ3$°³Ñ)¿â(‚£r(V »qfEKG$·Ÿ›@ðE,3?,@Ïç:†˜*´åÐx"AC7`Å™ˆæ<Ù˜š—STÍ7¯„>I4å4Í×xxvªXٕ͑FÕ…‡Ç\ôY„9æ»È¯—±œ2ö®+Пq4©. Öeò‚:@/žÀ˜ý„Î'žÛãž³^çüªµ;SL—¹KAÚ»61ŸjEʨµƒÙU€Ýp’4ÅìçöЮûu t,ˆ‰'üAÓŒÇIõ1Ö £8έúŒ·§rÆ0‘¢JˆÑ'K¬Ûñtp<×mÒ¤Œ­œ¿¡û “2Ƀ‹¡2â0Š3É8Ä' ÂŒa¡ý' ‹1˜„2S u`ûfÉdŒ Üù¡R&²Å@_¹¹he  †êuÌD2oNäØXòðäú>´¬ÌÉ4 jÀMë[ôµ/i*G³6GeɱgQPiÉûå,mpc‹iÖ­2ç`¹p_\äAÈ %»öK(æn$– Ž+ VO7pâé”’B:)!yJû\ý¬öCöü2œ" ¬Ïëè+Ï ‚k¡cʃú}Nw±OêbhÞK9¼ž;ÏLC@k=ãå”l*ßÕ¾œ§a\ŸOÃþìáÆr*yiÛŒ{PÞ¥7çIÕFÆtV³aO![ =—­z›´C!} z@é£IUú@݃ôY4AÅè-V€›æ¤Mëgº g²²¢Ú©zD@NY¤Ü&(—=ûÈ<­=Mîú5´h>µƒ,ÏsàcýR¨Pâ4À’ƒŠ9b̨&ë&JXM©ôf,^ôxð¸Éóox÷$!vg]üüb48JS‚c»¤hV×Ý8?eJÍqÆ¸Ãæ±Ž7y“@83=}óÂ)J©\¦ðɴǾ ]­ûUCnT‡W‚ÃúÍ€èÅÎe ð«½;ºuû%ÆÆ2ZñA¾¦ŠÃh””ÊØYŒ˜MžÙ¤¦3m¾¹›ÍŽªýüƒW•›»¢é§tQ¨s÷Ç"7‚ûv²ÑýH…ˆ³ñÌ iáXcºÝíþìÁ’l˜™áfT!”îZÑÅp¯h„ ]CæìÛtË|É ¦œõ>¹ndµ{aÀÙÏovpECXqUÑ<7¡p#È ™~Ò{l‚?멵5Õ}󵉜©Œ&¡f¾}œgŸy–1ª6ñDÈM88! §îåŸ2`Ué˜>v±ZœÀAtƒ}oâUw½½øá5ˆ ïüÞC¶gws èæ¬X˾w ¤’¼ÎQ~|õˆjúrˆ5ÂaqîR{ÿ©ŸÒøB¨¡5” ´Røµ|3YüD¦ªÁQSûF¼º^ýýÂýùYP`²endstream endobj 216 0 obj 2943 endobj 219 0 obj <> stream xœ½[YoÜÈöQ¿b€}XQ}ò ‰x-E–±â@àŽ(‰É\;䨫üúT_Õä g¤<•·EvWW}õÕEÿ>"÷'þO~?ú}DýZú1žŽ^_^q:²…UL‰ÑõÝ ¯)=¢#ÊyaFÊ(øÿÑõôèÕ›÷g—×ï®~ºþ÷‘Ð…‘ðìõíÑ+]¸Ê +¨ŽkŸÎùüáÌ­s]P­Ò³×çÿæV™*˜"¸úþ_¤…ašÆÅ«wgüª)c"®þê–lÁ¸°éÁ‹«oÿìb…°&IpíD8wë§WLo\.(”.`Ÿîu/¼»ýÆŒf…ñŸø UÔT¢ -„qz}}~tzþ˨]®ª£Ó_Gôèô½ûÏëË7ðãüíèOGïÎý^"mDqi·RZ» ÷Ùh؊ä–”´…ðw;?½ð†’…¦$)ﲞÅEÃqñÚ-É‚i&z\TÍônÃ4‹j9ìm¸à…¤¼s£¿®f㶞϶I&„%{™d[/åwÜ‹›B} Iç«’Ñc„ Húxùùúæâ£÷OÉ +E‚Î?žDÉEeVàØ(ëÅlòèiÈ‚³1Ëñ¸Z´g ZhiÓ/êÙbÕÆçe‰Ï¾¼šÔÿñŽÂ mt"ï îÏyzò—7®¾üô$"_ …­(à½ä{ HP/ÜÁP¤•—xZ~}~óöüêÝ›ëó‹^•¹>ðÿN0Xb¦-D/ÖùM¢’´Éè¿y Pˆ_vb›Øhæ«å¸JA°¸<_ú· Ëìx{2/oýƒ¶bˆÌé¼ ˆH¡âzfû±/êYó p¾@«[ÁÉìwŠ• ¢ôž\¹8•;Ãßû9ȼ¹üü$8,1'J­ºR_~þËåj2Y-|Žæ¼'œ,«¦nÚ5Gy 3¥/¯./®"呜©½~P^pí@¤s_F U|_:ÜÅ ÓJ Úýð!æòÝÇ›7>\œÊ4dXF&¬ÝîÊ%fV’‹®Èƒ,6O¡Œ+y\¼]Ö‘,1 L_=¾ K)MÏÅP¨¡jHšÌ½6 ) FÌo!—–aÈýòêêLøsAL­ JË ¡X:wlÄ3PùunE%â !Ñ×XÒ!& ×Õ²Šl®5KÚ­› 7ÄŸÔ;›GIƒÏ5‹j\—ïä  ¢’æ˜çsA“æÛ˜ÕÃ]µF‹ßÅx‡T;Å£Y9™ß{Á $R$f¬ì…™"2Š&-ŸM&I‰/êqu®ç\µóiÙÖãr¨I* ”à?ÑÀì­ó­‰yº€è”Ö*¯;ÆjžJ‘â"c¨Ïä~”J¦0ºqÇÓ+HÐ@.äåüý„Bj­pP¶Š}»L (ΚÇÙøÁk[Bâ$lúÅ|6_…zª_I“ú>µ5à¼jsˆyá pÂ|}ÐÙ7S¤ èøMÞ ÈCHYv/k†}”qôÑZ†ÙlØà‘œã‘íCé“ZˆéZð´÷8†-@×Iëã‡rv_E§#9ü4mÙVM ,†j$‹6ÓJ†B‡}­Ç|zî18ŒÒ”¤£îë͈6 gÈ&DÊ. ÛrÖ¢ŠINã'õ´nqY‹»µó¨PʼnAõTQ4[R¼ùd…<•ªÀ ;¿‹^ͲUò&Dá&ãp‘)ö8$ ,(¬Noç«Y[-¿üTÄÓâ䩸Nuõi Ø¦ˆÞdO×MD{Fâ@JH@Ž£nÓ½u£Á"½÷AûÎÙ‘Ê—Õ¢jD#‰äv‡7“™v>/:™õôc|ö)ß»vê§±P:o¼vÏÂi¿Þ œáÂ]È;岜V`ϭɪP6\ð°r¹(¼Ûíî©.siÆË$ÛjFNö¯l¶í媤ï fØAK`×:#áÒÁ z «e{3Ž ä×Éq%ìDÊÅ…›éÊ›xb­ÁúcàlÁiâ¸H†½†ËÞk°Ès‚éP3Cø:'÷2ÙàbäžCè¶yÔ/PâV Rµ÷^Ã@¤Ò´`%}²‘€zU†zu›uþù¯'QxhY- Ñ®°g3L–s¶´\–ˆ%ì+ïÄX¨‰øÇã€l÷.&=OêúØ (Â÷ÞkP„4¨@!\ˆ·2Ŕ۲-ŸC‹e*ë ö©Ë®!¦RšâÓÙ˜†é…–ƒK¥áX#:rý_Â]ɵÿ|–JceJðw«)!ê%jÚŠ(m÷ÞkQ šƒöù¬p9 ×ÄeXÎvµë蔓tëÐ:°xZ’öäÄV:ö'•Â8¶…œz©’e5O¿d+ÿ"T^pí­PQê°ö\wxdò_SÏI»:½æ–…aÃI¢K#0I 'p]žÛ4?,ü’÷GÏ2õ«ÛŸ½k«‚[lÔ±åÁ¸e؉OÃî6X{“<È|ö 5ìmnb}Âè Øœ'w å*hFhZÇrÌÚܺO’)(]ê„;À‘^ïeYMËÐÜc¶PGey"Fia9~"°šµõ$Bš)lYä,Ÿuš&‹Õqô¨JPrßÅ+´”2w€–³ÜÎØç$~¦z½õ[^Fkly—íø!8ÔÏŠcÏkPj?,ø!¶U4˜s n\‹^¹rÃ`ü‰~Q­2M˜³»(6¬[Ñéf•íÏÑ @±&t¯?ÕÆ ’áLa:KÖ¡1¡ÃåÛMj8œSW/wðb%qÕFºZÆ爱¨P;*'¤“Ç©­—¿Bó}«(ÍóŠÁö]b¿ !$9_µy²àüuÔë³y´:鹈‚ Å4|Ñl´]·[ èPÁ6¦,½‡whÊi¸5‡ü–¯{,lªQ›ãùrY5‹yø€ßq¤¨ÈR†Ø£sÞl5ý-úœ˜}¯Ì^¹ €¥6vÌBmî+.Û*FEL­‡õÒ‘=½ÞíLrÑå¦ñ²–»-b›€Sœ}šGFÄ®;FïÀgßk§ú|¤‰Ë?þ’”`yYߥ@’¥yœ¯ˆóˆ8¹4Ds,O«å׈|É‘Ïcydb³¹”oÍsܨg·)O¡ýö@$çÀõ,ˆ4ç3°e“€ª(ï;@šã½>Ç þF³¿=É*@y°{g)æP™+ «èu8»‚Üàìj°Ù´'´ûÃÿñx•¨Y…v|¨có–­2Çwz»‰‚.!V?CMD¢!|Ýök½µ4àƒ8˜Ù®K Âe­gs¦Õ¤æfªfòŒ®@c#‹å¯&8ðx¼X³wZ•ÍjB4„žÙ¼3š*JærTZÛˆ\ÑQ`¢#K7†HnJ³nÄ-¡Ÿ»9øóC¿²è"YC\ †Êµq¤e;Ke»ä9 Ú˜õ×Óò6¡WÓ/TÇ.ãú·Ç¸‡aøÑ‰O“îëÙ}LÙ¸àënØ›÷¢§;£Ñ®:tè¼)ÓLMððxØ÷ÄpÔÑHš¯Þó¸Qrþ'ØÍ„•N¾bu¿xùqÊü¨Æ/ ÃBÄT:š¥÷dµyÃ?Êiú.Ã|›ã†WnðéûjV-“§ âzþù…eUEɘEE/V“¦J ŒøM[J@”ûÜ¥cÂYtñÎg•n\X¶ÿw§WÒôëÂ'ØäÀÙ¦‹U •àÂoºQ矈»“Þr’Û.î³´ô-…:Ó-&·Ç_«x®X7­š@î3¥ ÀržczÕQ’Àæ otYpz£Ù@ Àý#•C{j8¥(ÜäìãÛÍMÚ¡·l°åÙauÇz¹«¡?O@»ómÏÀ…ëvãíå|2i6…š t¢ ¾ãÖv\t­­cÀ(L'ùü?/9Ik»Õ_†€´¦¹zZ ȃGÿY tDß|1@tïž5o->çJÝ$€‡©RíËÕ©TOÜÔ0™‹”0\L/j Ž_×PBüKiu·ª1²\´†­ÈP&àg-è)m¾¹–Ð]«Ó× Ùe»Lì[]îÏÿÛ9/Äendstream endobj 220 0 obj 3340 endobj 223 0 obj <> stream xœ•WKoÛF>ô¦_A '¨µÞ÷£—"ÝÄ@’¦Ž‚ö  ©µÄ–"’Šbýï.wWI+.|<\Îì|ß7~N0" îþüo¶™}ž}Nˆ³…Ÿl“ü¼˜]Ü0’d$•+lƒ<>ŠÓðàÒ¶µÎ)F0ÚuÞ¸ Ò¸"/íЖ߹XÚ„Wï«; ©fY•g­B@”x­}Z¶C—éøöuUÃcÕ[»|æŒ`¤Þ9¡îÉÖÖyµ¥$0Æî¼·†ãh½«öãÚµ{\G±ÒvË~gk€â1TÓæ›]±s.¸–Áñ:-WÞóaM›¶Skw»95ÀÐ<Õ%Ølm–ßåvé”p#&‚fSyæeÞæiêK0El3v£ºd çÓ[à²úP=`øc“äÜåu3!ºG®|âv·¶è1H2˲­V«âiõä˜ôÆß`íºôªÒê”_û5Ýl {>”Ô$Fý)~"7¸p=ç:_­û4¨ÈzЍí(‡Gø }¹>V„Æ|3‡³[»ÊËæ }]í-4±žË -Wãº[§Û­-›ž.J‘ÔúTž»²Í‹'kbüäÛ£¨!FÄðÏ8¼r>$¨·Ì;Sç;\M%‡£‡ÎÉOûT¯$ŸêòêO§ìýãÏlúâ1Ð*šþu.:fùÉ~þ*ÿ2š\O©†X:é8v™n¬ísÂâêp÷d4Ôšû?¡m·ÓXN\ù—¼L‹âþ|¨éÖNôœ©¢ÈªÍ&-—c!OŽñ²µõ]šÙq¥´ët4¢÷ö¬žP1 yûÔúØçíúS2w“ʘèØö ÂR$’ο€æÓ-EÚ)Oæ1Ü/‚ ‘pc*ièFråŠÄ™6ÁÞÜ—Ùºo)…P•UXèŒ n>¸;æS Ýœ‚0“°Ÿ¤è0*x†G1$e’c¸Øq›ô“ŸXryâùÒBÊú‰Í4Â8> stream xœXÛŽ¹ò¨¯‡õÍû%@xoH€5‚õÊÐ’zF´ÔrwËöü}ŠM²Ø7MvíyƒC‘UçÔ9UÔ§-%lKýOü}¼l>m>mÙ°–~/Ûö›·¤ÞrJ´æz»Ú„°-‚Ø­²”H¹Ý_6o~<·¾l¿ßÿwc,QÒIØ·?mÞX¿ôö³[.‰±†ùcviÏNq8Çï{ßœîuÙ…ÝÜlqp§ô»•$þóëæÍó­«.ß·á–PiE¼â\ cš8JY\<”åÕ¯rNwqñTvÕóµ<ù?G¨Ö*þ¥o†#ŽÜ}%áJé¸xÖ„‡„ǵKul›[ÛË®kÚŽ (H"¹LGý+ï¬LŸúR¦+­Nh}öK’8ÆXÊ.‚J¤ &åñ7¿¤ T™õ† ’ ¢îÛ Á=ÜlöE® FPŒn¹T¼$œEœ ¿t!–·¢í‡p¿d ¸æ)¦kµU?ܽt}y š¦S‚ï®mPŒF¨Nu]‚14¢ÄÜ«âP¿ Ÿ7„gÔ ±†"Áý9𢈡Þayæý9 aˆ0xws-ã¢Í%Ó<õ±%¡Ž§»Ëë±¹_A4Ã9RÍŒ˜’‚àYÓE¡ª¹ÓÀ!)âB »8DY9áË@adÈÛ²»×Ãç9lÚÎ3«|ÀÃ:gD›r,ŽÕõ9æè8.©úsŲ̈c˜ÒN Ò>òa¡âmúÔzT"w.-~®Ne¬é°Jî]™ƒk)ÁVƒSËàÒç³P ÃÕà]\När;–WŠGÀ‰ Ú¯P§—”(ÿào~4ÆÑàŠ°„gVì¼×E_&Ȭàã À •f^A˜Cx ΡI6ƒá0oúHûZ ÅåV—ƒ€„$ aòyûA»±‡ƒ‰jŽEÂYóz®ÌhÊñvP–Èæ!ù&ئš¦lÇ.”¼pE5Ÿ:òdqÔQô#6Bî© ä+E×d\Šév¯ë© hy÷Û²W€Øª® ¼9è-3šÁG4C°Ç3 œœòä{J–ç cB§ ‚$À“øD¨+gn<Î~ "@ÎÄÕh‹ëòØ_ü)jOs$ñTu·:²¶,ÝH1p‰ÉÂðöÂxèYíÔ³ó"—ÈkÜf±_F&mXt]p{ºÈ-@¥01¶¥(k–ûi µZ>Ô¦V2ðé–PÈ*Ï3«ÊsôbU¯ð:¬>jÀ]^K‡‚2oÞXºÀUP|ìg9Ê1”c[}º‚d.eðp„ƒW²1Ê jp7…9ð¯=¨¸U­t¡° x9Eˇ@°“Á`:Ï­´º:´EûÁ¢‹(U7lÏ,NºrJåôr-`ø*ê0_øVɤѺ)NqÜô%å°Êrëáûâ#ïT¾Ï° NkÞ)àjƒ÷±¹\ ‹¨'Êü0fñ]t,‚¯×ºcXëçbIâÚ°š•-äßoÿ«d–>z«®]ôKÀ<±ñå\Ï‘K¥QåÇè*ÐNZÇæz-=¶ìê8ÉSAQ“¨)Ó#N`³E©(jý$”¨„ÈO`¿oº'3c²qM¯ùŠWÇ—E8" ¹èû¶:Äòqy^»÷ëï'°híÜŠk)šgźn¢¨Mž WdšÆc¿kÒX‘NfÌìME!mdhëÛ¦ŽŠ°³™p:´ì¾öúÒF/ ¯ò‡2T¨Ïìs‰´D*7óA ¯E$÷Ó½ .ÂàÃXõ]œõ`ôOSð5<›`ž‚sR]ÎIÒd§°í¿6gâø¿sŠ/ócPZüøû»±uÀS8Áµ}ÝC§:ÈJcR˜ù)M5еo‹kw £L·ðª¦Æ·µt][Ë*WC:ú‘[L9?÷0sxáce·qÎv€ÊÙã5« Jc¿Ojä„ «_X1‘ `½‘&s&”ï_žïmyú{š²c¡í´€Sé<¹ü3Oø}ÃGFú¯)YåÀ•P6ÿHc]6F§)GàÚ_—Ûº²Os᳡öÔ ¥ Ù#Ë#  f_þEìÕ^«Ø½þ\áÇDzİ› Ëæå sÿÍp7ÜÈ'þAƒê»&ìÐÊýÄf'Žb*êø%1~ÖP£ˆÈ±­Ÿ"VóWâêÛ{8Ä[ƒQ7ÍíÛŽgÔ~]jp%™AN»áªIퟷ®a¹ñ)ý71Nã,t%ޝ·¦ûChJ“ñ}ù£Gr£ÉâȹYN|eƒ'„˜¥ð»~ÞoÛøŸÿð«¹endstream endobj 228 0 obj 1934 endobj 231 0 obj <> stream xœµZ[oÛÊ.ú¨_¡>%¬õÞ/}(à$>œ“SGééC€‚–h›-E*$U'ÿ¾³Ü‹(›”,Æ‚Y­fçòÍìÌì|›bD¦ØþùÏÅjòmòmJÚµð±XMßÎ'ç׌L 2’J>ßNˆû™TS2%Œ!=•ZÂÿ§óÕäõ»¿Ï/¯ßÌÿ3á i{çËÉkì ¡Èp¢üÚ¯ŸÞùxùÙ~q~MÕ“#€<— qNºpn0cp°„ofTÁϽr¹ÉÓÚ~Í¢J‡ƒVÉötƒ¤Ô/®«²]dˆvþ/[¦~+'‚ùÕ²È[¤fañ>Í×O©>Üg‹ûv¯Dšë°y‘í^ ‡)ãoÜQiɃž’Å"­ët„&PÞÔYq×Ræk-ýrsï¨p$)'½¼E&ÊÕ*)–u º«ðQ`cF)b´Ý·®³ÕßZKZÅ#âÔ ¨á/¤5Š"H1 A/Ÿ/®çÎ*AR=œ¼.Ê7¯& gÑeZ/ªlÝdeч‡§H³îþ°û4„G¥y~Ö$¦Œ>Ò@ŒG YÖZ!2eÎí’A”)Ìv"û8¬T šÕÅ+¯x-™gÙ%”Î÷“Ö7Q&üºÝÈ…¥ïÉjíÉ…áÑUú/€4ØáCém4 Êg€³€sw’!„t¤•]wc8"ổ# n Š©(LÓ¸_3JqùLq¸Šâdµwj‰á@e‘z·QJ²åm»†‘Ò1¼ôzÁk$;6Nš¦Ên¼‡k‰ƒø›&­Q¯·(Š@N=Ú[Póý&Ù,wƹ|o$Æ.\¶ÞÒº8 XKoýjç¼y•õ* i‰Ó {8³ËL•4©—‘NAŒtÛˆ€9€ƒs•ôQœxۖÉ­à-•R;üÕ½Þ êãÄØà ÞÃw©@àd2ÎÁ(ÝíkÍÕBS¬F~)Ïnª¤rÁb$"ˆŽ ÚÔéí&Êês¯€  h¾-+Ïœ”"pblòÄ2ä/APh 5÷8Â$0¹ØTUZ´ñ€aD1Û륵‘À#Ý^0Y±È7^+3ra¹u£^ï¸-óÜéœÁîÂ%CÁ–Üìj ½9.çÓ@¢@¥†@Ù^Ó30¢M”Å/‡À€¸¶ùÄÛ«ÉùÕ¯Ó¦Ú¤“ó?¦drþÁþóö÷wðqõ~ú§ÉåUKËþ¾%D(¶„„%ÀXLþ!À¯pý$!Ž)ËÑ š86öóEh1X•3Ͱ?aìÏæ8åp ÀS·ÉÜzSß»ÀË¢8`sÓ4älývÁm¿]G´•âX»öÛ‚Jbµt2[‰ä’qл7EžoÖ•~b¶(˜sÞeìÂ%eÂÐ¥ª´ÎêÆE_f¯Í˜B-Ê¢HK !iTÛ é+¤«¬HòüÇ×7í×@Ól›ÒßÄàð“.—C ‰à¡Aðà˜¾x<2"lÁƒ!§•<ËÒ'[Ç|ïá°Ÿ˜U )ût˜õ€R„Å€óPJž Pu}P#2(L~îê‹€ÂäÖŽTªSfXk MTÍAàœ˜% –“/¦zPS§U–ä¡&7&¬gdßm‚I *ÖêÉ"”‚BG"Ysš <¦~>—52ëï_®žîƒƒZúäTQÉÞ!A{XÆÓÂo„Z‡ày‰866öÂ‘ÓÆ3bÝ„i09­N½ºŠ%Æ]z0 áµ×c ZB©Ÿc*ZBIuÒ@J´–Ú^„ÖWô/™˜Ž÷JšBa¸:hŠÌö›b¡ASHþsLESHÎÍŽÍá2cðSÔ«\ws¯ÖOÌ(p¨l;Œ}n;ó½ ‰eˆ™CíXw©ÇV±ŒÝæÁ…y¨ò#‘24ÆHˆ¢E¶5Ò¹ñïR¨µ«C1vŒ†á$èÑ´úá$ Ô²øsW†Ð Æ•>ºOÓ¯q¥Ìi¨mªP w¹Õ|þ‘)uPë'æ‹Ú ,ºŒõ´øÿðÎ3Ë¡À,>ó6?Üë;x¤p!ÌèÙócZH ¨Ñp` ¹% +a—KÁ*6C ×u•¬ï³…ë1AU¸-¤gþ"ç±½¿Òв3Â4s°•2ÖrÜ(Yt¬7{f›2¯3;m±Ìêuî†"]Y˜È\ŠdñeâôG¹i| dg-ilÂfE˜¡±lƒï õºÌSäAô#­í r%ËefggÎ|kNRÅŸ(Hmé<ñZ ±Wn;]¹ÞJáÿßždÞ-u‡×~Ü”Iµô6ö­e;aÓV‰~T –;NäFFì×…›2{ÕNé˜ÝÛ!³^ï Û:Þ‡šÕ„"µ-.gàgñrò^z~-ÍNd…˜°;òÄž„_ ®]nÏhœ7Fg¤(¸1e[7îµÚ³'ó?Íæãå*H]¥Î¿¥Â1ÜÁ%ë+0ûî&³Þc%Ã"€ò}Ò$Ooï‡Êξz&*4¾åv ÞÜ;y!<¤/ýD_5Œ¶îmGz;îà>c°ó2&>áõ¸˜WS]‡©3¸·´ O§ÎŒŽc{϶Á²ô½npTc©/ÔÁà"ˆIÑf½.ÝÓ­d1ÀóLKhÜüËÕ/ŸP¼äíßÿáeCendstream endobj 232 0 obj 2602 endobj 235 0 obj <> stream xœåXÛnÜ6ú¸_±)¥y¿<¦‰ÓHêÔÙ y•µ²WÍZZKÚ$î×w()í®| Rô¡0`Ã9Cž9sfÈ›9%lNýþͯg7³›9ëÇâŸüzþËrvr.ØÜ§¹–óå包eÚÌÙœ Aì\[ ÿϗ׳g/{ñ~yzþóò¯™4Ä*˜»\ÍžYâG'N2ƒcïÎ^}|{úÁ89çæÈ˜—Ú)ÙØT~ÁB€c _ÜÀ²Þi¾õNQÂ1t²ðC°˜aqh¹.‚Oíö|ZÂ98¡ccG¯ÊÅSe]×”~§Äjêp|×õ˜„AwR¶~Ìi—8Ö­'&~üð¢Ç+â(Zú!Kœ3”ãPSäEÙ¯w„‡¿ôàÇ8T4ý4J£6­öc†hCM»*Û.ÌåŒ(£ãH@Q(ªâ~^e]–&:ùô-­úiŒ8+#ž·È8#?‚&>¢:°E#Ä|Áx\Øs"±·h`ñ0Y¹É.6½{n‰uÉêeÝàž˜T£›]ÑÜ–Õ•ÿ"€úZ³t„¦Þ]­û‚HÁc¬‹¦è¡…} ˆƒ lÀ¼ûv‘íz”„GÉîQZkŒpPÚoƒEtGi-829x˜Öš§P´Û"/*zœeKÙ1¹GÓ»&«Úë²CšIE”2¸=à”ã:Ž6Y‡(qÉ!}$s4!ĉ²)ˆQF˜}„gDî2ðo"ðYKMÊÚD–NA\1v„Q^WmH ›cV1‚¬ ãŸë¢êm µE‡‡6­îêI¾1ÂTÚj×ìŠI Õ„*g=M•:€ ¸1¤üøÒTE¿–Õªß —’8ÿkR<‘&n6ý H„а¯Êv»Én‘Œ§êôp˜¢'T2O ¤d«¨Ž(, VøŠ1îÄR/R¶PÊÆ€z8ïs?Y#˜á)î²ÞC ¬è–[¯Ò¼7:e’J÷ï.ÐÛ)bZEYb,ez†œMBSVÛ]‡às!£¹¿¿B·ÖÉô2…-ñq‘–Z(-^&ÌÝErûø"YV»u=hûD{]6A>}mPéå0j!¡ÈÂ5`ë²b?ÚòPüêðíAãg»ÍÉ6h—´Îe»nx,iЉÄ«b÷“àìÝ:›ZÿbHášbÜÿ2ˆ}ÆûŸ¹Jšendstream endobj 236 0 obj 1786 endobj 239 0 obj <> stream xœÍXMoÛFzԯЩI€hÃýÞíÍIÜÖh »¶Šä -Ñ[I´Iª®ûë;û5$%ÊEÚ(ØðjwvæÍ›7³~˜f„N3÷‰¿›ÉÃäaJýZúµØLßÎ'o®8ZbSb:¿ÐpLé)RΉ™*£àïé|3yùîÇ“ËùéÕ«ù¯¡‰‘°w¾œ¼4Ä­PF¬ :®_¼ÿåÃéµûâÍÓW€y¡4‚ö/*rJ)±R2w`ÆÁ;gLƒoÿªfn/ƒ³,3ñÖ™[RpPS—ænI“L ÎâÒ£[2DRªÒR–¬±)¨r{¿kÝ*Ïã"™ûtáÃg–ËÒ黼-Æ"Qª 7à7%Âø­¤Üf-Me²ï·$FknãÒ÷eÝøûYF´|öÜš A˜ r:£‚h•ŒÓ¯g¼ ßý­ñ‹]Í$’qÀÁÚéŒS’@¶U°j‰ÒÏãÙÖo-O$û=^®¬LÛŠº-êÑ\,Sü%ã Ágø+ÃbQQÂ=ÿÀC¢ž±w>oŒP-SÞNO/=+á° *ÃÅù(¨Kêã0_µ'0“$“,a™‡Eˆ42ÄÅÅ®®‹m»~ò‚ h‘|kWuÌP¢¬°C—)ä3ãfÏeÜ£Ñå&ž×¦´ÙÝßWÖåw^xÀAEg{–L F8³ö9ûíu¬_Î0-Ï *œ˜qp ’L‰ åÛeÌ1åˆû³·Kõ“×ÅÓùôçIBúƒÿywTˆÇU’qE$H—ÐÔÒ«ä÷gŸÎO½møŽsLÍe]Ýä713†hŠªÕ¬ªÝz…‹K›²°ÊÝš%Œ IûE%ˆ¥k¯HÊy =oÛº¼‰bT–ßµ…O!5ÄP¼ç¶ª#“¸Á"_TÛoîvu¹½ó7‚ÃZ)¤R2”¦–A&BUÜ×Õ&ÒFØ,± )ÿ,HôÅj–Œœ¬›êuÜͪu\kHk†6‚ä0.¥¥ºàêÛ*¶<¡Ø ­x”²´”û£ŽEJ U2N±o=ìŠú) À["j yýßTËòö)V;3” s²Ôë8\| q5=z:r>GM1FÍ0.HàåÙ›‹XèÚ¤\–Ûf¼5†]}5>ɰÄDÊ—ÑYZë·£ú%»¯ß}ˆ@°.c³$é~m°ý}Ó(–øzjEڮ̣@ÊaOøx9¦óAÝ?u¯^ì‰ûõcÙ.V¡€`Àâ •æÛ4aIDöªhʦ­êqx-ÌE2îðå*©|Øªì ›0 šèÕ8b)1ÅÓòjìC2NiÇËÝÚ_À›:ÅT66M%f*EJŽ­Žk/Œx¸±ºõû9Ü”›ûp7È›¢X~íc¸Ûp¦ÒÞ8éõ<‡aSnóuT6Àb„–Ã:Ž"mTM®±¦6¡Ô5èiãM*å®Öëb.´˜E+J'PQ ´ ‰ÛTÉŒ+R0©è%á¢ëÐÕfÛ4%Áp&_—Û"j3í:qJdÖÉC»7u‘/oª¼^F~Zž%÷îve`®ÀãŒÓ_Æ8¦)J^ Ü‹È9ì¨å´<™«î‹mÄx˜b0AÇvÕ%a±®š`£2ØFk_rùváÃÔir‡%(;:šlȆR:¸yŠäàé¹®Jâd$d†o›Õ®‰A±nÞÊCô0:#˜G Dúüh%À¸|¨£ÖĶ£*à"ßFͧZ›!ïaŠ¢×·fkæ.íWE™ÔXè v¿½Ð ïB EêQ0nPHáOágÃ÷ÎÑhâc h_Þ…Lf  Û|ÝŒþs8 ÿ%HDÝRÝIäx ‚j톞¤'9ASψóa û.&ñy¬ËÞgŸ0ËÃ$Ð À¿¨c‡n¯Žçý"NñmÊe|¹ª1rPTo£¼+&ÍñrŠÐ¡®p¼Žm™Þ»Î¿FÜç/&ÝÖâendstream endobj 240 0 obj 1695 endobj 243 0 obj <> stream xœµYM“Û6½Ï¯ÐÍIUãûãèÌx7©—gíñf¯”Ä™¡#‘2IY™¿ h%ç’òaÊ t¿~Ýýú¶ „-¨ÿÿ®w7ßn¾-ذ–þ¬w‹_oÞ~láˆÓ\ËÅãÓ Ÿi³` &± m5üñ¸»ùéö·wï?ýüøõFb¼û¸¹ùÉ¿Â8q’™¸öáãÝ—û÷Ÿýƒ·Ÿ¸9;¶—Ú)ÙøiÂJ-#N)î?X 0DÛKn`›x&#Ê¿,±\óxìýl+œ–šm_<—똴þ¹9´~•KÂ9qu]v¿ «Œn’7ŸÊ®êú¦ Ï'°MÚ§¨7ðHm\»-öźò̰dNÇ5øÃˆáÃ/exU» V–HÍÐûÃv{ØÏmÉ-Q\Ø©Ig›°[éÑf›æXÏm'Š&PwÍæ°-W„&Æq<§ŒfŠ0*Y\ì~Í+¸Nø5~É*¾U¶»ª.¶qSÁ“›2|ιTéåïÕ:Ïx Òò±ê_†UJŒï:5qöä8NÓq}UnâëΊdo? ¼SÄð2Z\3Nˆ´÷÷!`‰±sÎc-µ‰]pn]é"$QŒ§= üUb£ö‡[<”(e]|Ð-êux(‘¡ŠŒ`>k3ª!ø Òϲ´Í:P×ï3lãüü,àÊbÀ×MÝ·Ív[¬¶ÃSÅÕ]¨Šˆ%N)À2¾èû¶ZÅðYMÓù‡¾ìH䤜dMzoÉQa“wyàEÆúMf3/½6Ê<ò=„TPfØyü€ðã·ü#F¤ÊÝmÄPä0_eÄRƒV[@B&V‘¼áS_’0v3‡ž¼¾0L TÈ`G1ÿ^v]dµÈ®UÙ˲ŽUT9̉P‹À<#1Ê¿¿ýCoe' R`/2(qMërâžšãž×3g‚ü(s  PâŸ,¡0èpÈ­2Sø¬1âÇ­·”_ÁïiÀˆðÜ=Š¶Ø¤’$²÷‡ÔäšöÜ6‡zs!W€ÖF¹’Nƒ=U}¡C…·|š„~K’]†è̵lgÝÔÛטê *®yB¼–ºÌ_û¦+“Ÿà l-¤ÊÀ@)¶¨E= > Ï Ÿì||©ÚAáˆ4ئB[Ò‚å×C¡úà9RÔ9P׸‚.N 25R±ÙT}Õ$f0¦“¡×Lù6 ¢OøMý€šûplС)Xb(6Ã>9îõŒÀ^‘êøtÿr¬îË*ɽùéÙÊMª´/'G•ö|§ç}Wíb[‰9ÍL‘œj<î ?€ÝKè ­b( ;×x·/`æ:ú@>@Ý$:ßßÞ §‚8„<sô–2,òÛ”ÆÒùxú…v¢Íª.±7ëŒàMäšP&™WîÛ"öýÖè«©qXUß ]¬ü ÷ä¹Ï–£º^!€ˆCõ’ƒKƒ^àÞ³)Âüá·Åþ¥Z'!1aþ.ÀŸßß1%. µEN[0 $X€Ð™ò4\„|†£±S2Jÿ'’‹ùi}_ý‡“ó¼Ü¦ÄuÉ“çEЦÈI—°€Ñ„«ôúªè‚žô,Ò23ä=ƒW5OnlAŽzY“–GN(3Ê ö¬¦^! ¨¤C!5h¯²íf d(‹÷>Òâç7'UñJRý<¤d†¿.1Ê‚ºi4.Ô@#ß×À(Ì‚ˆ—FÌe °»mbæF.¡,Œ}ÉÔmµj‹ö5še­CeóC¦5ÖÚu³ JûFâR>Ö1ûTVþH§K—ûÿ¦ÁN—Ì?v1€ òÎ%ÍhˆþMGÉÝý}4Ò=}œû¿Îò=’ X"‘T_êÀk˜F¡H»é9fÔT;¨ ©P è%‰„»m†»ô Ýä—Í-¡•xR žàÊýEä9adEòö© Ú[)jÒ)ÇSêlʾ¨¶]„”;ž›[ÑÇHq‡ßóc&äc É·;t}¬;Ú¡ø/6èôRår£þ%®,cu.a}¤$ÍJEåhí¹¬Ë6ޤ †A'çˆÅÏ|€€ù‹Œ> stream xœ½XÛnÛH}÷W΃«Í¾°/Éf€ÙL»@’Íf5‹õB )ÊâB"’²cùŠó½SìK‘"©dž6FnÍî®Û©SUýa:‹Úÿwº;ûpöaFíZø+ÝÍþº8»~ÏéÌ#™³ÅúŒºcRÍèŒrNôLj ÿŸ-vg—/ÿöó»Å«÷Oÿ;Šèö.Vg—š´+”#¨òkoþñËo¯_ý«ýpýž©‘¸^HE„ }B·æKø2g ŽÙû^åÍ&«Ú¯La4÷rÚ%E"Å#æ—’ÇvM-E¶]Y‰2Q´†û¬Ú‚p-¨_Üæ·URÙ ˜&Jí?ìucW)‰• ÛWYºM*{§$êÌoÊv ŒŽ#%ýÚݾÎwÞul’ɛ݌‰8¬ÝçiVÛ­ŒÈ˜‡å¼q>Pư ?-‹&É‹ÚF†ƒ%QÔXlr{ í".Â%µwšŠ™ ŽL7¹UƒEì(,ß;_Ji°![ù¸ Åf6§Ì™Aóç#†¢’ЧD ‚‘T• ˜¦šQ®íÖˆÄÑö¦\¶Ùraµ D(ÔâqïÝ®h€D¨®½ƒ¥Áh€sš¤‡^ù‹¸àAD•5‡ªpFñDyWP(R‘žˆ«b×ÛGŸ ~3Û%Ø™d­EÚäeáeÅeÉ.ø•¥Я_î²f¹+WËm^7_mŒ!—GOü¼ÝZáí}Œô„|ѨçÎúÓŠßSÅŽR!w.͸T|˜ ŒÐSɳ.â¡h]°Û!Ô¥ã ùßÎK/Ä\yðÎT:3õ@’$æJ#ð÷!«BþÑ£Sé?èi=à€8B¨²‡¼Âè÷"Òd»ý6iœ‰Ä:YWåÎCL·Ü9dÉðöh©ËC•fžwrÙï.µ§áü¾*o“Û­5‰CÒ ¾”Eæý¡:Ó1ƒ¤Ôcæëéõ%sª°ñcS%õW¯,D#>‚LíÝ@ ÞwqOƒs¤D¼ÖÛünÓx!!faºÍ’Âñ:`†éf|t Di|RóG£ ÂÁ÷1(ÏÉ-àbÂz”ø«[â@ ¸ÊûMiô„Èg•4&œ}÷îÎ)ê ©P®¼Y@‰Ž3Ç©<èó1PeW~/ ‚¥Q[6½¥­­´¸eÉ m“LÔŠ ’îÈ'ÈN01´0ýÄp^î’"¹svHC"ªƒ$M­zœ0ƒ´à‹N^ÜYá‚6Å·"·.·[G¨ºui°Ü_.eãÙ:ô™k'bÝo'æ4V$†XΙ°;¯­º` q¶üà¨cþÿ÷·Kר¨óp|½)Û•/Z†åÛÌÓ—Æ«lû ѶB’!Ÿ;ä0h›H˜v7Sb žDí¬ös&9´ýˆ!0”ôPÀðJ’û$ßåeK/ù?ÿu „ʰ÷Â^K ”Áˆ÷µùä£d}ò͇1ËV±å*¯ÛÏm"jæ’ý^}\æë$Í܉8`¿ûÅö ’ nªCÚ|¾ê©Ôäúz„¥·¥_2¦Œ+¤ÌÀ¾1ˆæèjlè‘ao{ýú ÿøìÅÝŽ ÏççÞA‹×mèÖ³§Çð_.ÓýöP·¿ÆÜÇžììc“UÅ(oÎ_žsáSg@O'Y±Ê×£\.ó£†m¥‡¥Ž ºË! sŒBùŒYߌsü‰_®ìƒ5¨ºUˆÄJ×톞¢3p°ûÄòw/q<yCGŸ‰¯ß5ú4“Ól>ÆÏûl_VÍ((‰ë.Ãê>®=ç[Ä B%ðƒ+âGYÇ~øºNœÅ‘6ƒù-ž(÷°˜¸[ÓNïdì‰~OÜ¥BYëwï}®›¬ØúÙàáÝi @žMW䑱Ѓ;s¡‰™0w€kŸÊGœzac=,:' qsy_æ«›§VdË„â[|êf%Õ tCÒ~x¿ÝӻϱRïBÏACÐ$!Ö]ÓÞÓÉÅÿM†s*¡#ìš„̦Ga?2ራ®Óu¯Lɰ_›œ¤ú.4;]°I3ï÷ùÊOÉœÓ XEèq(Ǿ؅îÊkG£nÊ pÉ`_cp0èR fJ¨ŒƒˆÞ Î më»ËŠÆºÌÀÐ>ütø˜£'›É—?þèÜõá'fÿ®^[•`èÑb0ðÞKÑb|£•ß¾úa“§ï˜Þx‡†Ö(Û‹É!ôh*g§òÞ;H¥ß‹´]P˜øè µüœÐš¤ÉS‹8™a—5›råÕx†[¾`›óÕ39ôïžðHÂ)>’¤Uægp ‹£#®•DóîE¤˜xúzpK1 hNá' “bîàÌÛ›Ý&!cchÎ`Tb:ð'çÁ“ÃÜôœÂØ Ô¼¥Ýk|×éÓü<ÙaÞ\ÚÚ­íûF-Ý$•§Ӷȧ˜kYdËö™éEäéžÁ,ùž DÊqî@7*+Ýý@«a½}1.® Å¸Xvrn:=ož>ÇÖwèmåÌr[æå>/`rÝß\úíÇßa¼\•ƒK/BÙôåì⸚µ<Ǿu¢€½ZÌþyÖþü¶½Qendstream endobj 248 0 obj 2028 endobj 251 0 obj <> stream xœ}VÉN$G½÷WÔÍ`A’ûÂÈÛ`iÆ´™öÁ*ªº¬ZzjA–¿Âþ`GåÖ=S êC©####^¼X>e‘ Ï¿ð-šÕ§Õ§Œ8YüMöÓfuvÃHf‘Tòló°"þšTÉcHgRKøŸmšÕÑÏ¿þ¸Þ\ÞoþZq…´ÝM¹:Òh–Š '*È>\_üñþòã|pvCÕâ 0Ï¥Bœ“ø™/œ2xXÂÉ)UpÍÙûs>=Â0OtSïÞH(Ðò¦+§ÚÎrFeŠùsU×NüVÄikm9K)AXGáØ9E@ÁàNÕõTz»If¢ÃX5S]9#£’$W Ò¢tdò‘ƒu |‰‘_µœ&þ7f…1ìŸ"#Iñæ­s†B®ebáÖÎ M)‘>Û@¦eLñ“+ÊÇPcYb*eéµnTLÃØ5•/dNçT³½Óé­„OîI¨'í+:±µN ]J'æ¿Ú Úη?Sã&´ˆÑ†¼©}÷/¶yûh}çb@/bâÉ/®™!fL¢\h”`@'ìmä0K€}Λ]mÏýDúp¢Àœ CéB a`$N@ÏÑREö€@úuåâ–P‡LÄÏCÉ“ÔwÓ}]Îh<Š]r$ b&»8$Áß¾g›÷p¿¯ž¡óãïãÔDÖ»æ¢vuþœóò׿×ãÿuÞÛv|ç_ÃÄë¦Ç¼ƒç>‰éE”’¤(o–a.RZ‰o»´s.„=@qíLíP=¶~¦ X"£*ßB`Šh•”ïOÒ@Ž"˜zøLЩ–Ó7°jóÆþ€éº=öðq¢Ã_$ë©êÇ)¯—¡my7‚ù×ôÊ}Ópùì§8`g„ÓÊ‘·eêv©‡I:o1){Ýr€¼: ûª,};öÁ£Í}Ú\š>%oX‰ ôI =`ŠËù(5QïÄ0.ú¶—rbÏx[äaýb0ÀY®²†¥Uv½þàÌRð$a_úÊ&ˆÀ‡«ì¦Ç)ø4>`CÐÉ2¤/ »®.Ù€®ñöÁ| ø•ù ÷3¸jwS,r*Ò³ó-"ãû…'Œ4 L;u¹Êq(_n²ßWóï0øendstream endobj 252 0 obj 1296 endobj 255 0 obj <> stream xœ=InÃ0 E÷:—éÂŒæ(ºèp€¦º€:®‹(cEo_Q¶ Bðùùø9Gœjû‰MlQ´úÚëÒßîâ's:ûâ;Û’öáAjtÞ Â4ÕÓ™9ä{ûMÝ×y<’]p…ιðÜw$j‰’«Šý†ñ2¬lé `È ua m0øŒÖèu1×yLä•ôjc¤v¼,ùÍ/P*][-IƒQªÆ˜K@Ò•@gþ\ÚîÜ#éà­3# _Ϻÿ¹K_vÓÉ"ÔÝýC¹Ty”&‡UVÖéóá•Qý¦qcÛendstream endobj 256 0 obj 264 endobj 259 0 obj <> stream xœ5ŽË Â@ E÷óYÖEÓÉLæâBqéB™ZQ¡h«àïÛŒ-YnιdZfÞm¯5•lYmÛ¬š{0½7òUý²#¸¨‘r¯ªÝíüútã*?Tˆè8ñÄ勪HKÖœ(‚a 1ôÔ T;3 x8·Ew­±nÖŸï¿n$LÓ\ôªcäB®¿ãýÓ m¤›ÒÜÐw ÉF4.BmCÀàËÉ‘\öŽJæP=eendstream endobj 260 0 obj 186 endobj 263 0 obj <> stream xœVMo7|Ô¯Ø[ bÈá÷± Z$§¢®Ž¹¬W´½Å~È»«ºú÷r9”'è `4¾yïÍPOg¢âñ“¿›~ó´yªDŠÑWÓWw›·ÊTÀ™1`ªÝýf= *!%s•vœ)UíúÍÛOõa Ó»Ý?ë˜V^aÞn¿y+DŒ}¸®Ŭ³"ÖÙRÒVЉŸÃ1S9渔ùômæµØÊ38T*@y[­˜S)y÷bª°Ì;¡s…¥N "•œ@=„%R"›qŸÎƒ`|Îmìê%ì6Á@*ÂvwJ5€i{8àTÄ *Gá¦R®aJX*}·¢ˆVÚùx8tíz›4L p¯ÜVÇa^Kish¥À3©”¦Æ¯û¹éÂûL•3¥×‘˜òÜ ~œVR$ãè–ùšö¦©».¡Ú‚GÎMµÅfܪfnXD‚©Ö—a ]*††9ü™xÐܨkȈø3K‰ŽÌ—„[(„×MKrŽÌHOùKöˆÂÛŠò÷ãÔ×ÉàçžÚï3!ÆB^!Xø3ÚÃ4¦³’/õþm÷«´8 J³EZ©J_õ¼ö…í:ŠÖÃ>ûÈZmH¢˜š¨‘Š-îÈã°•`šn‹„¿Ú€cüÊ!é&î*÷ã:ŒqBdÑoJUÂÿ¬ÿ¬¿ºh5¼tzh>õwc×6©OÏŒ¢¯VýÚqH,àB0¥ø—åÍZÊ¡ËPÓÜhM¡)4c߇! ¤=ÓÚϬæ@ç .ÝK#(wͣТ°s“Ê*/‡dÖùA>”/k%d7^&ç8g߯})ÝÞSk–Óiñõ]ž&ų§ñ˜§ÝJI´ÍÇ8Å©1‰—‰Ë™Bb }Vxά){f­¦1•RŸ…¿ëB²®ŒæQdÓçvyÌÍJWPœç· iý¼–åVòâ|š€Â âhe¾%£ ʲ­'ºÇ™rÏCÂDË}‹ÏÓÆ–AÉc)ããg&§Ì לd¯ç9ôØuúII¦EÑ#ïÔ¸ä‹è´C›³ÑÊÂúåÏÛ¬Ö¦ †¸Ttʆðò‡8ŒüEqЇ7y­jïé‚eµHo¾¡03ˆJàă$P”Ü\ ”4¶ ù­›Ç÷y9–a ç:¦tñLœ—,‚ó¶,ˆøtžò÷º`Îõ×mÂ<¯œà£®]÷ü†Œ+G]vc½o‡‡D”ćÔRú+ËìõøNËúÃâ ]E¡™=?Pñþ²Dpu^.‘¸·ð]XßFƒ;*Ô³V 4Äøï»ê¯Müü{Z_åendstream endobj 264 0 obj 991 endobj 267 0 obj <> stream xœ½XKsGNùÈ%ao¶ªÌ0ïGnÁB‰ªbGÁrå¢Ë V@,Þ]"éß§ç¹ @XŠIQÕìlÏ×Ý_wO÷× #’aû ¿£EçkçkFÜZü-²þu§7ä2£IIev}×ñ/Œ0†t&4<ÑÙõ¢óîÃ4_5EuvýWGi$¸á°ïzÜyG¨]ë ‰Î(GJ+båt㦮 N켞v+Wˆk#Ãë—λvU¤B?•Û gañózµ*«¦ÛG„($ fK»Ö¥Ò ©².aþÌÜ^ŠŽ¢‹ªž•ËÚ®ƒvœ*`D Âv]j„… ËùÒÇ%"\Ѱ8σ-zCª2ƒ ˜;½)–€YƒÞI·w²ªg »—*°„ŽÚÔ^„)DÕáÉÍ»U^5óÇ›3÷Œ!ŠÓÁ·!HhµSÕÎ\D##âN§9G†¶Tß…RÞy‹"Iµxî p–{#…Jpó:l%XF3— ]í]Å$PG‡7e8Œ¬[¹ŽENc²µC¡‘¦$ ¨ÊµwI—,iÖ%Ô=™–£¿Ý~ƒ8Nb<éJÇ¥Çîjí·Z¦0‘|$˜!vLR±\7g7gÈ{\ˆ à¦¶× )ºŒ ãóªÍò¹“PDrÀ¨\¾™¬«¼ nP1&é¶(2\ª'nÏr-“˜q±—|„Û`cbÌí¹SˆR¤ #OÄGiòîÇ«ß~ù¶ÓÁ¨R&‹|ù<¾ur5"°9Ð…bB¤øùåËåùÀYÜd“‚õĵŽ_‹ªxð•HäPôÔ[ë)„PxnŽqÿ§«Àu›vÌ…­ÝXL?î30ü+‰þÏêüvîP1Š0f)e4â˜ÅãçE^7ît ù'X·•Ú›¨êý2Ä“n5-×^¨%M1²dzïfÓt “ 9R`i¿+J¥RàΛ|R×bž’Ī*'U¾XÌ–—¯á!]H’@SlDtb>ŸÝ”¡O¹ 9¡ƒäeY8hot4õ¥S^#fŽk3ŸÃ‘V‚òä-øä1$Uð[D8)ËDò”å¼õ!¨”Œšuµ ÊPbžäHÈ||'GrH‡ÉQ÷ÞîX±„4oFÓq9 Ù\lÒñ%JGÑ(¶.¢X0Û9‹ioF¬Ð‰T!b» C~²Mü|Ðrõ$h^.XDvWV¦iï¢¬Š”ahäðl ›yòçnЫ p ù­17Ííƒ(å‰|û¢Ý«¤KØs¿dcã§ß¯p†S Å ÃUÆìØ~#õ¤¢«@‹ÄÉeÝTëÑsZcf+ê Õ>/—oCåå­ÝùÂÙ¤Ò”ëÑÔíRÊT‡}^‡Ü“ªZ•4M”öÕà†îSÁ^×ñ¶¡)~¶HÍó:&B†ÛËT“‡z¾UææEr:fϰe~¢ð.¤«µüæºðŸµ®‹]U|ŒAJSm>ŸÌj¸†Ö!¢9Ii0¦c(5*¥ãÀCº &íÞ“±Êj\»j5¸Îþ€Ö̸ޠˡ1 BCu†?ãÚþB‡Ñ¿ìô.?f@ÿ¢Óû3#Þ¯ö«õ~.ϳ:ƒK'˾ WrA³W–—ÚßÏl{&õ3XÄ3 7Lh=lCsU•£¢®}5· QlÜ-êÔШm²Ø¶a"ÓàtéóÎ>Š‚ù?À½Úšm3FVíÃÅ%И¾×AÒAò·áø}daþ}L1~)¨—zD°¼íÒ|GÞÕ ÷HåQ‰áÂO7¡á…߇*dH*Ôø¡ßïÂ×ÅQŸ23À_Å·!Ëpêâ ºÄåW ;È?¬_,k?ÿ°‚~Bþ)øƒ+;£‘|¬ÇRïÄ (”NÛ?o?ž¿#ÜÎvÈ_†Æž‘4gÂËÈ ÏV IºÂ;ƒ[xH.ðQ¾žXOËWLȶžÇ׋oàë+Ðâ«мTÖ^¾‚ Ó|ËWÀÊðUöÔ1¾žãÙëß°ÍT©ÌFª äÜ#ß©A3÷èC·@CP`Çé÷|é§ÙwÒu{ˆ·=ö&Bºñh:WUÛh™®Ì¾™ßþ†Mó·ó8î4mÛ~¿œ—~*Ç þ0³{m×íŶ”a’bÅ :l ­œøÑšVˆ)e6Gk_Bw¡P;G ï„‘•f¼D„'18p°ah3ÅScÖä±ä, Û'E³gB2k¦¡?"œí Ýèöü$=Þ¶û¾]ጤV|û(ÊÒÀäæw‘4›.bpUQ|Ó‰$i*Sîvˆ&™]<ÆQ³*‹(=RlóSºpx­O„ñ2ôœÐk‚_ºpÇöcÁRˆÙÏ¿Y½endstream endobj 268 0 obj 1822 endobj 271 0 obj <> stream xœ•XKoG|Ôeÿ‘‹³Ôî÷#‡äXÄ’#3rqFÔÄ$‡žZËýõ[ÓÝUC‰9‚’Šý¨®úꫯøuÆ™˜ñá'ÿ^¬O¾ž|‰hÃ_‹õìíüäͳÀ‚•VÏæw'"m³n&fB)ægÖ[ø6_ŸüøËûóó‹›Ïÿ:ÑŽ)kçåÉB²Á$“Fúlœ¿¿ŒR0¥ÈÆË_ÞE«dF+´^]Çíšqiq÷`ñŒ+Çu6}úããÇëx·²,¨ qéÅ»‰‹®â‘pM >_Ü|º¼¾ú4|b8³Üá'œÁnO±ÌKƒ;¿JG+fEÀ£;ÏGKÅù{s#ÝQ0!ÚB´ÀtJ£ÓcfB°`Œ6œ)¹•gÒÁ1³è„f^8ôl×ËjêÊ3\wOr2E®/Ú>ÇHÊ òËmW¯ñÑÚ£yU‰äL+Š]¼ Âne½¿¯»Ÿ“ 6` ²èª¶.V¾Á|·MÛÇr=Áï8LÓUºé)ôÇÞ7»|Ÿr ã°(6Ñ ”ž~¿­0Æ“õu½(_# …O¬÷ôŒ´ß$B´kÖU~™·×›»¦]}Ýl¦q)´Šq”æŸ~аüO=D³þÅ¡õLÈ'i5šÒú­j‘lüè"x‘—B5"Š~ð6ÆùF–ÜðPt˜Cqºkv›2'‹æ¡t«˜¬yB©1TÑE›hÓpKOY"–…ÀeUœRÀawKðJPL›Õ*½.f*è'H–ÊH|›°¿zçbÕAZ”ÄðÄí`qÆ"«ä“‚ƒyþ–ÆÒ*?8Ã~1 ŸËòçÜDôШÒjÃd® ?6¡ÏÛ-.5Š–ÂÁ*žl ¦ÜJ:ù]u›!¬ål·ÌÙUZbbÖM¹[%†–5Gq9¬ðíDRª®Úô“T䆚ò°(Ìd(yÿÜM“Lôª]?äZqšˆ·h'–~›€J;™eÞuc­^Æ.Ê ã M÷E…Ôæ¹#S¦3ÝlVûŒ=IÑ·ubE°º!$cÛÉIržb ®^ìV©†ÂRöû¯b _R¾œ$Zø39Ë©ýe¾“ #ßec º¾Úžæz1Žã…-$¼?Ím\ã³ÛÝ&Ú ûx`7 ã*/…æ4ºÐ¥ª*É?ÍøÀŽ”ÆÛ¶*¾l›:! 8Ï(bÿbS’T3–¼+0ÐBQü_­ðl'äøÁæ ^Üa‘-kxuÛÅ`*‘ÆÅ—=btTqi?w¸¨i¿tùr.èòÛ¦¿ÉQrð_òÞ]Û¬sˆýXÿ“à_îêü ìõ$À6Á<[;‹UÍ&ešWLx Êß<#Óæ-àÃlº~wŽ„Â}Ü`ÝPøð¬t⿦þ4‚ŠáÃÇßÎ߯¸;pˆð}_`‰pKµH¾¨ƒºLõYÓ@uƒÖO›£¡¼¡öœªë±0\,A2Pܶ¨Oá»¶úº«6‹èî°œç>U( =;Mô§6{‰eé¨i¼„q"æ:sÀ8V3Ž€z¢ ?Ô ‹°ÖpŠ]§ã¡’xÿ¿D)fM}eÑXæ†!ý(oPò~ˆäTfе¸Ñ¤j‹= бNª,Ø 'Z)Ê¿v]¿†Q AzIáIk@Ѩv¦Y%J,ËG¾É»½w•„¬õéÔ#õ™)Ò-}½®š]Ÿ D{£´ƒ*G1VoŽåbtlºÀ†îâø wÁ*ÿi‰ÍóóÜЄ,¥m×.ª”O>4ü ¬;˜ªõm‚—öƒú‡ ÖwRQŒtHµWô‹{l!JzŠè~}Û¬2‚Ì(ÅF6³#£ßœ@2"}öPoÊ­œÚãC¢ŠÐü3^ 4ÍPJIâ„ó|;Ìd#yˆP#'@ ì£shaÚ2zÙTÝ& TiÀl¦AÅ3¸¤ÉêXx,wU×å—ÁˆŽÜ8˜•†æXÞ6E›.àCÅ)«÷ÍnUf6‚Ü úŠ£"»]á`eÕÇcHN3·¥ ‚¥¼§ÚaDœ½ªŠ5À®·¿‘ža¤yö¹ÛzqJ _ÓƒÝ@’¨rûÑsšWsÂ@÷à=¬»ç³u\wÊ3ÊK뮪¶¹Ï%(ãh®Ým‘Dޝ‚yMq¯^x¨ùúnÃ=LËž¾š*‹¾˜¾ÊÀ:¥_zÕ¯õsæý˜åIíñÇe–œÀÔúx-ë„/cFEöÏT÷º¡6ãkwUUÞ‹På™¶$çŠÛÌÑPfÆZRt÷Eÿ:Ÿ#œ¦bJ*cÌ8 l·ÕfŒ³7¤ŠÊ]‹B&%IH_5Ù:HSt¤¬Vžû;–÷ÃP÷Ò¼¼…F“]…Æc4ª¶mpþ=›eÕW‹'#@·ßùVío‹Sè„Ô73ÆTŸØw%ÉǾ‹¢•‘ ü~HyO“¨ûŽÆ3ã”1õÀ¦éóí Ÿ0ëw»M U±ŠÁº˜Ï~?~þôµFzendstream endobj 272 0 obj 2016 endobj 275 0 obj <> stream xœ¥XÛrÛ6}×W¨OIf,˜¸àc’:Ï´3­«L;”YL,Ræ%¶ÿ¾‹+I’Ódü`¸vÏž=»ðã2Ax™è÷{{X<.—جù_ÛÃòÃzq}ÇÒ%IPš’t¹Þ-ì¼Ä”"¹ä2AŒ-ׇÅÛûüØ©æÝúËBHÄYÆÀn],Þbª×®ï°\†„XŸ³òF+Nà mx󜎪µæD,3”Á­L›s†$üñûâíz¯Þ½ïi6þŽ%’§îJ¥`g”J·äξŽN3$28ÏZ¶ý¦(µíêæE[ƒ™ Ø}ÝÖU——•q’¦ˆsî¿´æV‰"3ë7ëH†1¦Þ·&Ыà1N‚{ÎcŠg#ó#B¸OC`ÂøA Ž&K ˜Rá¾Õ_ â3ð$ˆRÂxVÚjEIŠÀÝå c$m'¸ª©`Äm+Ô¡®Ú®É;å@¥"õ¾¶Æ1³IŸE}*ŽuË|ሰ€b·Ï;‡¢PÜæ•Yˆe"äS5& ²EÃÉ¢”ú¥Ü܃ äÅïí8.·. ’ŸwµAsD÷ö•96ƒd±À‹'c–ÅèIXÈ☀=—€#1_om ñT׊¢ìʺº2Hh戓ƒï“áPý™¢øMΗEŠÏ•ÎøV…@‚}GU¸{’Ïòá¡7ô*«{+¨[ÂÇôÜ×6;’"N²“ˆ@­:$,ñV½ (Çú˜ïmyx£×‰@$áÞØ8—"9?‰X@È>oySÖ}ëvS"ýõ.¶ì]¢~ǧ²Ê^Ü–4 ebXÁ‡pO¸lHäÍ Õn›r£Š (©OnYÍcÞ‚N "ttvå˜Ï‘gÀS0$åÁ·F91Dz@üûFµ-|–[¨?«º‘vH¹U€„e>7‡ ˜r­N˜,x»cŒªÙõ†ÔE ¶1G2¨Ö Åýý½#¨$®êÔv_•½SŽÎüž ]Bg×µÏçÒ1*”‰¬ SÉ~©ª;Ÿ‰ýq¥ £–åˆ7ƒÆMöE½íªêTœ°± èöÛ·yÓý{ߗЄ,C­>?Õ‘•3\igl«Ï·{ã…Þʲql±r7øRø88Ñ \àJnå†ãA×7M©v1$àVhw7ïýã&æ>ád ¹à$ôˆÊÓ@¢Œ…b.-o1n„0}s¬[å;ôlïé'[È4ˈ7v]Ú%“ü5œ®\éP¨mPzXiHÿ…à biÞ7=Hhzç:ƒb hàMì]×é%„Ç‚àA·ð [çÝìgb‚²Ð§ÃŽDlvÆì¼¾-cOR¨šWÄδÃ@§«!#3ÕƒÉG°A c¶Ÿÿ~·v¶2 ¶6Ç3ÁüòSÙÙêÝ—Žýíó­[”",îÊg;¸€£d˜[¢AlëB^åH4=5wýJŠà=Nw)‘¾JR¿üçíÇùö²uŠš…Éz¶³)&ƒ›£íQ7˦íæû¡áTíÁ6‡—§1dYX‚þä„a’Úèъ麆âòBËmò-4ÝÖT2Ì_¦lŸµ}iEsêOÞDâ)õ¨ÝoõÈhüÐõh\Ü„í'ªÑ)€`sA X³ìÒþïaå×ߊ%)ôK9Ýž ÙG([®mÔŒEÙ‚>¿Ø±gš°ºšá;«tzÓzo97^û¦šrWZíàftÛñã÷:bî]3u ÔG•ßÔ€ˆ‰+í@=¸È»9æ™åÂÿDÐŒŠÂF…ˆ.E*0ïÿQ¯¨ú<•UQ?V2ýVJ8ÔŽ™8Á7æ¨îåhÓ?½ ø7¸ÍÊWõ²©ó¦pPàG†Ö9Ôß(¢F©™ž4õágHp±jGwGõ1¯Šùb¬€å®³IŠÒD¤ó ²‹µõb“o¿Z¡÷‘LG’r1šƒÅ„·»Ù)¹“)‡êæ«UØIuDoÔ‘IÂñçT£‰ÓÏ¡ðáз³(" îúÊt9×dmÇ”*2htݶô3Ðl˜hà|TŠNÐvxÍpnvO©H|±”χè{žAdxʬìF|ÂËöI¹);Ñ;tø¿•ÿʼnŸoýÏ# Ó"虯`ÇŒ )O¨1ìÏÿ“æ;&&ˆsV¨öùǹþr³^þµÐ?ÿ)Ûxéendstream endobj 276 0 obj 1732 endobj 279 0 obj <> stream xœVMÛ6½ûW¨§$@ÍpH?®-ò²5г*sm6–å¥änòï3¢HÊÞÝ4h¡ƒ€Ñpæñ½7=5œAÃç'¿»~ó´yj ÅÊ«ë›ßv›J7‚3­…nv›å4 %³ ZΔjvýæýïÇö2ùøa÷÷ÆX†Ê)ÊÛí7ïAͱ`¡˜±æ:Û’´EA…æÄHǘqèòq?Ža8Ïqí˜ts|7‡@1aŒ­©Ó¸ô¦qÌd•zD¦¨ï³*åþ1µq çÜ/Ó2WyÓqŽÒ¥­–¥Ý?sH1P},È„!l‰s&㿦ÊDj‘?.cès>êš¿ãÃ_é2áTÉ¿N>ÝãÊ-£O3mx½ù!®4IÍÀØÓÌ Ë¥¨ÊÞ1UÁB ^®ñ2Œ>Sb †Ç” LZ[’Û‚BJU‘mçàVJÁ„2Í–NXû@·Sq*%*%a¹7™Kb‰MCÀí½*†d) ÚSØ·“ÏìKÉ ›Ý£ï¦3I„Àˆ|Å8è[òwÀ”–…vQ9¥ ˆèÇp8û}êKzYÿ‚Û/¸%MQIûú–Áº°È!4³(Êé¾=gÊ`¥çÛ²LKàx'ÉŒKIrˆбà—+þv¼9é¶rVMÀKí‘Wí`äö¼Ï¸”C}›û.' Ž&ÇS+rbõ~Ø_O~QG%Ê‹¨ÃÉ—†´BÞ"ÝÒJú%†¾á”XQ4‘¶úàqˆyuX­k¡9ähp½·î9 šú…U˜GäÖãÓq¸ŽËÜK¦D½×J8Õ/åÿû¯K©:ñ4¯Äècš¡¬û2·Srµ\;VikÅ% QÊBr Ýñõ®‡kìI¨¹/Ýr³)nÌ^ ~mûKUšv¤¨v¡AŒÅòÒˆ:Õñ ÏþxÈód‡$ÏâùGßN׸¬SljªéOü)$¢ùß.¡Qâ Êùçp:eÀÎƦk÷%k¨Å­÷œ=/Òp³®´ö[fÛêºÙÃ9/j²ÊÕ–i»ÑõgÄÄà‹5MªðWOÛiøäIÄUóÂroAEéŸaÒ?ˆã•á¡»öþ<ý’DLÿ‚mñôõÿ´k>oæç;q÷endstream endobj 280 0 obj 855 endobj 283 0 obj <> stream xœYMܸö8¿¢occÝ\~“r€»‹ñad3Añ"ÕšiÅj©-©=ëýõ)Ь¢z¤m>`Sd±êÕ{œO;ÎÄŽ‡éÿêt÷éîÓNÌcø_uÚýðp÷ÝÏÚî$gÖJ»{x¼‹ˆPŠùñœi½{8ݽúñXž§zxýðß;ç™Ñ…†y‡»W„±ï~~'5sÞ‰°Î'í„…ÂćcÝ_Âd¯˜äΧúÇ0&-óVâØßÎõPNMßŵ¥Û¬€õ¼¶œqØgo4ó:-ÞŒó2œ)¯0¶±®pÅY!U‘~ˆ“ ¦Œ‘ãèÚ/i ]¨4xú0& â¢piðss¨óTͬ·¸Ûc?§Gh&­Á¦c?Öó\Åœâ8ü|ŒëÌ7;•_Öƒ毅d‚k µé õ8Å(´`ÚiE¿ÍóáŠc:ãf°¬”ñœ†”â" =Çæ4Çê÷WìçbÔ# ?íwph¹ƒ*0O•÷ô¬ÐÂRÑpf¼Ô×A &]Ž”òo?V Ž# #ÓØý©§öËý\WÇDÆMYU—+KyñÒ`<íÓ–…׸ÐsÆT®âçùSV!0†ûQ‡|3Š7X•rL«yë‹”zN)­ã&¢PZ\ïëÂÆ˜øösª½ãW¬q+qhìÓ4¥-–÷€¸5ZJÂbK¨Ð{!ãÜz*›6öOÁ„¢2ÅÖ„½ ÷æza`7 ~¢Þ–žY­üzìíX$å±HÿI–[®ÑÐÆ°¿Ò´Cå^ NB•âÆ,—Ö)¢‘cótL{ú¶×³ Z˜« jS-,¡Y¶t÷Ð.D]F0n,¦£ìæSHóv1GŽsñ"qªœ¸÷úvÞZJVp…ãU:Õ2ЇÅ5fîí/ï_'€Ï·ö—¡ªSÉMÆXOýÊe¤º´¥ºXÅg%Å—°È"ñCËÃÏk9¿4žAóî!g6‰3 0N•ú¡¬>>Í=«ác›þs·$è;+À†’«ÆÕÚ_ÓQ Í,ÏC3MuT bAðˆ4•ÔGIC‚ÈïÇo¿e œF+\ù_Ç/JvŽÓ謡Ì@&%©MˆWBÚ[s*ãö G<—b¨Ë1‚ @?âi0yUäQžõ¾n’xZ¦\>ééÜÖVI98¤9ÓN‰¬ªèÀǸa¨ŽMUÎÒP%/s>±kf2µD“H2ÊÉl¬}n*–äUfp¿{ŒG40„aé/óDÇ G^b:6ÝÇ”98"~_~è/ÓšV6ö?5ÕÐW}hî¶’bA¬El%I†S_7Ó},¶tÖáyGä—L P¿6À0kÈ(@aÐÓXA‘Äõp:nI=áK[Íou¢œåŒ&ã·D‹N>4ýeLU2–:æÜw€…ØÛ€BšèŸ?? 2v‡1™,mÈ85ÓX·©à³p:±ø nÜK°BR}.ä˜Ê봥躪>O—²m~Ëâ´{„o²¹ ‡áÔGÑo+´Ädü4øØœçBjàuK‰j›Ù–aª’PøHú°|¢J_ʶ°6SÛl»Ë#ˆTÙM—¡Æ9"`MQPÎIã®$£ % *ãZ`óÚpå¨Î§¦m¢Ù+ iÇZ )5%\VþC{ ”Ú‚š*.2’Êh+§T$ÃóqT ŸSûéÒLuJ™QDi@ß @9±¯È}®ù”®N»qAÍWv¹ /Îa·E3·hÔWßÐT¿Ö¸…#ܪ⫠LŽ.¨î›âj¦0{qZ€²ZK8]¤®C”¾¶í)}ÓÆ  /¥ã*ì¡nçÖâó7˜Pyó2¯ åÿ€ê…óÆ#”ñ°2å©ïžr®_ÚÍ«HnÓŽe @ÔA3ÆhFFøtY4@!~Ïxx`j8Õ•ókçñ®§!:·qÓiàô…Óxô>E.À _ÓÑe´+2†ðÜe~u>7t‚ܬ7·¼È_D\¸ý£§2‹lä·t}sñ%È=ˆä äIÝ!ÚÊös±Î}h]~Òþuƒ6«ËD*oD¿õœs |ÏR­-!ö{´jFoXµEPÇä´á⯯‚v…N4Wj÷M‹j{ë¡ãPÞ¤†öÂ,Ù-¸QLšutiߺÿΓÞ-k¹¿úäúºâ=Qû¦â!HÆóúMgã=&ÉfpÕ$‘å0Äzpã6?³FˆËÂ=(àEÔ¡až†òôŸ´z|ufá1þ¹ÂPÅ#2ò(ä—"<  ›¡– _çcèð~ý9Ýx}ð3«Óè ãîªî3ÐF¹\>C¬<†:ú\ ùœ$ªÁÙÑåœLŽ”|sݤ_TA9…Mí›Cd+õ0k “‹§²µQH/ï ôâkÝšJ­]¼Jü³Åâ:s“ä7›ó±Ç{˜g¶ ¿%^Ý‘ÝbCáä0ÆúÓ¥îâã« ‚Kºe^"¼¯ÿz±qê?ÆOa5ú´>¼ÞAËðª·úƒÛ5´ÿ=Ûq•²TŽŠ}F}U¹×éo/õ/ Ú’zìÿX'®SœTö×uØP©4Ïeƒ;Õï_¥7ë •ÄËHˆ‡¬Â3rpQóÆ…_þü°ûû]ø÷?Ù *endstream endobj 284 0 obj 2548 endobj 287 0 obj <> stream xœZÛnÜFò¨¯˜79€Å°ïì °€؉_â¬"`±X/j†Ò0™ŽIŽýýVߪšCZ–?î!»ëzêT5?­Ê‚­J÷/þ]ï/>]|Z1¿–þ¬÷«n.¾»le «¹–«›» ^ÓfÅVLˆ¢ZéJÃÿW7û‹W?þüæ×›·×ßÞüq!MQ)xöfsñŠ©Â-1SXë¸xóóÛþIÁ ÍTzö?nÉÊrkãÒ‡wþmUpÁEZûõíõÿ6+”0&múþÃ/nõ»knfRƒÄR›BT<—YUî…+º(øåŠƒ”Úoö°m×[÷#,éªJGõãðÚ/‹‚K–ï›1Š)µdqqÜ6qQU¸Ø†±?­Ç¶;xK©Â–6é_‡]ÊB1Û$Ûy}êûæ0Fh)ÒǾ»ïë½ÿÁ%™lÝcÓûDÁÀñ‡¯Žëâ³×<Ë…N¢ìNÍÇo£¦LÈäú°‰î4BiTÊ­™BŠÒ¤5¿§,Œe,-uÿZɹŒkMt€-JÍVWŒ‡—Û:¹/Ø3[üÜöã©ÞyA-šôº;ÐÈüm¥ÎO”…€NáøWXQY2X³>ÍÇW¿õÑ+dQôöͶ¢ÅŒI“úÖ¯CЀ:Jr4å®ó‚K÷x:óaˆk%¯^.ZÒŒC^Ø$ÁmßÔÞÄLTé´|ìÚÃ8ÄXcyìb´YV¦ãn“?Da!x’?šzhwqkÉ0‡f Ù­!mRøMp³P˜5ÇfÝ¢“*©ÙLbКO%ö˼0† ³iî€=)wÖõ!JR*“¢µoŽ»zíu 'gæ,–àXÊÍîÐÄ-´ÂØî›¡Ý´‡ûzõΪ4ÕSûfYy%J‡o⬨*ÿó¾Ùw½7®¨ @­û¾~ŒqV2´‚7¸*„-7ÿ½m¼,\\•iõ² Y© É÷¥H¿Œ¯ëÃ#Ä8äS\£‘w»f3?ŠÔÖ”š¹s•^p®ÈÕ"ÿq‹þ áèL¥¥š˜=€Mz.›tL6˜_›"ÅWÎERsW öá?ÈW€:U-Yò*óSshúÇŠ"Ød«wí®‰V1R%•®›ûvÔ–ª`ž‚C!¥§Äm9Âÿ7»’Æ"˜÷ Ž 'E˜ÐÕÄ‹¾¤¨”ŸC»?íê18RBŠY™¶¾}DTâü̹°/Åô%Hö{„W¤˜YA˘ë ®wõ0q¨@Z¿Ù6q@'ªXK‚§­ ©²â3Œõ!&9øÏ ñº;ÿ4G#©#¾U<ÏÂg)T9¡4·4ë1JÎ)qîº>$…N+gEéNžº×åýsÝ ¥ˆ‘{h¥rŽA–üõëû‹ˆ%•æÉov»ùùÑl¬`d¶Å=¿,è€fÄ£ê~a‡ux²Ž‘Øè±€±^µ¬’DejÇâU@~„;~@Ç&u4&C› È4#ÌôKÚ·OhyXUY,ëo,«˜Jf‰JlšÈ¥ÕÊ%„ÞÌQ0&*$o9KÔç:)ߢC€YÇî°¹ò.áVÁ ] ¡ƒGÉ,ÅVÔÃ"¨7ØhhBÆC©.‰sÞlS³’ͫݤ,$Ãq¡0”ví¡©ûDt²‚¹©.*‹ðpèÆ¹Ä·õÁ—€`YbT-Ùy×þ3 êÍ„´j(üB œþЩzBvLXÁÖÈ¥„ÕTÁ>¾úDOtÄ:¯òÉimP+XŽl[°K vGëX™¬°9õq'HUEy´XÍcÑîU„¾`VE D<Ôùi•ó*ú±Ah…AWeU ê¹UT€gò"šmê–”šTK•zØ©T ÌØ„aд‘£êˆ¡Â•è$4b¨­f •Z¹.à:§°‘Xã66ޏ%v‹Â¦lP6Ü­q3ØPL,¶€‡g’!þÈ ÃÍ&Q ¿õî´i†ïV©óNï¬VD…@w£žë¿ ¸<êËÉ l6¿@(ÆÓF2¬%Øû2ê}»cêGà,¦ÉüK×»!Õ­ŠÙyþWǦoÛä ÕKýUD@ZYƒ ý”Ú*ð¦©7)u…])ñà¶öLf«(sÓ@«³3lM!ÄWš3ë ¡9«J=gEö%‰ Ucž¨™t°(•‚³9ÅB½u¼ëÀ(æÏáÐéêó6rrNžN*þy:D—À·úçëªIKªÅ¸*JEŽô­xL1Ø L(k0¶!6‰ÍJb(‡ˆXÐXÎÕ˶ý; —–€éË}-ä…)Q-j  ¤«yk âµ™YÎZfÍ9GwŽ›qô+i_N›ô¯r&Fq•è¡Ô Qæ@¦z"ð­ˆÀ¶wD@CRž½‰_^"á’ëõ[{‚'+]œgñ˜;nÇ)d w}†š5nnŒÞq$¬ˆÈ©kû- ˘B°"wqNî œLËêýq×¼Ž(È ÈUÔM¸`ºŒ9 IÚ{ÞfŽ;w‡] PiÏ#l蓃Zafæ&A3Ôœ¶˜PFQB…”zÎLد8™å½¡7ƒrfDq·]¦ ºû䱇4c42\ŠÍ~N\éåóÙ‡ÜÐŽc…&vÞ™ùx‹¼4â–»ïN÷1 +–{qÎMÿ^צ— v±ÙÀ1êÌ1ì'mJ {µ³°×ޱ$ø‰d JLÚÂÖ¯\é8“:r væó)P¶øõª¡— ¢)©@ä¨ ©Ñ±»nŠý$èLÇïšß½(Zàuy<—hk,¥‹uíò¾/F¸kK…!JˆZšÀ/¡Ú&ú0pŠ&Ú”ž\Sz>Äôåê‚•Ýh‘aˆ‡À´’4k®P¸HŦ ׻¶Ætk¤i°¶”>ëÀ%üÊ,–ж9Œ¦„,ñtsX×ÇÁø¼=Ð}z8ä'µ8—•®©ÆíºùÙ‹è°òÀ1d“¡ÁþP ý¢šÊ ‚‰8„öÓ `¡g=ÏT;o«'÷E/ä–sAˆ×Ë¥!Cű­zZ¦Œ0f÷a¸€S–é×߈‰Íëèh;¿ˆËäHàÖvc] ÷vìz¨T! ¡¸CmU“0t!Naøä•(D‰ÝÁKY5Ëö3á&á•ÕGénª¤Ðm]mßÇ{O ˆÉí|<©Þg0ÔÙ¹Ù&œ®o'·6ô“;(ß´|ãÆ‡$FÚ'»šIB¿KKÙl &ð…’?yšÎøùgÒ!øË“8·Ì@ÕêOº9oûµôæ.Ö/Éì³óB-\4”4¯_ôaÛíÒ´?»WßuÉ%µ¨›À}]•¦wMºú†¦@ÒÔ:#ž:#µs RX8ˆÆ°@C[úŠ¡ÆÑ@MѪꈱo´‹bt÷>!†!êŽPc}]×Cˆ ðwIß!,N)6<=$rÓŽm*€,¥bT‹£5 F]Ã94cÔ7jg}¯œN|ìB–pœv\?&ª@—w®#MͲà%Nþ¼óà0Aλ}ÓxÖÙ…“ôä¦ã]»”ã6aÏI*œM~Ÿýú>Öq•µhÙ¤Gâ™Oê¤Oyî]—Þ¯ •à! q¹†Ó$?Ü.8ŠÄÑÔͧS“Ú•ÊÝ"‚vs«,ݾN¾ЊÏÀ¹ÙüÃýúÝ5@`>¨- wŸtå.°dDØÏ;ϸÜ÷BÚ (};ÔqÙH\þþ§€Òî ‚³Ð*ÀWt\¸zÀð‡&îš"?ËG w4ÑLd{¸›Ëv7ðN«Ùãø4%ØæîõŠz\G¦¾¤õt6iûf™ÞlæÎ,MGîÊï2¹¿ •ć®Ã]$Ñ$Ê)›&ƒ&kcòéÅ| /ÜàHù9|°ÈÏY·Í ÞÑ )§•:K>î¾pÂ0ûR1ôº¹–§j8jçz6jŸP¿,#,fõš/ 7³×÷]Ó”X6>/œ=ÿ z GõŒFõínw‚—C¦@Çýy|ì(™IÒlë!V1ATñ¶ibi‚$óÉÃsÓëSjõ\;Æ‘iÕ· ‘²›˜%úVœ7¥°4ªÙ'Фºø!›Ú~>`œ ÌýŠÂ¼¦,‚_æ>^žÚ2æ0­Ã5?aNüç÷ðÑÍÝÇoîS·ÿ]ý³ù ¿ùúÞíööfõ¯ ÷ïÿº®ëjendstream endobj 288 0 obj 3170 endobj 291 0 obj <> stream xœ­YmoÛ6þž_áOSÔŒD½¯hlK×`[Ò¥Þ†mE¢cv¶äJTÜtÛ߉o¢L¦é€!Óy÷ÜsÏÝ)ïg> fþð#ÿ–Û£÷Gïg_SÊíì«ÅÑéuÌr”'8‰f‹ÕQ KÒY0 Âe³$Kàól±=:þúõÙ›ÅùõÉâÝQ”¢,†½‹êè8ˆÑ°¤(Oq&¯Ï¯øÎ£$ˆÕÞ_‡¥Å9Îs¹tõŠ?#âP­½9¿>ãO(ÓTzqu9¬ž^ãÔ²,Ž’…6mŽóáy¾Äð̓• ?Œv–<ޱ2pßP®+G>ˆ¥<e){F*î4›æ8‘_|O˜ÇIŸ¤êP~OŠü4Ž•Ï]ñ ÷Å‘ÈE¶._ÍÆú~¶&Ÿ(‰ÔÖ]É×0JýH]ãòg×КÑúŽ›š (Œ”©¬á'È}uU! MÒ0TÛ¶¾(PÆß¯ä£±¯9@뎵}ÉhSs\bàÖž-¤ÙpŒ:zþR,†(ôóä ´—ÇËH":Í,Œ¡-ë‹ÍðÎP«â©U_sk¸ç€]ª=ßÓÍFñ5ÇÚ~á{ú©öSØ’‚1‘\jþ”GX{ÌGÔ~¸’!‹³\q÷çW_~É·b AŸð—ƒˆBîÈõ O\„Ã( ¦&N·Í)ªŠTò@<òÍEvÖ›l¼¹l¶[R3ί(D8‰Õþ¥&-öQ‚5úEKjO.G9V0enž„à!?!F€• «b}§jÖo ±Œ‚(×ÖUDG(N’hÊpP³ÜW@è{ jÁøé!ÄÛ? ÀtEXA7êì4Q~ïÁkOšŒÔêöaî‚yÝ!Ž]¿ZÑ’áû<Œ@¦ "\§§‚7æSM½y°Nbðˆ›Z/y;u¬Ù U&f‰þâu³'÷¤}vX¬/dkj¹³edzÛ-Ñꦖúº&%麢åûÓÔúÕѺ$Ž›OÒyu ]¼µ]Y<òá੾RWQ£]Ñeü©T¨ fu,c]Ÿ6òvaßi˜(kÔieŠa ßx»c4¹ëA~Mñ–Rì4®~tÛˆ÷¸Ó@±vRUS“ÃÙüfw§Ëã¤m„Ž8öÆ$bT×ÿ>ŠŽsgbp”Znÿ™ºwŠÁgYsã…QjÒ‘wè±¼ùmyì¿xáèðâÍùþàpæ@õö(_÷Þò•ÎcS´a¤üW‚ÉM=W™RKNiŽ0¶Ù•ˆÖeK†÷ÄcW0è½|oøÏ°p¾˜ýx4üü Û.cendstream endobj 292 0 obj 2040 endobj 295 0 obj <> stream xœ­ZMÜ6rœ_1·qÂoŠöb ›d½ ,ö´{ÔÓw·:’:“ɯß"Y,R-Íxì]ø0°šâGÕ«z¯ŠúýšUüšùøw}¸úýê÷kž¥?ëÃõw««oÞK~í*g„Q׫ͯ{ͯ¹”U}mjÿ¿^®^}ÿã·¿®Þ¾ÿzõÛ•²U­aìêîêוÄm嬨ñáêÇ·¿„‘RT†ë4ößþ‘«´Îá£_~oëJH!Ó³_ß¾ÿ6¼Í+-­M“¾ûågÿô›÷ÂÎv ;VÆV²åž ‹/hqÍU%•þ…[ gÓ0òVÀ®M:† KºJ‰:ínåÕ•æÖ¤3ôͺ]ÚÅ-Å)c`R]Iƾý#ŽWLÀjñý¶·»ã}XÌT’+ƒ¿ŒÛf ãëJ™L¹¢Ñj©EÚð;œ÷ÍØÞgðÊi%/†;‡~Ïa,œW›:½ç0®<‡÷X™ Ðì÷‹&—•uLá nƒÇ4‚`1n[t¬2Ч‡»CÐ&Ò2½¾Â¡uU nÊ=‡¡Âc YïC81,Îyzý¼‰NâªÖéÙ¦íÔª†,¿dÉîØ"z­Ôiííù><½•BU |y g«ëðÛzׯÁöaz@‘RZ~éÖ੸´ ¬É‚»ãØâÈÚîÛ~ˆ&”àŽ:YöÝqÓõ‡fÜuGÿ£f•eìÙƒ÷7 8bvåÃn܆§Ì/š7þ@GKiü£¸%wެψÚ#>(ДÇ;4¼r:G@ «K«/·o¹¦3Œ]÷+8ÎÇh·01«”dõUåêŒÆâL)ÄX¥³ƒg ä2˜ýÜÍWnƱ=œÆ” ™5GUpú´Ð¡¹kÑQRÔdªn~Êfºõ®‰°‘µ7Î;ØÅ¦–Žÿÿ È_`@H%5ða»Û§Øã•æHnÍ EÚ&Â.̤Xq¢Pc¦Ã1û*]1Ëë)ÆpCÂè¯ï¾¡Æ+Î(rVÛóð:%1AܶÛÄõ8·xÝ™¸‘Òݾ‹1âCŒ’f~ _'/L>9pÛ4–Ù´ó‡Ù«Ÿ aÈ$¬.ö|ƒéXfÿG€GÎÉ4rhÓkAÜ=Œq%@ŠU”µ6Ñ¥à!f]™N÷»li_í̆¦i×ñDTIšóq‘Â'ˆä†uw†¼Ùch¹ŒÊ¿ÅBr´VÕk4St‚î´îbÄü°š ²Ö¸Þ"Úk§Ü‹æå†æíÛ¹ëîwnÀÄ€šils‡á’@òâ#|ÎRý.& Í$Ÿ­Eúky-°J…ë€Irþ±C/BÆ ðn‰çLòöѵ>[М} F—ø,, "­H­ £Œ/C1¾›1¡Tâ2)”Lxê†qT;ÂÑ©ïÖí0 Ä ¢D渤êÊÔ»nû±‰©R¯v&müeÀÆd8n›Ó©=’‚ƒ¤CS3’ä!1#ˆF$°£å¥õ@%˧¹ƒ_h f’eß7ѱµUá!²ŽÎºoè0 çêlªa÷!†ô’âs‰ŽÎCÊN1>÷{ÊgÊ?Ég‹Sïº$…ºÔœ>õ\RL*]äl‰# ô¬»p=Éi½¦îå m¬*sØC+³’×ß ˆ)£õœd¦ƒu×Õàìª'4¿9žÒz³þ¦ÊꮵªÄÂ*+Â/V[ÒlwÝq!µq “ î œ1LÀ ¤ –Â4â¦.(“Ük€Õɽ‡Ó¾=´G,X´*Äÿc;¢ÏLf¹qÛï·áP³ÚMŸÖ¯o¡v¢ÊÍ@N*·ïzÄžÍÛm>ž:PÕCœ÷¢|Ó¸$kQ¾}×O^T¢--(MúP3{Ô¹RÐFü‚¨y6SßfõL¸FíæCFRÔÝwý®'J КPÒÎIñÏ/­Ï„~ U²Ï“À›I¼N‚‚éK޶”¦ž iô$„tiq¡CÞ‹ƒcÁü'îöÍ’`OàòŸ®^ýðõ ´ˆH¦è’ç¹€ú,ó ßC$w~˜z_AUîT ¥&B_ÐN-ˆï8aM»ã0öç5e7u#3ž€iN½WíûGŒŽºvdPÖiÀ}š¥×n26ÿó.ÏÂBŽX0qb=Q°ÞÞÇx„cC~¶~…„ÆÉ¯§=u€”¸7èJÆ‹*CºÎ¥?œò¾oa= šÜì9´‡®DF±¹Òô}󈺄KAÛƒK6/nŠ÷Ýš`oµ›/h"x›–ÄI°ð|Ñ¢@¼„¦‚ö®v=R/üjHÆZls@hßïŽ5°KQKþj %0BÍR—gh"³•QêXJÚw˜¤t­.(Ê=«ø& œØ-™ÃCÄmÀZ /QqAðòv&£*ße¨çŽ‚R89Ÿ‘ÆÿJس9éËzÑ›R,xÓk± ozM”«nÈZ ø1fMY6/¨-8ñ#èã§ýð~œ®ê ŠLÍ)!múY[c—Î/^xþ(cê¢gr 6V¤¨¥L?Éš@î% îQ0G&XæÀ´ñ‚ù§i‚»ÜùdšjääRDŸƒya¬R|þ܉xAíç”@­W™«ÖB«:38çТŸ%§ÖͶɇ2Ó_mßáæ §:®›Gåb´…*°Â#sÎæýR§øekƒ¨5µ6ð¾C@Z´;ưõŽ¢%›M”ZgI°i×#5MMÍcªH`o¦¾Èý!™ø;,“iÂWÎÇ)™ñ¢SÓ±ÇT:@“Òw)Þ·Q¾,jo5P<7‘G)˜›~ Ç€t$OB:ˆe"¸Ò*Jg›îܣЇº4 ¾‹Í °xÑXÙÀú˜}&[xÎ4ãã©~ §€"¸ú œs©’€ý¥¡RÅ]çÞ뀚[úÖ%1QnÒR4£ÊqEß÷iÕø1âd¾+Á6Æ´ ŠÛtiJ‘JDÔ@üÙ,\þH²3÷±šý¹}À4 ] ®(ùK_=&Œsjí¼|âDµËÝ»8%T€’âÑ«Á¯Öĺþìµ–ŠÓ§Îù¿o •6_*ü„Í9ß¡%g·sLLô—(ǽD}ß"!š.z)“ù6HÎr…&ý È2FÌܧäÉzý‚B˜ªug Ÿ-‘èš»ìý§À? r›û9Hy放 ̉ìÎr&ÁXƒœ#*´…Í÷ìI …S›–o¶Âè)çè.¬KÕ’*¾¢O…> stream xœ­XÛnÛFí³¾‚oI€x½÷Kß’ÔEôÐ8uüBStÄF"m’Ž“¿Ïìe–´¤ªZˆ‘%¹;sæœ3³¾/(aõ?éwµ[Ü/î ÖðWµ+Þ®çW‚Ž8͵,V· ?Ó¦`‚ØB[ ÿ/V»ÅËwïß|\]\½Zý½†Xï®Ö‹—L¿Ä q†Û´¸zqÞœh¦ðÝ¿ü’#ÊqçÒÒåïákE¸à×>^\½ _3¢„1¸éòòƒ_=¿âæ jˆXjC„åó˜5óœ ÈEÁ“3Qê°Ù»Õ¶ö¹&b ü¦¯Ë¯a"²°\¾ëšvº!J[Œ´ìë¾’¥Åfw·­wu;ÖkÿP)ÂnôØŒ›° %V Ä¥ôK†h#„NKC×§ïáD)ó‰ëîáfûãlÛ´!L©‰Æ'œKÜ{Û c¬#Æ* rµ‰‘[b(Óùݸ+ä#u^Í»Jýd×-#T´Œ‡U׎eÓ¬„"VäÇÇX}+¸Æ’v1qãÃ×ªj(%žØÝ†(à4ž¹×´·]¿+Ǧk¡äõõË›zhÖ5†"”AœÆ”¼$Îæ²ùä‡ëW¿†£¡LòS¯WáD"@'H¤ ÍÉÅcÞNáñ›¦Ú¤ ©µ‡Qñø!átž Ù }M4h Ñ;IPŒª«ª‡>QZÒ¼CÙ®“nPz/_ÿ)Ór»M¯‚ä0®²ŠaqЊùö¡­°çW¤¦  \ R ¦–‚Ni —“3|£)eÅÙüÍqSŽ/0^É!ò‡9¥0ÝcÜÔ‰Á†Ê‰;ñ[)¨Áø¿Åšz:"LÝ×T=Éù)A0P !!qéåȈµ{Jg“Òç´²)¶Ý—¦JeUBº'ls !Å1äúÿßÇ|oû#œÖeñÁIêPVüä3ÀmØBÜb¯Þ²·…œ´'GÍ1Åí´$a Þˆé.o#ÎI3Ë ¯_$º“ñJÐ0<ðó—!pK)@ߨ6© ðÀ§0S͈z‰ɹãq³œ_š(øFfæºk#Ýa¼0,íS¬L#€ùG@×FÌ»CÕĦ.שaIã0"èŠ)LÍ•{FeÑêie†´+ãûª0LñC›Å>6»:Agdž|úúþ!Sf.&õ>9gøå*Ö‡ÂC1 ¦Œ\ brÐÈýfèZ’†.MÕSòÀ pêò„0¡1±luËOèí&O)é8¦„0ä>në¦]‘6f¢Í“å‡mÕó‘¶*é±¶ й ºrºª)Ó¤(–0Uîš Ôœq78:€ã:èˆé? A &˜“Í”S“Mý•M zPfŽ;!ÉžcZPrPÚ±ážÊM±M;ècž9›Ÿ3’3ÿÁþðì³`yu¨ûoɤÔd“qc¯ËEOK\Ïy—Z K­%;Y_ßÓ¡Sú8_”ôä†;ÈQóçA&¸¶õר·ËÅùòbìêÅùç‚-ÎßûÞ~|¿–¿¿,.–q¯£w]8[Á> stream xœVMoÛ8öè_áÛ&@ÍòS$Ñ“$©4ÉÚ Š½(6]ka[Ž$o¿#’CűÛ]äà`HŽfÞ¼y3/CJØvñw¾¼ ^†ÌÛðg¾^äƒÏSf†\m4æËAxÀ†Lb†J+¢ø0ß Î.ïž&w7çùßð†ë¡%6ã™ìÞ(I üs;8ËWîüÏÓĦÀO¾œ-ªù~ã¶m÷R2¢)Óñ¤l:›%Œ)žEÛ®¨ýÍCÕÒÛ(„iÐös×”ÒÙGV•ÁÁ¤£î„k©¾'µâ2Ú–µsÞ·!B2Œ¢©–í«wÀ ×Ñ\ÔîK N õ­ÚG£Qý΋­7f$SÚFcíeÓÖåswӔ̾ QHp,Æë‘€À¬åˆY±]|®jš!¼bS-Êå›÷ËH&ÿývá‚‹®º¯¶«ƒ"ŒöFWo¹|¼ Ò¦zxœ>ÜÏ®Hd¥²i–& Ocø$ñ{G›Cé;©â\ýBÅu–à_Fà@/¥Âà6U§ Œbcõû©²pmQ®^ùä ÖŽ"éYÎÝlàZœ\/¢Š(f‘«"t+ç½–beà9H‡Àî¯ÝÜ•ØÔZóß<^¤É™(]‡R‹4ÒæÕ..B+4¾…{¦×Õ´ úqÃSžÕš¬ òdí`µÒ'kS#ë'ðºÚþŒk5‚ßµDE›¤ú^ÿ„ªÂ‚Ä´y_ÕÆõkHªXŸSÖO×?Öx“‹t3Òvr†1N–¸nJuÛVí§¸¼ÁHC_ë2ìcÀ9K~¯­ìã qXZ†Ý,ÐÚô->` Äe£JÊ~¡ÉѦ˜«tÇëÂú˜c‹Áz.{™ZéÄóÙ‘Éã !è§Xgc0ß‹ªic´Ý®«ݿӠ´è˜rè‘ô­ö<È &ó8“(u’ Ø8lü1ÈŒw'Wùð¯A÷÷/5|endstream endobj 304 0 obj 1289 endobj 307 0 obj <> stream xœVKoÛF¾ëWðV°7;ûÞ£›mÇie¥A4ÅØl%Ñ&©Æù÷rwVKÃ`ÐAÀ,gæ›×7óTpñ¿Ú¯žVOL2ú«öÅ›ÕÛ5¸B(f…bóu )™+ &ŠÍ~uöá°­Ÿßlþ@a ϼF š3.½/6׫³ò°ço~X¡= V¢¡Ívu¦ô¨wA “¸†²z8ß„cÖÄï}ø<Ê. 3ÓÓ]W—˸µ¤1‰”C2à“‰ß³è˜sÁÈø€{?>ö“ÌÚ„;àÇ´q*â˜Þ•eÕ m´”eÊpMÑÚI„™ßjW—ÝäÆ3®­ˆ ç‡k½ñ Dçgp¶M_ö}½¿ÛÕ“žø‚ÉmVÉÀ [FbéÀ¤ŠlûGJ®Öj1»‚²«¼ h0GãK]=´Á"„8S aÿkW?ëC5¾KżsT€ï!3Jèy²´æÚ,Á““7-ÙæÞ~ºùЦ\Bg"º(ÌÂùù½RÖñàW1B¾(tRê]L¢`\i÷Ï(%‚sVç(?ˆwSÕ,“N’‰««_Ö1±˜$2òécðÆQÈ6 ,˜ÔÂåMØTÛóhär‰ºiÐÆÇøšC?tÇjhÚCh L&-²BÂ,¦ë¦ª}hQ©™“ æÙ'a†v×ôC‚«4ü;¸Î¸w×–ÛÿYŽ F{O( =ç‡(#‡×í}S«4‡Ä‚Q˜%f_V]r‰Óm¬ fE#? 3@ûv{ŒÓŽ#c±C—âÒÔ¨ÆùГè׬’º'&" 3¨7Ÿ¦4| Ñù2J0(­’þåz}y³ù}üT{›O¯ÆoOÓko sf1Úmˆp¾M^04¦BhŸ<´Ã+U £ÚcC¹Báܨà¯íDøÜ1)¹˜—„³môصUÝ÷íDêH…Þ™ÿJêqZ²â|Ç<›[y±Øù1züP"YdäÕÕã †oyê{©:n.Tñ‰Ï´ fpßyy uÝ£FÚu8×V¦ž6!cÈÚVƒÈ‹¹T™Ùâ펇W2üjHކEàºÈór{õ´Œ|ŒËD©—‹7 _Ç.0¸t½˜Ïn”e19‘¾qÏ»Î_p)’¿Û¡Ùwñ PœIo ¡ ^I˜æ˜~ rqœƒ[å˜ÑZϱ·ßhõÊt‘”Y0ž2‹­jÍ„â§vû­AuŠÉûÄ÷qÓ0Åô}×Äâžq§=wulß¡+«ˆÅsOðDf~}¾½ kS3Ï9ñÎ&Ж‘–Ó8'UgÒȨÀÃÆ3ÅõìØù+Œ9@‚³…«1 öLHçg-‡–áTúß!:{‡v7”÷u> /Contents 6 0 R >> endobj 19 0 obj <> /Contents 20 0 R >> endobj 32 0 obj <> /Contents 33 0 R >> endobj 36 0 obj <> /Contents 37 0 R >> endobj 40 0 obj <> /Contents 41 0 R >> endobj 47 0 obj <> /Contents 48 0 R >> endobj 60 0 obj <> /Contents 61 0 R >> endobj 64 0 obj <> /Contents 65 0 R >> endobj 80 0 obj <> /Contents 81 0 R >> endobj 84 0 obj <> /Contents 85 0 R >> endobj 88 0 obj <> /Contents 89 0 R >> endobj 92 0 obj <> /Contents 93 0 R >> endobj 99 0 obj <> /Contents 100 0 R >> endobj 103 0 obj <> /Contents 104 0 R >> endobj 107 0 obj <> /Contents 108 0 R >> endobj 111 0 obj <> /Contents 112 0 R >> endobj 115 0 obj <> /Contents 116 0 R >> endobj 119 0 obj <> /Contents 120 0 R >> endobj 123 0 obj <> /Contents 124 0 R >> endobj 127 0 obj <> /Contents 128 0 R >> endobj 131 0 obj <> /Contents 132 0 R >> endobj 135 0 obj <> /Contents 136 0 R >> endobj 139 0 obj <> /Contents 140 0 R >> endobj 143 0 obj <> /Contents 144 0 R >> endobj 147 0 obj <> /Contents 148 0 R >> endobj 154 0 obj <> /Contents 155 0 R >> endobj 158 0 obj <> /Contents 159 0 R >> endobj 162 0 obj <> /Contents 163 0 R >> endobj 166 0 obj <> /Contents 167 0 R >> endobj 170 0 obj <> /Contents 171 0 R >> endobj 174 0 obj <> /Contents 175 0 R >> endobj 178 0 obj <> /Contents 179 0 R >> endobj 182 0 obj <> /Contents 183 0 R >> endobj 186 0 obj <> /Contents 187 0 R >> endobj 190 0 obj <> /Contents 191 0 R >> endobj 194 0 obj <> /Contents 195 0 R >> endobj 198 0 obj <> /Contents 199 0 R >> endobj 202 0 obj <> /Contents 203 0 R >> endobj 206 0 obj <> /Contents 207 0 R >> endobj 210 0 obj <> /Contents 211 0 R >> endobj 214 0 obj <> /Contents 215 0 R >> endobj 218 0 obj <> /Contents 219 0 R >> endobj 222 0 obj <> /Contents 223 0 R >> endobj 226 0 obj <> /Contents 227 0 R >> endobj 230 0 obj <> /Contents 231 0 R >> endobj 234 0 obj <> /Contents 235 0 R >> endobj 238 0 obj <> /Contents 239 0 R >> endobj 242 0 obj <> /Contents 243 0 R >> endobj 246 0 obj <> /Contents 247 0 R >> endobj 250 0 obj <> /Contents 251 0 R >> endobj 254 0 obj <> /Contents 255 0 R >> endobj 258 0 obj <> /Contents 259 0 R >> endobj 262 0 obj <> /Contents 263 0 R >> endobj 266 0 obj <> /Contents 267 0 R >> endobj 270 0 obj <> /Contents 271 0 R >> endobj 274 0 obj <> /Contents 275 0 R >> endobj 278 0 obj <> /Contents 279 0 R >> endobj 282 0 obj <> /Contents 283 0 R >> endobj 286 0 obj <> /Contents 287 0 R >> endobj 290 0 obj <> /Contents 291 0 R >> endobj 294 0 obj <> /Contents 295 0 R >> endobj 298 0 obj <> /Contents 299 0 R >> endobj 302 0 obj <> /Contents 303 0 R >> endobj 306 0 obj <> /Contents 307 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R 19 0 R 32 0 R 36 0 R 40 0 R 47 0 R 60 0 R 64 0 R 80 0 R 84 0 R 88 0 R 92 0 R 99 0 R 103 0 R 107 0 R 111 0 R 115 0 R 119 0 R 123 0 R 127 0 R 131 0 R 135 0 R 139 0 R 143 0 R 147 0 R 154 0 R 158 0 R 162 0 R 166 0 R 170 0 R 174 0 R 178 0 R 182 0 R 186 0 R 190 0 R 194 0 R 198 0 R 202 0 R 206 0 R 210 0 R 214 0 R 218 0 R 222 0 R 226 0 R 230 0 R 234 0 R 238 0 R 242 0 R 246 0 R 250 0 R 254 0 R 258 0 R 262 0 R 266 0 R 270 0 R 274 0 R 278 0 R 282 0 R 286 0 R 290 0 R 294 0 R 298 0 R 302 0 R 306 0 R ] /Count 64 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <> endobj 28 0 obj <> endobj 35 0 obj <> endobj 39 0 obj <> endobj 43 0 obj <> endobj 59 0 obj <> endobj 63 0 obj <> endobj 79 0 obj <> endobj 83 0 obj <> endobj 87 0 obj <> endobj 91 0 obj <> endobj 98 0 obj <> endobj 102 0 obj <> endobj 106 0 obj <> endobj 110 0 obj <> endobj 114 0 obj <> endobj 118 0 obj <> endobj 122 0 obj <> endobj 126 0 obj <> endobj 130 0 obj <> endobj 134 0 obj <> endobj 138 0 obj <> endobj 142 0 obj <> endobj 146 0 obj <> endobj 153 0 obj <> endobj 157 0 obj <> endobj 161 0 obj <> endobj 165 0 obj <> endobj 169 0 obj <> endobj 173 0 obj <> endobj 177 0 obj <> endobj 181 0 obj <> endobj 185 0 obj <> endobj 189 0 obj <> endobj 193 0 obj <> endobj 197 0 obj <> endobj 201 0 obj <> endobj 205 0 obj <> endobj 209 0 obj <> endobj 213 0 obj <> endobj 217 0 obj <> endobj 221 0 obj <> endobj 225 0 obj <> endobj 229 0 obj <> endobj 233 0 obj <> endobj 237 0 obj <> endobj 241 0 obj <> endobj 245 0 obj <> endobj 249 0 obj <> endobj 253 0 obj <> endobj 257 0 obj <> endobj 261 0 obj <> endobj 265 0 obj <> endobj 269 0 obj <> endobj 273 0 obj <> endobj 277 0 obj <> endobj 281 0 obj <> endobj 285 0 obj <> endobj 289 0 obj <> endobj 293 0 obj <> endobj 297 0 obj <> endobj 301 0 obj <> endobj 305 0 obj <> endobj 309 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xœeR_L[u¾¥À½AÄ i¤s´7&3Û˜ Ópsc),jØÒBuZÖ®½]ooé_ ¥¶ƒ‚ôײÒ¨…‚í ¥Ð²3ƒ°…Í?!Æ…i²abœ™O>ý®Ü™Øš¨&çáäœóï|ç’Ÿ‡°X¬²÷ë¥"ɹJ1A*¯ˆ(R®Ë…qúE}(®`3§˜kû“û >Ýß(…[ÏÃ/žƒ+6‹•¾½+ ô6¡R›ð#QÛÑÊÊãÿEªkkkñNÛ?¼^i$T:üå¬cQj)=©Ô™Nâ‚lµVK\ÀUZ›^mÄå …R‘ƒµÊµÊKø9BKèõ”?"8ŠŸ¨ªª>‰7™I¥:Žº‹„Ž0Ùp¹N7“J•'å e[O&ƒ £ŠÐý l"ÈN³ÿ[!ÞDÕâ¸H©2kå†ÿg)ЫŒ‰ BämDŒ¼‹4!…Ù}!ùH/«ƒõ8ïͼ'ûöúc†œ‚¢Eºäkç4ÿÄÑœ7B»pµóŸªQÐæt¾çÆzà`­ó:ÆÁ] V£ÍU×*À`Ñc˜Ã ?k‘$2þ.êöI,j‡¸‡ ÕqR_.­}ë ƒ1ìêí¢¥/G«Û„¥3°fj–ýÉR°£{vÉÊ'­¡Ë9˧Q+°Xæ`¹~LïïØ«gU å×~·ÍÖãÔèV`–‰>·be:ëÛôš‹[ÈžÜ0·ºÁ»¾0µ®ƒíöÕ³# g´¼ÕgI0“Î$‚!OÀ3¦‡ÃžQðX‰,$ÒÉH¬ƒùÁxß"Æ <=ÈIüè¾°_Ò•ðŒ‚)x]83¯®ó³CúᯜÛÉÌÚÂ\9É‹ª':€kÑ©;šå_ý–UÈuÅè·b,° kwØð[ø g*p_ðx†× \>§ß4_ÉJ;%’ Z/ìçoi2Ö)#Ðre—()¡ Ǻy–ÙËqÇ&ÖËT… cW|Ùã|2w'݉¡(Àvïmí¬ÓÍK|¹GMÚgA‚»²\ÛL'⼸"ôÝßY?iŠëø%Lg[Vlä>¦1gìiú%Nx$èØ\¨÷<ŸE¤ÏÞâÉö3DÐVŸ},c0ƒ_p,˜ß˜ÊìfLÝÀgH´8¢µ)‚мö)°A?šº‘Ž®l3ª¯á3*ˆúû…Ù"*‚vùHŸ# –¹°…EŠ;§…Ò.¡„gÛ$ T_M#vðI» §ØÎ-±ÎЭ3P> endobj 16 0 obj <>stream xœXkTSgºÞØ{× *iF¨6¡NU­ÚªU[©¼‹Š—Š"ׄ;H€„@¸}ÜB¸&H ¢Üä&(jñ~Fi­¶j;v¦ÖÖÚ±«Öžy7ý8goc™sæ¬uÖ:‹?¬ì—oç{Þç}žçE@¹O¢×–m›÷nÚ°h_\’LõJ€"1šÿt.7[À͙Ľè†×âoùÃ÷ÇœYó¼8ï™Ð;43(7@UÒ¨HÉTÆÅĦùú½³'dá¢E‹ÿñÉ«kÖ¬ñÌ|öÄwƒL“ì;Ÿü’!KT¤$É’ÓÞô $Õ‰‰qQ¾1‰™)±*߈èhY4ÿgû#e ¾›âãRR¾~ }_[¶ìÕqI‘é*ß=Фˆdߊ5¾A¾ü·þ×)ʰ<èíÌ䨊èƒ;Sd»6ȃ7*c6©b÷lN‹Û»%}ßÖŒ„wÔ‰š¤ÈI¯,ycÙ«¯­tQžõ 5—:Dí¢6PK¨ßRÁÔFê j)õ2µ›ÚD-£æQ›©W©ùÔ^j µ€ÚGm¥–S~Ô;Ô6jµÚO­¤~G…PAÔëÔj@¤vRÔj*‰=šMͤ¼(!åK­ - ÜÉÃ~A€ w’û¤ÔIcnëÝúÜýÜõîO<â=Fé¹´™&…ù‘ znòsÚçÆ''OþÏ)yS.M6Õ9mö4Í´ËÓþÃó ç¦o™þþ jFÕÌÅ3?÷Zí5"Ü#” ¡çEÏz~D´ò­çØbä£]‚ûðºÛØtP‹’éxublB¤|oæ[ˆÝ©©”p‰ º×PÿeëÂ?*™ f£츆At†#«äî1žcrä‚õ}Ü&»`l£KTHG£ìæƒ0«8‡·‚ÆÊñÓ²%zía£Â\LpEZ-jEõWóEkŸ7¤Ó]þu1(eèrc‹ ®$§˜UÂ'ÌxDßBá_q¡‡'W„#à·\¡S€`Š—ÆEˆð"=X\—TÈPl4*7ã}Þ°Cý.BÈâƒêª]e¶Ro'.W1Ž"s‘ÙXŽN/lŒ€©ø¬wæþ¬ƒ© iÈǘg©.Ee¥å’ÒÊÒJTÁWÙãä)©2iü•®ãuÍÍâf‡½¿û[XȽäÝxª¦¦½œõä. 'çuSp$ ‰Äò_h¯ŠʯÎE,fPDžñˆ‘UÉÉÈ+õVÔÂAU55Õ-g±Ý){%¸€Ar]v\!)Õ;™èòÜ:tŠ… æþþKkvIÁr±'œs“ói'w ¼`†· "yDjN$bWìûæüÔqcÄfÍ3˜%•FrýˆÒCGÓz{ªÕÙw}ËÙåx΂—ðËXüµÌøärûÝ«Ï_Ÿöÿá)® –º­åþ]4nfÐÞýú|‚ÿ.Æ¿&·}Èr;ô‘Õz§’ ’Á¡ã‰8”KôÀf%}ÇdÓ¡v\Á ]:½ù;‹YcÖ4¡»,Ï@åøCc´çØRäRvÀè h=áõVÀ2XƒÅ°~–pØ6¶Z¤dn6ýYZ}9ˆfÁ=üÁýxœÖ ĶKbOÄY7ZYá9`»>~á§%Wð›âø¾è-Ìúéü;xÒï"¾–Õ8$áJÝOZëûĵ·;Â_™¯ÀÓ‹$„E9íœ?ãx¸A—$ÂB¿¹xþí_^†Y zü„´ÔwÑ,’”&Š®6íëñuÈî`õ»06¹N޹s™›r6ólôƒU<¾Ñ‰ÎÔ»*¯W]·x;i¹®žt‘û'¨˜›ÕùHÊâíLø™$›±xÒ_<ÏùØïç ¶óÃ’¢!Sn–^§NË0¤#v¿òß@¢c×®v¶«d ’‰óh€×]3œ¢¤o4æ¡d¤É‰UFb7¼ÃOmIyA5B>9®ÂZT˶X-bW©‡ ?P2]Å­{lÇ_xã 0Öð-û´Ì’[CZA ì…Q«£©¶«Òçé[ G qCnÅ¿6FIÛQ£öìv<™A{´9¼ €ÚżUÙije>ÃíðhãîÓèJ}ý{5„6 Jæn~SÚÀ⫼`hÎŽ=×I°Ûè66‹‚w$¨i’õñ&ÚŠ‚º“G’/ä|„~`!j&ÁÔáÁLÙ x0Úß½Žu.…Ή54Ȉ´é5ÁÎõ‡ ¨‡ñB¼‡ãHX€çCÔ‡×{.I:ZZì§Ïó‹#šaÝ%nòÁeÒá×Á¶†ÚñbEæç‘Ilmfv–gÙÑM^bΆ¶ê† î|BÚ-Yÿì“¶;QR&¡ªj[]½½ÅQׂØç.< ÏPï‰Ovôj%üà~»z`E»€›3EQ‡3ÃQ4J>šÑÙ‘×Yx‹…JÚôgípBo|ŸÔ¾Ücæ*?<Ïÿ|Ìøì\Ç£÷$Ø ëDå0õhÿ9Ô†š²-‰•š2EÙVK°lÒtŽyO` #xr/ŽmaÂGã(ň"? È‚p¼a©¤$^“Fñ4R±O fv @â `á9·X2°ÝÜ“.¥ËëO¬˜%lüþ¡…)Õ»‹ùñL„[4$ÂËDÿ¢ ûÂLœ-ÁWia£’55i ãáu‡H˜è°×õ}ônü¦.ñ±ý hZ¬^™p$Nz8mbèêOK<á>‘Ó‡àp»à H®€§Û‡ÜJ¾Ï pƒ^Z@úÑîd6–éëÐ{,Üürhx2—¬-ÝGkóõ…Eù¦\±Q[h@¹lb«ª«Çåê¹<°jKˆ*,Eœ›‰V²{ÂhOˆQµwÃånr«?“[½Á+Ðg`…Ë"˜]ÚU>tô³ö¡ß£OX`¿O¤Eø¾G ?S2·M Ùh#;N”p‡Nj*B¹ÅÞ¥¾t1kkŒÕèËå¸ ¿s4Öuþ©3 SAzYjšX¥ŽÏß€Ø ùƒ+]àÒ8Ñðú,áWÜ×džÆïÒÂ÷þ›þ…äÞ&SÉ}ÎôC´‡‚NÜ¢VÄ$Kåû²×!v;ïÊPÀ€ D×a–m…‡©´ÓÑ1˜*eAËïôÖWˆ…_Á*t.Î…}X¹y0r˜ãôº³g { ™§þnb ¦ZŠšð«È\COý&'³³B_®³°›iì´Tçg׊…·Rš¬ÆÖÙ=­m}§ã:CÊR¶„ò’Š#;À¦ÞoƒÄ Æv/ô`-¼Þ0[þé,áŠËàæŠ.àß0ÂÇ”-LaŽš§¬Úº8®>Þ¡´¨štÃêµ)Q2‚"fަ±ÂŸ AÆxeä »ïů{ãÁÈ÷Ÿì83O¼~S]Õv¢­¥_rºd¹Ì]vrüéVÇÀ…P¿þ„¢}k|¿Hø•ábkV¼t_ªßr©c¨¹ª¶Í!!ïþŠ3І›dK–hbBgž|ômSϰä)%þµ3ä;3ú¬3ZÞâþÑw1K+2ëÐ%r˜‹{ä ¤.x¨¤31»=íCO}Í»ß\ËŠm'ÍhQÖ¦4±NÒ Ÿœ.nu§ ì?vƒGð©æ¥3&­©@L(·,»2¾6­‚˜À²­;Vmþ5\òAR›%°ÑI©G6JO™!Và5.º¶Ù\U*‘¥¸¦ð˜þ‚¡ ±o\ÿúÃèA¿S’ÍÇ.ÔÅv¶¹z[2ZÄÍêÚLkØß“ l·ÿ#¼Dó¾OEŸ1Vå¡Hv¼êÿ^bÊuV>¼”N„—ýrõî±çX(Áx Îÿ 0l‡u³„ß½ãe"9·K¡×ûZ“«¾Íuü˜­fñ»·‹¾» Z81}¹¹þ¼ß<ü{:LjÂï{@=¾ûN„ÌÖr3+ü®Æl«tÍþ¦'|îvmtB†$5+.] ;!™Pê☧ª9ËÜÆ ¡_„+éûVz‡ËHNßÑ4/»œqÁTd7À ¦!^4$”9âþo/Š$^4¿ òŸ@àì•€$©Úº{–(žþCøeH0Âã• ã+௤w®Œ:²m›2‚?a¶ FݺÙâó±²V-ËÎÉ@> Cc¿.~ËxB;jæVÛïÁR¾‹¤ƒü8“«¤ƒ㜟'5¶ä9™ØJ}êe7r…ÇÆFéŒêêŒëçÃŒ¦“#Þ¸º]P 0ññZÃ)D”Ää§æåe‘«ÊÓ-¡¶³Œ\mÎê·°×ò‘ ˜²Gr3áA„3…øl:tä­Ý]çd┞œÎ¬Ûl2FÇi³ËRmCT[Ô’>«'L†ß_€×=é½í¼àÎýé.tÖçú©ÞNŸÒÈOŠ»bmÉöm¤IVBš‹ÃÐî|A(c"±‡+%³‚³t(+‡OˆðÈÅVg×£s,G¦ó¼ÝöQ¹.°g£ƒ,ŽÂ&ˆšxr›òµ’¹i:ª%Oøi>¤Õmä©ôµ‹ °d5S ‹á£Ý{Üoœ‚sÏfã±N4huV¼Wu½Šäº°2"Œƒ,Œc©Š9_X§Gá,>ÉÄÇgˆÔÚß•À78XÅ äYŒüPÉ,?ò§‘nÛù«â àöƒTJr0Ãs"ô¶Á°’ÏÛc.f…ÙPƒ>f9'Ó G¤x {œ.©Çøwt–z§aÊȘQAÆø7O£Ù#þ Ác:˜™3‘Ûr1ë*5 hd”‘fÛÝrrõŸ”ÌGÍZb1|næÖ· ¸Ìÿ±CfçgâmÞk!,¿©ØŒÌ>ÈZSå*+C–RK)ûO{TYéð[$Ù£Îy·Ò°‚óm²XÚË}žŠËkØëœ%àq5ü+âÓèÚâš’ògQm>Ò!cn¦Á€ŸÇÏ{sx—Šé*jÈB² Õ‰ÖfÆ=ålhU ³@3ç_ð Ê*=ÊóAú“¢„T蜌”ëð~höþáçÖ£7ÈT‘dynLà|ËáÞÛ˜wC„®5ØFùš¢dþ`²«QB±ßÞMxʼ#×`޾dP¿¹ÅÚPWc«8[FJå×éˆè`òlaó¡ß‡ͼƒî¢Û-ƒ=§{[?Fø×(œ‚±þž³UtOamJCz1€n±?¼ù>žŠ'ùïZv<¡¯×ÕÚk/¨Ëjëë‰tÕ°N—íä…öÃkBrcãwˆUÒ¼4¤@ÄSÊ’XÛz‘4št¤‡ ßÓ3|FÖ'•xªí\„BìtçdðÒÙ9u*ø:¦N£¨ÿ&PŽ endstream endobj 311 0 obj 5148 endobj 12 0 obj <> endobj 11 0 obj <>stream xœeTiX“Wþ>Bò]-2-øUpIÒ©kÕŠˆÜ[m‹TE«AHIH € a  ʾƒA6Ù‘U\ªµÕºT´ ¢õFí¨SgîG/?&Øgf~ôß}ιï½ï9ç=/M™›Q4M³~n^Ÿîò]é-WJ5«½TJIxâ¡™Ä;Üš[hÆ-â‘M¤õ÷ŠßæW/œÍ·âøoáÛÁ½oR<šnsQ©ã"å!¡Qâå>^~+V®\õÿÈZgggqPÜ3bW©F.^j:ÄH*µRµQìbº­PȉCqêPX, žùJÒ0±›\!W«U1âå.+Äövvk7Š=¢•ÒHÕ*±<\&—Gʼn%áÁâϔ҉X) –Î`]•ò¨È8±ƒ<ü@¹2(Z#~]¤ØCå,v{IC¢’È?g(*ÙFå!u ŠöŽ‘|à¸Êiµó†Åvkí—;¬ [)KŠÚM­¡Ü¨%ÔÇ”åK­§ü¨¨y” 5‡²5¥çS (>õeEYS³(–šMÙšúM™›`½4Kçš Ìö™åÍæ…™Ï25?aþ?¯æ?°‚fÆ‚ñd˜I´ùÿ®µä ºξ†Ç¸ì1gs,yÛn%’“K±¶zú/,ÄóÖn]ã’Y®†ËEÆÒ²¢²œÎd$I±L§¡ìhyJUBaìBä13Ír±|²5VÐ eúSÐô.'Ä:¥¡Xœdd¶ä©ˆ[ÈpÓ§ù–ÜnÝ ÞŒ™vš[…Øý[Ã?/l ¿×™Ú’1‚ðˆ@M×Ù¬l?Xíûà@œT~ Hí Έo­ÇÌ“ï‡1Õ#$÷ð*¶ø^kÇŒ@­ªÔYN1¶ƒ{Ðk´zô’`zžuåsL³à’”¸5Å2Ö Ü!À^µŒ~}m¸ãx•÷¼/î¸Aèv²©XWÆ2÷S SàCô²…µVœ,.螸/Þóé^„2;ÈqýážI€%6‹L³€rnÁúê8öçáµø)Û3ÐTÙèì‰í"ò9;t‰žiH‹CËŸ¢´¸ð~æ•ä†ÝÍg…ø“ž-OŠÔUëùñLNV6äê-ÐЦÃØž–â©7áåŒgž®Ä„·Ä'uç9‹fú’éËΗ]Š‘ (3;M˜š’–’ª“zî?šœš– é`ÈÊÈÎ@_‘ ǦÀá3µç[„‰Å1‘GtÑ`+ÓÖ_á®ÌŒ¨†8¶’ÇnãD’P¥'$$«£IJ@Áa­="|Ÿ,M` eZ8ˆH.³ipï펮Šúzao/߉ÉÉ8[Õ^|®ÌÖ’Ã`ä~í¡±î%çOQì´’“L#ÂýFÆ9'¡n#®àƒp<®†˜¡ZAÞŸ¤‘-üZA-¦kŒØ‰pB5·­œæ"L "­ ÙP®ƒXÐeèŽê–“›%¸0­ÌP…¶p¬8¿-•“½Z¦3#_7°[S6_¦e§fëóâòôyù¥åx.¾cÓx=/¿)͈vˆ³©µ‚Gnð»?γã<¾a$$¥kE¥–õ‰°çÓµµÑíÆÝ€Vø¹{TÕášÚêªã9™¹™ù¢ŒÂÌÈGõÍÇO©÷z0äý]GôRd=}8AþÅ|÷¾€‘¾îêó#Â\¿c1ÝÐ Õ%mˆ¬ù™EzJL’&A•(TÕÚ+Êa`¸»Ïé{]~g>@Ã$ÎyÌ㼦¶±D óŒýh/¡¶ì& óÁ¡~]ï¾Î€ šQ@øÍ‰'&W˜ûÑ„ ˆI•º‹êñJlŽ)¼¶‘ ÒÅNœu!o³`íë|þŽ×œ+h¨*UWœ,l{Ým}5wëÍùL½ÇN »É²J}ïõc¥Á+äóéIþ5ú+ßgGWÑÏ»x?“wØo[úGà2:Ú媉’‡ÕĶçågeå ó¿ÈT—¦SÉ|d¢×MY6XÁ]¬¹á}wžõ ÜË1ì?¾jëëè'—Ë˽a§Ý'ÆðWk„„rŽVÀôÞý˜/´žÄcßüSdýÆägÈœÇ(n1{Û¯6ö Oüý?ÙºwèáÕã=C§…gÆXû¡ø õw_¹Þàæ¥ò÷’ Ó G ¦ÍšÀ¾Wè.\ĺãÌ+3ku½œ¹Élÿ†SŸñ†£Yl^zÑxýÌowG𛀠ì¼Ï",yÃ~)Y@,omÀÔÅžŠî¯„AÄ‘ðÄdUÂÃxŠ…ÃGS’STYb ­û¿Ço\ª¸\]'ª¬:QÜèaÿz²IdÚìdÌÃY˜Gã…\«ŒŒP„Ÿˆl‘mÖ¾VhÝ”U OqéÓ™}wb½ArDê¹GJ ³€Ð-dÖé=ç4Cpz+ÛÛ†.všlÏAXb‡ß!ó„†v¼Ÿð‰”HÄë×üãÐ~Ì›øÃ{é—<Ügzšì´ã'0%¹Å99_˯Ì)T]¨ Mïcà }T|Š6%Á É4ùhc9³)+¾÷lfÀp—«¹Cã‘ §Â‹ØÄ\™WbŠ?ؽo®¿LvÝ…{¶Ï7Œ½ëí}H& “kÃŽ¸V§Ûœúµ½ù ñK^Ž›¾ïh/"nÄ“ŸÄÍgL2¯A¯÷+#d]B—½®ØºcÅ£%Ýûë¢Ï‡•TØl¼¢jS¯ù6ù.<‡W¥?Õ6Œ6µßšiTã¥W¹ÍU4nãq Ï.á<äÛiOþ§¸•lÃ_2dçU–¤ p*~ÊŸï– ^'ÙÎÞlªë¸ù°í9àY€çÊž­{4qܯ9)Þæ÷úІmµ;‹·Â2x7ÑIí¡rW†¸x"ËÃUœoö®4Í~ðFS…Ńcs(ê?ÕÂÿ endstream endobj 312 0 obj 2417 endobj 26 0 obj <> endobj 25 0 obj <>stream xœ•yw|×¶õ¡™ !N‚3A2Dr¡‚zoÜ0.cãnËr·$«Ú’Ûq•›,Ûrï½c0Ó[ Ô ip“p_nÎ8Ç÷½ï $÷~ï%ï÷ûY²43眙½×^{­#1qÁãñÞܰiý®-^óÜäAqó]eRÿ(ÍbîÌÛì4;}û­D¿•ÿö… zú»·§°g_g™WáÐkŸÇk?{wƒ,Zo?gëÞ÷æÍ{ÿßG;::Ú(þ8c¿1(.,$Ê~þ)‹–Eů°ß€¯ŽŒ ;h©ˆ³÷ ä†yøGEØo‹ ‹Ž–%ÚÏÙðžý’E‹¯°ß• Š•½o¯°÷ ´ß- ñ·—úqc7JÃâcöK…Eýkà®0i@Bœýó§´ß%s´w²w Iˆôýó‚Ðy:­SDôܹ^) ôÚµ!:h÷Ƙ`çM±!.›ãB]·Ä‡¹mMwß–±g{R¤¿Ç¹4`o‘χó&,ÿm¾¯Ãü%Ž ÞñûháŠE+ÏZµdváêæ¬YúÞ²¹¼† æ3ob7±‘p$ï>„3±‰øˆXHÌ$\ˆÍÄ"â]•ØB,&fnÄVb 1›p'¶sˆ=Ävb)ñáAì –s‰½„ñ!1ð$vë‰åÄû„±‹Ø@8IÄJb*1™BâbE¬&Dxy>!#ìˆW‰‰ÄZbñ1xx‹˜BP„˜°%h"Œo/öCL"Þ$^&¼0`ðåÞÄÞ ^ÇÁ+¿‡ÿËĵ  JÉ×Ètò*€úœÞM·¿4ë¥C“¦N{Ù2Ùf²ù›W,6 mRln½ùê—¯m~­÷µÿzÝñuË”ÅSj¦|o«µyÃû^f-sñMå›·§úO½-$„2a‘h¶ÈM”%ºjl—7íi3§OK˜öx:1]5=gú©é÷Þšûx«ñ­'â&ñ¨dšÄM2,¹m¿ß¾êm»·w¿?cÒŒSÙ°Xå½ìÏÖ)_>›jÍ~ ×3Ê u¼Jè®pôVr½¦ SÂJ)p£¬ì~>mErê–Ѭ›èqgʶlR«Ö§Ñr ï$Àõ›±``…^ýìÛU¼1+³?W_z å°—…I$ ×î@³´É>™"9ô¶R>Iæ¦Òܲ|³d¾$€²^i´)¨E V™ê‘EËa!5®Å ¤`¤Q“À†Í@QÏØ#+c=4ME¶•§$§g3 ’¹¨Q°ÀX–n%"Pi1 æÐ ¦Ò+t…JH¢,anªEÚäUT" ŠwRJÕ1 r50‚”}¾Ü¤ÌS:>)).¼-vàê‘ÓpæI \À¾on+)®Ëáõ…µ;Å»ôn|À/gg0¹ÅÙ%€n*RyKP6\ujÏtZC-”gžªtѰƒ:r¨¦´Ð#u‘Û$(ˆN¥wQ …òÎ×–‚*¨ïýN¯óTîØ"¾Or¼a:÷d¼¢³þ&+hæ»|v\Äøl ‰sô¢ŸBêï§n|ÖeÖK  e•Šj j¨±ÖžÞtx¹·gRH€ÄËO¶¬¤Ñ›÷@þ¡¾òÖ.qcµ±å,ýŠÏAÉlŽyËÉÏÓÌZ°žŸK™j¹ƒÓZ©ÕyÊZð3ÍΦ`ÞøaAi36WA7胥Ýrë”'Ï`Ú³ 5Õ6¡GŶCN=H+ÕuàÁ:Æ!ƒƒ{ü’¼nTwwtµUGÀ¢/²YÚ]º½ü¸¹º¸®š¶ý°¾ÆÒÝo'.EëÄŽèkæ)NëRѶAgâ:Ù=‰ã#©Ûí­.j“Àþ‰¶V›Š,â!Rç}–¬òð›/Á-¬] ýNcyz/c²F)R+ÃR<Ä$¬aßXÐOTš$¨$‹>±XΊIdO b_¡0põMì’&x Ëóa.{€Ao.š‡ÄhÚw³à8åÉ? N]øzC¢‘1ÎÎCo!Áþ-kƒëú%²ãÉãÿpøÂ 17×qÖÏõ&=àçzÎ>.(§Y™ Ð!©%Ãö•–㣠ÕïPŠ’©ÂìPèî"}€-¢‚Ú¢Kâ;§` Í@oÜ^ 'œî©:Ü!ÙAAÞD`0hõ:ER¬> ÐîŸÂW¡`äÖ#û<$/p˯âÁa 7»29y<«"Ä}š6E…ÞA‰B4ÆêÊω ¬¨-'ƒ’lŒ”v9u$³LýzNEîB´žKõúEé"g­Ô’u)¸CC Ήç¿j¨9†!ùG­`H~0ÄgYÃÖRà\q·Õ\V\–ד‡çÕÊ©žŒ²tKJ•º(ì¤Ñcjœaå´FN‚²Ô¾}ôøÎ¿„ãtŠÝ…áh3¶P=Ä:TCÇ>€4ŒÀ —‰¤11Y›R€*WUà]îU¸8‡Èî›v-hXвì˜ë¹íßý ü8|þ3ZQ¹nã6©9·ª=î#‘äÓpÛwð%øî™ã‰ûÄm™u;Í‘ª´º¶±6çx?€ øEì[LQ¶ ºÃ¤ß'¥À^ÎÙH+aZ%µ6[S.Òp1Õ^§ÀP›ô-œß…¯múz®›_ì?É]ʘ³'1Tã®Á¹k™–Ó]÷FÖ ñ½×nØçÚÕ"æ˜í:ŒjƒT}:0>kDí®à@sÔE¡=ó< Ï“©—õͱmÒ.ßê½À ìS…í ˆÞ1îo.ƒÔ·ÏBb@ŒîÁ÷™’{ÝçÁyP'3/åNÝÅþgŽ%É®†$þsÌAnh:š‰|ç·-:é"uú:ð+|÷^p:´‡¾?F=t?'qº¾¼kFñÄa0¬èŠ8éÝ: —³fsÒÞ”Xel||hè~…ðû+C[÷‡ÿŒ ž5=8L÷ŽÔœxíŽW؇©|õŒ%!oªmÅOÇ€ ZÍšç=3v“¿´_8}ùl÷×à)x,½ç~jËuÄëBoáâ¨%m+äÔ}CQ æŸgíŒmdkIaÿ£ËÉaGÄ÷öô/ˆhRÀòöyF¹h—ú “ÈÉ<ÏNy^ É¸@ÇÙUŒo£´(Ïúú<4`Ê•%ßžj82$A˜Ùܪi8µº2ʽ4µ Ðì:j=ú‚qé}j‚<\ "AtqRUDsâepgüÄ­‡Z÷Šmà#Üg·Aÿ&Þ_ðá®1¿ irÔÚÚS]¦ª—Ç”ê+]k­¬íòkؽÓ#Ú7Fã—’µ‚vŒø]%Ázv×ÍÊ1WWnÓð*´Á¼5‚EM<Ê…òÁ3˜Ì…ò3è ‡˜†ÌЬpœ,¬;×Öu\êžèæƒCK›æÚö)ª m?Ú%µX6Ðã›(°æ‚>`™»bè£_®™»*†ûn]éùæ9]ú¢ép&&´á÷^‹ãÙâ^ÿ¶¤q‡Ý…¶‡V^ƒ¯€L³•[0YâS@¢Çc£Ì –wFžôi›̉z÷ /m{( xo¼û4àWÒæq8â'_OšÿÖ?Ü?t¸zó{£ýüÿ@ÜlLf0”(í …jÑ»ˆò9M'mÿþg}óoaÐ;èžSúÕyX9ݤa|—ú T¨J?ÂkŠô5쪸?æÃkð*“§ tdffŠ! +6‘èstù … y8ß+]=7¸µ|è# ïLªˆ‘"¿™gX¤¹F.N¬O©Õœ¡“Ñ"3i*ÎË)ÅA)ˬ56Ó+}÷ÒèÇGãÚwwIqIV®ª¢¾Ö¦á3-aKjÅ/Äõ´“œ¸Þ…ik1| ·Tôúh}È& ò¦À½ÆÅøB]ï)6‚ë4ô¡~ñ?ù‘³Ün_1,•f£ï5®=í,¹ºùIœøzg_' ý(p¶Ô<šOÛÀV,÷&·ñÎàœbrŸ…¹½8+×(6¤S ú ÷>Éé:ƒÑÒ@Fvfn&}$—·8;ÒSw¼]¬)IŒUê€(XÕxQ{¦ð”8ÓŸñîã)7pRt¡»@…UbiŽ9»ˆêžSšŠôºÍ\WÐ[¨mù©Å\0!å ™èøx™¬&¾©¹¶¦¹)¾6 ÷½¸ÝstóúyÍ úg>ë†û}"™¯Ó)ñƒcgW\\?exTh¤Âì+†ÜàDç›AÇꃊ4ù‰ ŽÞêå»~‰Ó)hã%Ž'[P¨ †Ì¶––Y¦÷t«¡GÕ—Ú‡Eõõý¿î~ oHfŒú“ô©ž ‡ä!âÖˆ²˜rg\‘6c~¸¢G†`·•÷Õ3xúÁúÜ,)¹k±UNÝ5”èþèPzí*®X[­ÔÚ Ÿ4 €§ÑÞ¿:à?Ï‚<ž«ýQ–©à]x7?à³qG™4ÒW‡e9|‚–(© ¥zàE#-dijµ.:!R+t`DÇ€ÞG³ÔÔ‘Œ2ð¥Q>µòˆç'ݽåâÁA•—y´ª«äX™çEuŒ<ãÁ-8‹{X_&-×9>Hã¬À‚??Û’cÉ.¢Ú"%®¼W)°&#V—dÔ«SÕ@ô&eµ¢V]”ŒÍ¶B™ÑN8{ÎxŽ­ù«äâ^Ìþm€õ8€¦1‚Ï À‡:CVÊ1OmæšyáI ’ FQ‹&Ðu¤®ŒŸ'hµ Ž¬ƒ¼Z+œˆI~þ»šÇsñ8M¶V£]žñ“:æ&?W8²Ÿ”™pÂþ¨œzøÂâ°ª«ÙµÃi‰Šl˰èè3õéú9¨Tø.,2–e”"ì:JL¹´yª¨žL“~x&œŒú„9Æ\Cnj¢ µ“ÙÒ ß€·„Í× L-¹ô t°ðn?à›Æø .Cº½Xã#OÄ<#c×á5*)û`0"èDA{´;7='#'#7CT¨Ï5‚4:%ŨËU0ÊBúåFZý¡ùÐCØÜxãÊ…áæB‘%¯,+²B : &{³JÒ¤¦¨ÕZìúl„¬•ž¤JuIIS¹mìLƬ¼ÇÏà?±ÿl)ž•–^ŒÃ£’S÷Œå `6V¬˜Ÿ AÉÒhŸ‘kÁFà]}XÑfèæ¬Â'Ï¡ú)Õ.¬jªëit™Bë>s„«!ïvçµ^qÝ@Ñ0¸Ëµ$uû_Vü§¨•=Ê€OJJ>ã|>–GŸ¿;~Ú¯MŒQ ë b}gr9îMÑ ñÑþýÒQHœ¿ _ç¼âïùº†ó¥¢: Å *cœ.z1Š.‡ñÊa€YjJL‡M8[~*ª;½TWµÇ$7É ‹p,K/Î,Å"P]ZØ‘‡¯Úª¢j3 õ5žpúAX*-Tà.Sh.mÀ.È üéÊ‚óŒ@dùEå}ØXÿ(¬ÈͯÂK¼ ?Žù°e È’ìÒllÛŠÕØfÅP`Z㔆s¬³PNyÚbpŠf¿ÇÙØ« ÒoV>ße…uSÀW›¿‚ï|6Õö.»ë £TkÓT¸– eCˆ¹âxZ³ª.¡ë€ÕÐó×y;ÅW%ÕÖUWÕäeåg™$™EY…ÀD7¶Õô4Fíï¢Ð‚ÊÔA´íw Iê°p;§!¿óCýÕÇÏ‹ó÷V&öƒüè=4ZˆAdZJ¢6N-KIt¨¬cP’‡;E|eˆë_ºê±—«yc;9cî/'OeTê€ $¢µR4{œ/Dóà7៤Ö‹XËŠ9c^’]Æs«œÁÆ|p ÌZHËŽ¶ß/)9’‹ ¸ó ÓÿøŸ66•)Í*y %³4KÍ„x©»'Ú„– ¡?õ/¤ts¸,ÕüÑ•u/v:­Ô*nÃíÿ1ãÎÚ“Aœ¨ÕYVÐç»S£Vjo¶ºxÑS¤†¹Bè ¯]./¼–/²" õ¯*…­oB_  ’Ê#‡ÐÐSøœlml)oËYÐÕ’YlÄ…¥Õ&ÄF¦µ M’ºJ(Pt3(3›Z²1–ªŠ¨P®iÝ÷=š)D$r”è á"|×BÉ´ùæ“Å\%¹_ýÙçsŒÀ( Cz8§¬øNÞ:ιv'îoeg0æÜBnG²¡(ÙG‚ 8D©Ü²0¢b-”GŽªôÒ°“9…Å&S}í`E' ‡jB±¼’b#¨Ó¹rý6ÞB¹f«*ÀæS-ƒí•À>Sí A!pMMu1à‹d*&G𣩽"@ÁIçV»xƸì+΄5î~@¦vp¢oS†Oy˜Î]ÅY }ûòEÞ•0é+>œ?¶ŠIËñWE§îÓˆ¢8½VL€î+Jñ—Œ—S‘Ã?…Âgp|¾ºæûÙ»\B¼“Ä{w¿wt²A|ŸŽ{÷×Ö‹m~Ûˆ±÷Š•÷›‡=o9y, c/$cô2ô:úVˆ„ðûÌü”š¬\QJµÑŠûy]mñI{UrêLVqJÇŠvG¡=êD3ÙɆÊôç»G5e¦c¹ø’L9u,Í¢èž÷Œwpð\À®€KÇW,äCXVÜ„[Éaëñ’¢Ř¿œÇfVaƒ! ìýŽ{›j{â »‰¹Ú~è<8G íÝQ#ï.0egˆM9dc9Y]X`Lï –@£œ±ÍçFœ³ûßdü{¶áhQýXQ=ÜáÃãh*³Œ O®è”Œ-¥ZÍæ6ñãzòϳ0„äÚX;q˜¾ƒyù¬ëØZì~ô.òõžˆXíŒH€ìÀÒÆ½züNÆ]ÀRçµG?`{cýgˆòK49Iá<Ìt\Ü@£ÔË<:ºGxBà®Mìù.WxPv…s`/ƒdÛ  E_Ñø’Áèm$ç|,ì¬vXÏ»öî~Àoe—1×ÐìÐiÜ21Ü¢-”[ž¦ "üüõ$?ÃC‚*¸Ž“²3í÷Óù:3¸DC j@mΉô\¡Ÿ!*ƒÛi\W•/+‰*ˆû€oœ,Pz@˜þ½‘„ß¿‰œ“ÿQ}t¨¦45ºRl•™Sjqùæåäs¶á<Âiwø±0dì, ‰}Dµ—+C%ÿ\JEª5‘âçp³išîÀ¸ëîw¦Úþ YŠùñDç¸F¾áÜlÄûhë¢íÖ¨_Šá˜ ¶Ðsïo±íwpòÝ+—Øþ WÓŠ™Ì'{ëB€½}ÿþík\|‚?æÃ®fPd"y4­L¤à@ôžº]8æ÷èZ[}ESku­¹´Ó7ÜŽ®\¶e˲ ÂˆÆµâ „·wynËEï_výÇgçê¯Ü_Ü>3 .3-7T%ˆƒ n`o«ïù¡³õÝ­'†…uýU¥G èq»FzQßÑGZ;†‡;B¼ÝB8ú‰7¯gÎ!²ÓýÌ&ç}±!§79_º{©uðËÓ\làä+Ðî meßdƳ·±Ù$²›øâž;lí-<ÿˆÏÊà[Œ&?ØU“²ˆP* WÂ_×{ÜýôÑÝwÜ÷& G„©"”«Ó„}ëj»èg\—¯ò]°|‰mF.-k‡Ñøˆ+{ŒžüE¿þ+"—…pDÎ:ƒ^¸§—r€ ß¿ ì¦=;ƒuÖÕv´Å[CŒ†¬,£Ø @ S…íM]'»%0Îú¸G¤IϰùP)¸‚a‚ÿm Xä6Ž_\e©»ØoÎMÍ÷ƒnNµ½çÃ/˜³ 6³.åBB¯+ØL/wݾ.:ÉT,–V*MÜÝ*ubè`ÂÇwï7ô–îoWÁ±äÃQ­I5òR?+mûðúáúî“vŸí8½ÐËO"–F«bv[Ò…ýŸj¿èˇüœBT!±±©T¦ÚÇ1)À =‚ã°ÎGì»qièìç•bÛýÞWïöû4$(-®¸(댾wUwü~1Þx¡éBK×ÍQN=¥þÊ’ÕpQ |Ýøkë·|˜˜’«}݇‡OPVÝ6bîý GÓ_Úé\»Ð 7ít8X‘ÐZWQQWf,UUH´eiE nn9wÄc«¯Æ=Î],Û!÷Ö{gù‰Š·s½4"ê^[õ;3κĮÂÔÒq—ÏFÂdæ]ÖÅDWÇ];`Zq®xF¡­—d ¡>p­cõ#~ÚÄÜ:ÒÒÐ=|ãËÎç;»ðà§< 8S³·M›,üÔ©1´imÝÖ’5`6xGã½Kæ$ Ùàò|[¡›=sŸï}Ì‡ÛØOèI–ã.škêùZ˜bR%êÓ1¬ƒHÄCú¬L ŠLQZ^Fa[ŸAÓ/†Tð‰`=o×ÚUIJSTQ_ŒÍY”Zt8îöƒ›ÇŽJ†UŸwÀMù°×Q¿!×Z4©š[™ƒ;\kåC#»‡ÉVæ$£4a"ƒ"] ttR¹ÒZ]i­.È0§™ÅšNC6&Ê”Q“R­h ÕGVh+1•YjT%~&I`ADiLyj¾p¤Éj2õ˜K@=]«*OT)5²8q¬46!AkH6P ® ©¤µÀšWJèêäò¤$•*I›§(H‡çG‚hZCUËËû’ê´…É€–«’“âªÔGR$݆½USbÄ&}Sö§*µ –N(ÓÔ”å[+ÄÍíùù…¦â"S~g m“TÅzTA÷*²eÒ×[ 'O~X9ù‚øÄNzæ endstream endobj 313 0 obj 8451 endobj 23 0 obj <> endobj 22 0 obj <>stream xœX TSç¶>8ç8Q%=jêuÀjj«¶NçqÄ0‡ B€„yø™Ã˜ @™dEœo•Vm«ÖεµÖÖÞö¶öuúóîzÿöö¾wßZo­·X‹9;ÿ9{ïoß·ˆ²G‰D"nמ7Ý÷í[°?4R®zyƒ""P»t…pa?CÄÏÇ¿`ƒWãoûp¦m¦]ýÌéŸ;ð«¦Â…ç i e#©r«ÝÑ ÊÐàX×{=ç/X°ðÏO–®ZµÊÅ?á+.åªÐà(—¹ä8y„":Rû†‹‰Žˆ p ŽHˆQ¹øÊ…¯ô‹‡»lŽVŸºÍwY¶dÉR÷ÐHÿc*—½ŠH¿(wÅ*—.ƒÿûÇ¥_³óÍ„¨€]înÑò݃<6)ƒ÷lV…ìݺoë±ýÛâÂÄGøíPGú{¾6nÅÊ—W-òy}ñ’¥Ë^Y·üUQeOQ/S³¨#Ônj#µˆú åAm¢S³©=Ôfj 5‡ÚB-¥æRû¨­Ô2jµŸÚF½B¹R¨íÔrj>uz•z‰ò¤vR¯Q‡¨]Ôj!u˜r§Ü¨•”#I9QÎäÓ©ç¨õÔ j 5•r ÄÔó” ÅQÓ¨µ¤G”- ïmu޳3nØf½M—íxÛdÛ_ìصÒ3èú7&‰¹Ï–ŽŸ1>Âä º‰ÏM,øþ$ɤžÉ 'çL¾koofÿÝs‡ŸûlÊÔ)–©K§9h>{‹o?ïÿ<✸…\7ÀÝšf3mú4õ´ÇYŽ&§©N2§þß4öà ‘u˜¶ŠÂk6ÃÏA<E‡­‰ ÷Ú—°±îêÊ^)Á ûU•_²Vü“’¹u< bGÔ :¤ÕoHe•ü}Æ~8Ya}¿Ù,Þdå²è@”T{&`_鸞±räŒ|‘Ns4ÕY >VÆ£0¶5 Jƒµö’±Ë ŽÑmk*‚Ñ1§M ÉÉDÚÜäV ˜‘lÐsßBÖßq–=Ÿýà/|–E„`¢ ËûqxŠîÍ©HG*¤ÏIMUnÁûÜ`Wü„ÁUU”ZóMyN\ b곋³‹S ЙùÕ~0 ŸsJ8˜x8&<9§¦JóP~^4¯(¯²'TæÐ è¹¬;ìjÛ‰ŠÚZIm½¹»ý[˜Ï¿èT}º¬¬¹€µç/" ïpKt¤ © „´OE÷¥—¦ ?÷3È/-Õ;•UA†… *ÒQ f–”••ÖÕ[*êÛ^½OŠ3¤M Í"¡: XRN³PÈ< kÀö>ØQ÷„4KCN†7Yñy`Ûz{>˜þ󢫸 ‰;~Ȥʼn?Àã^ò?üºObuŸ”ϳ=e¬ì’ˆW¿Ûâûò¬0~.[JP”Ü̯ê8–Â<(ä#9,v…gâ¿|7{úŒ´ÔeÁ3ÌIó"¸k5ûñJ¼(ÞsGü˜ Þ Ç\L¾ÂO¼[4ºÂ ßh¹³•Ö¢%7 NõŒ¬@[IºÈ¿ÃUÌ­ÌÒt$cñÆ÷l¤I†X^„}±?ÌÃs!à½ëÕ—¥-uuæ3Âè`¿ZXw™ŸpUt…Ôú5pý×ñ)Æg$‡Aþi©GÓÈL4Ô2î‰ft‹…™s^ Ú>Ä‚íÇÏHá¥ë¿Ã6Á±{"¤ù2•”š**Íuõuˆ´ìÆŽxŠÂcoXT}§F*ŒÐû°»–7‹ø¹0• 8‘à‹QÔñ¸ö„–´Ö¬;,ÑŸkúÃ;údæý$©+\ñ\<÷Ó0å“ó-OÞ–b#¬ã `Òñîó¨ Õ$"ŠÔùŠüC¬†Ô²FÝ:ì4ZKø•Ô“ax ‡å¤®8R̃ò3Ñ’c!éþèUv¯mÏ‘Œæv¸ÒN²úœdõºÀŸ€®p0#¯­ ïø'Í}o¡,° ß!C.þß§ÅŸ(™w3ª’Ð&v„pÒ.m¼WF6JÉÑ zñ¥•Y]–ZŠî²|²­øûúêŠÖÏZ}0µS'‰•¨âÃÒ7"v”ˆàjØ‚,T¨èWðš£øÿ5™§‘{´øíÿÆDžÉú7 ñŸ2Ýh§ #¶Æ+‚£dAû“Ö!v‡ É€õV`–m€Ç1´ÓÁ˜ÊcAÈïvV–JÄ`:jÅά•dî,pæ[.Á GqD ÐßC¤,£\‹F•Ã?Eï#@¿ÆÂ¸ê*Ñ ö0ƒM½­†Òô¤r‰øNt1µaFGCS×™ÐV¯Ãòè­^¹aÿ°‡I› âbj³új5¼N0#è#Gñ3Šãgqñ4Fü”2ù(Šfà‰+¶- ­ «WHëT5ÚþøÕÑrä‰ü' Ųâ_ô;SÔþÓ÷Ü%ªóúWƒ?<ØuvŽd;ýF|IÓɦºné™Ü~d-n3;“ãÏ4Ô÷\œŽºu'MìÚ‘ƒœø‘þRCb˜lŒë+²ú¾Ú’ò¦z)¹÷#>•믑/Z¤ö:špêÉ·5ýç5xcÿpÓŸó3…Çsá©IÙjä…¼‡¶©kRŒ Ÿ4´›{ϾõvëCô= ØæcÂ5/á…8pIóŠk;$=²–øµ>êúØ+û>ÿ ½…z ÷YüÃp7¶Cx7ÿ±qcÝA4ã–Ž!óßò±¡?¢4ïO€Àˆ•Y\˜P.³Ìü”ÓTEð`…ÇJ:Ó!!óÐ:*Ë.|s=1¤™`¢NY]µ“µD8'·ñ+[Eù?‚ä© <8˜sŒÉÐddêPJÉO* +-$ª°dÛ®Ûzd÷•ÞŽlR¢p602Æ{“ìÌ—q^e¥Ëk‹KJQ2ä”e5ê.ê›ûøæ¯ß ìu=-ÝrBaEmlk“µ³¡QW'©/O0úüÓÊÀóŸn&PЗý*úljIògGJþ¿n&¸@kÜLÞ¨›9¿ÇSb?ìEjÜÓ¿vÀ:Gñ÷ì\Ò§Tbt:]¯±V6YO4šºÑ×›x‡äw¸—Y¥An£$°!%e {ÿiWàP#ø;ð£Gvðßs¨¸ÐXPÌŠ¿/+6Yg|Óá;k‡&0Wâ"˜Ä‚ü&ØÀä³Dû$½òúÐÿ[ý‰$Îų!ègY:‡¤ &Öª¼â¾%Ä«{~ë õ¿F8áeX£¤Ý_ ðÞ¾ŸÄ˜í½wnuŸü´G¢,—'%Ç!g…¾º[ —¾eì¡Õò+Í÷a±ÐEÒAUHûRKSIGY%=M¦'mI³0!Eº*ÔÉnâå|CBü¼[ÃúúÚZûzCÛ}w£nå‰D¯l•’ÙÈü¶šWpɤǤ¥%’ÔôÇ ^¦ðb9ImæÊµØá•Á0q¯ôVøW~–äé¼ùˆ÷Ú=‡­çå’èŽäÖÄwÙ(ŒNÐÅVC© Pyv]ú@bGz/™ ׿‡û²û;Z¤xÞÝ×»YÑ9ç§;oŸ9­:%i 1E™·“& h.õC³UôLY[ø<2+8‘AG“ËO¬Œ[iR%:Ïòd:̦ۂg}BT#Óœ„³8g@Àè•w…+_+™[Ç5äŠ0ÍG4ÚM”¾¶2 ‰UäHd¯÷6?Í":ÿÇl<Õr½FKáÛ%7JˆÑóÉ'üÜË–©˜¬ òeñ)&,,N¯@¬¿Æ|A ß`Ó“fHƒ"æ•ÏÏÛM×$£rÄ™”$(†ñzS¯U0àÃVfy±¾ }ÀòžË”Uã‰ì :dv#ßÓÙXfw‚®†‰ƒgaJ!ãicñ‰pè)‡'$ùŸ­Ìº"u-Ê`­é^Iýg%ó~f­†(`Škùõ ">á,UYIé nx»ÓjðI¯É)FÅÎÈXVbÍÏG†¬Ltæ#„° ²uÜUob'/ÃLxqŒ¤ÉŠðÇF•Q®ûCôc¶2]½ ‚„›j*ËXñ'¦Úê’ê]ÆØÝ£"î¯×eÍUH!Ñû±à"!¸®šD"¶Ó¨ò õÓëäBhª… Ì×Wt8ööb¯Ätø±,m¤¤æ}ö Ì=ÉâÜÅݪß_Át‘GbÊjR¤‰­)wÑt£øjI‘¡¸ª° ýîàÈÎæuRØÙÆT*ˆlmÏèCZŒ_fP€^ü‡%Ë'–¬›åg2KR½³Cû"~)l76VÖÕ—“ªž´è4¹¹Ù¹ÙÒL}ŽéØð†cÖö«[Úñ¸ û‚ƒ$¯œed•»ŠÒÈ7Eï•AÏ"‡é+Q—@(ÄŽá#8çå´VÚYéš!Kíe¢ù4ö9e÷-«eøù„y&ãqÀÁ*bg˜è(~›á·W«QF)4räÃÎùb ˆAúäc˜ô¥ï —ÛñݧmÝ=CÓ­»‚'âË6Í’ˆŸ õÝûð`aÒ߸½²Ëè ÛêTÿ•ï5^i±a>’ù˜å@´ÁŽÞd·†ùp¾øèrys÷u ñ`°Xt æ/ ³%< ”œ4’v.$Å]bÓ¬åÀÅ|ÛúáõŸ\ú˜…7ƒvÁS—ºâð„»o€¨³¡¨ªQ⋾¾ÏŽb¡ns¹ÚÜÌìœôLu–±»b¯ÃR`+Nž·VëcË¥FEÙ&´Eç„g{3X ­v_ÂÉäÞGOõŸëì8Û/ï[󦈄ßÜÀHöabýja ̃5"²Fÿ/߀;¶2¹ÜûÈ© sýä³Nr 4«k‡—šEpyx ·”ÆúÿÑ•H;?ÑÂ,ÉO4¢,k”‹Á™ß´NÁL^ ÁœŠŽrÓeÌ!ftMÌá¢î·ßB8ÿºöL>" ŒU¬g›èæM—PjU×WÄD}ÔûÃZâ‡çâ%l,¿\¸Iòû0ÃÜõ@;Š¿¸Æ›¹Î·Zë{³+`ç¶…‘ÒD注ÖÄS¡¬øNsÔqï£ÓÝä²Ý*uyK˜$°+Ò‰Xy´*ôÀ[ÁßÀd§aîYMoT»4Î’Xpœ1ÔUsâúô‡î渮?<{¿P"¡™ïÔŠS¤ Ž­-½0_0†Iºk¨ºÙõøÊÉt‡ýñwÈ;nÍî>'»:­ æÌŠÄ‰®’¨pk±šN]l>ºÊ3%$l—D%K‹E DìQ~$kZÏÉ B:::úÏÊ»dÒÑš° ØðKÍsÅü0pü¦7µÄ›½±mñî…ÎâhÂYyŒ¸ƒì0sq4Ì&+ð¯ÿ4,§A›ú4på_±ž}hóù³4Ó½ ¶#ÛÛKøoߥ÷dô%;?R\Ü‹¶±û||öÅFWœ ø¶DVÆ 68FrðZÈ#Âã„Ÿíø‹š¥òòˆÂUE¬}¼™÷3ƒ§™n.[['M—úI“)ê¿mà*Þ endstream endobj 314 0 obj 6001 endobj 30 0 obj <> endobj 29 0 obj <>stream xœmViXSç¶Þ1dïmUN5'GhmHëX©ŠÖœª8+RDDÁA"P c ó¼! !€€ 22‰¶8ÕSmµ­¥Õ޶•>çtíøqîs÷†ÛÛûÜžy²¿ï{×z×zßµD”Õ8J$ým»«çÎöA*eä<÷0•ohÂB¥ðåMîu7m÷†˜¬$§^–½ü‡Ä<íÕûS¸¹“qè/Øý*%‰š¯ ® ×DF)æìrßý¶½ý;ü³ÐÉÉIá§ùý‹b½22( T1‹ÿ£ W)C£V(Öñ§CB‚)B4á‘ _¥¿pÍÓ7D¬Ø£˜³îmÅ"‡…+®Ñ*eDØ;Š ÐÃA¡AQ…o¨¿â}•2ÀW¡òõW w׫‚¢"4ŠÅA¡ÿ{Ñ5Hå©ÍRáæ¤pQ¸+¢C|#þü…¢’f¸¬Ý³ÝÙËuÝûëÝ6ltß´s³Ç–]žÛv/]æ8oþr‡…‹Þ}oñÑ)Êš¢æQoQNÔ|j:µœZ@Í ¨™ÔBj5›z—šC-¦Þ¦–Ps©¥Ô2êÊ‘šJÙP¶üµ¿P¯S“©)””ú+¥ dÔߨ™|Q(+Ê›:+ò}4.`Ü—âµâ>«¥Ví{É9z!}Žqg¾g}Øfö›ñžã[^YùÊÕ K'øMøvNœ2qÓÄ“š´nÒÇÖ­ã­ÿõRkÍ!˜Ô§¹¦)_ O•†sŸ¢³,N©‹ÒÆú{hÝL;'o±ãT |f4>ÈgM¤EÍ|ž^¢ƒ ìˆ#mƒ :­s«føë-ôYt–X[ƒ ½:¹7+EO“ì@n²>ðsrŒ»iKÿ‘ÄmdVbüÞl[5z›˜½±%õ†\c~‰]/Ž—`)Ýio/8:[ˆˆKõÌaÕXÈŒ$ ^† Ö#KêÇ,V&‘ÅÅ2WFRÔô…ì²4ˆm’&4€HˆÜÆ÷Šë“È.¨²…ÊÒÂæ£õGmL䢚¹™U¡ý‰Ø¡ˆ,¶! É®EofdîÉäÑ™˜yšB¨†ÒÒm½8çØü@ÍÞA µM|rPN&$å$ ñœ31žÇµúƒÄëlpn½y¿Òðqž­õKf,°çÝ\Űز”ûT6âÅ€cbÂJž"l61Îù:#|Ærn<¡%%Ÿç ÝË##ÇH|fn;ÕÚTÙg¡[ÓrRUnØZöa‰Y_cf¥KOT•¶u¾†V‹ÈZ¹y*{½­ZVª¼YwÈå5Øã(*Xã—ºXo]Q“vZ¡†‘.5•Ê»id®í]´ÊÓgžÝX­Ä•"ìå Ù)Ô+LM˜Sž ‘œ‘˜¢%ÓIŒ ™ƒIeéåPl Æ¢¦cy ‡â£<;Íjæl¶Q÷ y§âÌÀâäd‡Lž–+&fÑ1î±èÉàŒ¹öumÕy¾ ¿÷_†w»Å—$㪸ªo3•õƼö<þÝD5ÓžeÌ,M©ÔÀv–®~¦=ÝÕ_uxl?¡ë¸'BË}=ÌÑ(š*-ÿE2X—˜ðÞ¨„`,ü³ùú¥›WÚžÂsx¦ºïqqÓm"j%oKªii¹šyV”Âwçp³LÒX\Ø9t3>è¬üþ®Î%@( ¯ø-[¾oOèŽÄÅÀJä[Ìšëçm¥ªÏ ؇1^À~ˆÞØ-«Í.Ï©…ûpAßUsµ©õüÎèÚÃOê^\?XésRNKòÆ•ªO†uìÈ–¥&¿—6¦É•¹Z#Üe¹+é󺂂:|ýú¾sݼ«;z,J>f“mØÕùEå%œ®lWùe4÷=®’…Ñ^„:I¦N{ƒo~ZAFnv1”³8Ÿy¥ %Žl5j£è4¿Lm’.!.,uOÃ|Œ ë¯“ãë´Ô‰o„*mùBö…Ó%#õ´´ãÿí6͵ÑÖÜG<×þ_ôñÃã6Ÿ”4šëšjMg ºÚŽœTv:Ö $'iišù"UŸëÇÐ’×ÊjàÑòJ4/æÒ1L!×$¸„ÙË É¤ƒõÅ…8yàà<¯ßµ|ÿ‘ÀtûìQ tà ›qnǨÏÅ/üMF 5tW–!ËZšr< ²d)쾎,›4º~_ÿMw¿¼»ÿzÝ-¸ýêÓ aeá'\Ùj:$ÑtºZ£‹dˆÏÕ(Ý_x€§qïQ³ÉÁ·ëÖ\r³ûdãJC€“[:ZXôaàŠ¡d Ÿå‹Âër»í;E'‡P÷BÌíä…CgF%%ÅñOÆåÅ6. †ƒà÷Ah`ˆÆvÊîhåvGù¡ß eQB~ D²›½ö;/r¹ˆÖ^ò(ºJªè£&ƒ±ø¶Ê4¥µk;R;xu3OüúÈã&±ùÌî­ßn¸À^<Ó~½çŒ: EÞlcÑ/‘Ýÿé‹0Çþü ñdF5ÃýtF„É<`…’d1°4)ÉQx ÇÄ8åéJÑ^`†*M5ÇÖÐé¸Z2rN'«%5t ŠªMhÅ»>úCçß f³&!qYÖØ(vÊU/É]cÉcÁÛÏ©™'c³Oh”nÎb=Æó£9ƒ † eôü1­š¹Ÿ^ ³yKb`Sš2^¾w[ÈXÞ5á}š¦´6¸ÁâÝÑ¿Rlåm+OÑ™%7²ö¡®FÑ-·NËkÎõ €—d¶L0‹,Û…Q竦/fU$Aħ…'ªÈì± ±Ço>¸›Êo¶`2ê…QW|Ô(Œ:“šéçG]×"Ìéµ)¥1‚h~P\|6—inccôÙ°˜{Ý2UfÈÑC4dR!¢£T{ȲÄ}yŠ‹ {E›ž!áw¹%í -&fU~¢g ßgjÍÿzëÞš ë!Òtº´°œ H‚ÑgÀÄì>ªÓ;<':̵Awt»u³¬ðV¾­‰”2Ö/×óYN2‰^: YòKËù >ËpˆI?’F&“omˆ ~ŸŸR•“k›bN7ñ[S­¿ dY©f.çèSN­hv²Q2ƒ›˜V‘9:ù«Œçsù#Ùjæ|F©¦mî9%1Ÿ[‹GVHJé'hÔ×ó=Ðgú°¸è#=/º,]=gÕ+‚ï0s·¬‘:y‡Úy¡V»Èk°¸îÝ.¯vŸ ‘×yѼ:ôÊñ¯Î 㓦t±«C{´B ֲĜ– [ǧ0Îßuû»¾Çç ë+KíÌeE- À¥š¹;Ÿ‹¸]|æ#4íFf—§vݪ(¹¶¨¢‰÷Èw’›4ZÞ’Œ†f±®Ÿ÷0ò¶Ç½©ÒØÅ1²Ÿ?j9·ØGë®Î&¢å›¶šBÿ¹@N(§èØÄÎ}° %réw8qðï¿ÚI_À`P?™ôŒÕÌÝÝ];Ù­l}oÏÀWWè“÷Ê ôÂ%v §óÆ­.ŸîaÜ•òŒ,€Ì,^:CèyCtšßŸ]0çc¹IfNþE¦Š8z"âdc퉓GjUvÖØ˜„b<ŠbNã|þ|€«?_⓬µL©ÁXò£ tG™øÆܱSI ãˆšÉø¾m>ç#àæVñþ©A1Âo 3¹>4ùdd‡dž"+qÅ0C6,#i4¦á£Âhã.?áýOŸ…ûR†{è2È;–[ÐþÔ&¥@“œÃWFIIÎɆȶÍÈË*lêHKè”#sø£í0‡µw]³*6® J%®ŽÒǪKŒPöE~ñøNÝùsv½=æËpî¨{½Îùt»W“W̬ul%çY‰•tÃ+O&4Nœø¤bâ$Šúo›¼2Å endstream endobj 315 0 obj 3808 endobj 51 0 obj <> endobj 50 0 obj <>stream xœXkXSg¶ÞØ{W‘*qW¢6¡NU¬VñÒª­Ö[­wEEñr w$Ü I„ÛÇ= A$€†‹ÜE-Þ§jGm«Ö¶N§¶ÖÚÚigjOצç<çÛØÎÌ9óã<ÏyøÙ‹ïÛk­w½ï»"¢œÇQ"‘ˆÛÿÎþÝ;öÌóŠ“«^]§ˆ Ó,Y"<˜ÉOñ3Æñ/:á•øÛ_?™áœçÒ”ï¨"woLŠÚ³)ÙwsJLjlpZ\ˆßëã–-_±`¡÷¢ÅK–¾FQ3©ƒÔNêmjõʇÚ@½Lí¢Þ¡¼©ÝÔFj5›ÚCm¢æP¾Ôfj åEí¥¶PK©¹Ô>ê5êÊÚFí§¶Së¨Ôj=µœšJÅQ”„šF=OM¢&SšBqÔ Ôk¤ ”3Eñ¢Ñи9ãŽûÅ)Òé¾óç~— .Ñ.·èÍô5fó»—½óÜÆç>ï?Þ2þÑõ„Ÿ]w¹Ö»Þ¸xb¯Û2·h·ÑçM“6NjžŽÃb¯™xþÃw/ÃTàž<%-õœ÷s²âXîrƒ/^ޤúíòI}fÃÛG†¯’cÎe]ä'\„½`™€o4Ü©Z{ùÕÊ«Ff& TSKºÈ„cT̼ª\Àâ­LЩ8Kbñ¸žxžñ±×Ïç:,g‡dä!;C«IMJÑ%#vŸò ®õÊå‡J^'#3–vzä¹rݧ‘Y0ŸóÙ£:˜¯6(Ðf´­+~8þ\ÖGèGB¯Ã8pH—Hš£»V³vÐ$ÐY‘:]Ò#uYrµíéyCx.^€ƒpÌÁ³!ôÃ+õÝdíMMÖ“gŒãàFX}It‘åuðúWœW 8-dPHŽþPoK#³£4Ên°ðsÚ¿E3ˆXpþì)©lÍwØÉ'"iW¬¬$€C•U–šZkSsMb‡m;ñT Ü7s5b·¦ÕÈ ê«Á,Ûi5¦Ã"0UÌ‚šßî©­–ŠÂ2t&ÊŽ%¬dîƒlp fEØÜÏÃô©ânˆ ¾‹hŒÁ¤A¡c”’­  Þ`cv”ikÑUv1ÃmƪÜL“T|+¡Á¬o™ÞÝÒÖ{2ªÃÿ€¥¯ÌA!ìhåÿWß#J5fAß‹Çô}_xê.?©Ûˆ?©q;œý­À°VO?²×Î¥#MEv-€+ öÚ6ûÑVK:Éãu o•þ6}wòêÔhýØô­ËÎ^¥'-xô‡ý­ „â?¹@0=º•ÿžCeæÒ Vü}u…¥Ü>ý›î ™[Õa1)²ÄŒ¨ÜÕEìEB±gž±ä0x;äC‡Ÿ(éyfÚËÎdöÇ'oÚÜ0- ¼˜ò+ òkàOí”È›£þoí !Ú3¿ á?ÈÖs]bb6L5w,a<í‡ðë hX¨ÿe2Œ¯Â*%½ãµÐÃ[|Ù„a|Ù2zëFß±?÷K•¦TyfV ’(tõ}28ÿ-ãÔÈ/·Þ……BI…q&ÔWéIÇÆ97'@GÚ’cc"˵u¨‡ÝÀÿÂEFîˆììˆê ¨=­ƒ'Z¸Ü!ªšÆ+8ˆ‹crsr2HjºÒd£¿%¦BNR›±ü-ì¾dxLØ-»óU°-ùIÞ9xø­]ìgä҄ŒØxŒŽÒvc•‘© )÷lFwî™ ¯¿÷»w·¶ËðœÛoô%ÛÑiÉÕ=7OžH ?.팴Ä[·&™ hÎÃ.ú‚@Ư;ñÅdVpƒfd & Û™õU™µè Ë“éž|­dnލÉašª5(}mgÖ3êÈ)ÁB÷>ÿ‚Mtæ÷Ùx¢á̶²÷+¯VëXBˆq€…Q bÎæ×hQ‹3ÑÑ):bCÔÖweð öQ1ý9F½`•Ë™%gý>½,Ó~ˆ@Iò xŽCkuº×K:bg–VèªÑÇ,ocàùüá€z<=JB€Ëè÷tp9J×ÄáS0©ŒŒñ Ïîcá ÑHϳ¶?Ù™Õåiuhx¬(Ö;¥$õŸ”ÌGyj"1‚Mlä×´ˆøôÿµfäg榯Ç[Æ:aêôè‚g˜õ¯Ì«@C,ÐL³í;<­^Y©E9¤Í2(ŠH„ÆÆèP^©¾ïƒFn9rLÕH8ÉmM4â'\<]Ewç›rPÒjÂcWªÃrR´QÙý5)wRoå¶¡*d©.ï)%™iTLo~qQÃæŠ4xµêº¾1·!¯N¢ø@׎jI˜±­Œ„)ULK^™¡u3xŽ÷°Ñ0®ý_si¦a!?ËÒm4¶”K„Ù´°6Ñ»|BjÝ­¢» ,é(|,ÉðŒÔ¨ß’Œ.Îl ¶IèÉu~z»;±WX ⹤SÅ÷ø¸ë\vvAAAQ’dåVYdPÇüeõ9ì†]Vï_bSö÷µÙ:ë µZ‹T_]@ZÆ6¶Yº.·$ì®cð„ˆƒ©áJVü8(.%*hÚŽ¡Ã×/²ž½ 5íoJ;ƒÃÒÓÏb¿K\BlªV…ظ”Ö¾Ë'N|Ö(È:éäB‚’4—Yž[–kÂ^æñ7poh¶šå^©bªŠŒE¥¨¹Èh@j¤ÎÎPÄ ê4uŠ¡2¿¢ ,æDâ©^M]EÇoðiɯȳÆÁ|À#>¯ý»€'LzôiÜÄuŸ`:&9_'í†9Ÿß‡ÙÇXœ{¹;x ¯;˜”^Ý-ËèȾ£«—*Ëueuè7Cöÿc¾ðŒ¨ÃÉÆð”n1æ$Êð…ê4¿»’âJÈr2ƒñÖ.ˆDìK4ú¹¬ËÜZÛÔl"U=fÓª‹Š Š dyºBÒ²1-É==­ö®K»ð¸u{Ò#Â¥¡¡jÿÂÅd¸„Ð(([ço ‡ç“ÃËuµ¨Wa¢ÈfxQÄ' æq)ˆ•.vºáº­ñ‘½PûwùŽŠÕ>2å(™õ‰xp°dX¦ŠÃ;pÛ–¤ITÆ+ÔrÈÎúb#Y•e?×/ƒ®zÞ”Šo?éìë¿>íáê‹xž¾xÃL©ø1ZÓçûƒ ®å– \@Ù¡ãLJ.¶^埓(‹YDël1h-»):ds/˜}W¤äe ò$üW+iÝ|RHo'‡†OëMû'Wþ~ïü/Ä,¬].ØO^ä…_Äão¿ ¢ž–òºVižÿÆJür< ¸ÉiŠò sóÒòÕd¿Kº‹€­9vÆ^¯K2ÉÌŠê èm”PSp˜xŸRM£ˆp§7 ;|èxøÐéžîSCò^²N€#­qd‘UÈÞºˆÆºÿ<èòõXÑÚF$mä5ì,v‚R‚°-hs`ÈúßäWÑr‡|KV[ pOÈì€ÿ+d±å¤7GÃ9䓳JŸ ‹ÏÌJBì´+à%ƒtæ5\>}ƺÏ‘Ž‘Ýˆ¹t¢ð-Àx˱È%‘©*5–––´VÛ+kk7%ûËF9­HÍð"ÄO°1Þ%f²/ò7áðÛÁq˜áÄ+!‚SÑñ뵆YÄ5Í£‰‹YðéÝ®ècÉ/o}Œ©‡R#"¥aa©QŠ5lí¸ÚÝv ¢Ž´¦ˆš£‚¨V`šoÌÁý«"ƒÉúïÍ&ñK…K²Îò7ﻃf¯zªø‹Ë¼•ëy¯£y±×zC·mŽŒœ'Ë`>ïÈ8ÅŠo9â>4m½<`§*ÍÔ- ë³Ä!Vž ŠÚû^Ä7ð&YÕh˜}J=ß%K±eÔ„aÅ_\ïm8zeÚƒïÎòZsàeß±;¿ÈêÅ0‹,‘¼79~ÛŒÏ[DÎßܼpç|‰8Ìx1#î&¶w#N€—‰kþ yËiÃYáëÎðâ_±ž~âsùS8è»Ãÿ þëw¹ý†Á,ÉCŹÝh3»'0pORBͱPiP{\m"b#•‘û.G>$“óÜðÒÓ­Ÿa‘C&7Å–­(gÝR­|°ü¬tÇxðœÐÑáê žÍ®)꿲¯Šœ endstream endobj 316 0 obj 5323 endobj 45 0 obj <> endobj 44 0 obj <>stream xœe”{PSwÇo¹÷WAVˆ·IÚ„‚-P[e­AÝbQPTWI /I€ð /Q䧈   H…y‰Šº S˺­Óêj[Ýq¶h§:;Îô\ü1½éÌÎþ±ÿÝßãþÎù~Î÷åêB 6bS|ôîØ€8NiZaЦ[CÒïrËÜrn…|Bž¿y¸Üõ°¨c93çžPó'(\D SõÙHƒ1?[£R›å~»wÅûþo'844Tž–ÿßù&¥I£ÒË}ù\¥Ö`Ô)õæõòHþ¶V«QÈUÚ|£Ú$OMOW¦;Û“ªUfÉ·h´£Ñ+÷‹ô—‡Gkti9&ù.ƒ.U/6„ʷɉÿÿ6EQž‘Fe¶ÚœúñÚu¡AÁ!®ùˆ¢VR;©-T,Eí¦"(oj %¡–Rž”%¦S,õ6åų¡\) õJ#èuYá’èòR˜,¬re]«]gE«Eu´O¿)ò˜Ë°\›{Ë!À°Y8çlÌö,Ó~‹¾$³Ò€£ð¶>ý˜~¼ø[ü b\À}t$_9"IïÈì C`5ÒÅêÒR .ÇE'rbì ‘âOÞ')$ V_P|3u¶BÖÛÞn»rypã$µ Â&¸··@ƒŸÔ\*KbMôåC e8ÍepZEyB2AW]S`Ã3Þa®%vY/c®^ƒÈÂ_aŒÊ¼S+;~€Åu§ZšNÛÚ;šÚ1³ï Þd‘!fW¦¾c HæÁÅ ;úaM€óOV±_›Ÿ‚Ó±þ\n_~o…ãÈ=µtåOE£Y™ƒlq¼ϵ~Ä—øþ‹_ïý›Œ4C[î熮ãnÜZX¯­µ7ß‹Š>¶ÃmðQÙ½nÂ2oq?è¢všè‘ÊF+V 2Ê‹*+MvŠjµ3Ñ'JNã;v2cÝ#ŽúS‡ ¥â{ÆÖæò®eý]݃W4ŽÄ}Jãg‰|îãØÎyÍÀç6Á8OL 2!¤Ï­cIœ‰¾Z^WÓÐ|ƒS+Ê“ÊùÇ+íLFmI3îG`cð‰º††Síö¦ŒúÎceä0ƒ3¬…š#üÕ;£ª±6ãKŽ1O÷L„îÉÈÛ/õ€§%ßÀ›Ë‚1g¨I^ÇjØMG¤HÚ‡Œcä³uDqofèÂÃÒìÆËLÛ­6ÑØ34%哺+ðûyžS Ï)HØceAn»Ûùpêßnþ†AŒ`ã "râìGV÷׃` «öÌyi üó'd¥AÜe«­Õ‡«Ž:l9R„Ñvójºp½ól©¹QÖlhØŒ7aãѬª$'*k÷œ¤›ÂSB _›­8*9-2+.g5^‡HÚs²Š÷û øÃH|+½;ŸÁ☊ åÆR}a±£}–)ð“A>­“×®Û¶“UNIØ>·Ä&€…ÎAówgÙk‰@t9US_Ssü|CgÝiŒ:seó,ƒCó üª‘‰s³3AÇ šñÄÍ8 AÂmZa¹Ëk¢õ‘%•>üœ ù)öþ?¾ë›ÁßK~ûô{BíKÈS©¥ééyC8ê¦{îôwßÄ—±ÃÒ®jÊ­7`3N¶Äeíß»AÊO˜ dæÖüÑ57¸»½À¾á@{‹ŸLr6và+GÇF_*¶E©Õ:Yó£ÞQpQƒÄ÷zôç’–F*ì0Y{3¥éƒºFJ£I³û+Õϰ– ¾W‹Fô}²\{A“â?™lýbjéÓè¿úø…ï[÷"¨'BrÁ6/8>üôâ‚ žå6¯gb>%‹Éú¨vJÄF¾;Ž1â~²|±V~ Bç2ím¢¤A 7Dü[àÇ­±^?‚?w•…zÄ"òýùõÅ¡áÊËÅ’g†ñ]8 Å&'ÇšMÒ”^Ý郩f«÷LªŸñmðÖ+xçõ爠G¦lÔž­Ey6.Õñ6Ú±än‡»;È;ÜRÔB0¿Ê endstream endobj 317 0 obj 1941 endobj 54 0 obj <> endobj 53 0 obj <>stream xœXyX纟ÌL«R%NMÔ&Ôº`Ý—ºÔµà¾ *.(;„%ì ²†ÂÎǾ%$H€P6AEÜ[µµ¶VÛÓ]k[­=mOí9ïÐó<÷lÏ9÷Þ?îó܇BæÍ7ón¿eD”ýJ$q»Ü<÷mÜ6×3Ç¡qÚ”±Nü¢‰pî%H@Ù‰Dê‚Z·˜ØdUxhX¼³Ëþ½çÌ;ïßß,^µj•s`òŸWœ7*Ôá¡ÑγȇEdLl”":~µ³‰ŽŒ rLŽ S;+‚…ŸˆTD8o Ipvq›ã¼dÑ¢ÅîáQGÕÎ{c¢¢ÝcV9ïtüMQº7w¾•th—kL°»[¬b÷ÆMªPuØÞ-ñáû¶UznKˆØŸp )*ðà˜óVÎ_°pÑâYK–.{CÔA9RÔ|j:u˜ÚMm¤VQ ¨×(jµšAí¡6S‹¨™Ôj15‹ÚGm¥<©mÔRÊ…ÚOm§–Qs¨Ôê êuê µ“ZN¢vQ®Ô Ê‹r§Ü¨•T%¡ÆSRr‹—¨ ÔDʉb(15‰â¨—©Õ¤5”= 칊ºÇØi¶Û™íÚ{Ú·9Ȫ€v§™×˜Zö6é…å/ô½èòâ™±kÇjƾ=ÎgܽñKÆ×ŽÿÞñUÇ4ǾùÒß&̘Ð7Ñqâq'/§^ñjñm1Lš7éì¤÷&=á(Η³¾ýòÝÉ;''ÿýwãðÀk|®U„`¬Ïpx®šîË7d!5Òåëõª-ØSâ»/ „*¤¨ÆPi+2J¬¸XÍ4æ•å•é‹Ñ™9µ0Ÿ“$HñŠ‹ˆGR}fEe!**,–––¢ö¸Ú§ðéQ^í8n¨¯—Õ7Zz:ŸÀþUIí骪ÖbÖ‘¿ˆ¬¼ÓmÑEƒ äv&<Ð>5ÝŸU™X<À €L½¯žUC¶• )M7¡., *)¯ªªlh´ÛY»OŽs¢M Ï%¡éV&¸8ÀN³PÂ<8pyÕnŸ™#ï‘v›—¶’Ü_'˜`Ç/—ˆØežaÚ¯m7‡Ì¦L]™¼TOÒ(<|,¾ ±§›¬§nl=·O›ý*žeߺÀ„O®´Þ»&íÚ°}³hxãðJ«èÊ‚ T\ГoГ‚&è¼wdfÄG¨Â^‡×%ZK~)2 zCÅÉ"ò¡°¦ ÄO*ædž1£Õã~ vÃqQ!j­W6is±q/K¬B6Ô`i»÷s÷É/x¹!©’tJŠRRôaù¹HW - }~lc 5Æ#wñv8)ù ì¾qMu÷Ê¥Ž¿»=ŸÐïNó-°Ðnx ÿwn¤ŒAûÒÒ7d‘_~mcÖVeT£YÞAwM¦JÉS•2Ø{${ó‘¸LE”mÖ¢ƒìH ƒvkÓ×f’ßim̪²¤:tå• ”Ž|çÐL;/D6UÜ:M'œ¾e°Val˜,0“©˜;¹uÿš}Mº+9ˆ§À}Ö‚ý}p8“ÔÖ*;nÚdbÅçíèëýxʯ ®âÕ2wü€;A‹S~ÜǼèõ¦_Jm¿œ/´?i2ž’‰×|Ðæ?º2¿”''sžÖʯ:=Ãl;(á£8,v™Ž§á×~˜“{úŒ óÜg˜“Fr×ê<ñJ¼ ñàÄ 0 6ºA޹˜v…{¶ûâ+„ý^Ë5ÚJo”ߨ42>ÅZ#™3þ.ŽP3·s*³‹w0þg£Ì>ˆÅcV9ã™xÚÇ.¿]l7ÈóÞæPvFJº61>Aw±Toƒ¸æë×Ú[ÕŠš?æ‰të›~Þ­ßR„© UÑT«9·—‰fÐ^MšhcÖU&× }›ÅðûFzZø4ºj4¾[E¡bîeÕ% ,¾&€KÒ¹áÚI›ì†gÂ<ÎcW„úpRtº2;mC;;£‡¢/¦ÝE?³t ÆÀ¸¾dEŸ¬/¸QÙ¹žµ6–N Óé’iJŽVyXT!éÁsðìa6žA^¯íº,okh°œ–ÔÃúËü‹WEWH­—ƒË.x•°à#ù ÌÔÉ$[ÛTϸ§XÐm^eÎy7iû öŸ=#…—oøÛy„Æï‰”ùp¨¼Òl0Z ˆ²îÆ“ñ„½ÊèÆn\Xò»°» –µŠøY0‘ :™ì‚Qô±„Îä¶ÌöÜ;,”ÒÙ_i"º•§|,ž$‰+\ð,<당0áóómß•c¬çŠaܱžó¨Õ¥VD–&Åb5¤–uIíÃ’ÑZÂ?H=ùW†·pXAJႃq)Ål"³Éƒ?žs±¼@ÉÁ˜[x< Ø…Ç`3»H¡}!ò&°ðé|YNþY‡Êæô%)V¸N×þô‡üT‰{ò…E‰„;4D ‚•Aˆa"N•ãk´¸VÅÜÊ®ÓÙƒåœ8²Ñb8u÷‚rs‡¬ù@+Zæ%¾áîs$~;b}µÆ3rGx@ ÷•~8Ò*º ò«àh÷!ÿ‡0È_—î“CúÑje6¥л,Ü~Ø¿ ™Ë¦†ÎcÕYé¹yYÙ2½&W‡2ØÈ&uG—ÍÖuÝ£wÅÖƒj¿XÙѰ¬@ô»×väZk'\é$Y}E²zSÀ‚ÏÁW8˜ZØQÜìóÖþwÐ',°óÞ#K.þß§ÅŸ«˜²kRÑ&v„`Ò.m¢wvÊÈ× ŒöÐÆ¬©ÒW¢X>Í^ücc­¡ýËv?LíLWÄÅËԉʬˆ"¸Úöà.TôX>Yüˆÿ–ìÓÈ=ZüîC¢ƒiº·ñ_0=ìCGnMŒ ö ñL]؃C"ÔlÀ,ÛßÅÑL‡bª #þ¨ÛX9$?‚è|¸ KYÉÜYá*Ì µ:]‚©“Å]-ŒþB¶ÙÕZ4Êm:?aô묌{IºÝ`a3ÔÒ×^Q™•Z-߉­3雦v5µœ:Þîí¥ˆÝê-€lG÷ "/ê[Ð7kàÀÔO'‹ŸQ|?»ˆ_fÄO)³_LYÐTg&Èbð*]]_V^‰JQE~UnsúE] b¿»yãÛƒû\NË·±¡¶½ÅÖÝÔ¬KhÕ'V'›üþ¥9`‡åß²#X€YO5}V_ž‰Ù‘òÿ¯ì-ÖšÙQ8*;„$î9(sö&³ØÛƒ "ì€õ“Å?ï·qÉH[–aÄ>Ð-¹^g3¶ØŽ7›{З›x‡ì]¸—S£An£»àš‘±V@ÿïþÅÚp¨™ üžÐ#;ø9TVb*.cÅ?V•™KmS¿ïòŸ¾C‘ K ÏZ_ÀŽÚxæ9† Á"»á\èáðSý ǤCûÙéÌ¡è£[wÔõ)e~W Ç‚â&ØÁø³„úe}ŠÆðÿ› 3ÌÂ3 äWY»oÉALFµá~Kð'ýCø½_4$ÔÿYù°VE»¿ä»Ý“Ÿ0Ûû‚îÜî9ñE¯LU¨HMK@Ò]m.=a¡Õó+-÷a¡ÐEÒAa¹Hûõ•zÒÁÑåÊÊôÑ‘¶dZ™°ÒôÔÍnâÿÁù‡…ø¶+ûû;ÚûûÂ;ý’Ojç S­lU‚²aœÄÇpÅdÅef¦ÔtÅG+¼Íe ’Ú´•ë°ÓÒ¡0v¯üvÄ7Ö8tPºù°ïº=^¶ó YlWZ{Êl4FÇé2[E¥U ê¼†¬Á”®¬>Âh.? N÷}îïh“ãÙ½ÙsÔ†ÎIoœî~ÿÌ餓²Ž0s´e;i’‰ Í¥hµ‰¾&#“Mü_Hv§0èpJš œÑçV™jDçYž Ø Åü¾ Ýð̱¤"/ál½òpå[s;û˜†\Pï°F»I¥omŒkEJ 9RAò¼Ë¿lÿs7žj¹>“µäÝòåDïø˜êcaû¨™Á\C:ògñIF©LÐÅ 6Pc¹ ‡ï±‡šéͬР¾”Y:xðË¡Nóà5i:ökåÿnÚ†`üUá|£Ð9_5}áùaDâÐÄ+“´åU¥ÅåeU²*sI5ªbOÄZ#BTªPk_ܹØ|¾EV×VÑ®³†7qþᤩmÊ3}}}aBSüç€T¤rP/pè-î AñÛ˜eeº*ô1Ë[x)wȧeÓùàã0ò#‡}ŽÓµ0vè,L(!€ñòsIöX8Hô”C^Éi£ÊùW³¾4© –¨Þ|¯˜ùWs7§^C¨EP¡õü†&Ÿü?|VnjV²Þ.Y~Yuùe¨LŠLUå¶¢"TQXQÈþ‡×**˜m$^뼤‰†e¼s]EEk±ô9Œ-i„}VÑ9RF¾J¸…2ž®Î¯*(.°æUg!-Òg$ëtxž$áÝðn5Ó‘W“‚£ø¬IVæ=ßïòœ24ÀÍ4ZÀSjUåé(SŠÒÓ²c H„ÖÊèPN±Þ€@½äçßšŽÝ$ûKåùa‘Mô,…ûývÃvüM]¯1ßÄg¬ŠùK¶%¹ â»ìÛŒÇÎô½ÓdðA=e ¦ië¹"ú™Ö,ƒ–À&׿Ô~Çï\Ø­äÐ=ôAC_×™î¦Ñcáv¤”®VÑðA!Ï©jº+·:Å£tmHäMpfBzxFož!á^â¬T‰ÌU¥ÝŤZ5s*·° n[Y’d ^¯¾¥¯ÏªË©‘Æ| kCFVÑRBÂTj¦)§$»y¸Œ¼(±Ò0nþ ßth¤a!?ÓÜUQÑT*@Ç:ÌZE„¹ 8c¯šîÌ3'£Ñš†¤$†ÿQSeajê[üÔ6'DpP R"õd“ÅŸðQ·¸ŒŒ¼¼¼‚$M˪4Ë¡†ùjýEìˆÖÚhUõö´X;j²éf™¾*L[ßbî¼Öë.seðØÐÉ!*VüØ?*!ÜŠû€ï­«g-ƒ—eÕ‡’Σ>ÔjîîeñÁ«\ldbº±Q Í=×NŸþ¬^pÉõÃSˆcÝ#$®¢?Ì1e¡”š—žâÅø 1l“ÎäIŠMÕÝÄ« M‚W}¤b³*3mžP9òTÒLCÿ•õFqˆøL> äB2ìIV.µ4«$«»@’äpªk´T·–J­xš!ö¸ 5Td# Òd¤ÄDdgk’4 Ùå¹ey%§ãúHW 5eílASnYŽ% &a/ItH¬RŸ¶ï­Ä”|R䵄m‹ÒÊ‘ ™šNwŸ-*.¯(¯<½SÒ¨¬JBéÂôF aÙD°ße|¢Ä.Ã4býGm2q—Aš‘ìêô?IC÷\‘e ¤¡HC ý2s±Šn®¯-¯zÊ¿{”øuÚ¼çVB4ÂóàR!¸¡–D"¶Û¤ö Ð¥+„P½• .Ò}þjb¯"~ÇAYÔÍ0ëN´ùÄ*v %­ŸyI(—ÉÓ® l¨Ð­‚D!ÄŽ<30Ÿ^9x2uIAúøÌÙº§ØîHHJpˆ|¯}mŸÅÜŽØ­[‰=’EmßÛzNîø»FS?,iý.œ·]E_Ê3e H¤Í×ä¤a{üT‚)x”Ñ–kB•Rd5Uö‰U&tŸˆæÞ|‹¾ZÝ9W‚_Äïàq<•cί"*‡„×[*ætv•¾ö0„ü$i¡Áƒõ#qdX¼ùŸŒ=õí¢qÞ'÷ñœhBˆÿxF7UdÆÉñeé´¡ªª"¢ªzX~³HØWiô[I§©ÙØÐXM’ŸËè ;pòäÀ•6ßµÞ™ñJ?ÙÌr rµF ·Ø­ÊÀýî¡]®ní¹.Ð0¬V=‚èËÅ,ä YiëEöq>Š`ß#'CÎuwPœ"†Z“ê‡[Dp™8ÝÅ4Öýó°Ã·´S˰´…0ù²WKì xx#·mó t‹ð<:­dqàb†¥À=%ãéÞ¯+ÌÉÞ áGæZ}¬.:5-±^I×ÁEÉ Ì­»vî¼ež-Å“a ¹éxá½Áäh\ŠEqLeqEqqQs•­ÜˆX[õQoùÇ U‰).„­ø±VfQQЉ8Jþ¶°ú©¿ÀM+d RW^ /ÀŒ_ìø{ü NÍ\Ï*ÏAÑ((Y¹Ç Ï¥äï§Îö£›ì½mçfáqÜ_÷3Dôl–áé›öïDóÙŸº‚ý½÷šÞùBöö¶“G/¢VÔm´3f[¯¹I’hH‰MÑ©‘TTuûî^þ¸ÚÜÜ×Ü/9vÜPÞG8†ñÇRî>¶oˆh ŽQéâP 7«šüÏDßBC¨«Îv¹Ç'Ü÷úP/Ûi©o;ß·gk`b¼WÊh=@ÊïZ'aš¯‚PNMG»¥gÏ$¢t.MDâ‚OïwÞFKÿ±îcLyI “'†Çl`[èÖ]-—P?jOj5$TÄîôKòŒ8|hmXž…±ñü2F «AþýÏÀ³6=Yüõ5ÞÂu¿ÓÞ8„Ø›§‚vn ›%Oa¾ŒnO9Ίï´Fó=2ÅMá³[Tݦ”ŸŠ2G!V«ßÿNè÷°šøRfÕôEwʬ)† c¬øë[§êŽ_ŸòÀýÂL— ^3<ŸgWíÀŽ_lq‚B˜I3¿*8~ÓjÆcÑ0«·-Ü=O*ŽÅÄ]‰»ˆ«˜Éˆca1%¿/c ^rg‚ ?Ä"xö;˜ÃŸå •î±ñS¯ã¿þ՛ݟ&}sq/ÚÆîóóÛk8$óo‹2Æ!64NvàZØ#²£/ü ¯>ÛñµÊÕ‘%«JYÇD `ƒºýEpÛÞ>n87ŽOQÿYv¾¬ endstream endobj 318 0 obj 5872 endobj 57 0 obj <> endobj 56 0 obj <>stream xœ}Y T׺™I©¯ÁÇ jUkU¬¢"¥‚ŠˆˆHU,¾(" TyÄ!DÀ]!„˜•RTŠQ+ÇZ¥œÖzÔz(Zk­Kkm­§ZmÿéÝœµîžDHzï=wéZ:3{fïýÿßÿýß·ãB¹»R...ÃcV…¬~-< 4]¾+9q—xËWã"Œuƹmćþý_1’ú±/~ä)但CêÊÍÅ%³Äšž‘³+9iû;¾~±«ãü¦9îÌœ?¾ï–œ'¾¯'f&'íôLþ³;15=#-qç;A¾¡dtjjòVߤԜŒí™¾›·mKÜ&¾¶vsjbŠoXrjrFFún_¿PßY3fÌ\™œ¶Ežé™¾3Ýw…ïêÄ$yêæ]¹IQëV„äìÜúFäk¹éÛV†f$®zýí·V-Ù•–¹}uø;É1Kå;Ö,Û›•ºymDvÚ–¸ª sâçN¿qÞKÞœ?}b«/¿4C±`æä= gMÑ+úÏöeªËjE½DM ÖSQÔëÔ|j:5‘Ú@­¢–P/S/RÑTDÍ &Q«©pj&5™Š¡–RS¨5Ô2*ò£b©åÔlÊŸZKEP¯PS©8j5‡zƒŠ¤^£æRÓ¨uÔJ*”šGeQ ¨QÔj!åM ¥\©E”™Ø ¦FSÃ)wj15†AI¨±Ô T<5Žò¤j#ÅQ2JJ%SoR<5’zŽò¥Xʃò¢ž§Ö“D“×VQ_¸,t9ë:Ýõ· ·v·§î³Ýë%®…ä1NWÓ?3K™O¤¯HõÏ y.÷9ì‘ò<÷¼yˆ×CC݇næ5¬f˜0¹eT›y˜æXR}ü$Pneq œ˜h23^ij;ȼ‹àU˜çG½–àIc𠜇ûd¬ÂsdÍŸ¡,9ÅÀž¿úÃHð|ô†ÁH¿á‘ü÷ßo÷›4q⼿=þîÆÞöþ.+ºð¶z’µüi%;-d Øét–ºHI@¶… è _E&ðòð?>üádðèë9zù$/Ûøc©$1-"1]KãtxÌþz=h"/;=9(ÈßÿU2×·7:G"|…lVï%Ôf‹O%Ú g!Ü´…ÆŸ H2Þ‘¹³bGÀT; Dp-¶ÐÐÝžE£²CŒÆóínÂ;B»¡3êÀ2Ž¢3ââÓ_GQÒy d0úÂ秺¸ƒÆTEJÉ R—¨5\Ìò »ÄR’N~ Cø« ¹ûܸ¥åöèU³®ÚÌ„©Ñ”ùj•­˜aÁt+|#2Ù 8þsI>§9hælm¬¸!ež ŠkD(î7‰[˜ åô‰eÝi½H ž÷ïƒ/û†L¿‡=CÞÈ‹ã`ɧì㾩Ӄ‚ýýôýôà›Þ‡öäA¨ü­.ˆgщÒ:åá¤[A]dõ^þÓñPÌþ>ÆþCN­VU©Š5%Å~kJ¨<aWtIù‡Ôên¹w¥û!zˆ®F×Τɵ¥&Ò®$;¹+h¼`9S»·Jaïãñ?*B‘ß ’nÜ™AÈ‚´”0²»ø›þIãÈÉq!ІÐ^sذÙ|<Üñ(àÈ7³a1v/ìËov0_Äã0CÓÓ_ð½Gþ‘òNL·ÛÝ`„•u.ñ Fþ î0ž?ÏÀø)dŽ‘Îp 8B[ûå¬ ‡ñÌ9ÔªlMjßÒ…ÖJ_c&¼âð?“ù¬(¾–ÃvÃÅØæ…$¶Ãfà!؃Ðñ°ëg›/~Ìãò)ŒÂžYÂ|kéÚj’ْٵ´ì¡ö†Ü0š Hßy‰–}‹—¦³¯ÛÒ9eÊ"’Îk½¿òd“){’P•þ‡ NkCÝuâèEK{IIw²!-’õ£A£Ë/çStK*“tfDl(È ¢î¾ãïT8ߨû–†+ŽzÖ÷V[Iëò&™v (X¢¾Û{ÿ§9_Mäñ!'†ë—;“b.m±8ùØ8îPÌ‹«—†…®äxU,ŠIÖ?ÚsŽ’õC$Nœ´‘ÎÕš UU5x3µ…U*»½‰' =éÇ(t&“­Ö|û3ÎLëȦ쿄X˜M‹ÜhÇæóø3ËÇ=aDû(ÙeÈ©Ulù…y¶×úð±2íWpY¤“jS¾žt¶¥°‹–}DÔÙprLª-h”ëÕeût$؆êê*^aâÓä†4´­Þ9mžô#æbÃm6áR\³È›®Ó±f€kïÙ–‹ÐÑ‚ÁßÁ³è°ß¡#ȸxá;6_£ÎáW3†Fî mƒáyR7ú|n —Øgw±y§ûU‚‰ÝlMeúø…a³7[¶É䛲Zó®ä]Í·ìmTˆ°Ï­MM²$ö¥™Ág¾ÜÇ•¾·× DRæ±DœËdªÔ×qÍ̱õ=™Wއܾü°KÞ¹µ‘O«K×/4EVeêß6¼¿]£ln}ñóÓ7¯÷$Dj9Ùù=eú"ÃÙ5³Ž,õ1#;Ot‰‚“]³}Ý™z­ÐH„×R XçdI|í:\„P¼ ?àÀ"!'ìp"n„ÄOìä0‡Ú?Ø/ßèÄ£Ö€‚Йw:Ä>ÐÔ1J–-¬ñêuL”" %윥VÛg/6ѲQ1‘iËÆÄm³žæáÜt,Χ ÎÆÝ¸ðùŸœãÝ¢-éïã4‹4Î~?&|ÃzB¯žb²Ez%ûIÿxáËû¼°uôG(-«Lº‰k Mz{ÒÕzå3ÙêY]ÙÔ󬾶Šúa^(£0ö¬ÐÕ9Ø¿A̤^m2ÈpW!¨_>щÊ›ux¯Wm­caœhfílƒ¿ròP¾ýrìëtý•ƒ•ìp0pú&‰Ûú¨þWÛ(ÔYˆè‘ˆŠˆ¨¿îÿ!¢‚y}À˜u%Û#Ìðzà0ékÁBv楤eyÙ±\~qq*èÕ†2-*Ór}Mº6$½Úµc=ÿ:mN©ØHÝsnt qfÁŸÇýt¥çÀùî¤û²±âÉÁ’MG»¾øªó÷Î.êˆ £õB©ýèç5Øäõ^çhxK¨“4;ñƒS6®ÓxM¿\RLã•‚\r݉&¦9Ž~š6ÿ–¶Âknì·½?¥vFõâŸ;Ž÷¢é`X“tÆÿ¼ë½Íe¥¸uÒ¸¿+w¿vÊþ":Ç>ဎ¸rn–‹åßA: s`¦DGª-L9ÚÆÇ4ñ,,öVÒiaÍ.vu@[GÃ</'å¡râA¢"ìÖ8‡§aøÃtì/‰ø¿ Hí| õy;,"‰\þ\I q¬æ¾3èwÈ\Õ‘L !;}þ؇ZÇi޾Ǘ{™Áï‹OuÐØŠ¤­Í;y|µ—DÓv8B÷¼y:zsÊîu[9ù©äÆ­h3JÍÞ/ýë)èn ï!îöq·ƒ§¶BÌËÏwÈBÂNuoïC>Oð Y“ºŽ‡ð/؇׃ÆO š0iÑÍG¯Ýx쌸xX ñÄ×yõÐ &{ÿ$Éús‚=‹ONvDñ6ÓŸ]…q’H»ö‹2$7ó¢#%1È·˜GÖ¿Ë%*FiÌ7›ˆ2p0Ô’½Â±¼´¤´û(Mù¤.‰ÍfDÇŸ>d•n°_èa<3h•dîß©À9 [€8•òt‡íä…68Eˆ`:ìeKë ÐóM]}×Oõ! ª-1ìÕíÕí³yº*ƒ%Éœ±lׯ8>dEò+?'ůÝÄCÁãÁµïÿx¼èû™¡±[æoåtkÙ†cÙÜÜÚa!y½Ò4':<$|Ý©[ébHIëwõ"‰¶n!!¢ùl6g!,£k «‰ ò/ÃÄa jÀÅx9c· µ"_ÂŒ?yV½¿X«BR•ªPUŒJ´jâ%ÿ©WêöÞ`¨.Gŕ✥õ‚ÕÖ-µ-'Ä×o,)ATâSP­2´fs„É—ýÒ`&«RmÚ_©·pGá¸hÝà}˜D2S.&€¤@aÌ3›tõF^„1Ê ’À{$üf¦!§&+3'WN†–©9 þF’£SM:½¥ŒKÇÓØ4¹<=£AÞÌ›èæÆ†CM™ i¼#0‚Äæçù¬¿ƒÇÿ3óäºhOxýðY-íP*rq*‘QÇ2Haþ"xÀE¶·õÐqôwéÝ}AÁ³V¶lº”ÄÉ~ Ý‘1ÚÿæÂ'O¾»þ“ý‚.l;rX5l_Ïê%Ë#׆¯úäâåÏÎ÷ñ¸Í]öÛ­ 1Á!ËVÎZþ÷¾Þ/ÏÝHŸ°¤®Ö®ÕsøþÉ"( $OHžL|ë´™ú‚ZäS‹ ÕÚÆÐyŸõjÁº²Lƒx׌ŒÕeGÈ]ñ³Ÿ„Î^Ç™*5*AE>†Bƒ^[^E²â+Á¯ÔjKH^ úªêŠRÆ–WƒVè²¥¶«ÍMX ý,ÊÕ*P!Zžµ2=aCðÂø…(eW¨+TZ1y,êüÜ6EûÅ ï|–ïý¼õ{R}†bzJðL½Ø7ïÇ+ç¬7Ú9ͧlf‚*W¡HNLÌJ" iÕÅonvñê•7Îkâµ…é2E.RÖ»Ài²[ÓÒ“šÓÛyÝÖ|裶´¦D[È¢;HR] À°·E0íy`.m†Ì2³ºZ‰|ò‘FSš«ÀYÞSh¹[YV_¥B>Jµ&—'·%!"™å)E2»J«ðÉ|‘íóm7nÐ ¼K¢f^Œf­¾¦Œ3ƒ\ò˜Î±Ý--$ª”q¥¾†¯#÷ûh‹No2jHS ¦Ó`+~m ­‡6>ñü›‹ ,fÿíþÆŸî6¨,Ÿÿ¼I|Jî§½õVóNûý>ú(­Ù¶ya÷ŸÃX­•#­Ô ªR«4Åyj“B%ê`¯X[ý™ôbY GÁÃæáw€'ô 8,ô²s "£QJ´$5gT4^È»¨¬-¶äTš3ˆç]ñæ\â.‚Ѳ¶’©ìDM‰FŸ?F´…9üBFvÂnà¯ÙœÓ{Ìgå'‹¥øyûqŽ^I°£€',ÌZ .Ø»c<‹ócp`Ÿ/¸‚û×@ ‡¿ÿ‰Ej.5lu|NBVv…0ï”®‚¨QÚq¬­£Á¢Î¶p-µFNGVn?ãÞW¢áTE™ïeéäÈ'<66"M[ÐÂ/ÉŠ‹C¡RÙéY½a·:[ë;›¹ÌXù¶4y"’F¯9óe÷‰cg÷*²‰ö^¶¦Ðo;™ø÷æ/-q¶õ1áæ:8ÇòKÿ*Qgä)Å «ðDñÉ~£h°lOÔù¶ƒ»>lS'³L°²åL÷éÏ»o߆0´îÔ#½;çf@dLú†$.ëe Ê•Šu««4i9ógN^BÒÞ‹+Ã6*2¦ó8¿-‰Æ^³ý a[k3ÐÞ'­”‚¤€±µQ}e­ êDæ‚;{ äeåe¤wû•ûù*‚ðÅX¬–À}¯+â3äüLÃ!l“Aâ×E_øa6‹’å)¥Y%ê½H)%i7;~ª›ÁØzà@«Öü®^‡ÞC$в¤ò]P›‚™žM'c”âù«~¯¥„k)iÈ@Û¥"è7w·¼“òv~Úb«”÷¡‚íŸ ÅwK‘‰¿aHK˜b›@C£ú½ à7¼±€7¨‹5{‘Ú•”•hKÈ ­¨©PÒ–éÊ¥övì8dZ=á¾5›€ïiá7XmYÙ»e¨ûÀ±3è¼ôö¢KSâÖ)Ò9ùe6RIE6×iË÷¸¦Ã]–sHÚ׳>bSú¶Í¹¼¼@6 ©¨Ìm©•Ýp3bÁ¢…ËfÆÄÖ·®ã5Úâ2 é‚êBU¾qÏ‘\¾+½«àcñ8óg¢xeÐ¥øž ýÝ úI¾ÔH]¤x;»&b4Mj™x Kõ…ñZlȨTÇ/;C ß?xr†–Uˆ™IJS)ÿ뿹ì©^ Ds /ô´w ^é½Ð/&Æ¥¨Ó#8M‰²H½OÆäؾ©å:˜¿hÑw"é­žøe«×%`é>œÉÕꮨ®á¶ã¡l²<;5­!ûßDi°|ð¡¼.ùÙ1“ì8<µÚÏ`†ÀˇÁ]êpvë@Ö%^í7©ˆ]'Œ›Kãì~I<ﵘKÃ6x*iPê¿~áE$.ù*UA Ií^þ*qÐa ù¦M ÇÃK5¡½ÄûH›8h殂Ë1ð@¿¢ßRŸ†ƒ{æG*ƒ=Ë?ñ/ ¬.g¬Ð@ÐC$$‹ýÙhÒTSñn óô…„ Ëuû¹ŽúÕÄCß51<Ä?:®±s_LX‘$5_]XP`TÉâ»vt)Έgvßß%>Ç}ñÍI o©²âlLÕþÈb?ç9,D°xt‡•–#"Œ t*=¯ÛÞ[æc‰FE”Ø^+ƒ^W^màn€ûMì®/ЖèQ¯¯Ö•ꈾžm5GÕ>Õê*U©z_i1‡}6K€cjŠž1À°,‹ðŠ<- }ÜÃúüñ!C¬C†RÔ1ù ‹ endstream endobj 319 0 obj 7043 endobj 68 0 obj <> endobj 67 0 obj <>stream xœex |SÕºý 1ÉA”HPsª¢"2(±È -eZ:Ó¦M“¦i†fžwæ¤S’6iéÜÒ2µ RÆ2É …«‚€âô®÷zñíSw½ïíÀ}¿÷ÞÿßüÒ$''çìó­o­o­Ã ^D0Œ+W-\—4~mŽ0C2aIQj^NZlû›ôk úõAôL4ÕýAÿ1À ¿þ9œžó*<3 ^!˜ †$и @$çdeÅMN\ÿþøñüÏ–É3f̈ß!ÿïoâfHr²òãßÅoŠ3ò DÂŒü¢Oãà½óðYã³òä¢lI|jzzFzìgëRó2rãròrD¢‚âø± ÞŸ2iÒä•9ÂRI|b05?~eÁŒøåñ‰YÒ¼Tqüóåÿÿ;„vÖ#Þ#ÖKˆ©ÄX"™XJ|D¬#–ãˆõÄrb±XAÌ'>!6+‰Ä,bÁ#ò‰9šI #毯,âUâ b8GEŒ F/³1PÄ D&FÅÍøqPá /˜)̳/ˆ^¸ÎZÃú–ÏΓ É;ƒ³¼h~é—/3_ ywHûPÆÐEC ûtXï+¢W.¿ºíÕÎá[ãÞ‰‹ÄÝ‘0BÌÍä†GŽùo#µ#ƒ#ÛFÞÙ?*4ªŸ7‚WÈ»Î'øoð›F¿0úÁª¡4!˜ÙIŒ0è/BÜDɯ¾9¾À+d£îë,Ä×iÓ |%\âlð< Ô¸áݽŃ"vrèz`àƒŒRý2©„vιp¬<ˆ*YCéÕhÇ7ô®N¤dé1ÜJ—ÏQzAP|Í /Ý…Pš”*yÞY¡VS,ÕÔÀŒ.­_U¡õh)U(¤âÚ’æ‹p>î&HPWà°¦à(Ù"®)UR•_Q j´>=(i™³§¡7eä©%Á*@ZØv»X€ÞžeZ§3ÛÕÖR9”¶‚(Í:66ܶ5*îs‹ ó3åÊRÀ7ü~U§©^¸ƒwÕu×VîÕ§/[¾ }4Fð%Ì·:“µÅ–”|%瘽ÒdÀd7ÙÍãÑo¼Ûì#pJ öà•sOŽõìd0 •kL; yÔv4ƒ÷@½ÁZªQ¥l?Ô}rU€ ¥í¤©(| Å™ð·ß¹kW§K721§ûúƒŽÇ§ÏRÍ-û«÷².hИmf‹ž2ªmF '%ÁÒ]ÑHÃám«Ð8ÞE“>8¹ö‡[§Zïœ í¿ BýŒ£ÿÏþ7¹èS6z< [KëXh‰’ÝcÝ¥EÀ`Q™ä6‹UkQÙ­v‹ÝòæÉË{[%[Ãtß-«M ÌÝà ÃéE¼/ºYa6=„>ƒ¸;•ëdª¥FÜ' !Îb¯Þ ZAØYh…ÃèU¼êsÏÙ@¬ÞÚ(=_á}ØpŸ ïÒ+¸xµcчhòǧ“¿¿|±¥÷ uùÒþà6ùÍšÞiM1·»)3qþÎ÷¶/¥2×eˆS¹%¯óÔ­æGG¯SûNwµtƒg‡ýœa€‡pÅ&™ÜäZ½:C ¼ª m‡ƒ¨Æ'Ñ¿ƒ[ÌÞ:m– ·ª‚sÊæ³‚b ¶›J7lGÓy†.y(h$š†V£q ÷§\ºr°í×+”vƒMŠHQX^ßuüÀÍã4^ã¶Ø‚% ‹D¼æ~˜#iÜ÷M$/_45ï©iÂíÕÿ¡üýk'À˜ýñtwÜÌ*f”:“ €ÆYìÙVžæÍÅgÌAÉh+£ @œðÛ_>ýŽRTMžºF8ðsÙÈ…/}‡ÜýŠúüè…¦Ëà 8–\†ˆØÕ£ÔL¨¡'c oúŽyšË­càG¥·¡¨€> ½•x¢÷$óµ[Õš;55ÈÙ¢D«Âw#·¨zuµ¥ð]8΂Sïn?²péæÜ™k¨æ_]컓os°€Ãb6üÒóòÛh¢”C$[M!X–䜲"uõæ¼õ€,kwwÂQÍ·¨Æ+gŽöXÉXƒ¢GÔÅp*¹Ì„@wÁê<%Æ41³ódÐô·QMn8.úûð-¿KذA“Ñ 4næÉ¤»×û|yV€òá‡ÜÝoõd´JY”W’•'¤2³3äãŠg‚ú»eh8ý#dŽŠÛGö¿Ê=o €¨,£ XÉ“¯1š’t¸^ þ£µïô/×{á INGì§(Awµ²á²Õ\omз«UºMr4«q9˜‘Š^X¼xõª™Â·¹µ¤¼¡ÒS>G …­(-Jßkƒ%µÃÁ—ŸÝ¡ç\÷´ƒŽç~Çž:0]¿sm*àk ¾€Ëáry¨¸_Ü^‡Û;:* âž+åE9¢ƒ¯ý.?@Ý€7YÁö¶±Án†“÷\? ÈÊ€ÙhµÛ¬fÊ¢·™S_Y[WS]»'³iÓ¦té–,0]¶U8žü=”þ‹{׸ûYE쿊ëƒ\^c•‚RK±zzq`6O¾ÊhJ4à‚ØBœå³ ìβ²Î0™Woj°_ƒ/ÃÝ­={šO³äÏsO ×q? .\ÃõF+|M`Ø«‹”6ÈË…` XZ´u{až"ݰk»Á!rcôÿÚ᡽°¬/&îj?kQ܃;ó/ˆ´¦l³üDŠDƒ1íæœ‡Ó”þ-Ë SdüLÅbÝ\@&IÊv•—©DU ´—íí°µÚ+À>G“©\ç1;õø¤ ›Ú,˜yW JîΘ¦7M²ð5 מm¿ Kyqj½åîÓ¯ÁÉêUj»Ê® ¢6<«ø á%2ò8œî>|§ýtSkxÇâÑù~sÍáêÖÖ’hA‘H%*¤v¤¦­V¦•fñN@¡Õ9_­·Í×ðœ]ð²¶R'/@¹˜š‰±b\ÝQ Eáº}U¸ENuÜ‚Îí¼7*îŸtý>w%Û ÌNƒWT½³,«sòœ ëk…½…Ôê4¹ H€Ú¯©)»¿ßJ&\Þö78üþÙ‡6ü ^°½¼0‚d°®¡Òév—Ào«²÷ç÷?~u7d˜"Tõ¡ï¹à´;í.{™5d&ãþùûÎ=[G'¯I›óé–½wyáAe¸«Ýå`,ý7îÏ=5’-Ùší%9”tGž4Ò¦#Ozÿr‰zîÎwŠ¡:ø9ªæg¨^2U˜@>&žØ(yN¼ÿî3Oˆ³Æ%/-Àï zkÏC o­Ö^‹»ÈgX‚ŸÏR¥McÊ ›yw ZîÙ6ÙjG³l| žžo•÷ÀkpV§z… àyNÙMÀn×Dm< ¢6jƒ81Õ ÿáæá;£â–wÂw¹24•bûC^O(Õ–¾ú°±6l ½vÿÜÉ;{‹n9CeQ¶‚F²=íÄ}p´d–Í&Cì¤X¥lC©ÁR Œ@ç,ñàßúÅ*§òµù›S>˦t%Sû6„³A>¹M˜»]·|-È; ü)&Ðú#ð)=A¬½çºË¤3°ÍH^¬Ñ*©7e¡ áãTóO5·À.r¿¨1}éÂ%è‰ø2½ÖìY£N7®2òU ÀG•w—{œR³XŸo·[KMRôÚ@Ûýpbåîý_¿wå|¶•µÅª¶(©µ(M½É˜4ü°²ñXGãCl è¢ÿÑ O™ôÕw»K.9>Úx}áöªÎ¶öfl4‘?Ì;†F CÉî2yìeF¿Ù«Z 1KŒ¢çˆ®ÆRªÇˆZCœ•~£´ƒ2We ã4Ìà]2Ãa¨DzQýËD¥¯ ßȘ7vÙôªRëpK(¬Ùr¬P5ðòn<(1û7ôãªÜ ‰BWø: qI}C)þ˜Yh-Ú‚D‹›ÙLÛpSô<7júºÂU¼ÐéPÅ%7B5JN…½ÒæíÖÈÔT ']`5h4Ri†f>wþ-ì$‡…q÷îS‡Žœo¼ .S¢–­¡B_±g{µ•‡µ\{þÑÆ_1áQz.÷SvÓoglªò}V—ÙdµL‚ô +6æêÅ£ Ål+y‹½5Ùôv«UÏ× ÙÀ@J£ÊÆÃíM?\¨}›–+•JÀ×›ü10]Ô#ø-ë>;vº#tàw¸Í„bÈæJrV¡Péô€ÄNÔWæ új(àrùœ~ÒÉq8ÁÛVç»%2kº»Ï˜Í˜1«Ò$ÛŒñ”kLy@Ff†d-‡÷´ÜïÓŸsE²"anMqsC]]SsQƒÓ×*ï Úý¾úIgÓÙÜýØ¥±K‹õf)À`»ŠüÒ@®'oÏKx?9˜nÐW–†KªKªT>ÑM•… …œ›´fþôå×ò;üŸ@æÌAV5ÛWW^Ád Zô‡¦V¬)œ‡!ëRѾÉßS“¿×Wa¡kß•=­jITP+öç8—ü‹3ÿ¬b€>8&fýRU)&ŒÑâ-÷Psƒº³æ±чFåÖù«>Ø´)¾,èN\×ïáZ‰ê,c¢‘_ÊÙ‹%/`öÚøÕ9âÂë^¦ q꫌ZÙÆMR¥ZN¡Á¢º•gö¬VgWã¼ÂùÜQct”ØF‘z«¥Ôªµlzбn³?‡Ÿuµ…¶7¬¬Îâ·-¯.iûACý¡û1£)?@ÿb€ï˜ýÞX¨Ú¬d·YËl†2“¯¨²ðÍh¶EmQ˜KäKUiÒœôÉy‹9=ñók»[á/¡’rúœ>‡'z-TuŇ—Û ä|i*MLUiQ¬CkyBD¨—4rü“8Žúæ:wPð Ü»Žt{ÎWñc#J¿fÐ{¿g†°ó°À<Ž&g™Î—Q‘Xñ¦k–{*Ï™î40.áúΫžòHGˉÇp¯ÝpŠœVàûAYYc»Ãáö¸=ðuøÉ8\$[¤µB FIí1„T‚Ê‹å¤ä$£Qè“\ø”Wns™ÌV›Á,ÀÂÜk½¦}ª½Æ×ž·ù58¾kñðÑZ$–f ÐÙ48a릟â¢õ1a ÆÕkñC“›Z¢’ã¨fö•û\žåp9<'Oßù?8EŒJ«ÝdÕSèzŒ“˜ùYaYÛñŽæŸ/ b!ð(‰eË 7™t:ÄU©Lf£A˜§~¦¡&¯/ÒÿíœK¹ÊNgÀèâ­4Z­Ú͆=ùÑœ²xh"Z†¦,Ú»ãâµîvøÊ#J6Ûª2¿BÓ´¿¾æû[ô)¼ÁÝm«•€lðÉFôbÂ<‰(G‘Èì¢æÃ'÷þÖ}žÚæHÛþXÚòhÿPºÆúc¥’}È\­% ¤$eg"ÚhÞz•ÝÜÀË»«Ê.ÄZÀ¤äœ6:­Qôêƒ0¯†M¦Q¸1TQçàÇZ¿žºÉ ßÅ× 7›ôš"¡F§¼Jc“Ío÷Ú]â¿iƒàÁ¾ÎƒÕصú­eæ £Ïæ…¥`4ªI¶gdÅ'PÚS¥W´àKAŽ~¥Lká¹U{gðëW_µª ãÍ@ƒeB™\ ø& sé¼jŸÖed‰J%+Œ([Z+_ôPmÑÆ®3-èe^å†JeØ vù.Ƭàÿ8΀?õÝ¿ã¼Çì_„5\§1謖‚¬b… #bö–yÜ!ï.ê t;ÜN¼`~§¸1§DfTI›rwlN@ƒêï{A ÙQTŸ³rvE ÎÀ «3ISl™®â+ë9 •F•¶hRŠ£ŠfXuê dŒ·Sƒ{v?ýàÜéÝ82ùôJ}.²©©˜Kšé9vý蕞ƒÍ€,è´f›Æ,§Ö …>ÓRt|a•²áÈÁö['_̲këèWŽÆîÊ´=`ÂAý£¸gm^+½Uc’ÚŒ6£Ýl3òÐë6–…SÔ'< ÇÙpœ|mSÏg‹Öï@ƒ þAã^Þ¨Ï2}fàÃtåv7î\·dCüêTfFJ1ŽÀyªòºs-¿tÝ¢öÚûyì¶Mhìw52èý¯p},46þÙË‚«ÙøS;W¨ñàQð£þ™Þ†Š@3Àmb56Яw2Ày̤«ûçsÑhÕgâ—£¸ sÐ[½M¢7¦C&| ²aÿ÷…·Æì4¨ ç5¼aôßà‹U|DÜk7ÎY,™•¹žÊÛ–[æÊ¬£_¹ßpj:Ü9òìî‹!J÷á¶ÜÝ?†k*c ¼Äž‰^¯ÒÞÛ<øPÌvZ˜?±®±cù'¥Î9Ú ª6¶ÄÛÇfÒ/áˆlȰj¥ÓrÐ(õr "…5²æ®Ö]_(ÛÖ—(Jqš=^ÊQöïôÄ£0Û0Ímµá,lXì»Êð¨à›ÆYꔹ%.HIâôÔ”-Å;„cÉIlS.ë1»ñv¢åyˆ/ZÈ·LXÔòRc U&7NåNœÊÝX“‡ŒÈÃR™R.Íj/<ôÝõ¿Á5]‚«ðËׯõDpšè¹|ðk£Z­ [= e6XXô,N£Ëä6:Mv«ÝÊËBcXÿc Î5ŠXpnìïe¡5lü©—ÝÖË-ÀŽ:úøÏ™Æ|½QøÅÚþáuØqì¿ 'Ü.¹ó_ÓùðÅ}‡»Áuòëùg߉Ÿ¿rJr4ýò|¾#a˜ D~aPÜžx.ÿœüh8ìIßoTÜSð¥ðä´GäŒ .„8rDÎ\³zö¬¤³_Ýî¹Ö×!p;¨ö‘OqgßT4€.òÚ¾î »7/Z'ÎHÊÇè[¸öv@?°K—³ ƒ9½4žû¿Ð3¸½ð•Ö; D†J+åq‰Ô,0‰õs ïhÊÈ3pxË­çß)Äÿû»¡Ð¥2¾þ•+æå׋›Úvµ´6c¶½ÚÈýçö X7rð´¸_ÉøýWnÞóý›Ûêñþb¼ÿ_áÜ<‰8W¸KÒÛØ&®Ï‹ÝÁ< ¯ðrÿDîÀÐ?ç²n²é¡ýscœîç62žÜ…‹o3iMssëRÃ[ÊCWx9lÅò¹@dÞ!áolëAf…°%+*Š(Žg& ÞìšÂ=Ú§J+ÇŸNáñ¢ó¾t«ƒ}|ÓµÛ·/Â?ÛÒq\÷Ähð÷§¡Ž÷…¤6Û9/hã¡U³¹+•4CàP}GW°Æpìäôˆë5_I çƒd>˜¾n뛆©ŒMýœ&¸ÏÝcÂû§sÑdô*AÄ»8õ—î®`kõë­>8À1$œ²ú§qc÷dËÖOÑè44#ñ*cÉŽv’s{ü~n>þ„꼸¯õ ¦lÿ'ôc÷g`:L¢ñ“…ßz‚µ„»%^Å8:¶•ìMÅeµwµ¿žrúÞØXæÁ·é;ˆÇ„‡ï¶¹¬À†C·`–j²Ü 6­¯âô:ëA ñɦ3Ë‘`@ËÓdëfŸÝo¿CïºÉ€ÿñ-“)®dc±:ç±D®ÅÁpp[¸Ìÿyá­IÙ:¥P°¡@”“¿ jäí¹ÔÝ|×O®_Tl-1©)Iò¶åK¡LTÄS@ÈéÜ N“ûÅ­;ó¥2‘«­QªJ½1o^X$ZŸ+Ã}—ö@ë2¾~ü²€COGIøëã¿Óû»†Ã‹=w&й‡;¢]€<Ñ™™œZœµ=ŸJÍOQMQ‘8J{ƒŽŒ{ðEqûÚY£A–!«TR”¶µ ü¢2am~TéÃ2S ,g(¾ÞÛSQßMÝ;Üs<7òÖJº8ø,CŽt´_÷àæª“Ÿ&¬H[¶3ælŒ]tïu|t• õ8HC»î: Øo£|–ŠóKq»¦3¿­0º¬#cæû“‹åþh¾@\£òá1+Q(%Ùû¥—á ȇ#àÔóE'RP™Y¡™‘$Ï*6?Ì„7h+Ôº£»ý ®JPNÖ©BÅRµJ¬wê}Å‚Êmî"’^+ çvÊê´>œÅdØ ˆ‚ÚÃj±M·KUaä¥Ê[ ©F…‘²¢&.„»«*Zk—Óår*p3©YRši”Y5@OJƒÊH](\ç·ùMÕU—¥Ö~Âgáµ—ÔÉrk$† 60ápm¢b»*ðùTþÌ^wcØwÄßå –ƒ²V”ª …J°a­Ù’’O•Eè…¸5®{ñîKu—_&ˆÿ0`^6 endstream endobj 320 0 obj 6784 endobj 71 0 obj <> endobj 70 0 obj <>stream xœcd`ab`ddó÷ ÑÉÌM-Ö ÊÏMÌ«31É(üfü!ÃôC–ù·ÍﵿfÿºÇºàGŠÐ÷ý‚ßwñß&ÀÀÌÈ¸æØ çü‚Ê¢ÌôŒРpMmm„ˆ¡¥¥¥BR%LFÁ%µ83=OA È(KÍÉ/ÈMÍ+±VpªÎÉÉLVHÏ©,È(VHLIIMi KÌIÍVpËÌÉ,(È/SÐpÖT0200´Vð+ÍM-Ê×QÈÌKËÌË,©THÌKQðÏMMOTÈMLIéuÉÍ,)ªT01È̃kôËÌM*-V{RÁ/ßRÁG!(5½4'±S†ÉЈAˆAäQÏù¿jø~ttÏbüøùûöŸ¢¿= XkÙ§O˜Ößß;wÒœþ©Ý ¦ÔdËÿ‰dïÎj.©nªiªíHìâ¨ù¾b»MOõÔîÝ?Þ°ƒ ¹þcÑUÆï'2ÿÈÿ.+Z7!-¨®)®[òw3Ûw›ï.O^lºÞ}Sò½Õ åðÒä4¹ìÌšì*—m›ß®_}¡›ãþ‘ sÛX=s#ùßn¿YëH±ó•Ïÿ6ÿ{È|¶•\¸WNæáy0—‡—À€¹Ô endstream endobj 321 0 obj 454 endobj 74 0 obj <> endobj 73 0 obj <>stream xœcd`ab`ddóñ ÐÉÌM-Ö ÊÏMÌ«3IÉ(üfü!ÃôC–ù·ÍﵿfÿºÇºàGŠÐ÷ý‚ßwñß&ÀÀÌÈ¸æØ çü‚Ê¢ÌôŒРpMmm„ˆ¡¥¥¥BR%LFÁ%µ83=OA È(KÍÉ/ÈMÍ+±VpªÎÉÉLVHÏ©,È(VHLIIMi KÌIÍVpËÌÉ,(È/SÐpÖT0200´Vð+ÍM-Ê×QÈÌKËÌË,©THÌKQðÏMMOTÈMLIéuÉÍ,)ªT01È̃kôËÌM*-V{RÁ/ßRÁG!(5½4'±S†ÉЈAˆAäQÏù¿jø~ttÏbüøùûöŸ¢¿= XkÙ§O˜Ößß;wÒœþ©Ý ¦ÔdËÿ‰dïÎj.©nªiªíHìâ¨ù¾b»MOõÔîÝ?Þ°ƒ ¹þcÑUÆï'2ÿÈÿ.+Z7!-¨®)®[òw3Ûw›ï.O^lºÞ}Sò½Õ åðÒä4¹ìÌšì*—m›ß®_}¡›ãþ‘ sÛX=s#ùßn¿YëH±ó•Ïÿ6ÿ{È|¶•\¸WNæáy0—‡—'{º endstream endobj 322 0 obj 454 endobj 77 0 obj <> endobj 76 0 obj <>stream xœWyT“WÚcHÞ×V±Ši­ ­[ëVul cë†h­¸ ;hd—,ì d…$, $!$;a_DD\JmÕ¢míÔŽNmU´{­ŽsfÎ}éËœóÝhç›s¾ùç;‡?rxï½Ï½Ïóü–‡EøÌ"X,Ö³AQÁÛÃcV‡§‹“sÖ’Š$êMIÞ//ЋYôó³è%læ ¦ÿ·úßîršŸ_øÌzë|ôã<4ö Áf±ú.$•)²ÓSÓrý_Š8õòêÕkþóŸ þ‰Šñß™œ“ž*ñ_ä'gJeâdIîfÿ ¼:33ý˜j¦B––㟔”œäÝ™™|ÜWzfºL&Í÷)èeÿë×oØì¿?Oœœ-]ãŸ.II—¤ç*ü$IþÄÉ© þℤdïÞâôÜl…ÿ¦õé’ÿݸ?]œ˜—ãÿø•þû¥þ!þ‡’Só2²ÿû AhWoWHŽEïÛ!M ’%§ ÎNÝ•“–›–¾'ÿxAf‚\œ5kÍÚu¯¬|éeV?áK/±Äb'H¬#–‰`bJì"vˆDñ±’'öÄÛÄ&"’x•XED!D4±ØAÄû‰ "€sñaóˆgŠ˜Mœ…œΟ¸oso“›©%”eöâÙ–Ùß>õúS×žÞø´æéñ9‹æ ÏÝ=Wïû¢oß¼ÃóN?ôÌÍùsç/™0ÿÀüÒù“ fÿ¦ôN7Š9I¿ÐÄšŽtóÞ1ëìi7ý1¿€Ë$Íhö2+4Eqå9Šu“qNÃ\Wí£Ùäâž\íY³@%€ìÂ’È JŽläŒÙyˆDD1Ž/]ÆHÑg],ZJGò˜ÅJno}qQi…¡L/ZÅt1$²êJP+€F—õ”‰r1‰*²£´Ak+D\¦‚o.q‰=1õ© €27¤P¬ÊÊ“«ÀÅ&]µÜZXUTnAANFoöèµ³ eDh½ÆÙ[ko3 p|pÑ‹Þg}4…vN±ëéy³½²(O2VÄT’pH«Š.¥”(ÍEFW)0H¡~òìéGPçÚ2÷ˆ˜dBÔ…1ÞEI.2¶Zã€sR?ŰýHfáÞÝÂ/I½)V‘® /Âê>§9],ø‚M¿ˆÖóâ‚Ssµ~ïWˆüûû×o:µ)v‘%Ï&mT4ƒ £ÅÝúAð™×c£ RE1ñÒÝðÅ<ûå:Ä>=Rß3(ìlswv_¦—jÚÇÍš™^ÅcŠåÜ åõzÈ¥V!Ie8ŒŸpyÿ½œSÐ"€&—­¯ÒSÉw3ïËÉË•¿0"Äb6ñ™ LÄÆŒ¥Ñ¥¸¤*7Z¥°A+¸\íCãèiôÿãßÛ˜îͶ¢H—^Q Ú ·²çÝd¤Ei?z‰ G|´½ýñ­&ÇGUßßÈ'{8F7>bO¿FÆ›‰!!@£~È7ö¹ÉÕª:¸NÑI¸îtÞ°Pn&Žd²fLLmâ0±rî£S;¨™U$,SÉ xŸÆMn©*l…¿QôJUÍœáÔq}§W[>„FGcHî^ðó#d|ôGD>ç—çÀYñë—“SF‡¶S38Övµ: Œ’“~yèkî-¸Þ<Ô?ØÛtΘb$³KÜ)s¼]?ál¶·5S~¯µ·¸†N.B>/1Û…Ì·¼‡0nTR~És:…,‚ˆü¤c¹Ç‰%{€ŠUÕôŠÐIÜ~¯5[k\Â1."'ã6¾¿V„»Nç¡7zXðªûŽÌôQóìúÕŒYüã ´-øùŸHˆž{å³P¤–ò¦.¯f–0œwvoKJiÉI'Š>ÃùzpæÊu¡÷¬ z>ë>*˜b£‡:Z9Á©'åPTjIí¸ˆþˆ4šâ Ót{ E¤­Ò6 †jt‰"f=™Ü+«=C®Ã]ò"³ðæ&4ëƒá¦3ý¢½$bù€^¯ÑiÙ: Pá_¡yˆsîÆ_Þ;w8Rä;ýŠjŒhF#,@{šÀ .Fùœ|®!¿HSÅ 4+-±õ1¶Ã™ûƒ÷%¯f¬ë~õÝC¾ýCò_qà¯ã“·)Eãö{Ä °¦£Ãáç2¿ĦОÑl´üâDþ±aïq—Ôý6åå q:ÔKû~Èúl åÝg×ÐKx5•V¨ªßª;,šI#!J«=h  ‘±‘ÜV©®…«Ú@d´éFBOý€|ÐrôLð·«Ââ³#âE_SD~š:¼P€Vmãu08~ãÜV†bرۂìzÁû'$éEä ‹^ƒxq[JöÂ!8Ú%¹¨Ö÷•ORh’[ò±®+»WQÕ°¬ëØØ&ÏZ ü2 \¿ÛròF‰]AÔL0 ¯—è¶êŸÀ÷ ³²þLÑù>~;­ÖN´øÊáe«Æ0dªÒ”‹³†£òÔÉ›M ¥ÉÃ8þ×0&éŸÐ›<)7†!Žæ0K’qc!¡Zo5šËk¡B€Ö‘wÀ¥vP­H™ËÕ'–*µ*u¡´ä0î×u(›ë±X:…h1×/7Q‹²aÕÎ-CK93®ß¾¯Á©‚àÇ`V)wƒâú¢‡àB¿þº>Ån¤ñêÌ5• ÚkŠâEŒ™„½~¯§Pï"w› ]p‘Bydï©ó–£®VX¯ª58js5xúò›Ò$¹;cE?`ˆE楪ÊUí"ZЄÚQƉjÏøLrÑéyÎÑÒ4Ÿwb Y€ÁQ`ͳñevYuPë¶­éLþ$C$W( Æ ‰º ß¡9Y@ùýK»3J–‘²(òVüƒ›·:F'„Ã= ½0 Wn73< ?Ò”]õÐÔ7Ði«©°V˜Á]ÀŒ¸z:û<®8]ÆVU/Åègñúô_Îõ}Ÿ:5tkÃùCh×X«Õ9z^„/Y~ä]ö Œ÷tŠë…iŽ#D…IÒŽHøøg\Ò÷p3MþŸ‚> sPWŠÔlV(7ã-÷Ö¨Ú[£ç¹~ÿï}ÿŸហЪ·þ. [ª°$|N! ZNÞ†¥ãó] ýf ® ÀÏØèStWŠžçh¹ååÅú ,EèLÚê<[^N燢ƒÂzÝ‹]Ê(hÈLAüqitz¦³E.Ìo/nU_¤Š˜õN®Õ^er`Þ¨+o5x ¥@}ñÑ¥ÏÎçô1ÄGÒze;t Fz<ã»Ó7¶ Ÿ¸†Å¼®a?æÜ ègÞèxwà  Î·§‹˜XvëÔ¡†'¶!Ân°ÁŸ(Gþ#áÂ&ä8"DI£9]“]V$•pŠÈªJ3TuÊVrT4s÷«¡8´ïÏt‘¡ï÷E=˜éçô².â6L +03Ø+Ì¡¾ØP¬×%‡+*Õê z0BYe¹¹œz¹À}½ûèåsÃm}Bum~v¡.)ÊΫ"tâo$>?äê#Ö—øÈ ¯ ½ÎQbp˜œ•5 h{ % A:í./§è\äžê»·2ˆŒFùµX»ÍÔ“öp±nN±­Óln•J;P}vuœh&«nYY—=Õ.² ò˜ ‹Ã€…ÈŸ9`.5•™ÊÌe›Îl#U\lÐåJ$qqãÍ™î„w™µ(’ßÕyý“+ã]6«ªÎ„ÕÎæbŽª¸'*jKA%Å*•Û!_>@–š’5’’Ð"¸„ƒðïïþ¿[Iöëíz(¥!G+ÛÀdó_G¹…ãà@K­õŒ¿:^I•:´MV¹UnQ¬gâø/¡ºR{¹ìhvØú«ðª·”dk¹M×3ø±MeÁPµ9Ø@èùß3Úº”*ƒV¨®©ÁÎí¯üÆQsuñb^|¹q¦,ÜÚJG%ö^½vv(Y$D¨Ô!Fœ+­‹ ©ÒØá}Šþ ¿*ª0Y·«ðñ°p‰æ·-€ov}ƒ–Þ~Îï zÿ'¼B•ƨÄc¾nL„¢H˜0v)Ûòºµv{lHnSAk[sSKUEu…UT^Sa+ÕÙÛ2r®S!ÜO2ëö–M¦ü~Ì+P¥g, ‹Ÿ;Ù<1)¬ŽjÌ? ýøéÃóÊ]d‹ó59*iq>PiÒþS¢*.ŸDsÇþÓ¨çYtÄÅÍ„‚úÌ1f!ŠæßEsðTRß[)p1•dw¹Ý€K§Ñäeg …º@ÕÄ—Ž*úÁ uNkw%Îò1e Ù õêžÃ?1Ëø — 'êôe%Zî"¥šj§Åêr6‰¾Dó¾gü« &ð¢/Í(ÇÃßdÉ„× †xÿØn<É9Í6ï$×QS'b,Þ\+Ã*p®³]d¤IY '(4@‚Éf·ZÛ[O5 5Ö’†Ù[LB˜V{ÈËw¹.òP¥²®P¨šì>Õ×8ÔÅFY€ˆIÅ“aII¨/’ºÈ,“ؤn„”H¢§’>Ü!T\LxªB¨›xŒ–ã!Pé5º^ú髬O¦PÁ7l´vúMžÑ” ”•V $^9°TV¨‘šâÑL=™y/ã+Ä„f¡¥hÞÖŸVîM-Fúœ838qëü›Œ/ÃŽÛõNk»Ð÷·Úæé¹nÖoÞAOïµ ƒ|C–NÊÌg~à3|ôSyuqK…YPÜlpc>mkµ_¨Ä,Ò$'/VØ‹û7÷òý™f=GßXÚà¿[ê¬ïšñ’r9ù®Ñ¥Z‹"fúù..ž¦7£M3›9.î=Tg÷`²:㞨­yÏNy]‚‹^ч’ÚYŸN¡SìúUÞ§Ì_¸°W«+ǹ“¹È°*uî{tç>ùsuY¤ˆiÀê©/ÞgüýsµÖ QÈEB ´šÞ+5óãõ’2ïIJáÆÌ=Õ u§NtŸ¸Õmén™Óë›] -£1ž-[C³bSEâDmŠa3µ ;?s^ë×ì»Ì ¼k}§'áCê|Ú‰wÒrrÓ·Ê-ÖÊJ‹Ðj¨Ä¼c1”—¦D¤ˆ°3G‘WY'‚*®bT›µÍ,4ÿWž8;+SÒžÝÕÓÑÞÕ“Õ!ÆK{TÍÓKšXhëÞ[\Fñ¯]œOqàûÓËGþ'üÿŠœ!M}î³ÑY|Öö8qVÊ‘›ÒV3¿¡—¿Y~2®#o⸣ž¿ùªt@v3çšö/ð+üÃy§óŠçJ÷àç—¼CÚrŸ=Ìónœíî¿þõÀ¯€fZ˜òðÏfµDõjŠø_…t¦y¶µ½U»VÂRu€l¿4DœJù4Ñ‘M(¼‰ÛýÔ½§»msæÜkœ3— þ‚‚u endstream endobj 323 0 obj 4647 endobj 96 0 obj <> endobj 95 0 obj <>stream xœ…VkXSW½!ÜËEª¤R:÷¦V[¬´_kËT±P+ò[­Ž‚RH‰„g „„yð„©ÚŠbI«Ö‚–jµ*¨£•NµÏÏéŒS­uÎuŽ3ßœ›¡?óñ'œ³Ï9{ïµöZW@øû $!=qÙÒ˜±Å…²ì§“³òdÛ‹³ù-)&àõã~/|iîwþ3ìzt†4~:¶Î„ªY„P P4wÅÈË e9¹EÒðŒ´×ç/X1µòÜâÅ‹¥Yå¾i\¶B–³MúþQ’W ÏÏÞV´D‹£óòd›¥9yåò\…4sË–ì-ü±5™yÙ[¥Ëdy2¹¼ D;_ºðÙgŸK’åg+¤‰Û ¤«¤iÙ9Åy™…ÒÉ̳IDhù¶Í[äÙ…9ŠÜ"Yñê­y™ùYÏl\øÌ=G»lø¨Î£S˜Ô-À‹ÍÚÁ¨¤õEI ÞY‡w]0È)84 „ïbí‚Ó- 4IpÚšJœ¶žQ éd4UV©å1´³¢RÑÎzM}5ÐHÒŽg_¾ÜáüyφyÜJ·ê,ÕCAÃlTD+ÓúÖîþ&`n0³'¡“„”³}j‡ïü"à^ã~7ZÛ”€VP* ¯¨×©SBk«ë•€~‡²ƒÆVc½=,FÏó™ð%b)ôˆ3Šä«žåóJï­½@ùJØ…\BðsLêï7ƒä¹éöËÔjd‹O\Y°H6åïu[Ñhb?ƒ#dÄTñÃ|PmU].>i ûìùs{F>÷ËÍë+—øWLÂ(Jµ”TÔXu¦¶––®&æH‘ÖS…ˆªW“ZK¥ÃbÅË—øØyŠÉ9¿Â½iª _Ÿàøv\!9ç x²À×/ÖÞðk´n‚‰0„üÐ7We,zxêòÚ„žœà¦OJĤ#̽5|?¼añš#çÀdÍÀDE yéÞ¡6<÷Põÿµ@ܤÀŸ±½ª¸ƒÿJ‰Žz5]Å#Á¬¦03ÕéÙè"rL™ÿ(<ˆK¶“ähnߺ̜’µkõyÏ& d¥™èßú'×ó-ƒ»<ú_̆½ dx,ÕóÅó#åøŽ Åïû8w< ÛW(”ÀÇîÄŽÏYµ5n% ÓN‹¯ŸJ^ŒhDHQ@TÒ©/aÀ=H@ŠoŽª[/Â@ñÆÍÙ›ò{Jö³­Ô`Ÿ»·hçÛü6š}LÀŠÿ‹\{ŸœäÆ>72·§(n0Þ»sà’Ã’ÃÎÀqúÊŠÏ¢’äëÖ1…Û‹sŠÆÚ`n7™mfæ½Scã€>s|}jZÑ6$šË¢÷‘¢2…äªóJ£+Q‚Å·ZU­-Ó35¹$Ÿ_?ìwA…;ˆ v×a2ÝäRà—âëû>: ÆéËÉE¦$•äl`Jvh«0s4˜9Ö&c[óÁÁºNúüà[±ñÉ‘YÔÔ°:½At4;#ºýUÃù5+‰\°xnÚ:G_&SÓ\kÔZSY©®jWïÚÁ–V4þò™y¬è&8ùö‡I{è‡J\¤+¨ÓI¹¦ Lw͘AÿÇË÷ endstream endobj 324 0 obj 2575 endobj 151 0 obj <> endobj 150 0 obj <>stream xœcd`ab`ddä‹ò ÷ Ñvö Ž44‰(þfü!ÃôC–¹»û‡ÿÖÆ%ßS„¾[~7åÿn$ÀÀÌÈèæíœ_PY”™žQ¢ á¬©`hii®à˜›Z”™œ˜§à›X’‘š›Xää(ç'g¦–Tê)8æä(t+¥§•¥¦@¬uÎÏ-(-I-RðÍOI-Êc```äg`(a`bddRçûÑqxÁ÷÷ó»ˆ3ÿðÿÞ'úÍø‘ÒoF3#%…Ç&_¾3>xòEޝtáOû…l¿&°oæzÀ-ÇÅb>Ÿ‡só,—ãNª endstream endobj 325 0 obj 238 endobj 24 0 obj <> endobj 18 0 obj <> endobj 13 0 obj <> endobj 69 0 obj <> endobj 152 0 obj <> endobj 10 0 obj <> endobj 58 0 obj <> endobj 97 0 obj <> endobj 78 0 obj <> endobj 55 0 obj <> endobj 75 0 obj <> endobj 52 0 obj <> endobj 72 0 obj <> endobj 46 0 obj <> endobj 31 0 obj <> endobj 27 0 obj <> endobj 2 0 obj <>endobj xref 0 326 0000000000 65535 f 0000140503 00000 n 0000232916 00000 n 0000139951 00000 n 0000140551 00000 n 0000130460 00000 n 0000000015 00000 n 0000000299 00000 n 0000145601 00000 n 0000145369 00000 n 0000219961 00000 n 0000152697 00000 n 0000152365 00000 n 0000217463 00000 n 0000140620 00000 n 0000140650 00000 n 0000147108 00000 n 0000146754 00000 n 0000216281 00000 n 0000130620 00000 n 0000000318 00000 n 0000001538 00000 n 0000164804 00000 n 0000164391 00000 n 0000215097 00000 n 0000155831 00000 n 0000155223 00000 n 0000231735 00000 n 0000140693 00000 n 0000171261 00000 n 0000170914 00000 n 0000230554 00000 n 0000130764 00000 n 0000001559 00000 n 0000003214 00000 n 0000140747 00000 n 0000130908 00000 n 0000003235 00000 n 0000005000 00000 n 0000140801 00000 n 0000131052 00000 n 0000005021 00000 n 0000006632 00000 n 0000140855 00000 n 0000181270 00000 n 0000180980 00000 n 0000229369 00000 n 0000131196 00000 n 0000006653 00000 n 0000008853 00000 n 0000175548 00000 n 0000175178 00000 n 0000227003 00000 n 0000183714 00000 n 0000183320 00000 n 0000224637 00000 n 0000190326 00000 n 0000189695 00000 n 0000221138 00000 n 0000140898 00000 n 0000131348 00000 n 0000008874 00000 n 0000011107 00000 n 0000140996 00000 n 0000131492 00000 n 0000011128 00000 n 0000013710 00000 n 0000197933 00000 n 0000197478 00000 n 0000218643 00000 n 0000205061 00000 n 0000204826 00000 n 0000228188 00000 n 0000205858 00000 n 0000205623 00000 n 0000225822 00000 n 0000206778 00000 n 0000206420 00000 n 0000223456 00000 n 0000141072 00000 n 0000131644 00000 n 0000013731 00000 n 0000014325 00000 n 0000141170 00000 n 0000131788 00000 n 0000014345 00000 n 0000017341 00000 n 0000141235 00000 n 0000131940 00000 n 0000017362 00000 n 0000020074 00000 n 0000141300 00000 n 0000132084 00000 n 0000020095 00000 n 0000022726 00000 n 0000211825 00000 n 0000211534 00000 n 0000222293 00000 n 0000141387 00000 n 0000132228 00000 n 0000022747 00000 n 0000024976 00000 n 0000141474 00000 n 0000132382 00000 n 0000024998 00000 n 0000027528 00000 n 0000141584 00000 n 0000132529 00000 n 0000027550 00000 n 0000030012 00000 n 0000141661 00000 n 0000132676 00000 n 0000030034 00000 n 0000031952 00000 n 0000141749 00000 n 0000132823 00000 n 0000031974 00000 n 0000033716 00000 n 0000141837 00000 n 0000132970 00000 n 0000033738 00000 n 0000036094 00000 n 0000141925 00000 n 0000133117 00000 n 0000036116 00000 n 0000038686 00000 n 0000142013 00000 n 0000133272 00000 n 0000038708 00000 n 0000040621 00000 n 0000142090 00000 n 0000133427 00000 n 0000040643 00000 n 0000042989 00000 n 0000142178 00000 n 0000133574 00000 n 0000043011 00000 n 0000043357 00000 n 0000142255 00000 n 0000133721 00000 n 0000043378 00000 n 0000044883 00000 n 0000142310 00000 n 0000133868 00000 n 0000044905 00000 n 0000047693 00000 n 0000142387 00000 n 0000134015 00000 n 0000047715 00000 n 0000050245 00000 n 0000214750 00000 n 0000214509 00000 n 0000219820 00000 n 0000142475 00000 n 0000134162 00000 n 0000050267 00000 n 0000053190 00000 n 0000142554 00000 n 0000134309 00000 n 0000053212 00000 n 0000056194 00000 n 0000142633 00000 n 0000134456 00000 n 0000056216 00000 n 0000057905 00000 n 0000142701 00000 n 0000134603 00000 n 0000057927 00000 n 0000061628 00000 n 0000142769 00000 n 0000134750 00000 n 0000061650 00000 n 0000064197 00000 n 0000142835 00000 n 0000134897 00000 n 0000064219 00000 n 0000066092 00000 n 0000142901 00000 n 0000135044 00000 n 0000066114 00000 n 0000067958 00000 n 0000142956 00000 n 0000135191 00000 n 0000067980 00000 n 0000070051 00000 n 0000143066 00000 n 0000135338 00000 n 0000070073 00000 n 0000070772 00000 n 0000143154 00000 n 0000135485 00000 n 0000070793 00000 n 0000072504 00000 n 0000143220 00000 n 0000135632 00000 n 0000072526 00000 n 0000075050 00000 n 0000143308 00000 n 0000135779 00000 n 0000075072 00000 n 0000077328 00000 n 0000143407 00000 n 0000135934 00000 n 0000077350 00000 n 0000079636 00000 n 0000143462 00000 n 0000136081 00000 n 0000079658 00000 n 0000080561 00000 n 0000143539 00000 n 0000136236 00000 n 0000080582 00000 n 0000083589 00000 n 0000143616 00000 n 0000136391 00000 n 0000083611 00000 n 0000086628 00000 n 0000143715 00000 n 0000136538 00000 n 0000086650 00000 n 0000090064 00000 n 0000143781 00000 n 0000136693 00000 n 0000090086 00000 n 0000091741 00000 n 0000143847 00000 n 0000136840 00000 n 0000091763 00000 n 0000093771 00000 n 0000143935 00000 n 0000136987 00000 n 0000093793 00000 n 0000096469 00000 n 0000144012 00000 n 0000137142 00000 n 0000096491 00000 n 0000098351 00000 n 0000144111 00000 n 0000137289 00000 n 0000098373 00000 n 0000100142 00000 n 0000144188 00000 n 0000137436 00000 n 0000100164 00000 n 0000102700 00000 n 0000144265 00000 n 0000137583 00000 n 0000102722 00000 n 0000104824 00000 n 0000144353 00000 n 0000137730 00000 n 0000104846 00000 n 0000106216 00000 n 0000144408 00000 n 0000137877 00000 n 0000106238 00000 n 0000106576 00000 n 0000144463 00000 n 0000138024 00000 n 0000106597 00000 n 0000106857 00000 n 0000144518 00000 n 0000138171 00000 n 0000106878 00000 n 0000107943 00000 n 0000144573 00000 n 0000138318 00000 n 0000107964 00000 n 0000109860 00000 n 0000144628 00000 n 0000138473 00000 n 0000109882 00000 n 0000111972 00000 n 0000144718 00000 n 0000138620 00000 n 0000111994 00000 n 0000113800 00000 n 0000144797 00000 n 0000138767 00000 n 0000113822 00000 n 0000114751 00000 n 0000144885 00000 n 0000138914 00000 n 0000114772 00000 n 0000117394 00000 n 0000144940 00000 n 0000139061 00000 n 0000117416 00000 n 0000120660 00000 n 0000145006 00000 n 0000139208 00000 n 0000120682 00000 n 0000122796 00000 n 0000145072 00000 n 0000139355 00000 n 0000122818 00000 n 0000126068 00000 n 0000145127 00000 n 0000139502 00000 n 0000126090 00000 n 0000127831 00000 n 0000145204 00000 n 0000139657 00000 n 0000127853 00000 n 0000129216 00000 n 0000145281 00000 n 0000139804 00000 n 0000129238 00000 n 0000130438 00000 n 0000145325 00000 n 0000146732 00000 n 0000152343 00000 n 0000155201 00000 n 0000164369 00000 n 0000170892 00000 n 0000175156 00000 n 0000180958 00000 n 0000183298 00000 n 0000189673 00000 n 0000197456 00000 n 0000204804 00000 n 0000205602 00000 n 0000206399 00000 n 0000211512 00000 n 0000214487 00000 n 0000215076 00000 n trailer << /Size 326 /Root 1 0 R /Info 2 0 R >> startxref 232966 %%EOF gpsim-doc-0.22.0/gpsim.ps0000644000175000017500000055052510530414031014165 0ustar whitewhite%!PS-Adobe-2.0 %%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software %%Title: gpsim.dvi %%Pages: 64 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: Times-Roman Times-Bold Courier Times-Italic %%+ Courier-Oblique CMSY10 %%DocumentPaperSizes: Letter %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -t letter -o gpsim.ps gpsim.dvi %DVIPSParameters: dpi=600 %DVIPSSource: TeX output 2006.11.09:0833 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S /BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc 0 0 % File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30 % % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, % W. Schmidt, P. Lehman", % version = "2.0", % date = "30 October 2002", % filename = "8r.enc", % email = "tex-fonts@@tug.org", % docstring = "This is the encoding vector for Type1 and TrueType % fonts to be used with TeX. This file is part of the % PSNFSS bundle, version 9" % @} % % The idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol, % MacRoman, and some extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % These are /dotlessj /ff /ffi /ffl. % % (4) hyphen appears twice for compatibility with both ASCII and Windows. % % (5) /Euro was assigned to 128, as in Windows ANSI % % (6) Missing characters from MacRoman encoding incorporated as follows: % % PostScript MacRoman TeXBase1 % -------------- -------------- -------------- % /notequal 173 0x16 % /infinity 176 0x17 % /lessequal 178 0x18 % /greaterequal 179 0x19 % /partialdiff 182 0x1A % /summation 183 0x1B % /product 184 0x1C % /pi 185 0x1D % /integral 186 0x81 % /Omega 189 0x8D % /radical 195 0x8E % /approxequal 197 0x8F % /Delta 198 0x9D % /lozenge 215 0x9E % /TeXBase1Encoding [ % 0x00 /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef /Zcaron /zcaron % 0x10 /caron /dotlessi /dotlessj /ff /ffi /ffl /notequal /infinity /lessequal /greaterequal /partialdiff /summation /product /pi /grave /quotesingle % 0x20 /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % 0x80 /Euro /integral /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /Omega /radical /approxequal % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /Delta /lozenge /Ydieresis % 0xA0 /.notdef /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro 0 0 %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro 0 0 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def @MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B /rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro 0 0 %! TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll }repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def /TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ /currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC /Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ 0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ 0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ 0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ 0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ 0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end %%EndProcSet %%BeginFont: CMSY10 %!PS-AdobeFont-1.1: CMSY10 1.0 %%CreationDate: 1991 Aug 15 07:20:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 15 /bullet put readonly def /FontBBox{-29 -960 1116 775}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A 221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A 27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF 5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A 71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C 515DB70A8D4F6146FE068DC1E5DE8BC5703711DA090312BA3FC00A08C453C609 C627A8BECD6E1FA14A3B02476E90AAD8B4700C400380BC9AFFBF7847EB28661B 9DC3AA0F44C533F2E07DCC4DE19D367BF223E33DC321D0247A0E6EF6ABC8FA52 15AE044094EF678A8726CD7C011F02BFF8AB6EAEEE391AD837120823BED0B5D8 F8B15245377871A64F78378BB4330149D6941F7A86FBFFC49B93C94155F5FA7D F22E7214511C0A92693F4CDBF38411651540572F2DD70D924AE0F18E1CD581F3 C871399127FF5D07A868885B5FF7CDEB50B8323B2533DEF8DC973B1AE84FA0A2 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 40258431 52099146 1000 600 600 (gpsim.dvi) @start /Fa 240[42 15[{}1 83.022 /CMSY10 rf /Fb 134[50 3[50 50 50 50 1[50 50 50 50 50 50 1[50 50 50 1[50 50 50 50 50 1[50 10[50 32[50 50 3[50 46[{TeXBase1Encoding ReEncodeFont}24 83.022 /Courier-Oblique rf /Fc 134[33 33 48 33 33 18 26 22 1[33 33 33 52 18 33 1[18 33 33 22 29 33 29 33 29 8[48 63 2[41 37 2[37 2[59 3[22 2[37 41 1[44 44 48 17[18 17 22 17 2[22 22 22 36[37 2[{TeXBase1Encoding ReEncodeFont}43 66.4176 /Times-Roman rf /Fd 205[25 25 49[{TeXBase1Encoding ReEncodeFont} 2 49.8132 /Times-Roman rf /Fe 205[29 29 49[{ TeXBase1Encoding ReEncodeFont}2 58.1154 /Times-Roman rf /Ff 134[37 37 55 37 42 23 32 32 1[42 42 42 60 23 37 23 23 42 42 23 37 42 37 42 42 1[42 1[32 1[32 4[51 60 46 42 51 1[51 2[69 3[28 1[60 51 51 60 55 1[51 2[56 1[56 1[28 1[42 42 42 42 1[42 42 42 42 23 21 28 2[42 2[28 2[42 1[35 30[42 3[{TeXBase1Encoding ReEncodeFont}60 83.022 /Times-Italic rf /Fg 107[50 50 21[50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 1[50 50 50 50 50 50 1[50 50 50 50 50 50 50 1[50 50 50 50 50 50 1[50 50 50 50 50 50 50 50 50 1[50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 1[50 50 50 50 33[{TeXBase1Encoding ReEncodeFont}89 83.022 /Courier rf /Fh 134[50 50 72 50 55 33 39 44 1[55 50 55 83 28 55 33 28 55 50 33 44 55 44 55 50 8[72 100 72 72 66 55 72 1[61 78 72 94 66 2[39 78 78 1[66 72 72 66 72 8[50 50 1[50 50 50 50 50 50 28 25 33 25 5[83 35[55 2[{TeXBase1Encoding ReEncodeFont}58 99.6264 /Times-Bold rf /Fi 134[60 60 86 60 66 40 47 53 66 66 60 66 100 33 66 1[33 66 60 40 53 66 53 66 60 9[120 2[80 66 86 1[73 93 1[113 3[47 93 93 73 80 1[86 80 86 7[60 60 60 60 60 60 60 60 60 60 33 30 43[66 2[{TeXBase1Encoding ReEncodeFont}52 119.552 /Times-Bold rf /Fj 139[57 1[76 1[96 7[96 2[76 3[86 29[124 9[86 86 86 86 86 86 86 86 86 86 48[{ TeXBase1Encoding ReEncodeFont}17 172.188 /Times-Bold rf /Fk 166[60 60 78 60 60 51 46 55 1[46 60 60 74 51 60 1[28 60 60 46 51 60 55 55 60 1[37 4[23 1[42 42 42 42 42 42 42 42 42 1[21 28 45[{.167 SlantFont TeXBase1Encoding ReEncodeFont} 36 83.022 /Times-Roman rf /Fl 105[42 1[37 37 24[37 42 42 60 42 42 23 32 28 42 42 42 42 65 23 42 23 23 42 42 28 37 42 37 42 37 1[42 1[28 1[28 1[60 60 78 60 60 51 46 55 60 46 60 60 74 51 60 32 28 60 60 46 51 60 55 55 60 1[37 47 47 47 23 23 42 42 42 42 42 42 42 42 42 42 23 21 28 21 47 42 28 28 28 65 2[42 34 28 29[46 46 2[{ TeXBase1Encoding ReEncodeFont}88 83.022 /Times-Roman rf /Fm 134[42 42 60 42 46 28 32 37 1[46 42 46 69 23 46 1[23 46 42 28 37 46 37 46 42 1[42 7[83 1[60 55 46 60 65 51 65 60 78 55 65 1[32 65 65 51 55 60 60 55 60 1[42 4[28 42 42 42 42 42 42 42 42 42 42 23 21 28 42[46 2[{ TeXBase1Encoding ReEncodeFont}61 83.022 /Times-Bold rf /Fn 134[103 103 149 103 115 69 80 92 1[115 103 115 172 57 115 1[57 115 103 69 92 115 92 115 103 7[149 1[207 1[149 138 115 149 1[126 161 149 195 138 2[80 161 161 126 138 149 149 138 149 1[103 4[69 7[103 103 103 1[52 69 42[115 2[{TeXBase1Encoding ReEncodeFont}51 206.559 /Times-Bold rf /Fo 137[50 50 28 4[50 6[50 2[44 3[44 12[61 5[72 9[72 9[28 50 50 50 50 1[50 1[50 50 50 2[33 25 2[33 33 3[50 36[{TeXBase1Encoding ReEncodeFont}24 99.6264 /Times-Roman rf /Fp 140[56 2[72 2[112 3[40 1[72 103[{ TeXBase1Encoding ReEncodeFont}5 143.462 /Times-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: Letter letter %%EndPaperSize end %%EndSetup %%Page: 1 1 TeXDict begin 1 0 bop Black Black Black Black 1771 2184 a Fp(gpsim)800 2840 y Fo($Date:)31 b(2006-11-09)24 b(08:27:47)f(-0800)h (\(Thu,)h(09)f(No)o(v)g(2006\))g($)p Black Black eop end %%Page: 1 2 TeXDict begin 1 1 bop Black Black 515 1204 a Fn(Contents)515 1744 y Fm(1)82 b(gpsim)21 b(-)g(An)f(Ov)o(er)o(view)1949 b(5)639 1869 y Fl(1.1)86 b(Making)19 b(the)h(e)o(x)o(ecutable)70 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 165 w(5)p Black 830 1993 a(1.1.1)98 b(Mak)o(e)20 b(Details)h(-)f(./con\002gure)e (options)46 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) h(.)p Black 165 w(5)p Black 830 2118 a(1.1.2)98 b(RPMs)42 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 165 w(6)p Black 830 2242 a(1.1.3)98 b(W)m(indo)n(ws)59 b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 165 w(6)p Black 639 2367 a(1.2)86 b(Running)40 b(.)h(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 165 w(6)p Black 639 2491 a(1.3)86 b(Requirements)52 b(.)41 b(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)p Black 165 w(7)p Black 515 2699 a Fm(2)82 b(Command)21 b(Line)g(Interface)1797 b(8)639 2823 y Fl(2.1)86 b(attach)67 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 165 w(9)p Black 639 2948 a(2.2)86 b(break)80 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(10)p Black 639 3072 a(2.3)86 b(clear)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(12)p Black 639 3197 a(2.4)86 b(disassemble)51 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)g(.)h(.)p Black 124 w(12)p Black 639 3321 a(2.5)86 b(dump)75 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) g(.)h(.)p Black 124 w(12)p Black 639 3446 a(2.6)86 b(echo)46 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)p Black 124 w(12)p Black 639 3571 a(2.7)86 b(frequenc)o(y)56 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(13)p Black 639 3695 a(2.8)86 b(help)60 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(13)p Black 639 3820 a(2.9)86 b(icd)39 b(.)j(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(13)p Black 639 3944 a(2.10)i(list)103 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(13)p Black 639 4069 a(2.11)i(load)60 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(13)p Black 639 4193 a(2.12)i(macros)25 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(14)p Black 639 4318 a(2.13)i(module)77 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(15)p Black 639 4442 a(2.14)i(node)d(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(17)p Black 639 4567 a(2.15)i(processor)70 b(.)42 b(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(17)p Black 639 4691 a(2.16)i(quit)74 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(17)p Black 639 4816 a(2.17)i(run)29 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(18)p Black 639 4940 a(2.18)i(step)70 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(18)p Black Black 1926 5208 a(1)p Black eop end %%Page: 2 3 TeXDict begin 2 2 bop Black 515 282 a Fk(CONTENTS)2388 b Fl(2)p Black 639 515 a(2.19)44 b(symbol)20 b(.)41 b(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(18)p Black 639 640 a(2.20)i(stimulus)i(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(18)p Black 639 764 a(2.21)i(stopw)o(atch)53 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(19)p Black 639 889 a(2.22)i(trace)e(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)p Black 124 w(20)p Black 639 1013 a(2.23)i(v)o(ersion)21 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) h(.)f(.)g(.)g(.)h(.)p Black 124 w(20)p Black 639 1138 a(2.24)i(x)37 b(.)k(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) h(.)f(.)g(.)g(.)h(.)p Black 124 w(20)p Black 515 1346 a Fm(3)82 b(Graphical)20 b(User)h(Interface)1765 b(22)639 1470 y Fl(3.1)86 b(Main)20 b(windo)n(w)52 b(.)41 b(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(22)p Black 830 1595 a(3.1.1)98 b(Menus)22 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) g(.)h(.)p Black 124 w(22)p Black 830 1719 a(3.1.2)98 b(Buttons)52 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(22)p Black 830 1844 a(3.1.3)98 b(Simulation)19 b(mode)52 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(23)p Black 639 1968 a(3.2)86 b(Source)20 b(Bro)n(wsers)75 b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(23)p Black 830 2093 a(3.2.1)98 b(.asm)20 b(Bro)n(wser)43 b(.)e(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(23)p Black 830 2217 a(3.2.2)98 b(Opcode)19 b(vie)n(w)h(-)g(the)h(.obj)e(Bro) n(wser)64 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)p Black 124 w(24)p Black 639 2342 a(3.3)86 b(Re)o(gister)20 b(vie)n(ws)27 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(25)p Black 639 2466 a(3.4)86 b(Symbol)19 b(vie)n(w)76 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(26)p Black 639 2591 a(3.5)86 b(W)-7 b(atch)21 b(vie)n(w)62 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) p Black 124 w(27)p Black 639 2715 a(3.6)86 b(Stack)20 b(vie)n(wer)j(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(27)p Black 639 2840 a(3.7)86 b(Breadboard)63 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(28)p Black 639 2964 a(3.8)86 b(T)m(race)20 b(vie)n(wer)h(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(28)p Black 639 3089 a(3.9)86 b(Pro\002le)20 b(vie)n(wer)48 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(29)p Black 639 3214 a(3.10)i(Stopw)o(atch)39 b(.)j(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(30)p Black 639 3338 a(3.11)i(Scope)20 b(W)m(indo)n(w)71 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(30)p Black 515 3546 a Fm(4)82 b(Scripting)21 b(and)f (Con\002guring)1724 b(31)639 3670 y Fl(4.1)86 b(Embedded)18 b(Commands)70 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(31)p Black 830 3795 a(4.1.1)98 b(.sim)20 b(macro)66 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(31)p Black 830 3919 a(4.1.2)98 b(.command)18 b(macro)45 b(.)c(.)g(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)p Black 124 w(32)p Black 830 4044 a(4.1.3)98 b(.assert)20 b(macro)59 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(32)p Black 639 4168 a(4.2)86 b(Sock)o(ets)70 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(33)p Black 515 4376 a Fm(5)82 b(Assertions)21 b(and)g(Extended)f(Br)o(eakpoints)1322 b(34)639 4500 y Fl(5.1)86 b(Assertions)20 b(and)g(Embedded)e(Simulation)h(commands)63 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(35)p Black 515 4708 a Fm(6)82 b(T)-6 b(race)20 b(and)h(Log:)k(What)20 b(has)h(happen?)1423 b(36)p Black Black eop end %%Page: 3 4 TeXDict begin 3 3 bop Black 515 282 a Fk(CONTENTS)2388 b Fl(3)p Black 515 515 a Fm(7)82 b(Simulating)21 b(the)f(Real)g(W)-6 b(orld:)25 b(Stimuli)1399 b(39)639 638 y Fl(7.1)86 b(Ho)n(w)20 b(The)o(y)f(W)-7 b(ork)24 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) h(.)p Black 124 w(39)p Black 830 761 a(7.1.1)98 b(Contention)19 b(among)f(stimuli)67 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(40)p Black 639 883 a(7.2)86 b(I/O)21 b(Pins)53 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(40)p Black 639 1006 a(7.3)86 b(Asynchronous)18 b(Stimuli)80 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(41)p Black 830 1128 a(7.3.1)98 b(Analog)19 b(Asynchronous)e(Stimuli)48 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) p Black 124 w(42)p Black 639 1251 a(7.4)86 b(Extended)19 b(Stimuli)59 b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(42)p Black 515 1457 a Fm(8)82 b(Modules)2353 b(43)639 1579 y Fl(8.1)86 b(gpsim)20 b(Modules)61 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(44)p Black 830 1702 a(8.1.1)98 b(USAR)-5 b(T)44 b(.)d(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(44)p Black 830 1824 a(8.1.2)98 b(Logic)54 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) g(.)h(.)p Black 124 w(45)p Black 830 1947 a(8.1.3)98 b(I2C)20 b(EEPR)m(OM)81 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(46)p Black 830 2070 a(8.1.4)98 b(Switches)20 b(&)h(Resistors)37 b(.)k(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(46)p Black 830 2192 a(8.1.5)98 b(V)-11 b(oltage)20 b(Sources,)f(Resistors,)i (and)f(Capacitors)74 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(47)p Black 639 2315 a(8.2)86 b(Third)19 b(P)o(arty)h (Modules)72 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(47)p Black 830 2438 a(8.2.1)98 b(Character)19 b(LCD)i(-)g (HD44780)k(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)p Black 124 w(47)p Black 830 2560 a(8.2.2)98 b(Graphic)19 b(LCD)i(-)f(SED1530)k(.)41 b(.)g(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(47)p Black 639 2683 a(8.3)86 b(Writing)20 b(ne)n(w)g(modules)45 b(.)c(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(47)p Black 515 2888 a Fm(9)82 b(Symbolic)21 b(Deb)n(ugging)1926 b(50)515 3094 y(10)40 b(Macr)o(os)2390 b(51)515 3300 y(11)40 b(Hex)20 b(Files)2327 b(52)515 3505 y(12)40 b(The)21 b(ICD-)g(Not)f(Supported)g(in)h(v)o(ersions)g (0.21.0)d(and)j(later)802 b(53)515 3711 y(13)40 b(Examples)2311 b(55)515 3917 y(14)40 b(Regr)o(ession)20 b(T)-8 b(ests)2074 b(56)515 4122 y(15)40 b(Theory)20 b(of)g(Operation)1922 b(57)639 4245 y Fl(15.1)44 b(Background)g(.)d(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(57)p Black 639 4367 a(15.2)i(Instructions)59 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)g(.)h(.)p Black 124 w(57)p Black 639 4490 a(15.3)i(General)20 b(File)h(Re)o(gisters)h(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(58)p Black 639 4613 a(15.4)i(Special)20 b(File)h(Re)o (gisters)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(58)p Black 639 4735 a(15.5)i(Example)19 b(of)h(an)g(instruction) 27 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(58)p Black 639 4858 a(15.6)i(T)m(race)79 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)g(.)h(.)p Black 124 w(60)p Black 639 4981 a(15.7)i(Breakpoints)50 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) h(.)f(.)g(.)g(.)h(.)p Black 124 w(60)p Black Black Black eop end %%Page: 4 5 TeXDict begin 4 4 bop Black Black 515 1204 a Fn(Intr)l(oduction)515 1661 y Fl(gpsim)30 b(is)h(a)g(full-featured)d(softw)o(are)i(simulator)g (for)g(Microchip)e(PIC)k(microcontrollers)27 b(dis-)515 1761 y(trib)n(uted)19 b(under)g(the)h(GNU)h(General)e(Public)h(License) g(\(see)h(the)f(COPYING)g(section\).)515 1885 y(gpsim)25 b(has)i(been)e(designed)g(to)h(be)g(as)h(accurate)f(as)g(possible.)43 b(Accurac)o(y)24 b(includes)i(the)g(entire)515 1985 y(PIC)19 b(-)g(from)e(the)i(core)f(to)h(the)f(I/O)h(pins)f(and)g(including)f (ALL)i(of)f(the)g(internal)g(peripherals.)23 b(Thus)515 2084 y(it')-5 b(s)19 b(possible)f(to)g(create)g(stimuli)h(and)e(tie)i (them)f(to)g(the)g(I/O)h(pins)f(and)g(test)h(the)f(PIC)h(the)f(same)h (w)o(ay)515 2184 y(you)g(w)o(ould)h(in)g(the)g(real)g(w)o(orld.)515 2309 y(gpsim)30 b(has)h(been)f(designed)g(to)g(be)h(as)h(f)o(ast)f(as)g (possible.)57 b(Real)31 b(time)g(simulation)f(speeds)h(of)515 2408 y(20Mhz)19 b(pics)h(are)g(possible.)515 2533 y(gpsim)h(can)h(be)g (controlled)f(from)g(either)g(a)i(graphical)d(user)i(interf)o(ace)g (\(GUI\),)f(a)h(command)e(line)515 2632 y(interf)o(ace)25 b(\(CLI\))g(or)h(by)f(a)h(remote)f(process.)41 b(T)-7 b(ypical)26 b(deb)n(ugging)d(features)i(lik)o(e)h(breakpoints,)515 2732 y(single)18 b(stepping,)g(disassembling,)g(memory)e(inspect)j(&)g (change,)e(and)h(so)h(on)f(are)h(all)g(supported.)515 2832 y(In)j(addition,)g(comple)o(x)g(deb)n(ugging)e(features)i(lik)o(e) h(real)g(time)h(tracing,)e(assertions,)h(conditional)515 2931 y(breaks,)c(and)h(plugin)f(modules)g(to)h(name)g(a)g(fe)n(w)g(are) g(also)h(supported.)p Black 1926 5208 a(4)p Black eop end %%Page: 5 6 TeXDict begin 5 5 bop Black Black 515 1159 a Fj(Chapter)44 b(1)515 1594 y Fn(gpsim)52 b(-)g(An)f(Ov)n(er)n(view)515 2046 y Fl(If)16 b(you)g(don')o(t)f(care)i(to)g(w)o(ade)f(through)f (details,)i(this)g(chapter)f(should)g(help)g(you)g(get)h(things)f(up)g (and)515 2146 y(running.)25 b(The)c(INST)-8 b(ALL)21 b(and)g(README)g(\002les)h(will)g(pro)o(vide)d(more)h(up-to-date)f (information)515 2246 y(than)g(this)i(document,)d(so)j(please)f(refer)f (to)i(those)f(\002rst.)515 2542 y Fi(1.1)119 b(Making)30 b(the)g(executable)515 2749 y Fl(gpsim')-5 b(s)18 b(e)o(x)o(ecutable)e (is)j(created)e(in)i(a)f(manner)f(that')-5 b(s)18 b(consistent)g(with)g (much)f(of)h(the)g(other)g(open)515 2848 y(source)h(softw)o(are:)p 515 2881 2485 4 v 513 2981 4 100 v 565 2951 a(command)p 1507 2981 V 663 w(description)p 2998 2981 V 515 2984 2485 4 v 515 3001 V 513 3100 4 100 v 565 3070 a(tar)h(-xvzf)f (gpsim-x.y)-5 b(.z.tar)g(.gz)p 1507 3100 V 95 w(e)o(xpand)18 b(the)i(compressed)f(tar)i(\002le)p 2998 3100 V 515 3104 2485 4 v 513 3203 4 100 v 565 3173 a(./con\002gure)p 1507 3203 V 633 w(Create)f(a)h('mak)o(e\002le')e(unique)g(to)h(your)f (system)p 2998 3203 V 515 3207 2485 4 v 513 3306 4 100 v 565 3276 a(mak)o(e)p 1507 3306 V 813 w(compile)g(gpsim)p 2998 3306 V 515 3310 2485 4 v 513 3409 4 100 v 565 3379 a(mak)o(e)g(install)p 1507 3409 V 591 w(install)i(gpsim)p 2998 3409 V 515 3413 2485 4 v 515 3498 a(The)f(last)h(step)f(will)h (require)e(root)g(pri)n(vile)o(ges.)515 3752 y Fh(1.1.1)99 b(Mak)o(e)25 b(Details)f(-)h(./con\002gur)n(e)i(options)515 3928 y Fm(gui-less)515 4104 y Fl(The)d(def)o(ault)g(con\002guration)e (will)j(pro)o(vide)d(a)j(gui)g(\(graphical)d(user)j(interf)o(ace\).)36 b(The)25 b(cli)g(\(com-)515 4204 y(mand)f(line)h(interf)o(ace\))e(is)j (still)g(a)n(v)n(ailable,)g(ho)n(we)n(v)o(er)d(man)o(y)g(people)h (prefer)g(just)h(to)g(use)g(the)g(cli.)515 4304 y(These)20 b(hardy)f(souls)h(may)g(b)n(uild)f(a)i(command-line)c(only)j(interf)o (ace)f(by)h(con\002guring)e(gpsim:)p Black Black 722 4485 a Fg(./configure)48 b(--disable-gui)515 4723 y Fm(deb)n(ugging)515 4899 y Fl(If)24 b(you)f(w)o(ant)i(to)f(deb)n(ug)f(gpsim)h(then)g(you')o (ll)f(probably)f(use)i(gdb)m(.)36 b(Consequently)-5 b(,)23 b(you')o(ll)g(w)o(ant)515 4998 y(to)d(disable)g(shared)f(libraries:)p Black 1926 5208 a(5)p Black eop end %%Page: 6 7 TeXDict begin 6 6 bop Black 515 282 a Fk(CHAPTER)21 b(1.)45 b(GPSIM)21 b(-)f(AN)h(O)l(VER)-7 b(VIEW)1419 b Fl(6)p Black Black Black 722 515 a Fg(./configure)48 b(--disable-shared)515 715 y Fl(This)20 b(will)h(create)f(one,)f(huge)h(monolithic)e(e)o(x)o (ecutable)g(with)j(symbolic)e(information.)515 975 y Fh(1.1.2)99 b(RPMs)515 1155 y Fl(gpsim)18 b(is)h(also)f(distrib)n(uted) g(in)g(RPM)h(form.)k(In)18 b(recent)g(v)o(ersions,)f(there)h(are)g(tw)o (o)h(RPMs:)25 b(gpsim-)515 1254 y(de)n(v)o(el)c(and)i(gpsim.)31 b(Both)23 b(of)f(these)h(must)g(be)f(installed.)33 b(There)21 b(is)j(also)f(a)g(RPM)h(for)e(the)g(source)515 1354 y(code.)36 b(This)24 b(can)g(be)g(used)g(to)h(b)n(uild)e(a)i(binary)e(RPM)i (unique)e(to)h(your)f(system.)37 b(Please)25 b(see)g(the)515 1453 y(latest)c(INST)-8 b(ALL)20 b(and)f(README)i(for)e(the)h(most)h (up)e(to)i(date)f(information.)515 1714 y Fh(1.1.3)99 b(W)n(indo)o(ws)515 1893 y Fl(gpsim)19 b(runs)h(on)g(W)m(indo)n(ws)g (too.)k(Borut)c(Razem)g(maintains)g(the)g(gpsim)g(W)m(indo)n(ws)f(web)i (site:)p Black Black 722 2093 a(http://gpsim.sourcefor)o(ge.net/gp)o (simW)m(in3)o(2/g)o(psimW)m(in)o(32)o(.htm)o(l)515 2293 y(Y)-9 b(ou)17 b(can)h(\002nd)f(detailed)h(instructions)f(there)g(for)h (installing)f(gpsim)h(and)f(its)i(dependencies.)j(Snap)515 2392 y(shots)e(can)g(be)g(found:)p Black Black 722 2592 a(http://gpsim.sourcefor)o(ge.net/snap)o(.ph)o(p)515 2895 y Fi(1.2)119 b(Running)515 3104 y Fl(The)24 b(e)o(x)o(ecutable)f (created)h(abo)o(v)o(e)f(is)i(called:)34 b(gpsim.)k(The)24 b(follo)n(wing)f(command)g(line)h(options)515 3203 y(may)19 b(be)i(speci\002ed)e(when)h(gpsim)g(is)h(in)m(v)n(ok)o(ed.)p Black Black 722 3503 a Fg(gpsim)49 b([-?])g([-p)g()g ([]])e([-c)i(])822 3603 y(-p,)g (--processor=)248 b(processor)48 b(\(e.g.)h(-pp16c84) f(for)i(the)f('c84\))822 3702 y(-c,)g(--command=STRING)844 b(startup)49 b(command)f(file)822 3802 y(-s)1743 b(.cod)49 b(symbol)g(file)822 3901 y(-L,)g(--)1544 b(colon)49 b(separated)f(list) h(of)h(directories)d(to)2665 4001 y(search.)822 4101 y(-v,)i(--version)1194 b(gpsim)49 b(version)822 4200 y(-i,)g(--cli)1394 b(command)49 b(line)g(mode)g(only)822 4300 y(-d,)g(--icd=STRING)1044 b(use)49 b(ICD)h(\(e.g.)e(-d)i (/dev/ttyS0\).)822 4400 y(Help)f(options:)822 4499 y(-?,)g(--help)1344 b(Show)49 b(this)g(help)g(message)822 4599 y(--usage)1493 b(Display)49 b(brief)f(usage)h(message)515 4799 y Fl(T)-7 b(ypically)19 b(gpsim)h(will)h(be)f(in)m(v)n(ok)o(ed)e(lik)o(e:)p Black Black 722 4998 a Fg([My-Computer]$)47 b(gpsim)i(-s)h (mypic-program.cod)p Black Black eop end %%Page: 7 8 TeXDict begin 7 7 bop Black 515 282 a Fk(CHAPTER)21 b(1.)45 b(GPSIM)21 b(-)f(AN)h(O)l(VER)-7 b(VIEW)1419 b Fl(7)p Black 515 515 a(\(The)23 b Ff([My-Computer]$)h Fl(te)o(xt)g(is)h(an)f (e)o(xample)f(of)h(a)h(typical)e(bash)h(command)e(prompt)h(-)h(you')o (ll)515 615 y(only)19 b(type)h(the)g(te)o(xt)g(after)g(this)h (prompt\).)i(This)d(loads)g(the)g(.cod)g(\002le)g(generated)f(by)h (gputils.)515 739 y(Under)26 b(W)m(indo)n(ws,)h(gpsim)f(can)h(also)g (be)g(in)m(v)n(ok)o(ed)e(by)h(na)n(vigating)f(through)f(the)j (Start/Progam)515 839 y(menu.)d(This)c(will)h(open)e(a)i(DOS)f(windo)n (w)g(to)g(pro)o(vide)e(access)j(to)f(the)g(command)e(line)j(interf)o (ace.)515 939 y(It')-5 b(s)23 b(also)f(possible)g(to)h(open)e(a)i(DOS)g (windo)n(w)e(\(or)h(CygW)m(in)g(bash)g(session\))g(and)g(in)m(v)n(ok)o (e)f(gpsim)515 1038 y(from)e(there.)515 1343 y Fi(1.3)119 b(Requir)n(ements)515 1554 y Fl(gpsim)29 b(has)g(been)g(de)n(v)o (eloped)d(under)i(Linux.)51 b(It)30 b(should)e(b)n(uild)h(and)g(run)f (just)i(\002ne)g(under)e(the)515 1654 y(popular)17 b(Linux)g(distrib)n (utions)h(lik)o(e)h(Fedora,)e(Ub)n(untu,)h(etc.)25 b(gpsim)18 b(has)h(also)g(been)f(ported)f(to)i(the)515 1753 y(MA)m(C,)i(MicroSoft) g(W)m(indo)n(ws,)f(Solaris,)i(and)f(BSD.)h(T)-7 b(w)o(o)22 b(packages)e(gpsim)h(requires)g(that)g(may)515 1853 y(not)26 b(be)h(a)n(v)n(ailable)f(with)h(all)g(Linux)f(distrib)n(utions)f(are)i (readline)f(and)g(gtk)g(\(the)h(gimp)e(tool)i(kit\).)515 1952 y(The)17 b(./con\002gure)g(script)h(should)f(tell)h(you)g(if)g (these)g(packages)f(are)h(not)g(installed)g(on)g(your)e(system)515 2052 y(or)k(if)g(the)g(re)n(visions)g(that)g(are)g(installed)g(are)g (too)g(old.)515 2177 y(There)f(are)h(no)g(minimum)f(hardw)o(are)f (requirements)h(to)h(run)f(gpsim.)25 b(F)o(aster)20 b(is)h(better)f (though!)515 2301 y(gputils,)32 b(the)e(gnupic)e(utilities)j(package,)f (is)h(also)g(v)o(ery)d(useful.)54 b(gpsim)30 b(will)g(accept)g (straight)515 2401 y(he)o(x)c(\002les,)k(b)n(ut)e(if)f(you)g(w)o(ant)g (to)h(do)f(an)o(y)f(symbolic)h(deb)n(ugging)e(then)h(you')o(ll)h(w)o (ant)g(to)h(use)g(the)515 2500 y(.cod)657 2470 y Fe(1)711 2500 y Fl(\002les)22 b(that)g(gputils)g(produces.)27 b(The)22 b(.cod)e(\002les)j(are)f(in)g(the)f(same)h(format)f(as)h(the)g (.cod)f(\002les)515 2600 y(MP)-8 b(ASM)807 2570 y Fe(2)861 2600 y Fl(produces.)p Black 515 4839 1146 4 v 605 4894 a Fd(1)634 4917 y Fc(.cod)17 b(\002les)h(are)f(symbol)h(\002les)f(that) h(were)g(created)h(by)e(ByteCraft)j(and)d(are)h(used)f(by)g(Microchip.) 605 4975 y Fd(2)634 4998 y Fc(MP)-6 b(ASM)17 b(is)g(Microchip')l(s)i (Assembler)l(.)p Black Black Black eop end %%Page: 8 9 TeXDict begin 8 8 bop Black Black 515 1163 a Fj(Chapter)44 b(2)515 1603 y Fn(Command)52 b(Line)f(Interface)515 2060 y Fl(The)17 b(command)f(line)i(interf)o(ace)g(is)g(f)o(airly)g (straight-forw)o(ard.)j(The)d(table)g(belo)n(w)f(summarizes)h(the)515 2159 y(a)n(v)n(ailable)24 b(commands.)35 b(Brief)25 b(descriptions)e (of)h(these)h(commands)e(can)h(also)g(be)h(displayed)e(by)515 2259 y(typing)c Ff(help)g Fl(at)i(the)f(command)f(line.)p Black 1926 5208 a(8)p Black eop end %%Page: 9 10 TeXDict begin 9 9 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1193 b Fl(9)p Black Black Black 784 436 2327 4 v 782 535 4 100 v 870 505 a(command)p 1283 535 V 843 w(summary)p 3108 535 V 784 539 2327 4 v 784 555 V 782 655 4 100 v 935 625 a(attach)p 1283 655 V 677 w(Attach)20 b(stimuli)h(to)f(nodes)p 3108 655 V 784 658 2327 4 v 782 758 4 100 v 942 728 a(break)p 1283 758 V 789 w(Set)h(a)g(break)e(point)p 3108 758 V 784 761 2327 4 v 782 861 4 100 v 977 831 a(b)n(us)p 1283 861 V 651 w(Add)g(or)h(display)g(node)f(b)n(usses)p 3108 861 V 784 864 2327 4 v 782 964 4 100 v 953 934 a(clear)p 1283 964 V 718 w(Remo)o(v)o(e)g(a)i(break)e(point)p 3108 964 V 784 967 2327 4 v 782 1067 4 100 v 834 1037 a(disassemble)p 1283 1067 V 492 w(Disassemble)i(the)f(current)f(cpu)p 3108 1067 V 784 1070 2327 4 v 782 1170 4 100 v 940 1140 a(dump)p 1283 1170 V 444 w(Display)h(either)g(the)g(RAM)h(or)f(EEPR)m (OM)p 3108 1170 V 784 1173 2327 4 v 782 1272 4 100 v 869 1243 a(frequenc)o(y)p 1283 1272 V 596 w(Set)h(processor)e(frequenc) o(y)p 3108 1272 V 784 1276 2327 4 v 782 1375 4 100 v 963 1346 a(help)p 1283 1375 V 227 w(T)-7 b(ype)20 b(help)g("command")e (for)h(more)h(help)f(on)h(a)h(command)p 3108 1375 V 784 1379 2327 4 v 782 1478 4 100 v 983 1448 a(icd)p 1283 1478 V 634 w(In)e(Circuit)i(Deb)n(ugger)d(support.)p 3108 1478 V 784 1482 2327 4 v 782 1581 4 100 v 983 1551 a(list)p 1283 1581 V 654 w(Display)i(source)g(and)g(list)h(\002les)p 3108 1581 V 784 1585 2327 4 v 782 1684 4 100 v 963 1654 a(load)p 1283 1684 V 519 w(Load)e(either)h(a)h(he)o(x)e(or)h(command)e (\002le)p 3108 1684 V 784 1688 2327 4 v 782 1787 4 100 v 981 1757 a(log)p 1283 1787 V 675 w(Log/record)g(e)n(v)o(ents)h(to)i (a)f(\002le)p 3108 1787 V 784 1791 2327 4 v 782 1890 4 100 v 953 1860 a(node)p 1283 1890 V 576 w(Add)g(or)g(display)f (stimulus)i(nodes)p 3108 1890 V 784 1893 2327 4 v 782 1993 4 100 v 910 1963 a(module)p 1283 1993 V 602 w(Select)f(&)h (Display)f(modules)p 3108 1993 V 784 1996 2327 4 v 782 2096 4 100 v 875 2066 a(processor)p 1283 2096 V 683 w(Add/list)g (processors)p 3108 2096 V 784 2099 2327 4 v 782 2199 4 100 v 970 2169 a(quit)p 1283 2199 V 912 w(Quit)g(gpsim)p 3108 2199 V 784 2202 2327 4 v 782 2302 4 100 v 956 2272 a(reset)p 1283 2302 V 512 w(Reset)i(all)e(or)g(parts)g(of)g(the)h (simulation)p 3108 2302 V 784 2305 2327 4 v 782 2405 4 100 v 979 2375 a(run)p 1283 2405 V 700 w(Ex)o(ecute)e(the)h(pic)g (program)p 3108 2405 V 784 2408 2327 4 v 782 2508 4 100 v 988 2478 a(set)p 1283 2508 V 444 w(display)f(and)h(control)f(gpsim)h (beha)n(vior)e(\003ags)p 3108 2508 V 784 2511 2327 4 v 782 2611 4 100 v 967 2581 a(step)p 1283 2611 V 548 w(Ex)o(ecute)h(one)h(or)g(more)f(instructions)p 3108 2611 V 784 2614 2327 4 v 782 2714 4 100 v 893 2684 a(stimulus)p 1283 2714 V 734 w(Create)h(a)h(stimulus)p 3108 2714 V 784 2717 2327 4 v 782 2817 4 100 v 866 2787 a(stopw)o(atch)p 1283 2817 V 504 w(Measure)e(time)i(between)e(e)n(v)o(ents)p 3108 2817 V 784 2820 2327 4 v 782 2920 4 100 v 912 2890 a(symbol)p 1283 2920 V 757 w(Add/list)h(symbols)p 3108 2920 V 784 2923 2327 4 v 782 3023 4 100 v 953 2993 a(trace)p 1283 3023 V 701 w(Dump)f(the)h(trace)g(history)p 3108 3023 V 784 3026 2327 4 v 782 3126 4 100 v 913 3096 a(v)o(ersion)p 1283 3126 V 639 w(Display)g(gpsim')-5 b(s)20 b(v)o(ersion)p 3108 3126 V 784 3129 2327 4 v 782 3228 4 100 v 1013 3199 a(x)p 1283 3228 V 389 w(\(deprecated\))e(e)o(xamine)g(and/or)h(modify)g (memory)p 3108 3228 V 784 3232 2327 4 v 515 3475 a(The)h(b)n(uilt)g(in) g('help')f(command)f(pro)o(vides)h(additional)g(online)g(information.) 515 3780 y Fi(2.1)119 b(attach)p Black Black 722 3966 a Fg(attach)49 b(node1)g(stimulus1)f([stimulus2)g(stimulus_N])515 4173 y Fl(attach)22 b(is)i(used)e(to)h(de\002ne)f(the)h(connections)e (between)g(stimuli)i(and)f(nodes.)32 b(At)23 b(least)h(one)e(node)515 4273 y(and)g(one)g(stimulus)h(must)f(be)h(speci\002ed.)32 b(If)23 b(more)f(stimuli)h(are)f(speci\002ed)h(then)f(the)o(y)g(will)h (all)h(be)515 4373 y(attached)19 b(to)h(the)h(node)e(e)o(xamples:)p Black Black 722 4680 a Fg(gpsim>)49 b(node)99 b(n1)797 b(#)49 b(Define)g(a)g(new)h(node.)722 4779 y(gpsim>)f(attach)g(n1)g (porta4)g(portb0)g(#)g(Connect)g(two)g(I/O)g(pins)g(to)h(the)f(node.) 722 4879 y(gpsim>)g(node)996 b(#)49 b(Display)g(the)g(new)g("net)g (list".)p Black Black eop end %%Page: 10 11 TeXDict begin 10 10 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(10)p Black 515 515 a Fi(2.2)119 b(br)n(eak)515 726 y Fl(The)27 b(break)f(command)f(is)j(used)f(to)g(set)h(and)f(e)o (xamine)f(break)g(points.)45 b(Ne)n(w)28 b(break)e(points)h(are)515 825 y(assigned)21 b(a)g(unique)f(number)-5 b(.)28 b(This)21 b(number)f(can)h(be)h(used)f(to)g(query)f(or)h(clear)h(the)f(break)g (point.)515 925 y(Break)16 b(points)h(halt)g(the)f(simulation)g(when)h (the)f(condition)g(associated)g(with)h(them)g(is)g(true.)24 b(Break)515 1025 y(points)f(are)g(ignored)f(during)f(single)i (stepping.)34 b(See)24 b(chapter)e(5)h(for)g(more)g(e)o(xamples)f(of)h (break-)515 1124 y(points.)515 1370 y Fm(Examining)d(br)o(eak)g(points) p Black Black 722 1526 a Fg(break)49 b([bp_number])515 1733 y Fl(Break)18 b(points)f(can)h(be)g(e)o(xamined)f(by)g(typing)g (the)h(break)g(command)e(without)h(an)o(y)h(options.)23 b(Spe-)515 1833 y(ci\002c)d(breaks)g(can)g(be)g(queried)f(by)h (specifying)e(the)i(break)f(point)h(number)-5 b(.)515 2079 y Fm(Pr)o(ogram)18 b(Memory/Execution)h(br)o(eaks)515 2260 y Fl(The)25 b(most)g(common)f(break)g(point)h(is)h(an)g(e)o(x)o (ecution)d(break)h(point.)40 b(This)26 b(one)f(halts)h(e)o(x)o(ecution) 515 2359 y(whene)n(v)o(er)18 b(the)i(program)e(counter)h(reaches)h(the) g(address)g(at)h(which)f(the)g(break)f(point)h(is)h(set.)26 b(The)515 2459 y(syntax)19 b(is:)p Black Black 722 2666 a Fg(break)49 b(e|r|w)g(ADDRESS)g([expr])515 2874 y Fl(The)25 b(simulation)g(halts)h(when)f(the)g(address)h(is)g(e)o(x)o(ecuted,)f (read,)h(or)g(written.)40 b(The)26 b(ADDRESS)515 2974 y(can)31 b(be)g(a)h(symbol)e(or)h(a)h(number)-5 b(.)57 b(If)31 b(the)h(optional)e(e)o(xpression)g(is)i(speci\002ed,)i(then)c (it)j(must)515 3073 y(e)n(v)n(aluate)21 b(to)g(true)h(before)e(the)i (simulation)f(will)h(halt.)30 b(The)21 b(read)h(and)f(write)h(options)f (only)g(apply)515 3173 y(to)f(those)g(processors)f(that)i(can)f (manipulate)e(their)i(o)n(wn)g(program)e(memory)-5 b(.)515 3419 y Fm(Register)20 b(Memory)g(br)o(eaks)515 3599 y Fl(gpsim)27 b(can)g(also)g(associate)h(break)e(points)h(with)h(re)o (gister)f(accesses.)47 b(This)27 b(is)i(useful)d(for)h(cap-)515 3699 y(turing)k(b)n(ugs)h(that)g(stomp)g(on)g(RAM.)g(E.g.)61 b(you)31 b(can)h(say)g(something)f(lik)o(e)i(\223halt)f(e)o(x)o (ecution)515 3799 y(whene)n(v)o(er)18 b(bit)i(4)h(of)e(re)o(gister)h (42)g(is)h(cleared\224.)j(The)c(command)e(line)i(syntax)g(is:)p Black Black 722 4006 a Fg(break)49 b(r|w)g(REGISTER)g([expr])515 4214 y Fl(The)25 b(simulation)h(halts)g(when)g Ff(REGISTER)f Fl(is)i(read)e(or)h(written)g(and)f(the)h(optional)f(e)o(xpression)515 4313 y(e)n(v)n(aluates)h(to)i(true.)46 b(There)26 b(are)h(tw)o(o)h (styles)g(of)f(e)o(xpressions)f(supported.)44 b(One)27 b(in)m(v)n(olv)o(es)f(only)515 4413 y(e)o(xpressions)21 b(of)i(the)g Ff(REGISTER)p Fl(,)e(the)i(other)f(is)i(completely)e (arbitrary)-5 b(.)31 b(The)22 b(e)o(xamples)g(belo)n(w)515 4513 y(illustrate)e(the)g(dif)n(ferences.)515 4637 y(Here')-5 b(s)26 b(an)g(e)o(xample)f(of)h(a)g(re)o(gister)g(write)g(break.)42 b(This)26 b(one)f(will)i(halt)g(the)f(simulation)f(if)h(an)o(y)515 4737 y(v)n(alue)19 b(is)i(written)f(to)h(the)f(v)n(ariable)f(named)g Ff(temp1)p Fl(.)p Black Black 722 4944 a Fg(break)49 b(w)h(temp1)p Black Black eop end %%Page: 11 12 TeXDict begin 11 11 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(11)p Black 515 515 a(Here)20 b(the)g(write)g(is)i(conditioned)17 b(to)k(happen)d(for)i(only)f(a)i(certain)e(v)n(alue:)p Black Black 722 723 a Fg(break)49 b(w)h(temp1==0x22)515 930 y Fl(Here)20 b(the)g(condition)e(applies)i(to)h(speci\002c)f(bits:) p Black Black 722 1138 a Fg(break)49 b(w)h(temp1)f(&)g(0b11110000)f(==) i(0b11000000)515 1346 y Fl(This)20 b(one)g(breaks)f(only)h(if)g(the)g (he)o(x)g(digit)g('C')g(is)h(written)f(to)g(the)h(upper)e(nibble)g(of)h (temp1.)515 1591 y Fm(Boolean)g(Expr)o(essions)515 1772 y Fl(Sometimes)30 b(it')-5 b(s)32 b(necessary)f(to)g(specify)f(an)h (auxillary)f(condition)f(with)i(a)g(break)f(point.)57 b(F)o(or)515 1872 y(e)o(xample,)25 b(there)g(may)h(be)f(a)h(temporary)e (v)n(ariable)h(that)g(is)i(shared)e(throughout)e(the)i(code.)41 b(Y)-9 b(ou)515 1971 y(may)29 b(wish)i(to)f(trap)g(writes)h(to)f(that)g (v)n(ariable)f(only)h(while)g(e)o(x)o(ecuting)e(a)i(speci\002c)h (subroutine.)515 2071 y(F)o(or)24 b(e)o(xample,)h(the)g(follo)n(wing)f (break)g(point)g(triggers)g(when)h(temp1)f(is)i(written)f(and)f(while)i (the)515 2171 y(program)18 b(counter)h(is)i(in)f(between)f(the)i (labels)f Ff(func_start)h Fl(and)f Ff(func_end)r Fl(:)p Black Black 722 2378 a Fg(break)49 b(w)h(temp1)f(\(pc)g(>=)g (func_start)f(&&)i(pc)f(<)h(func_end\))515 2586 y Ff(TIP:)24 b Fl(Use)h(this)g(type)f(of)g(break)f(point)h(if)h(you)e(suspect)i(an)f (interrupt)f(routine)g(is)i(o)o(v)o(er)e(writing)h(a)515 2685 y(v)n(ariable.)515 2810 y(Another)19 b(situation)h(is)i(one)e (where)g(you)g(wish)h(to)f(trap)h(writes)g(to)g(a)g(v)n(ariable)e(only) h(if)h(some)f(other)515 2909 y(v)n(ariable)f(is)i(a)g(certain)e(v)n (alue:)p Black Black 722 3117 a Fg(break)49 b(w)h(temp1)f(\(CurTask)f (&)i(0x0f)f(!=)g(0b101\))515 3325 y Fl(If)24 b(the)h(\002rmw)o(are)f (writes)h(to)g(the)g(v)n(ariable)e(temp1)h(then)h(the)f(simulation)g (will)i(halt)e(if)h(the)g(lo)n(wer)515 3424 y(nibble)19 b(of)h(CurT)-7 b(ask)20 b(is)h(not)f(equal)g(to)g(5.)515 3670 y Fm(Attrib)n(ute)g(Br)o(eakpoints)515 3851 y Fl(gpsim)i(also)h (supports)f(a)h(concept)f(of)g Ff(attrib)n(ute)h(br)m(eakpoints.)31 b Fl(Attrib)n(utes)23 b(are)g(parameters)e(that)515 3950 y(gpsim)j(and)g(its)h(modules)f(e)o(xpose)f(to)i(the)g(user)f(interf)o (ace.)37 b(F)o(or)25 b(e)o(xample,)f(the)g(simulator)g(stop-)515 4050 y(w)o(atch)f(e)o(xposes)f(attrib)n(utes)h(which)f(support)g (breakpoints.)31 b(This)23 b(feature)f(is)i(intend)e(mainly)g(for)515 4150 y(module)d(writers)h(to)g(pro)o(vide)e(a)j(mechanism)e(for)g(allo) n(wing)h(the)g(user)g(to)g(control)f(the)h(module.)515 4396 y Fm(Cycle)g(counter)g(Br)o(eakpoints)p Black Black 722 4551 a Fg(break)49 b(c)h Fb(cycle_number)515 4759 y Fl(The)24 b(c)o(ycle)f(counter)g(is)j(gpsim')-5 b(s)24 b(time)g(k)o(eeper)-5 b(.)37 b(It)25 b(increments)e(once)g(e)n(v)o(ery) g(instruction)g(c)o(ycle.)515 4858 y(The)18 b('c')f(option)g(to)i(the)f (break)f(command)f(allo)n(ws)j(a)f(break)f(point)h(to)g(be)g(set)h(at)g (a)f(particular)f(v)n(alue)515 4958 y(of)j(the)g(c)o(ycle)g(counter)-5 b(.)p Black Black eop end %%Page: 12 13 TeXDict begin 12 12 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(12)p Black 515 515 a Fi(2.3)119 b(clear)p Black Black 722 701 a Fg(clear)49 b(bp_number)515 877 y Fl(The)28 b(clear)g(command)f(is)i(used)f(to)h(clear)f(break)f(points.)49 b(The)29 b(break)e(point)h(number)e(must)j(be)515 977 y(speci\002ed.)54 b(The)30 b Ff(br)m(eak)h Fl(command)d(without)h(an)o (y)h(ar)o(guments)e(displays)i(all)g(of)g(the)g(currently)515 1077 y(de\002ned)f(break)h(points.)56 b(This)30 b(can)h(be)f(used)h(to) g(ascertain)f(the)h(break)e(point)h(number)-5 b(.)55 b(Once)515 1176 y(cleared,)19 b(a)i(break)e(point)g(is)i(deleted.)1613 1146 y Fe(1)515 1472 y Fi(2.4)119 b(disassemble)p Black Black 722 1657 a Fg(disassemble)48 b([[begin:end])g(|)h([length]])515 1834 y Fl(The)23 b(disassemble)h(command)e(decodes)h(the)h(program)e (memory)g(opcodes)g(into)i(their)g(standard)515 1933 y(mnemonics.)60 b(W)m(ith)33 b(no)g(options,)h(the)f Ff(disassemble)f Fl(command)f(disassembles)i(instructions)515 2033 y(surrounding)17 b(the)j(current)f(program)f(counter:)p Black Black 722 2209 a Fg(gpsim>)49 b(disassemble)722 2309 y(current)g(pc)g(=)h(0x1c)922 2409 y(0012)f(2a03)g(incf)g (reg3,f,0)922 2508 y(0014)g(0004)g(clrwdt)922 2608 y(0016)g(5000)g (movf)g(reg,w,0)922 2708 y(0018)g(1001)g(iorwf)g(reg1,w,0)922 2807 y(001a)g(1002)g(iorwf)g(reg2,w,0)722 2907 y(==>)h(001c)f(1003)g (iorwf)g(reg3,w,0)922 3007 y(001e)g(e1f4)g(bnz)g($-0x16)g(;\(0x8\))922 3106 y(0020)g(d7ff)g(bra)g($-0x0)g(;\(0x00020\))515 3283 y Fl(W)m(ith)20 b(a)h(single)f(numeric)f(option,)f(the)j(disassemble)f (command)e(will)515 3578 y Fi(2.5)119 b(dump)p Black Black 722 3764 a Fg(dump)49 b([r)h(|)f(e])515 3940 y Fl(dump)15 b(r)i(or)g(dump)e(with)i(no)g(options)f(will)h(display)f (all)i(of)e(the)h(\002le)h(re)o(gisters)e(and)g(special)h(function)515 4040 y(re)o(gisters.)40 b(dump)25 b(e)h(will)g(display)f(the)h (contents)f(of)g(the)h(eeprom)e(\(if)h(the)h(pic)f(being)g(simulated) 515 4139 y(contains)19 b(an)o(y\).)515 4259 y(See)h(the)h('x')e (command)f(for)i(e)o(xamining)e(and)i(modifying)d(indi)n(vidual)i(re)o (gisters.)515 4554 y Fi(2.6)119 b(echo)515 4759 y Fl(The)20 b(echo)h(command)e(is)i(used)g(lik)o(e)g(a)h(print)e(statement)h (within)g(con\002guration)d(\002les.)28 b(It)21 b(just)h(lets)515 4859 y(you)d(display)h(information)d(about)j(your)f(con\002guration)e (\002le.)p Black 515 4920 1146 4 v 605 4975 a Fd(1)634 4998 y Fc(A)g(break)h(point)g(disable/enable)k(feature)d(has)e(been)h (discussed)g(and)g(may)e(be)i(added)g(a)f(future)h(date.)p Black Black Black eop end %%Page: 13 14 TeXDict begin 13 13 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(13)p Black 515 515 a Fi(2.7)119 b(fr)n(equency)515 726 y Fl(This)21 b(command)e(sets)j(the)e(clock)h(frequenc)o(y)-5 b(.)23 b(By)f(def)o(ault)e(gpsim)g(uses)i(20)e(MHz)h(as)h(clock.)k(The) 515 825 y(clock)c(frequenc)o(y)e(is)k(used)f(to)g(compute)f(time)h(in)g (seconds.)33 b(Use)23 b(this)h(command)d(to)i(adjust)g(this)515 925 y(v)n(alue.)37 b(If)25 b(no)f(v)n(alue)g(is)h(pro)o(vided)d(this)j (command)e(prints)h(the)h(current)e(clock.)37 b(Note)25 b(that)g(PICs)515 1025 y(ha)n(v)o(e)20 b(an)h(instruction)f(clock)h (that')-5 b(s)22 b(a)f(forth)f(of)h(the)g(e)o(xternal)f(clock.)28 b(This)21 b(v)n(alue)g(is)h(the)f(e)o(xternal)515 1124 y(clock.)515 1429 y Fi(2.8)119 b(help)515 1640 y Fl(By)22 b(itself,)h(help)e(will)i(display)e(all)h(of)g(the)g(commands)e(along)h (with)h(a)g(brief)f(description)g(on)g(ho)n(w)515 1739 y(the)o(y)26 b(w)o(ork.)43 b('help)26 b(')e(pro)o(vides)h (more)g(e)o(xtensi)n(v)o(e)h(online)f(help.)44 b(The)26 b(help)g(com-)515 1839 y(mand)19 b(can)h(also)g(display)g(information)e (about)h(attrib)n(utes.)515 2144 y Fi(2.9)119 b(icd)515 2355 y Ff(icd)20 b([open)f(])515 2479 y Fl(The)j(open)g(command)f (is)j(used)e(to)h(enable)f(ICD)i(mode)e(and)g(specify)g(the)h(serial)g (port)f(where)h(the)515 2579 y(ICD)g(is.)33 b(\(e.g.)f("icd)22 b(open)g(/de)n(v/ttyS0"\).)31 b(W)m(ithout)22 b(options)f(\(and)h (after)g(the)h(icd)g(is)g(enabled\),)f(it)515 2678 y(will)f(print)e (some)h(information)e(about)h(the)h(ICD.)515 2984 y Fi(2.10)119 b(list)p Black Black 722 3269 a Fg(list)49 b([[s)h(|)f(l])h([)1470 3284 y(*)1520 3269 y(pc])f([line_number1)e([,line_number2]]])722 3368 y(Display)i(the)g(contents)f(of)i(source)f(and)g(list)g(files.)722 3468 y(Without)g(any)g(options,)f(list)h(will)h(use)f(the)g(last)g (specified)f(options.)722 3568 y(list)h(s)h(will)f(display)g(lines)f (in)i(the)f(source)g(\(or)g(.asm\))g(file.)722 3667 y(list)g(l)h(will)f (display)g(lines)f(in)i(the)f(.lst)g(file)722 3767 y(list)971 3782 y(*)1021 3767 y(pc)h(will)f(display)f(either)h(.asm)g(or)g(.lst)g (lines)g(around)g(the)g(pc)515 3974 y Fl(The)20 b(list)h(command)d (allo)n(ws)j(you)e(to)h(vie)n(w)g(the)g(source)g(code)f(while)i(you)e (are)h(deb)n(ugging.)515 4280 y Fi(2.11)119 b(load)515 4490 y Fl(The)25 b(load)f(command)g(is)i(used)f(to)g(load)g(either)g (he)o(x,)g(con\002guration,)f(or)g(.cod)h(\002les.)41 b(A)25 b(he)o(x)g(\002le)515 4590 y(is)j(usually)e(used)h(to)h(program) d(the)i(physical)f(part.)45 b(Consequently)-5 b(,)27 b(it)g(pro)o(vides)f(no)h(symbolic)515 4689 y(information.)k(.cod)22 b(\002les)i(on)f(the)g(other)f(hand,)h(do)f(pro)o(vide)f(symbolic)h (information.)32 b(The)22 b(only)515 4789 y(reason)d(to)i(use)f(a)h(he) o(x)e(\002le)i(is)g(when)f(there')-5 b(s)20 b(no)f(.cod)h(\002le)h(a)n (v)n(ailable.)515 4913 y(The)f(syntax)f(for)h(loading)e(source)i(code)f (\002les)j(is:)p Black Black eop end %%Page: 14 15 TeXDict begin 14 14 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(14)p Black Black Black 722 515 a Fg(load)49 b([processortype])e (file)515 723 y Fl(gpsim)23 b(will)i(automatically)e(determine)f(if)j (the)f(\002le)g(is)h(a)g(.he)o(x)e(or)h(.cod)f(\002le.)37 b(The)24 b(optional)f(pro-)515 822 y(cessortype)c(allo)n(ws)h(one)g(to) g(o)o(v)o(erride)e(the)i(processor)f(speci\002ed)h(in)h(a)f(.cod)g (\002le.)515 947 y(Con\002guration)j(\002les)j(are)g(script)f(\002les)i (containing)c(gpsim)i(commands.)40 b(These)25 b(are)g(e)o(xtremely)515 1047 y(useful)19 b(for)h(creating)f(a)i(deb)n(ugging)c(en)m(viroment)h (that)i(will)h(be)f(used)g(repeatedly)-5 b(.)515 1352 y Fi(2.12)119 b(macr)n(os)515 1562 y Fl(Macros)19 b(are)i(de\002ned)e (lik)o(e:)p Black Black 722 1770 a Fb(name)49 b Fg(macro)g([arg1,)g (arg2,)g(...,)g(argN])872 1869 y(macro)g(body)722 1969 y(endm)515 2177 y Fl(And)19 b(the)o(y')l(re)g(in)m(v)n(ok)o(ed)f(by:)p Black Black 722 2384 a Fb(name)49 b Fg(param1,)g(param2,)f(...,)h (paramN)515 2592 y Fl(Macros)23 b(are)h(a)h(w)o(ay)f(of)g(collecting)f (se)n(v)o(eral)g(parameterized)f(commands)g(into)i(one)g(short)f(com-) 515 2691 y(mand.)53 b(The)30 b(\002rst)h(line)f(of)g(a)g(macro)f (de\002nition)g(speci\002es)h(the)h(macro')-5 b(s)29 b(name)g(and)h(optional)515 2791 y(ar)o(guments.)23 b(The)e Ff(name)e Fl(is)j(used)e(to)h(in)m(v)n(ok)o(e)e(the)h(macro.)25 b(The)20 b(ar)o(guments)f(are)h(te)o(xt)h(string)f(place)515 2891 y(holders.)25 b(When)20 b(a)h(macro)f(is)i(in)m(v)n(ok)o(ed,)c (the)j(parameters)e(are)i(aligned)e(with)i(the)g(ar)o(guments.)j(I.e.) 515 2990 y Ff(par)o(am1)h Fl(in)i(the)g(in)m(v)n(ocation)e(can)i(be)g (thought)e(of)i(being)f(assigned)g(to)i Ff(ar)m(g1)e Fl(in)h(the)g(de\002nition.)515 3090 y(The)20 b(parameters)f(replace)g (the)h(ar)o(guments)e(in)j(the)f(macro)f(body)-5 b(.)515 3214 y(In)19 b(the)h(follo)n(wing)d(e)o(xample,)h(a)i(v)n(ariable)f(or) g(attrib)n(ute)g(called)h Ff(mac_\003a)o(gs)d Fl(is)k(being)e (manipulated)515 3314 y(in)j(an)f(e)o(xpression.)29 b(The)21 b(ar)o(guments)f Ff(add)j Fl(and)e Ff(mask)j Fl(appear)c(in)i(the)g (macro)f(body)f(and)i(pro)o(vide)515 3414 y(a)e(parameterized)e(w)o(ay) j(of)e(manipulating)f(this)j(e)o(xpression.)p Black Black 722 3621 a Fg(mac_exp)49 b(macro)g(add,)g(mask)822 3721 y(mac_flags)f(=)i(\(mac_flags+add\))d(&)i(mask)722 3820 y(endm)515 4028 y Fl(Note)20 b(that)g(the)g(indentation)f(is)i (arbitrary)-5 b(.)23 b(The)d(macro)f(is)i(in)m(v)n(ok)o(ed)d(by:)p Black Black 722 4335 a Fg(mac_exp)49 b(1,)g(0b00001111)f(#)i(increment) e(the)h(lower)g(nibble)515 4543 y Fl(The)19 b(parameter)g Ff(add)i Fl(is)g(replaced)d(by)i(the)f(number)f Ff(1)i Fl(while)g Ff(mask)i Fl(is)e(replaced)f(with)h(the)g(binary)515 4642 y(number)e Ff(0b00001111.)j Fl(The)f(in)m(v)n(ocation)e(turns)i (into)g(the)g(gpsim)g(command:)p Black Black 722 4850 a Fg(mac_flags)48 b(=)i(\(mac_flags+1\))d(&)j(0b00001111)p Black Black eop end %%Page: 15 16 TeXDict begin 15 15 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(15)p Black 515 515 a Fm(Nested)20 b(Macr)o(os)515 696 y Fl(The)28 b(macro)g(body)f(can)i(contain)e(an)o(y)h(gpsim)g (command.)49 b(Of)29 b(particular)e(interest)i(are)g(macro)515 795 y(in)m(v)n(ocations)d(within)h(other)f(macros.)46 b(Here')-5 b(s)28 b(another)e(macro)g(that)i(in)m(v)n(ok)o(es)e(the)i (one)f(de\002ned)515 895 y(abo)o(v)o(e.)p Black Black 722 1103 a Fg(#)50 b(Nested)f(macro)f(example)722 1202 y(mac1)h(macro)g(p1,)g(p2)822 1302 y(run)822 1402 y(mac_exp)f(p1,)i(p2) 722 1501 y(endm)515 1709 y Fl(And)19 b(it)i(could)f(be)g(used)g(lik)o (e:)p Black Black 722 1916 a Fg(mac1)99 b(1,)299 b(0b00001111)147 b(#)100 b(test)49 b(lower)g(nibble)722 2016 y(mac1)99 b(\(1<)13 b(<4\),)50 b(0b11110000)147 b(#)100 b(test)49 b(upper)f(nibble)515 2223 y Fl(The)24 b(\002rst)i(in)m(v)n(ocation)d (starts)j(the)f(simulator)f(by)h(e)o(x)o(ecuting)e(a)i Ff(run)g Fl(command.)37 b(When)25 b(a)h(break)515 2323 y(point)f(is)i(encountered,)e(control)g(returns)h(to)g(the)g(command)f (line)h(and)g(the)g Ff(mac_e)n(xp)f Fl(macro)h(is)515 2423 y(in)m(v)n(ok)o(ed.)515 2669 y Fm(Displaying)20 b(De\002ned)h(Macr)o(os)515 2849 y Fl(All)i(currently)e(de\002ned)g (macros)h(can)g(be)h(displayed)e(by)h(typing)g(the)g(macro)g(command)e (without)515 2949 y(a)g(name)g(or)g(ar)o(guments:)p Black Black 722 3156 a Fg(gpsim>)49 b(macro)722 3256 y(mac1)g(macro)g(p1)h (p2)872 3356 y(run)872 3455 y(mac_exp)e(p1,)h(p2)722 3555 y(endm)722 3655 y(mac_exp)g(macro)g(add)g(mask)922 3754 y(mac_flags)f(=)h(\(mac_flags+add\))e(&)j(mask)722 3854 y(endm)515 4159 y Fi(2.13)119 b(module)515 4369 y Fl(The)26 b Ff(module)g Fl(command)f(is)j(used)f(to)g(load)f(and)g (query)g(e)o(xternal)g(modules)f(\(see)j(section)e(8)h(for)515 4469 y(more)21 b(information)e(about)i(gpsim)g(modules\).)29 b(A)22 b(module)e(is)j(a)f(special)g(piece)g(of)f(softw)o(are)g(that) 515 4569 y(can)j(e)o(xtend)f(gpsim)h(in)h(some)f(manner)-5 b(.)37 b(LED')-5 b(s)25 b(and)f(switches)h(are)g(e)o(xamples)e(of)h (modules.)37 b(A)515 4668 y(module)19 b(library)g(is)i(collection)e(of) h(modules.)p Black Black eop end %%Page: 16 17 TeXDict begin 16 16 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(16)p Black 515 515 a Fm(Loading)20 b(module)g(libraries)p Black Black 722 671 a Fg(module)49 b(lib)g Fb(lib_name)515 879 y Fl(The)19 b Ff(lib)i Fl(option)e(is)i(used)e(to)i(load)e(a)i (module)d(library)-5 b(.)24 b(Module)19 b(libraries)g(are)i(system)f (dependent)515 978 y(shared)28 b(libraries,)j(i.e.)52 b(on)29 b(W)m(indo)n(ws)f(the)o(y')l(re)g(DLL)-8 b(')j(s)30 b(and)e(UNIX)h(the)o(y')l(re)f(shared)g(libraries.)515 1078 y(This)16 b(means)h(that)f(either)g(the)h(libraries)f(should)g (reside)g(in)h(a)f(path)h(where)e(the)i(OS)g(kno)n(ws)f(libraries)515 1177 y(e)o(xist)31 b(or)g(that)h(the)f(full)g(path)g(name)g(must)g(be)h (speci\002ed)f(along)f(with)i(the)f Ff(lib_name)p Fl(.)57 b(gpsim)515 1277 y(pro)o(vides)18 b(a)j(module)e(library)g(with)h(a)h (fe)n(w)f(modules:)p Black Black 722 1485 a Fg(gpsim>)49 b(module)g(lib)g(libgpsim_modules)515 1731 y Fm(Displaying)20 b(a)n(v)o(ailable)f(modules)p Black Black 722 1886 a Fg(module)49 b(list)515 2094 y Fl(The)22 b Ff(list)j Fl(option)d(will)h(display)f(all)h(of)f(the)h(modules)f(that)g(can)h (be)f(loaded.)31 b(Here)23 b(is)g(an)g(e)o(xample)515 2193 y(of)d(gpsim')-5 b(s)20 b(b)n(uilt-in)f(modules.)p Black Black 722 2401 a Fg(gpsim>)49 b(module)g(list)722 2501 y(Module)g(Libraries)f(libgpsim_modules.so)872 2600 y(pullup)872 2700 y(pulldown)872 2799 y(usart)872 2899 y(switch)872 2999 y(and2)872 3098 y(or2)872 3198 y(xor2)872 3298 y(not)872 3397 y(led_7segments)872 3497 y(led)872 3596 y(pulsegen)872 3696 y(Encoder)872 3796 y(TTL377)515 4042 y Fm(Loading)20 b(a)g(speci\002c)h(module)p Black Black 722 4197 a Fg(module)49 b(load)g(module_type)f([module_name])515 4405 y Fl(Once)18 b(a)h(library)e(has)i(been)f(loaded,)g(speci\002c)g (modules)g(can)g(be)h(instantiated.)24 b(The)18 b Ff(module_type)515 4505 y Fl(is)23 b(what')-5 b(s)22 b(displayed)e(by)i(the)g Ff(module)f(list)j Fl(command.)k(The)22 b(optional)e(module)h(name)g (speci\002es)515 4604 y(what)f(the)g(instance)g(is)h(called.)k(Here')-5 b(s)20 b(an)g(e)o(xample)p Black Black 722 4812 a Fg(gpsim>)49 b(module)g(load)g(led)g(D1)p Black Black eop end %%Page: 17 18 TeXDict begin 17 17 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(17)p Black 515 515 a Fm(Display)20 b(loaded)g(modules)515 690 y(Querying)f(modules)p Black Black 515 1139 a Fi(2.14)119 b(node)p Black Black 722 1325 a Fg(node)49 b([new_node1)f(new_node2)g (...])515 1496 y Fl(The)20 b Ff(node)g Fl(command)e(de\002nes)j(or)f (queries)g(\223nodes\224,)g(used)g(to)h(connect)e(e)o(xternal)h (signals)h(to)g(the)515 1596 y(simulated)d(PIC.)i(If)f(no)f(ne)n (w_node)f(is)j(speci\002ed)f(then)f(all)i(of)e(the)h(nodes)g(that)g(ha) n(v)o(e)f(been)h(de\002ned)515 1695 y(are)h(displayed.)26 b(If)21 b(a)g(ne)n(w_node)e(is)i(speci\002ed)g(then)f(it)i(will)f(be)g (added)f(to)h(the)g(node)e(list.)28 b(See)22 b(the)515 1795 y("attach")d(and)h("stimulus")g(commands)f(to)h(see)h(ho)n(w)e (stimuli)i(are)f(added)f(to)h(the)g(nodes.)p Black Black 722 1966 a Fg(examples:)722 2066 y(node)547 b(//)50 b(display)e(the)i (node)f(list)722 2165 y(node)g(n1)h(n2)f(n3)99 b(//)50 b(create)f(and)g(add)g(3)h(new)f(nodes)g(to)g(the)h(list)515 2459 y Fi(2.15)119 b(pr)n(ocessor)p Black Black 722 2744 a Fg(processor)48 b([new_processor_type)f([new_processor_name]])f(|)j ([list])g(|)h([dump])515 2916 y Fl(The)23 b Ff(pr)l(ocessor)i Fl(command)d(is)i(used)f(to)h(either)f(de\002ne)g(a)h(ne)n(w)f (processor)f(or)h(to)h(query)e(one)g(that)515 3015 y(has)i(already)f (been)g(de\002ned.)36 b(Normally)23 b(there')-5 b(s)24 b(no)g(need)f(to)h(e)o(xplicitly)f(de\002ne)h(the)g(processor)515 3115 y(since)f(the)g(symbol)f(\002le)i(already)e(contains)h(that)g (information.)31 b(The)23 b(tw)o(o)h(e)o(xceptions)d(are)i(when)515 3214 y(a\))i(the)h(symbolic)f(information)e(is)j(not)g(a)n(v)n(ailable) f(or)g(b\))g(you)g(wish)h(to)g(o)o(v)o(erride)d(the)j(processor)515 3314 y(speci\002ed)20 b(in)g(the)g(symbol)f(\002le.)26 b(\(See)20 b(the)g Ff(load)i Fl(command)c(on)i(ho)n(w)g(the)g (processor)f(in)h(a)g(symbol)515 3414 y(\002le)h(can)f(be)g(o)o(v)o (erridden.\))515 3532 y(T)-7 b(o)27 b(see)h(a)f(list)h(of)f(the)g (processors)f(supported)g(by)g(gpsim,)i(type)f(')p Ff(pr)l(ocessor)g (list)q Fl('.)47 b(T)-7 b(o)27 b(display)515 3632 y(the)22 b(state)g(of)g(the)g(I/O)g(processor)m(,)e(type)i(')p Ff(pr)l(ocessor)f(pins)p Fl('.)30 b(F)o(or)22 b(no)n(w)-5 b(,)21 b(this)h(will)h(display)e(the)h(pin)515 3731 y(numbers)c(and)i (their)g(current)f(state.)p Black Black 722 3903 a Fg(examples:)722 4002 y(processor)397 b(//)50 b(Display)e(the)h(processors)f(you've)h (already)f(defined.)722 4102 y(processor)g(list)149 b(//)50 b(Display)e(the)h(list)g(of)h(processors)e(supported.)722 4202 y(processor)g(pins)149 b(//)50 b(Display)e(the)h(processor)f (package)h(and)g(pin)g(state)722 4301 y(processor)f(p16cr84)h(fred)149 b(//)49 b(Create)g(a)g(new)h(processor.)722 4401 y(processor)e(p16c74)h (wilma)149 b(//)49 b(and)g(another.)722 4500 y(processor)f(p16c65)448 b(//)49 b(Create)g(one)g(with)g(no)h(name.)515 4794 y Fi(2.16)119 b(quit)515 4998 y Fl(Quit)20 b(gpsim.)p Black Black eop end %%Page: 18 19 TeXDict begin 18 18 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(18)p Black 515 515 a Fi(2.17)119 b(run)515 726 y Fl(Start)22 b(\(or)g(continue\))e(simulation.)30 b(The)21 b(simulation)h(will)g(continue)f(until)h(the)g(ne)o(xt)f(break)g(point) 515 825 y(is)g(encountered.)515 1130 y Fi(2.18)119 b(step)515 1341 y Fl(Ex)o(ecute)19 b(a)h(single)g(instruction,)f(or)h(a)h (speci\002ed)e(number)g(of)h(instructions.)p Black Black 722 1549 a Fg(step)49 b([over)g(|)h(n])515 1756 y Fl(W)m(ith)24 b(no)g(ar)o(guments,)f(the)i(step)f(command)f(e)o(x)o(ecutes)g(one)h (instruction)f(of)h(the)g(PIC)h(code.)37 b(If)24 b(a)515 1856 y(numeric)i(ar)o(gument)f(is)j(gi)n(v)o(en,)g(this)g(speci\002es)g (a)g(\002x)o(ed)f(number)f(of)h(instructions)f(to)i(simulate.)515 1955 y(The)19 b(speci\002c)h(w)o(ord)f(\223o)o(v)o(er\224)f(as)i(an)g (ar)o(gument)d(to)j(step)f(tells)i(gpsim)e(to)h(run)f(e)n(v)o(erything) e(in)m(v)n(olv)o(ed)515 2055 y(in)30 b(the)g(current)f(instruction.)53 b(This)30 b(w)o(ould)g(normally)e(be)i(used)g(on)g(a)g(CALL)g (instruction,)h(in)515 2155 y(which)19 b(case)i(the)f(whole)g (subroutine)e(runs)i(and)g(the)g(simulation)f(stops)i(after)e(it)i (returns.)515 2460 y Fi(2.19)119 b(symbol)p Black Black 722 2645 a Fg(symbol)49 b([symbol_name)f([symbol_type)f(value]])515 2853 y Fl(The)19 b Ff(symbol)h Fl(command)e(is)j(used)e(to)h(query)f (and)g(de\002ne)g(symbols.)24 b(If)c(no)f(options)g(are)h(speci\002ed,) 515 2952 y(the)f(whole)g(symbol)f(table)i(is)g(displayed.)j(The)c (creation)f(of)h(user)h(de\002ned)e(symbols)h(is)h(limited)f(at)515 3052 y(this)h(time)h(\(see)f(the)g(online)g(help)f(for)h(the)g(current) f(state)i(of)f(this)h(command\).)515 3357 y Fi(2.20)119 b(stimulus)p Black Black 722 3543 a Fg(stimulus)49 b([[type])f (options])515 3750 y Fl(The)21 b Ff(stimulus)g Fl(command)f(creates)h (a)h(signal)f(that)g(can)g(be)g(tied)h(to)f(a)h(node)e(or)h(an)g (attrib)n(ute.)28 b(If)21 b(no)515 3850 y(options)e(are)h(speci\002ed)g (then)g(all)h(currently)d(de\002ned)h(stimuli)i(are)f(displayed.)515 3974 y(Note)k(that)g(in)g(most)f(cases)i(it)g(is)f(easier)h(to)f (create)f(a)h(stimulus)g(\002le)h(then)e(to)h(type)g(the)g(command)515 4074 y(by)c(hand.)p 910 4195 2075 4 v 910 4195 V 908 4295 4 100 v 960 4265 a(initial_state)p 1395 4295 V 271 w(state)h(at)f(the)h(start)f(and)g(at)h(the)f(rollo)o(v)o(er)p 2982 4295 V 910 4298 2075 4 v 910 4298 V 908 4398 4 100 v 974 4368 a(start_c)o(ycle)p 1395 4398 V 113 w(simulation)f(c)o(yle)h (when)g(the)g(stimulus)g(will)h(be)o(gin)p 2982 4398 V 910 4401 2075 4 v 910 4401 V 908 4500 4 100 v 1047 4471 a(period)p 1395 4500 V 672 w(stimulus)f(period)p 2982 4500 V 910 4504 2075 4 v 910 4504 V 908 4603 4 100 v 1063 4574 a(name)p 1395 4603 V 491 w(speci\002es)h(the)f(stimulus)g (name)p 2982 4603 V 910 4607 2075 4 v 910 4607 V 515 4831 a(Here')-5 b(s)24 b(an)f(e)o(xample)f(of)i(a)g(stimulus)f(that)h (will)g(generate)f(tw)o(o)g(pulses)h(and)f(repeat)g(this)h(in)g(1000) 515 4931 y(c)o(ycles.)p Black Black eop end %%Page: 19 20 TeXDict begin 19 19 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(19)p Black Black Black 722 515 a Fg(stimulus)49 b(asynchronous_stimulus)722 615 y(#)h(The)f(initial)g(state)g(AND)g (the)g(state)g(the)g(stimulus)g(is)g(when)722 715 y(#)h(it)f(rolls)g (over)722 814 y(initial_state)f(0)722 914 y(start_cycle)g(0)722 1013 y(#)i(the)f(asynchronous)f(stimulus)g(will)h(roll)g(over)g(in)h ('period')722 1113 y(#)g(cycles.)e(Delete)h(this)g(line)g(if)h(you)f (don't)g(want)g(a)h(roll)f(over.)722 1213 y(period)g(1000)722 1312 y({)h(100,)f(1,)822 1412 y(200,)g(0,)822 1512 y(300,)g(1,)822 1611 y(400,)g(0)722 1711 y(})722 1810 y(#)h(Give)f(the)g(stimulus)g(a)g (name:)722 1910 y(name)g(two_pulse_repeat)722 2010 y(end)515 2206 y Fl(A)20 b(stimulus)h(can)f(be)g(queried)e(by)i(typing)f(its)i (name)f(at)h(the)f(command)e(line:)p Black Black 722 2402 a Fg(gpsim>)49 b(two_pulse_repeat)722 2502 y(two_pulse_repeat)e (attached)h(to)i(pulse_node)822 2601 y(Vth=0V)98 b(Zth=250)49 b(ohms)99 b(Cth=0)49 b(F)99 b(nodeVoltage=)48 b(7.49998e-07V)822 2701 y(Driving=0)g(drivingState=0)f(drivenState=0)h(bitState=0)822 2800 y(states)h(=)g(5)922 2900 y(100)g(1)922 3000 y(200)g(0)922 3099 y(300)g(1)922 3199 y(400)g(0)922 3299 y(1000)g(0)722 3398 y(initial=0)722 3498 y(period=1000)722 3597 y(start_cycle=0)722 3697 y(Next)g(break)g(cycle=100)515 3893 y Fl(Ev)o(en)23 b(though)f(this)i(e)o(xample)e(uses)j(1')-5 b(s)24 b(and)g(0')-5 b(s)24 b(for)f(the)h(data,)g(one)g(can)f(use)i(inte)o(gers,)e (\003oating)515 3993 y(point)f(numbers,)h(or)g(e)o(xpressions)f (instead.)33 b(Inte)o(gers)22 b(are)i(useful)e(for)h(supplying)e(a)j (stimulus)f(to)515 4092 y(an)i(attrib)n(ute.)41 b(Expressions)24 b(are)i(useful)f(for)g(abstracting)f(the)i(data.)41 b(See)26 b(Chapter)f(7)g(for)g(more)515 4192 y(discussion)19 b(and)h(e)o (xamples)f(of)h(stimuli.)515 4494 y Fi(2.21)119 b(stopwatch)1362 4450 y Fl(2)p Black Black 722 4779 a Fg(A)50 b(timer)f(for)g (monitoring)f(and)h(controlling)f(the)h(simulation.)p Black 515 4841 1146 4 v 605 4896 a Fd(2)634 4920 y Fc(The)17 b(stopw)o(atch)i(is)e(really)i(a)e(collection)k(of)16 b(attrib)o(utes)k(and)d(not)h(a)f(command.)k(But)c(the)h(beha)o(vior)h (is)e(so)f(similar)i(to)g(a)515 4998 y(command)f(that)i(it)e(has)g (been)h(included)i(here.)p Black Black Black eop end %%Page: 20 21 TeXDict begin 20 20 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(20)p Black 722 515 a Fg(The)50 b(units)e(are)i(in)f(simulation)f (cycles.)822 615 y(stopwatch.rollover)e(-)k(specifies)e(rollover)g (value.)822 715 y(stopwatch.direction)e(-)k(specifies)e(count)h (direction.)822 814 y(stopwatch.enable)e(-)i(enables)g(counting)f(if)i (true.)515 1015 y Fl(W)m(ithout)20 b(an)o(y)g(options,)g Ff(stopwatc)o(h)g Fl(will)i(display)e(the)h(contents)f(of)h(the)g (stopw)o(atch)f(timer)-5 b(.)28 b Ff(stop-)515 1114 y(watc)o(h)f Fl(is)h(writable,)g(so)g(you)e(may)h(initialize)h(it)g(to)f(whate)n(v)o (er)f(v)n(alue)g(you)h(lik)o(e.)46 b(The)27 b(beha)n(vior)515 1214 y(of)c(the)g(timer)g(may)f(be)i(manipulated)d(via)i(the)g(three)g (attrib)n(utes.)34 b(The)22 b Ff(.r)l(ollo)o(ver)k Fl(attrib)n(ute)c (is)j(the)515 1314 y(number)e(of)h(c)o(ycles)h(at)g(which)f(the)h (stopw)o(atch)f(timer)g(rolls)h(o)o(v)o(er)-5 b(.)38 b(The)24 b Ff(.dir)m(ection)g Fl(and)g Ff(.enable)515 1413 y Fl(attrib)n(utes)30 b(are)g(boolean)f(types.)56 b(When)30 b(true,)i(the)f Ff(.dir)m(ection)e Fl(attrib)n(ute)h(will)h (instruction)f(the)515 1513 y(stopw)o(atch)19 b(to)i(count)e(up.)515 1816 y Fi(2.22)119 b(trace)p Black Black 722 2001 a Fg(trace)49 b([dump_amount])515 2202 y Ff(tr)o(ace)30 b Fl(will)i(print)e(out)g (the)h(most)g(recent)f("dump_amount")d(traces.)57 b(If)30 b(no)h(dump_amount)c(is)515 2302 y(speci\002ed,)19 b(then)h(the)g (entire)g(trace)g(b)n(uf)n(fer)f(will)i(be)f(displayed.)515 2604 y Fi(2.23)119 b(v)o(ersion)p Black Black 722 2790 a Fg(version)515 2991 y Fl(Display)16 b(gpsim')-5 b(s)16 b(v)o(ersion.)22 b(Note,)17 b(this)g(command)d(will)j(probably)d(get)j (replaced)e(by)h(an)g(attrib)n(ute)515 3090 y(with)k(the)g(same)h(\(or) e(similar\))h(name.)515 3393 y Fi(2.24)119 b(x)515 3602 y Fl(The)26 b Ff(x)h Fl(command)d(is)k(deprecated.)41 b(It')-5 b(s)27 b(former)e(use)i(w)o(as)g(to)f(e)o(xamine)f(and)h (modify)f(memory)-5 b(.)515 3702 y(The)26 b(preferred)f(w)o(ay)i(to)h (do)e(this)i(no)n(w)e(is)i(with)g(e)o(xpressions.)44 b(The)27 b(help)f(for)h Ff(x)g Fl(no)n(w)g(indicates)515 3802 y(this:)p Black Black 722 4002 a Fg(x)50 b(examine)e(command)h(--) g(deprecated)822 4102 y(Instead)f(of)i(the)f(using)g(a)h(special)e (command)h(to)g(examine)g(and)g(modify)822 4201 y(variables,)f(it's)h (possible)f(to)i(directly)e(access)h(them)g(using)g(gpsim's)822 4301 y(expression)f(parsing.)g(For)h(example,)g(to)g(examine)g(a)g (variable:)722 4401 y(gpsim>)g(my_variable)722 4500 y(my_variable)f ([0x27])h(=)g(0x00)g(=)h(0b00000000)822 4600 y(To)f(modify)g(a)h (variable)722 4700 y(gpsim>)f(my_variable)f(=)h(10)822 4799 y(It's)g(also)g(possible)f(to)i(assign)f(the)g(value)g(of)g (register)f(to)i(another)722 4899 y(gpsim>)f(my_variable)f(=)h(porta) 822 4998 y(Or)g(to)h(assign)e(the)i(results)e(of)i(an)f(expression:)p Black Black eop end %%Page: 21 22 TeXDict begin 21 21 bop Black 515 282 a Fk(CHAPTER)21 b(2.)45 b(COMMAND)21 b(LINE)f(INTERF)-6 b(A)m(CE)1152 b Fl(21)p Black 722 515 a Fg(gpsim>)49 b(my_variable)f(=)h(\(porta)g(^) h(portc\))e(&)i(0x0f)p Black Black eop end %%Page: 22 23 TeXDict begin 22 22 bop Black Black 515 1159 a Fj(Chapter)44 b(3)515 1596 y Fn(Graphical)52 b(User)f(Interface)515 2049 y Fl(FIXME:)20 b(W)-7 b(e)21 b(could)e(use)i(a)f(fe)n(w)h (illustrations)e(here!)515 2170 y(gpsim)30 b(also)h(pro)o(vides)e(a)i (graphical)f(user)g(interf)o(ace)g(that)h(simpli\002es)g(some)g(of)f (the)h(drudgery)515 2269 y(associated)19 b(with)h(the)f(cli.)26 b(It')-5 b(s)20 b(possible)f(to)h(open)e(windo)n(ws)h(to)g(vie)n(w)h (all)g(the)f(details)h(about)f(your)515 2369 y(deb)n(ug)28 b(en)m(vironment.)50 b(T)-7 b(o)29 b(get)h(the)f(most)h(out)f(of)g (your)f(deb)n(ugging)f(session,)32 b(you')o(ll)d(w)o(ant)g(to)515 2469 y(assemble)19 b(your)f(code)g(with)i(gpasm)e(\(the)h(gnupic)f (assembler\))g(and)h(use)g(the)g(symbolic)f(.cod)h(\002les)515 2568 y(it)i(produces.)515 2866 y Fi(3.1)119 b(Main)30 b(windo)o(w)515 3090 y Fh(3.1.1)99 b(Menus)p Black 515 3267 a Fl(File->Open)p Black 279 w(.stc)21 b(or)f(.cod)f(\002les.)p Black 515 3426 a(File->Quit)p Black 312 w(Quit)h(gpsim)p Black 515 3585 a(W)m(indo)n(ws->*)p Black 233 w(Open/Close)g(the)g (windo)n(ws.)515 3840 y Fh(3.1.2)99 b(Buttons)515 4017 y Fl(\(These)19 b(are)i(also)f(found)e(as)j(k)o(e)o(yboard)d(bindings)h (in)h(the)g(source)g(windo)n(ws.\))p Black 515 4203 a(Step)p Black 516 w(Step)g(one)g(instruction)p Black 515 4362 a(Ov)o(er)p Black 498 w(Step)g(until)g(pc)g(is)i(after)d(ne)o(xt)h (instruction)p Black 515 4521 a(Finish)p Black 456 w(Run)g(to)g(return) f(address)p Black 515 4680 a(Run)p Black 525 w(Run)h(continuously)p Black 515 4839 a(Stop)p Black 511 w(Stop)g(e)o(x)o(ecution)p Black 515 4998 a(Reset)p Black 480 w(Reset)h(CPU)p Black 1905 5208 a(22)p Black eop end %%Page: 23 24 TeXDict begin 23 23 bop Black 515 282 a Fk(CHAPTER)21 b(3.)45 b(GRAPHICAL)21 b(USER)g(INTERF)-6 b(A)m(CE)1097 b Fl(23)p Black 515 515 a Fh(3.1.3)99 b(Simulation)25 b(mode)515 695 y Fl(This)20 b(controls)f(ho)n(w)h(gpsim)g(simulates,)g (and)g(ho)n(w)f(the)h(gui)g(updates.)p Black 515 895 a(Ne)n(v)o(er)p Black 421 w(Don')o(t)d(e)n(v)o(er)g(update)g(the)g(gui) h(when)f(simulating.)23 b(This)18 b(is)h(the)f(f)o(astest)h(mode.)1137 995 y(Y)-9 b(ou')o(ll)25 b(ha)n(v)o(e)g(to)h(stop)g(simulation)f(by)g (pressing)g(Ctrl-C)h(in)g(the)g(command)1137 1094 y(line)21 b(interf)o(ace.)p Black 515 1258 a(x)f(c)o(ycles)p Black 353 w(Update)g(the)g(gui)g(e)n(v)o(ery)f(x)h(c)o(ycles)g(simulated.)p Black 515 1422 a(e)n(v)o(ery)f(c)o(ycle)p Black 245 w(Update)24 b(the)g(gui)g(e)n(v)o(ery)f(c)o(ycle.)37 b(\(you)23 b(see)i(e)n(v)o (erything,)e(if)h(you)g(ha)n(v)o(e)f(\002lled)1137 1521 y(up)d(on)g(cof)n(fee)f(:-\))p Black 515 1685 a(x)h(ms)h(animate)p Black 178 w(Here)33 b(you)e(can)i(slo)n(w)g(do)n(wn)e(simulation)h (with)g(a)h(delay)f(between)g(e)n(v)o(ery)1137 1785 y(c)o(ycle.)p Black 515 1948 a(realtime)p Black 349 w(This)20 b(will)f(mak)o(e)g (gpsim)f(try)h(to)g(synchronize)e(simulation)h(speed)h(with)g(w)o(all) 1137 2048 y(clock)h(time.)515 2351 y Fi(3.2)119 b(Sour)n(ce)30 b(Br)n(o)o(wsers)515 2560 y Fl(gpsim)h(pro)o(vides)f(tw)o(o)i(vie)n(ws) g(of)f(your)f(source:)48 b('.)p Ff(asm')31 b Fl(and)g('.)p Ff(obj')f Fl(bro)n(wsers.)59 b(The)31 b('.)p Ff(asm')515 2660 y Fl(bro)n(wser)19 b(is)i(a)g(color)e(coded)g(display)h(of)f(your) g(pic)i(source.)515 2920 y Fh(3.2.1)99 b(.asm)24 b(Br)n(o)o(wser)515 3100 y Fl(When)32 b(a)h(.cod)f(\002le)i(with)f(source)f(is)h(loaded,)i (there)d(should)g(be)g(something)g(in)h(this)g(display)-5 b(.)515 3199 y(\(T)o(ODO:)19 b(add)h(section)g(about)f(high)g(le)n(v)o (el)h(deb)n(ugging\).)515 3323 y(There)30 b(is)h(an)g(area)g(to)g(the)f (left)h(of)g(the)g(source,)h(where)e(symbols)g(representing)f(the)i (program)515 3422 y(counter)m(,)f(breakpoints,)g(etc)h(are)f (displayed.)53 b(Double)29 b(clicking)g(in)h(this)h(area)f(toggles)f (break-)515 3522 y(points.)e(Y)-9 b(ou)20 b(can)h(drag)f(these)i (symbols)e(up)h(or)g(do)n(wn)f(in)h(order)f(to)h(mo)o(v)o(e)f(them)g (and)h(change)f(the)515 3621 y(PC)h(or)f(mo)o(v)o(e)f(a)h(breakpoint.) 515 3745 y(A)25 b(right)f(b)n(utton)f(click)i(on)f(the)h(source)e(pops) h(up)h(a)g(menu)e(with)i(six)g(items)g(\(the)f(w)o(ord)g('here')f(in) 515 3844 y(some)18 b(menu)f(items)h(denote)f(the)h(line)g(in)g(source)f (the)h(mouse)f(pointer)g(w)o(as)i(on)f(when)f(right)g(mouse)515 3944 y(b)n(utton)i(w)o(as)i(click)o(ed.\):)p Black 515 4144 a Fm(Menu)g(item)p Black 217 w(Description)p Black 515 4308 a Fl(Find)f(PC)p Black 328 w(This)f(menu)g(item)h(will)g (\002nd)f(the)h(PC)g(and)f(changed)f(page)h(tab)g(and)g(scroll)h(the) 1117 4408 y(source)f(vie)n(w)h(to)h(the)f(current)f(PC.)p Black 515 4571 a(Run)h(here)p Black 299 w(This)k(sets)h(a)g(breakpoint) d('here'and)f(starts)k(running)d(until)i(a)h(breakpoint)d(is)1117 4671 y(hit.)p Black 515 4835 a(Mo)o(v)o(e)d(PC)i(here)p Black 124 w(This)f(simply)g(changes)f(PC)i(to)g(the)f(address)g(that)g (line)g('here'in)f(source)g(has.)p Black 515 4998 a(Breakpoint)f(here)p Black 69 w(Set)j(a)f(breakpoint)e('here'.)p Black Black eop end %%Page: 24 25 TeXDict begin 24 24 bop Black 515 282 a Fk(CHAPTER)21 b(3.)45 b(GRAPHICAL)21 b(USER)g(INTERF)-6 b(A)m(CE)1097 b Fl(24)p Black Black 515 515 a(Pro\002le)20 b(start)h(here)p Black 52 w(Set)g(a)f(start)h(mark)o(er)e(for)g(routine)g(pro\002ling)g (here.)p Black 515 681 a(Pro\002le)h(stop)g(here)p Black 57 w(Set)h(a)f(stop)g(mark)o(er)-5 b(.)24 b(\(See)d(the)f(section)g (for)f(the)i(pro\002ling)d(windo)n(w)-5 b(.\))p Black 515 847 a(Select)20 b(symbol.)p Black 112 w(This)26 b(menu)e(item)i(is) h(only)e(a)n(v)n(ailable)h(when)f(some)g(te)o(xt)h(is)h(selected)f(in)g (the)1117 947 y(te)o(xt)16 b(widget.)24 b(What)17 b(it)g(does)g(is)g (search)g(the)f(list)i(of)f(symbols)f(for)g(the)h(selected)1117 1047 y(w)o(ord,)h(and)g(if)i(it)f(is)h(found)d(it)j(is)g(selected)f(in) g(the)g(symbol)f(windo)n(w)-5 b(.)23 b(Depend-)1117 1146 y(ing)h(of)g(type)g(of)h(symbol)e(other)h(things)g(are)g(also)h(done,)g (the)f(same)h(thing)f(as)1117 1246 y(when)19 b(selecting)h(a)h(symbol)e (in)h(the)h(symbol)e(windo)n(w:)p Black 1216 1429 a Fa(\017)p Black 41 w Fl(If)f(it)h(is)f(an)g(address,)g(then)f(the)h(opcode)e(and) h(source)g(vie)n(ws)h(display)g(the)1299 1528 y(address.)p Black 1216 1661 a Fa(\017)p Black 41 w Fl(If)i(it')-5 b(s)22 b(a)e(re)o(gister)m(,)f(the)h(re)o(gister)g(vie)n(wer)f(selects) j(the)e(cell.)p Black 1216 1794 a Fa(\017)p Black 41 w Fl(If)g(it')-5 b(s)21 b(a)g(constant,)e(address,)g(re)o(gister)h(or)g (ioport,)e(it)j(is)g(selected)f(in)h(the)1299 1893 y(symbol)f(windo)n (w)-5 b(.)p Black 515 2076 a(Find)20 b(te)o(xt)p Black 305 w(This)h(opens)f(up)g(a)i(search)e(dialog.)26 b(Ev)o(ery)20 b(time)h(you)f(hit)h(the)g('Find')f(b)n(utton,)1117 2176 y(the)30 b(current)f(notebook)f(page)i(is)h(found)e(and)h(the)g(source) g(in)g(that)h(page)f(is)1117 2275 y(used.)p Black 515 2441 a(Settings)p Black 334 w(A)20 b(dialog)g(with)g(which)g(you)f(can) h(change)f(the)h(fonts)g(used.)p Black 515 2607 a(Controls)p Black 315 w(A)32 b(submenu)e(containing)g(the)h(simulation)g(commands.) 58 b(\(these)32 b(are)f(also)1117 2707 y(found)14 b(as)j(k)o(e)o (yboard)c(bindings)i(\(recommended\),)e(or)j(in)g(the)g(main)g(windo)n (w)-5 b(.\))515 2915 y(These)20 b(are)g(the)g(k)o(e)o(yboard)e (bindings:)p Black 515 3122 a Fm(K)n(ey)p Black 273 w(command)p Black 515 3288 a Fl(s,S,F7)p Black 207 w(Step)i(one)g(instruction.)p Black 515 3454 a(o,O,F8)p Black 183 w(Step)g(o)o(v)o(er)f(instruction)p Black 515 3620 a(r)m(,R,F9)p Black 205 w(Run)h(continously)-5 b(.)p Black 515 3786 a(Escape)p Black 179 w(Stop)20 b(simulation.)p Black 515 3952 a(f,F)p Black 320 w(Run)g(to)g(return)f(address)p Black 515 4118 a(1..9)p Black 289 w(Step)h(n)g(instructions)515 4381 y Fh(3.2.2)99 b(Opcode)25 b(view)g(-)g(the)g(.obj)h(Br)n(o)o(wser) 515 4562 y Fl(This)g(windo)n(w)f(has)h(tw)o(o)g(tabs.)43 b(One)26 b(with)g(each)g(memory)e(cell)i(on)g(one)f(line)i(and)e (information)515 4661 y(about)c(address,)h(he)o(xadecimal)e(v)n(alue)i (and)g(decoded)e(instruction)h(\(i.e.)32 b(disassembly\),)21 b(and)h(one)515 4761 y(with)e(the)g(program)e(memory)515 4885 y(displayed)h(with)h(sixteen)g(memory)e(cells)j(per)f(ro)n(w)g (and)g(a)g(con\002gurable)e(ascii)j(column.)p Black Black eop end %%Page: 25 26 TeXDict begin 25 25 bop Black 515 282 a Fk(CHAPTER)21 b(3.)45 b(GRAPHICAL)21 b(USER)g(INTERF)-6 b(A)m(CE)1097 b Fl(25)p Black 515 515 a Fm(The)21 b(Assembly)g(tab)f(y)n(ou)g(can:)p Black 639 696 a Fa(\017)p Black 41 w Fl(Double)f(click)i(on)e(a)i(line) f(to)h(toggle)e(breakpoints.)p Black 639 862 a Fa(\017)p Black 41 w Fl(Use)i(the)f(same)h(k)o(e)o(yboard)c(commands)i(as)i(the)f (in)g(the)g(source)g(bro)n(wser)-5 b(.)p Black 639 1028 a Fa(\017)p Black 41 w Fl(Right)21 b(click)f(to)g(get)g(a)h(menu)e (where)h(you)f(can)h(change)f(the)h(fonts.)515 1274 y Fm(The)h(Opcode)f(tab)m(.)515 1454 y Fl(Here)i(the)g(program)e(memory)g (is)k(ordered)c(as)j(columns)e(of)h(sixteen)g(memory)e(cells)j(per)f (column)515 1554 y(and)d(as)i(man)o(y)e(ro)n(w)h(as)h(needed)e(to)h (contain)f(all)i(memory)-5 b(.)515 1679 y(The)30 b(se)n(v)o(enteenth)f (column)g(contains)h(an)g(ASCII)h(representation)e(of)h(the)h(program)d (memory)-5 b(.)515 1778 y(Y)c(ou)19 b(can)h(con\002gure)f(this)h (column)f(to)i(use)f(one)g(of)f(three)h(dif)n(ferent)f(modes:)p Black 639 1986 a Fa(\017)p Black 41 w Fl(One)h(byte)g(per)g(cell)p Black 639 2152 a Fa(\017)p Black 41 w Fl(T)-7 b(w)o(o)21 b(bytes)f(per)g(cell,)g(MSB)h(\002rst.)p Black 639 2318 a Fa(\017)p Black 41 w Fl(T)-7 b(w)o(o)21 b(bytes)f(per)g(cell,)g(LSB)h (\002rst.)515 2525 y(Y)-9 b(ou)19 b(can)h(change)f(fonts)h(with)g(the)h (menu)e(item)h('Settings'.)515 2650 y(Y)-9 b(ou)17 b(can)h(set)h (breakpoints)c(on)j(one)f(or)h(more)f(\(drag)g(the)h(mouse)f(to)h (select)g(more)g(cells\))g(addresses)515 2750 y(with)i(the)g(right)g (click)g(menu.)515 3055 y Fi(3.3)119 b(Register)29 b(views)515 3265 y Fl(There)23 b(are)g(tw)o(o)h(similar)g(re)o(gister)f(windo)n (ws.)35 b(One)23 b(for)g(the)h(RAM)h(and)e(one)g(for)g(the)h(EEPR)m(OM) 515 3365 y(data,)c(when)f(a)n(v)n(ailable.)515 3489 y(Here)f(you)g(see) h(all)h(re)o(gisters)e(in)h(the)f(current)g(processor)-5 b(.)23 b(Clicking)c(on)f(a)h(cell)g(displays)f(it')-5 b(s)20 b(name)515 3589 y(and)d(v)n(alue)g(abo)o(v)o(e)f(the)h(sheet)h (of)f(re)o(gisters.)24 b(Y)-9 b(ou)17 b(can)g(change)f(v)n(alues)h(by)h (entering)e(it)i(in)g(the)f(entry)515 3689 y(\(or)i(in)i(the)f (spreadsheet)f(cell\).)515 3813 y(The)25 b(follo)n(wing)g(things)h(can) f(be)h(done)g(on)f(one)h(re)o(gister)m(,)g(or)g(a)g(range)f(of)h(re)o (gisters.)42 b(\(Selecting)515 3913 y(a)28 b(range)f(of)g(re)o(gisters) h(is)h(done)e(by)g(holding)f(do)n(wn)h(left)h(mouse)f(b)n(utton,)i(mo)o (ving)d(cursor)m(,)i(and)515 4012 y(releasing)19 b(b)n(utton.\))p Black 639 4220 a Fa(\017)p Black 41 w Fl(Set)27 b(and)f(clear)h (breakpoints.)41 b(Use)27 b(the)g(right)f(mouseb)n(utton)e(menu)h(to)i (pop)f(up)g(a)h(menu)722 4320 y(where)18 b(you)e(can)i(select)h(set)f (read,)g(write,)g(read)f(v)n(alue)h(and)f(write)h(v)n(alue)f (breakpoints.)22 b(Y)-9 b(ou)722 4419 y(can)17 b(also)h("clear)f (breakpoints",)e(notice)h(the)i(s)g(in)f("clear)g(breakpoints",)e(e)n (v)o(ery)h(breakpoint)722 4519 y(on)k(the)g(re)o(gisters)g(are)g (cleared.)p Black 639 4685 a Fa(\017)p Black 41 w Fl(Set)31 b(and)f(clear)g(logging)f(of)h(re)o(gisters.)55 b(Y)-9 b(ou)29 b(can)h(log)g(reads,)j(writes,)g(reads/writes)d(of)722 4784 y(speci\002c)17 b(v)n(alues)g(and)f(to)h(bits)h(selected)e(by)h(a) g(speci\002ed)g(mask.)23 b(Y)-9 b(ou)17 b(can)f(select)i(a)f(dif)n (ferent)722 4884 y(\002le)j(name)f(with)g(')-5 b(set)20 b(log)f(\002lename...)-6 b('.)23 b(Def)o(ault)c(is)h("gpsim.log".)j(Y) -9 b(ou)18 b(can)h(choose)g(LXT)722 4984 y(or)h(ASCII)h(format.)j(LXT)c (can)g(be)g(read)f(with)i(the)f(program)e(gtkw)o(a)n(v)o(e.)24 b(ASCII)c(is)i(def)o(ault.)p Black Black eop end %%Page: 26 27 TeXDict begin 26 26 bop Black 515 282 a Fk(CHAPTER)21 b(3.)45 b(GRAPHICAL)21 b(USER)g(INTERF)-6 b(A)m(CE)1097 b Fl(26)p Black Black 639 515 a Fa(\017)p Black 41 w Fl(Cop)o(y)20 b(cells.)26 b(Y)-9 b(ou)19 b(cop)o(y)h(cells)h(by)e (dragging)f(the)j(border)d(of)i(the)g(selected)g(cell\(s\).)p Black 639 681 a Fa(\017)p Black 41 w Fl(Fill)i(cells.)29 b(Mo)o(v)o(e)19 b(mouse)i(to)g(lo)n(wer)g(right)f(corner)g(of)h(the)g (frame)f(of)h(the)g(selected)g(cell\(s\),)722 781 y(and)f(drag)f(it.)26 b(The)20 b(one)f(cell')-5 b(s)21 b(contents)f(will)h(be)f(copied)f(to)h (the)h(other)e(cells.)p Black 639 947 a Fa(\017)p Black 41 w Fl(W)-7 b(atch)21 b(them.)k(Select)20 b(the)g("Add)g(W)-7 b(atch")21 b(menu)e(item.)515 1155 y(The)h(cells)h(ha)n(v)o(e)e(dif)n (ferent)g(background)d(colors)k(depending)e(on)h(if)i(the)o(y)e (represent:)p Black 639 1362 a Fa(\017)p Black 41 w Fl(File)i(Re)o (gister)f(\(e.g.)25 b(RAM\):)20 b(light)g(c)o(yan.)p Black 639 1528 a Fa(\017)p Black 41 w Fl(Special)g(Function)f(Re)o (gisters)i(\(e.g.)j(ST)-8 b(A)f(TUS,TMR0\):)25 b(dark)19 b(c)o(yan)p Black 639 1694 a Fa(\017)p Black 41 w Fl(aliased)27 b(re)o(gister)g(\(e.g.)44 b(the)27 b(INDF)g(located)f(at)i(address)e (0x80)g(is)i(the)e(same)i(as)f(the)g(one)722 1794 y(located)20 b(at)h(address)e(0x00\):)24 b(gray)p Black 639 1960 a Fa(\017)p Black 41 w Fl(in)m(v)n(alid)18 b(re)o(gister:)24 b(black.)g(If)19 b(all)g(sixteen)g(re)o(gisters)f(in)h(a)h(ro)n(w)e (are)h(in)m(v)n(alid,)f(then)g(the)h(ro)n(w)g(is)722 2060 y(not)h(sho)n(wn.)p Black 639 2226 a Fa(\017)p Black 41 w Fl(a)h(re)o(gister)e(with)i(one)e(or)h(more)g(breakpoints:)j(red.) h(Logged)19 b(re)o(gisters)h(are)g(also)g(red.)515 2433 y(gpsim)31 b(dynamically)e(updates)i(the)g(re)o(gisters)g(as)h(the)f (simulation)g(proceeds.)57 b(Re)o(gisters)31 b(that)515 2533 y(change)19 b(v)n(alue)h(between)g(updates)f(of)i(the)f(windo)n(w) g(during)f(simulation)g(are)i(highlighted)d(with)j(a)515 2632 y(blue)e(fore)o(ground)e(color)-5 b(.)515 2757 y(The)20 b(menu)f(also)h(has)h(a)f(')-5 b(settings')21 b(item)f(where)f(you)h (can)g(change)f(the)h(font)f(used.)515 3062 y Fi(3.4)119 b(Symbol)30 b(view)515 3272 y Fl(This)23 b(windo)n(w)-5 b(,)22 b(as)i(its)g(name)f(suggests,)g(displays)g(symbols.)33 b(All)24 b(of)f(the)g(special)g(function)f(re)o(g-)515 3372 y(isters)31 b(will)h(ha)n(v)o(e)e(entries)h(in)g(the)g(symbol)f (vie)n(wer)-5 b(.)57 b(If)31 b(you')l(re)e(using)h(.cod)g(\002les)i (then)e(you')o(ll)515 3472 y(additionally)25 b(ha)n(v)o(e)i(\002le)h (re)o(gisters)e(\(that)h(are)h(de\002ned)e(in)h(cblocks\),)h(equates,)g (and)f(address)f(la-)515 3571 y(bels.)515 3696 y(Y)-9 b(ou)23 b(can)g(\002lter)i(out)e(some)g(symbol)g(types)h(using)f(the)h (b)n(uttons)f(in)h(the)g(top)f(of)g(the)h(windo)n(w)-5 b(,)23 b(and)515 3795 y(you)h(can)i(sort)f(the)h(ro)n(ws)g(by)f (clicking)f(on)i(the)f(column)f(b)n(uttons)h(\(the)h(ones)f(reading)f (')-5 b(symbol',)515 3895 y(')o(type')18 b(and)i('address'\).)515 4020 y(Y)-9 b(ou)19 b(can)i(add)e(the)i(symbol)e(to)h(the)h(w)o(atch)f (windo)n(w)f(by)h(right-clicking)e(and)i(selecting)g(the)g("Add)515 4119 y(to)h(w)o(atch)g(windo)n(w")f(menu)g(item.)28 b(This)22 b(will)g(add)e(the)h(ram)g(re)o(gister)g(with)g(address)g(equal)f(to)i (the)515 4219 y(symbols)d(v)n(alue)h(to)g(the)g(w)o(atch)h(windo)n(w)-5 b(.)515 4343 y(The)29 b(symbol)g(vie)n(wer)g(is)h(link)o(ed)f(to)h(the) f(other)g(windo)n(ws.)52 b(F)o(or)30 b(e)o(xample,)g(if)g(you)e(click)i (on)f(a)515 4443 y(symbol)19 b(and:)p Black 639 4651 a Fa(\017)p Black 41 w Fl(If)h(it)h(is)g(an)g(address,)e(then)h(the)g (opcode)e(and)i(source)g(vie)n(ws)g(display)f(the)i(address.)p Black 639 4817 a Fa(\017)p Black 41 w Fl(If)f(it')-5 b(s)22 b(a)e(re)o(gister)m(,)f(the)h(re)o(gister)g(vie)n(wer)f(selects) j(the)e(cell.)p Black Black eop end %%Page: 27 28 TeXDict begin 27 27 bop Black 515 282 a Fk(CHAPTER)21 b(3.)45 b(GRAPHICAL)21 b(USER)g(INTERF)-6 b(A)m(CE)1097 b Fl(27)p Black 515 515 a Fi(3.5)119 b(W)-8 b(atch)30 b(view)515 726 y Fl(This)21 b(is)h(not)f(a)g(output-only)d(windo)n(w)i (as)i(the)f(name)f(suggests)h(\(change)f(name?\).)26 b(Y)-9 b(ou)21 b(can)f(both)515 825 y(vie)n(w)29 b(and)h(change)e (data.)54 b(Double-clicking)27 b(on)i(a)h(bit)g(toggles)f(the)h(bit.)54 b(Y)-9 b(ou)29 b(add)g(v)n(ariables)515 925 y(here)e(by)g(marking)e (them)i(in)h(a)f(re)o(gister)g(vie)n(wer)g(and)g(select)h(\223)-7 b(Add)27 b(w)o(atch\224)g(from)f(menu.)46 b(The)515 1025 y(right-click)18 b(menu)i(has)g(the)g(follo)n(wing)f(items:)p Black 639 1232 a Fa(\017)p Black 41 w Fl(Remo)o(v)o(e)g(w)o(atch)p Black 639 1398 a Fa(\017)p Black 41 w Fl(Set)i(re)o(gister)f(v)n(alue)p Black 639 1564 a Fa(\017)p Black 41 w Fl(Clear)h(Breakpoints)p Black 639 1730 a Fa(\017)p Black 41 w Fl(Set)g(break)e(on)h(read)p Black 639 1896 a Fa(\017)p Black 41 w Fl(Set)h(break)e(on)h(write)p Black 639 2062 a Fa(\017)p Black 41 w Fl(Set)h(break)e(on)h(read)g(v)n (alue)p Black 639 2228 a Fa(\017)p Black 41 w Fl(Set)h(break)e(on)h (write)g(v)n(alue)p Black 639 2394 a Fa(\017)p Black 41 w Fl(Columns...)515 2602 y("Columns...)-6 b(\224)30 b(opens)21 b(up)h(a)h(windo)n(w)e(where)h(you)f(can)i(select)f(which)g (of)g(the)h(follo)n(wing)d(data)i(to)515 2702 y(display:)p Black 639 2909 a Fa(\017)p Black 41 w Fl(BP)p Black 639 3075 a Fa(\017)p Black 41 w Fl(T)-7 b(ype)p Black 639 3241 a Fa(\017)p Black 41 w Fl(Name)p Black 639 3407 a Fa(\017)p Black 41 w Fl(Address)p Black 639 3573 a Fa(\017)p Black 41 w Fl(Dec)p Black 639 3739 a Fa(\017)p Black 41 w Fl(He)o(x)p Black 639 3905 a Fa(\017)p Black 41 w Fl(Bx)21 b(\(bits)f(of)g(w)o(ord\))515 4113 y(Y)-9 b(ou)17 b(can)g(sort)h(the)g(list)h(of)e(w)o(atches)h(by)g(clicking)f (on)g(the)h(column)e(b)n(uttons.)24 b(Clicking)17 b(twice)h(sorts)515 4213 y(the)i(list)h(backw)o(ards.)515 4518 y Fi(3.6)119 b(Stack)30 b(viewer)515 4728 y Fl(This)24 b(windo)n(w)e(displays)i (current)e(stack.)36 b(Selecting)23 b(an)g(entry)g(mak)o(es)h(the)g (code)f(windo)n(ws)f(dis-)515 4828 y(play)d(the)i(return)e(address.)24 b(Double)19 b(clicking)h(sets)h(a)f(breakpoint)e(on)i(the)g(return)f (address.)p Black Black eop end %%Page: 28 29 TeXDict begin 28 28 bop Black 515 282 a Fk(CHAPTER)21 b(3.)45 b(GRAPHICAL)21 b(USER)g(INTERF)-6 b(A)m(CE)1097 b Fl(28)p Black 515 515 a Fi(3.7)119 b(Br)n(eadboard)515 726 y Fl(Here)29 b(you)g(can)g(create/modify)f(and)h(e)o(xamine)f(the)h (en)m(vironment)e(around)h(the)h(pic.)53 b(Pins)31 b(are)515 825 y(displayed)18 b(as)i(an)f(arro)n(w)-5 b(.)23 b(The)c(direction)f (of)h(the)h(arro)n(w)e(indicates)h(if)h(its)g(an)f(input)g(or)g(output) f(pin.)515 925 y(The)i(color)f(of)h(the)g(arro)n(w)f(indicates)h(its)h (state)g(\(green=lo)n(w)-5 b(,)18 b(red=high\).)515 1050 y(Y)-9 b(ou)15 b(can')o(t)g(instantiate)h(pic)g(processors)f(from)h (here,)g(you')o(ll)f(ha)n(v)o(e)g(to)i(do)e(that)h(from)f(the)i (command)515 1149 y(line,)j(or)g(from)f(a)h(.stc)h(\002le.)515 1274 y(Y)-9 b(our)25 b(can)i(create)f(nodes)g(by)g(clicking)f(on)h(the) h("ne)n(w)f(node")f(b)n(utton.)43 b(\(A)27 b(node)f(is)h('a)g(piece)f (of)515 1373 y(wire')21 b(to)h(which)g(you)f(can)g(connect)g (stimulus.\))29 b(Y)-9 b(ou)21 b(can)h(see)g(the)g(list)h(of)f(created) f(nodes)g(under)515 1473 y(the)f("nodes")f(item)h(in)h(the)f(upper)n (-left)e(tree)j(widget.)515 1597 y(Y)-9 b(ou)28 b(can)i(create)f (connections)e(to)i(nodes)g(by)g(clicking)f(on)h(a)h(pin,)h(and)e(then) f(clicking)h(on)g(the)515 1697 y(b)n(utton)22 b("Connect)g(stimulus)h (to)g(node".)31 b(This)23 b(will)h(bring)e(up)g(a)h(list)h(of)f(nodes.) 32 b(Choose)23 b(one)f(by)515 1797 y(double-clicking)17 b(on)i(the)i(one)e(you)h(lik)o(e.)515 1921 y(If)j(you)f(click)g(on)h(a) g(pin)g(that)g(is)h(already)e(connected)f(to)i(a)g(node,)f(then)h(you') o(ll)f(see)h(the)g(node)f(and)515 2021 y(its)g(connections)e(in)i(the)f (lo)n(wer)g(left)h(part)f(of)h(the)f(windo)n(w)-5 b(.)28 b(Y)-9 b(ou)21 b(can)g(disconnect)f(a)i(stimulus)g(by)515 2121 y(clicking)d(on)h(it)h(and)e(pressing)h(the)g("remo)o(v)o(e)e (stimulus")i(b)n(utton.)515 2245 y(When)g(you)g(w)o(ant)h(to)f(add)g(a) h(module)f(to)g(the)h(simulation,)e(you)h(\002rst)h(ha)n(v)o(e)f(to)h (specify)f(the)h(library)515 2345 y(which)32 b(contains)f(the)i(module) e(you)g(w)o(ant.)62 b(Click)33 b(on)f(the)h("add)e(library")h(b)n (utton)f(and)h(enter)515 2444 y(the)23 b(library)g(name)g(\(e.g.)35 b("libgpsim_modules.so"\).)d(No)n(w)23 b(you)g(can)h(click)f(the)h ("add)f(module")515 2544 y(b)n(utton.)g(Select)17 b(the)g(module)f(you) g(w)o(ant)i(from)e(the)h(list)h(by)f(double-clicking)d(on)i(it.)25 b(Enter)17 b(a)g(name)515 2644 y(for)k(the)h(module)f(\(this)h(has)g (to)g(be)g(unique,)f(and)g(not)h(used)g(before\).)28 b(Y)-9 b(ou)21 b(no)n(w)h(ha)n(v)o(e)f(to)h(position)515 2743 y(the)e(module.)j(Mo)o(v)o(e)c(the)i(mouse)e(pointer)g(to)h(where) g(you')l(d)e(lik)o(e)j(the)f(module,)f(and)g(left-click.)515 2868 y(If)i(you)g(middle-click)f(on)h(a)h(pin,)g(you')o(ll)f(see)h(ho)n (w)f(the)h(pin)f(is)i(connected.)k(Press)c(the)f("trace)f(all")515 2967 y(to)f(see)h(all)g(at)515 3092 y(once,)h(and)h("clear)g(traces")g (to)g(remo)o(v)o(e)e(all)i(\(you')o(ll)f(only)g(remo)o(v)o(e)f(the)i (graphical)f(trace,)h(not)g(the)515 3192 y(connection!\).)44 b(If)27 b(the)h(tracing)f(doesn')o(t)f(w)o(ork,)i(try)f(mo)o(ving)f (the)i(packages)e(so)i(that)g(there)f(are)515 3291 y(more)19 b(space)h(around)f(the)h(pins.)515 3416 y(When)f(you)g(are)g(done,)f (you)h(can)g(sa)n(v)o(e)h(by)f(clicking)f(the)i("sa)n(v)o(e)f (con\002guration")e(b)n(utton.)24 b(Y)-9 b(ou)19 b(can)515 3515 y(then)26 b(load)g(this)h(\002le)g(from)e(the)h(command)f(line)h (lik)o(e)h(this)g(\(assuming)e(the)i(.cod)e(\002le)i(with)g(your)515 3615 y(source)19 b(is)i(called)f("mycode.cod",)d(and)j(the)g(\002le)h (you)e(just)i(sa)n(v)o(ed)f(w)o(as)h(called)f("mynets.stc":)p Black Black 722 3822 a Fg(gpsim)49 b(-s)h(mycode.cod)e(-c)h(mynets.stc) 515 4030 y Fl(Y)-9 b(ou)20 b(can')o(t)f(load)h(only)g(the)h(.stc)g (\002le)g(since)g(this)g(doesn')o(t)e(contain)h(the)g(processor)f(type) h(and)g(code.)515 4130 y(Y)-9 b(ou)21 b(can)h(create)g(\(with)g(an)g (editor\))f(your)g(o)n(wn)g(.stc)i(\002le)g(\(e.g.)30 b(my_project.stc\))19 b(and)i(in)i(that)f(\002le)515 4229 y(put)f(a)i(command)d("load)i(c)g(mynets.stc")f(after)h(you)f(ha)n (v)o(e)h(loaded)f(the)h(.cod)f(\002le.)31 b(Y)-9 b(ou)22 b(then)f(only)515 4329 y(ha)n(v)o(e)e(to)i(load)e(this)i(\002le)g (\(gpsim)e(-c)i(my_project.stc\).)515 4634 y Fi(3.8)119 b(T)-9 b(race)30 b(viewer)515 4844 y Fl(This)20 b(windo)n(w)f(sho)n(ws) i(the)f(trace)g(of)g(instructions)f(e)o(x)o(ecuted.)k(See)e(6.)p Black Black eop end %%Page: 29 30 TeXDict begin 29 29 bop Black 515 282 a Fk(CHAPTER)21 b(3.)45 b(GRAPHICAL)21 b(USER)g(INTERF)-6 b(A)m(CE)1097 b Fl(29)p Black 515 515 a Fi(3.9)119 b(Pr)n(o\002le)30 b(viewer)515 726 y Fl(This)24 b(windo)n(w)f(sho)n(w)g(e)o(x)o(ecution)f (count)h(for)g(program)f(memory)g(addresses.)36 b(The)24 b(pro\002le)f(win-)515 825 y(do)n(w)d(must)h(be)f(opened)f(before)h (starting)g(simulation,)g(because)g(the)h(traceing)e(is)j(not)e (enabled)g(by)515 925 y(def)o(ault.)515 1171 y Fm(Instruction)g(pr)o (o\002le)515 1352 y Fl(This)g(sho)n(ws)g(the)h(number)d(of)i(times)h (each)e(instruction)g(are)h(e)o(x)o(ecuted.)515 1597 y Fm(Instruction)g(range)g(pr)o(o\002le)515 1778 y Fl(Here)g(you)f(can) h(group)f(ranges)g(of)h(instruction)f(into)h(one)f(entry)-5 b(.)515 1903 y(The)20 b(right)f(click)h(menu)g(contains:)p Black 515 2110 a(Remo)o(v)o(e)f(range)p Black 183 w(Remo)o(v)o(e)g(an)h (entry)-5 b(.)p Black 515 2276 a(Add)19 b(range...)p Black 252 w(Open)i(a)i(disalog)f(from)f(where)g(you)h(can)f(add)h(a)h (range)e(of)h(instructions)f(as)1179 2376 y(an)f(entry)-5 b(.)p Black 515 2542 a(Add)19 b(all)i(labels)p Black 203 w(Add)f(all)g(code)g(labels)g(as)h(ranges.)p Black 515 2708 a(Snapshot)e(to)h(plot)p Black 124 w(Open)30 b(a)i(windo)n(w)e(containing)f(a)j(graph)e(of)h(the)g(data.)57 b(From)31 b(this)h(ne)n(w)1179 2808 y(windo)n(w)19 b(you)g(can)h(also)h (sa)n(v)o(e)f(\(postscript\))f(or)h(print)g(it.)515 3053 y Fm(Register)g(pr)o(o\002le)515 3234 y Fl(This)g(sho)n(ws)g(the)h (number)d(of)i(reads)g(or)g(writes)g(the)h(simulator)e(does)h(on)g(re)o (gister)-5 b(.)515 3480 y Fm(Routine)20 b(pr)o(o\002le)515 3661 y Fl(Here)k(you)f(can)g(see)i(statistics)g(about)e(e)o(x)o (ecution)f(time)i(for)g(a)g(selected)g(routine.)35 b(Y)-9 b(ou)23 b(mark)h(the)515 3760 y(entry)j(and)g(e)o(xit)h(points)f(from)g (the)h(source)f(bro)n(wser)f(\(pro\002le)h(start/stop\).)47 b(If)28 b(the)g(routine)e(you)515 3860 y(w)o(ant)c(to)g(measure)f(ha)n (v)o(e)h(multiple)f(entry)g(and/or)g(e)o(xit)h(points,)f(then)h(you)f (ha)n(v)o(e)g(to)i(put)e(a)i(mark)o(er)515 3959 y(on)18 b(e)n(v)o(ery)g(entry)g(point)g(as)h(well)h(as)f(\(and)f(especially\))g (e)n(v)o(ery)f(e)o(xit)i(point.)24 b(Othervise)18 b(you)g(will)i(get) 515 4059 y(bad)f(data.)515 4184 y(When)g(you)f(ha)n(v)o(e)g(done)g (that,)i(gpsim)e(will)i(\(as)g(simulation)e(goes)h(by\))f(store)h(the)g (e)o(x)o(ecution)e(times)515 4283 y(of)29 b(that)g(routine)f(and)g (calculate)h(min/max/a)n(v)o(erage/etc.)49 b(Y)-9 b(ou)28 b(can)h(also)h(use)f(the)g(menu)f(item)515 4383 y('Plot)19 b(distrib)n(ution')f(to)i(open)e(a)i(windo)n(w)e(displaying)g(a)i (histogram)e(of)h(the)g(data.)25 b(From)19 b(this)h(ne)n(w)515 4482 y(windo)n(w)f(you)g(can)h(also)h(sa)n(v)o(e)f(\(in)g(postscript\)) f(or)h(print)g(it.)515 4607 y(Y)-9 b(ou)28 b(can)g(also)h(measure)e (call)i(period)e(by)i(switching)e(the)i('entry')e(and)h('e)o(xit')g (points.)49 b(If)28 b(also)515 4707 y(w)o(ant)23 b(the)g(time)h(from)e (reset)i(\(or)e(some)h(equal)g(point\))f(to)h(the)h(\002rst)g('entry',) e(then)h(you)f(must)h(also)515 4806 y(put)d(an)g('entry')e(point)i (there.)p Black Black eop end %%Page: 30 31 TeXDict begin 30 30 bop Black 515 282 a Fk(CHAPTER)21 b(3.)45 b(GRAPHICAL)21 b(USER)g(INTERF)-6 b(A)m(CE)1097 b Fl(30)p Black 515 515 a Fi(3.10)119 b(Stopwatch)515 726 y Fl(The)30 b(stopw)o(atch)g(windo)n(w)f(sho)n(ws)i(a)g(c)o(ycle)f (counter)f(and)g(a)i(re-settable)f(counter)-5 b(.)55 b(The)30 b(c)o(ycle)515 825 y(counter)18 b(is)k(the)e(same)g(as)h(the)f (one)g(in)g(the)g(re)o(gister)g(windo)n(w)-5 b(.)23 b(It)e(basically)f (counts)f(instructions.)515 950 y(The)24 b(other)h(counter)e(counts)i (at)g(the)g(same)g(rate)g(as)h(the)f(c)o(ycle)g(counter)m(,)f(b)n(ut)h (can)g(be)g(cleared)f(by)515 1050 y(clicking)19 b(the)h("clear")g(b)n (utton)f(\(or)h(preset)g(by)g(entering)e(a)j(number)d(in)j(the)f(entry) f(box\).)515 1174 y(The)h(up/do)n(wn)e(indicator)h(denotes)g(the)h (direction)f(the)h(counter)f(counts.)515 1299 y(The)j(rollo)o(v)o(er)f (v)n(alue)h(speci\002es)h(the)g(range)f(the)h(c)o(ycle)f(counter)f(can) i(be)g(in)g(\(a)g(modulo)e(counter\).)515 1398 y(F)o(or)f(e)o(xample,)f (if)i(the)g(rollo)o(v)o(er)d(v)n(alue)i(is)i(speci\002ed)e(to)h(be)f (0x42,)f(then)i(whene)n(v)o(er)d(the)j(resettable)515 1498 y(counter)27 b(reaches)i(0x42)e(it)j(will)g(rollo)o(v)o(er)d(to)i (zero.)51 b(If)28 b(the)i(counter)d(is)j(counting)d(do)n(wn,)j(then)515 1597 y(when)19 b(it)h(reaches)f(0)h(the)f(ne)o(xt)g(state)h(will)h(be)e (0x41.)k(If)d(you)e(don')o(t)g(w)o(ant)i(is)g(lik)o(e)g(this,)g(then)f (set)i(the)515 1697 y(rollo)o(v)o(er)d(v)n(alue)h(to)i(something)d(lar) o(ge.)515 2002 y Fi(3.11)119 b(Scope)30 b(W)n(indo)o(w)515 2213 y Fl(FIXME:)20 b(The)g(scope)f(windo)n(w)h(still)h(needs)f(some)g (w)o(ork...)515 2337 y(The)31 b(Scope)h(W)m(indo)n(w)f(graphs)g(I/O)h (pin)f(states.)61 b(It)33 b(is)f(similar)g(to)h(an)e(oscilloscope)g(or) h(logic)515 2437 y(analyzer)-5 b(.)25 b(It)20 b(can)h(be)f(controlled)f (either)h(from)f(the)h(command)f(line)h(or)h(from)e(the)h(gui.)26 b(Currently)515 2536 y(only)19 b(the)h(digital)g(state)h(of)f(I/O)h (pins)f(are)g(supported.)p Black Black eop end %%Page: 31 32 TeXDict begin 31 31 bop Black Black 515 1161 a Fj(Chapter)44 b(4)515 1600 y Fn(Scripting)51 b(and)h(Con\002guring)515 2055 y Fl(gpsim)19 b(does)h(not)g(ha)n(v)o(e)f(a)i(nati)n(v)o(e)e (scripting)g(language)f(per)i(se.)26 b(Ho)n(we)n(v)o(er)18 b(it)j(is)g(possible)f(to)g(place)515 2155 y(gpsim)d(commands)f(into)i (a)g(\002le)h(and)e(load)h(them)f(later)-5 b(.)25 b(This)18 b(is)h(useful)e(for)h(loading)e(modules)h(and)515 2255 y(stimuli)j(and)f(connecting)f(v)n(arious)g(de)n(vices)i(together)-5 b(.)24 b(By)c(con)m(v)o(ention,)d(gpsim')-5 b(s)19 b(con\002guration) 515 2354 y(\002les)i(ha)n(v)o(e)e(the)i(e)o(xtension)d Ff(.stc)p Fl(,)j(for)e Ff(st)q Fl(artup)i Ff(c)p Fl(on\002guration.)515 2657 y Fi(4.1)119 b(Embedded)31 b(Commands)515 2866 y Fl(If)26 b(you')l(re)e(using)i(gputils,)i(it)f(is)g(possible)f(to)h (embed)e(con\002guration)f(commands)g(directly)i(into)515 2965 y(your)e(PIC)h(assembly)g(source.)39 b(The)25 b(gputils)f (supplied)g(include)g(\002le)i Ff(cof)o(f)o(.inc)e Fl(contains)g(se)n (v)o(eral)515 3065 y(macros)19 b(that)i(embed)e(simulation)g(command)f (into)i(a)h(COFF)g(and)f(COD)h(\002les.)515 3325 y Fh(4.1.1)99 b(.sim)24 b(macr)n(o)p Black Black 722 3481 a Fg(;)50 b(Simulator)e(Command)722 3580 y(.sim)h(macro)g(x)822 3680 y(.direct)f("e",)h(x)822 3779 y(endm)515 3979 y Fl(The)15 b Fb(.sim)h Fg(macro)49 b(allows)f(gpsim)h(configuration)f (commands)g(to)h(be)h(embedded)515 4078 y(in)f(the)g(PIC)h(source.)98 b(While)49 b(gpsim)g(loads)g(a)g(.cod)g(file,)g(the)g(commands)515 4178 y(in)g(the)15 b Fb(.sim)i Fg(macros)48 b(are)i(collected.)97 b(After)49 b(the)g(.cod)h(file)f(is)g(loaded,)515 4278 y(the)g(commands)f(are)i(redirected)e(to)h(gpsim's)f(command)h(line)g (interpreter)515 4377 y(in)g(the)g(order)g(they)g(were)g(received.)515 4500 y Fl(Here')-5 b(s)20 b(an)g(e)o(xample)f(of)h(switch)h(module)d (being)i(loaded)f(and)g(con\002gured:)p Black Black 772 4700 a Fg(;#)50 b(Module)e(libraries:)772 4799 y(.sim)h("module)g (library)f(libgpsim_modules")772 4899 y(.sim)h("module)g(load)g(switch) f(SW1")772 4998 y(.sim)h("SW1.state=false")p Black 1905 5208 a Fl(31)p Black eop end %%Page: 32 33 TeXDict begin 32 32 bop Black 515 282 a Fk(CHAPTER)21 b(4.)45 b(SCRIPTING)21 b(AND)g(CONFIGURING)1051 b Fl(32)p Black 772 515 a Fg(.sim)49 b("SW1.xpos)f(=)i(216.0")772 615 y(.sim)f("SW1.ypos)f(=)i(156.0")772 715 y(.sim)f("SW1.Ropen)f(=)i (1.0e8")515 922 y Fl(This)29 b(loads)g(gpsim')-5 b(s)30 b(module)d(library)-5 b(,)30 b(instantiates)g(a)f(switch)h(module,)g (and)f(con\002gures)f(the)515 1022 y(switch')-5 b(s)21 b(attrib)n(utes.)515 1284 y Fh(4.1.2)99 b(.command)25 b(macr)n(o)p Black Black 722 1440 a Fg(.command)49 b(macro)f(x)822 1540 y(.direct)g("c",)h(x)822 1639 y(endm)515 1847 y Fl(The)21 b Fb(.command)k Fg(macro)49 b(is)g(similar)g(to)g(a)23 b Fb(.sim)g Fg(macro)49 b(except)f(that)h(it)515 1946 y(associates)f(a)h(gpsim)g(command)g(with)g(a)g(particular)f (instruction.)98 b(This)515 2046 y(is)49 b(useful)g(for)g(changing)f (attribute)h(values)f(at)i(different)e(points)515 2146 y(of)h(the)g(program.)515 2408 y Fh(4.1.3)99 b(.assert)24 b(macr)n(o)p Black Black 722 2564 a Fg(;)50 b(Assertion)722 2663 y(.assert)f(macro)g(x)772 2763 y(.direct)g("a",)g(x)772 2863 y(endm)515 3070 y Fl(The)16 b Ff(.assert)j Fl(macro)d(pro)o(vides) g(a)h(source)f(code)h(mechanism)e(for)i(setting)g(breakpoints)d(\(see)k (chap-)515 3170 y(ter)k(5\).)30 b(An)22 b(assertion)g(is)h(an)f(e)o (xpression)e(associated)i(with)g(a)g(speci\002c)h(instruction.)29 b(It)22 b(essential)515 3270 y(means,)17 b(\223If)g(the)g(e)o (xpression)f(at)h(this)h(instruction)e(e)n(v)n(aluates)g(to)i(f)o (alse,)g(then)e(halt)h(the)h(simulation.)-6 b(\224)p Black Black 722 3577 a Fg(;)50 b(Close)f(the)g(switch)g(because)f(of)i (capacitance)d(portc1)i(will)g(go)h(high)f(after)g(a)g(delay:)872 3676 y(;)g(R=145,)g(C=4.2e-6)f(TC=6.11e-4)g(or)i(1527)f(cycles)g(0-2)g (volts)g(requires)f(0.51)h(Tc)872 3776 y(.command)f("SW1.state=true") 1121 3876 y(nop)1121 3975 y(;)h(portc0)g(should)g(be)g(same)g(as)h (portc1)872 4075 y(.assert)e("\(portc)h(&)g(3\))h(==)f(0,)h(\\"SW1)f (closed,)f(cap)h(holds)g(low\\"")1121 4174 y(nop)515 4382 y Fl(In)18 b(this)g(e)o(xample,)f(the)h Ff(.command)h Fl(macro)e(writes)h(to)h(the)f(switch)g(module')-5 b(s)17 b Ff(.state)i Fl(attrib)n(ute)e(\(see)515 4482 y(section)f(8.1.4\).)22 b(Just)c(prior)d(to)i(e)o(x)o(ecuting)e(the)h(\002rst)i(nop)e (instruction,)f(the)i(switch)g(will)h(be)e(closed.)515 4581 y(The)h Ff(.assert)j Fl(macro)e(at)g(the)g(v)o(ery)f(ne)o(xt)g (instruction)g(mak)o(es)h(sure)f(that)i(the)e(e)o(xpected)g(state)i(is) f(seen)515 4681 y(on)i(POR)-5 b(TC.)p Black Black eop end %%Page: 33 34 TeXDict begin 33 33 bop Black 515 282 a Fk(CHAPTER)21 b(4.)45 b(SCRIPTING)21 b(AND)g(CONFIGURING)1051 b Fl(33)p Black 515 515 a Fi(4.2)119 b(Sock)o(ets)515 726 y Fl(gpsim)25 b(supports)f(a)i(sock)o(et)f(interf)o(ace.)39 b(This)26 b(is)g(inhibited)e(by)h(def)o(ault.)40 b(Adv)n(anced)24 b(users)h(may)515 825 y(wish)d(to)g(study)f(code)g(in)g(the)h Ff(e)n(xamples/scripts)g Fl(subdirectory)-5 b(.)26 b(This)c(code)f(not) g(distrib)n(uted)g(and)515 925 y(is)g(only)e(a)n(v)n(ailable)h(in)g (the)h(sub)o(v)o(ersion)d(repository)-5 b(.)p Black Black eop end %%Page: 34 35 TeXDict begin 34 34 bop Black Black 515 1163 a Fj(Chapter)44 b(5)515 1603 y Fn(Assertions)52 b(and)g(Extended)515 1852 y(Br)l(eakpoints)515 2309 y Fl(gpsim)23 b(supports)g(a)h(wide)g(v) n(ariety)f(of)g(breakpoints)f(and)h(assertions.)36 b(Man)o(y)23 b(of)g(these)h(were)g(de-)515 2408 y(scribed)f(with)h(the)g(break)e (command.)34 b(This)24 b(section)g(will)g(illustrate)g(ho)n(w)f(to)h(e) o(xtend)f(the)h(break)515 2508 y(command)18 b(e)n(v)o(en)h(further)g (and)g(introduce)g(simulation)g(assertions.)515 2770 y Fh(Br)n(eakpoint)26 b(Messages)515 2951 y Fl(A)i(breakpoint)d (message)i(is)h(an)g(ASCII)f(string)g(that)h(is)g(displayed)e(whene)n (v)o(er)g(a)i(breakpoint)d(is)515 3051 y(encountered.)56 b(An)o(y)31 b(break)g(point)g(can)h(ha)n(v)o(e)f(an)g(associated)h (message.)59 b(The)31 b(syntax)g(at)i(the)515 3150 y(command)18 b(line)i(is)p Black Black 722 3358 a Fg(break)49 b(conditions,)f(\223)p Fb(This)h(is)g(a)h(breakpoint)e(message)p Fg(\224)515 3565 y Fl(The)17 b(conditions)f(are)i(described)f(abo)o(v)o(e)f(in)i (the)f(break)g(command)f(and)h(are)h(the)g(conditions)e(under)515 3665 y(which)j(the)i(break)e(occurs.)515 3789 y(Breakpoint)f(messages)j (are)f(useful)g(for)f(distinguishing)f(among)h(man)o(y)g(dif)n(ferent)g (breakpoints.)p Black Black 722 4097 a Fg(break)49 b(w)h(counter)e(&)i (0xf0)f(==)g(0x80,)g(\223Counter)g(overflowed!\224)515 4304 y Fl(In)28 b(this)h(e)o(xample,)g(the)f(user)g(is)i(monitoring)c (the)i(upper)f(nibble)g(of)h(the)h(v)n(ariable)e(counter)g(and)515 4404 y(breaking)18 b(whene)n(v)o(er)g(it)j(is)g(equal)f(to)g(8.)25 b(When)20 b(the)g(command)f(is)i(entered,)d(gpsim)i(will)h(display:)p Black Black 722 4711 a Fg(break)49 b(when)g(bit)g(pattern)g(1000XXXX)f (is)i(written)e(to)i(register)e(counter\(0x26\).)f(break)i(#:)h(0x20) 515 4919 y Fl(The)20 b(breakpoint)d(can)j(be)h(queried)d(with)j(the)f (break)f(command:)p Black 1905 5208 a(34)p Black eop end %%Page: 35 36 TeXDict begin 35 35 bop Black 515 282 a Fk(CHAPTER)21 b(5.)45 b(ASSER)-5 b(TIONS)21 b(AND)g(EXTENDED)e(BREAKPOINTS)519 b Fl(35)p Black Black Black 722 515 a Fg(gpsim>)49 b Fb(break)g(32)722 615 y Fg(32:)h(p18f452)e(register)g(write)h(value:)g ([0x26])g(&)g(0xf0)g(==)h(0x8)922 715 y(Message:Counter)d(overflowed!) 515 922 y Fl(When)20 b(the)g(simulation)f(encounters)g(the)h(break,)f (e)o(x)o(ecution)f(halts)i(and)g(the)g(message)g(is)h(printed.)515 1227 y Fi(5.1)119 b(Assertions)29 b(and)h(Embedded)i(Simulation)f (commands)515 1438 y Fl(gpsim')-5 b(s)26 b(breakpoint)d(design)i(is)i (a)g(po)n(werful)d(tool)i(that)g(can)f(catch)h(man)o(y)f(problems.)41 b(The)25 b(as-)515 1537 y(sertion)20 b(design)g(e)o(xtends)f(this)i(po) n(wer)f(e)n(v)o(en)f(further)-5 b(.)25 b(An)20 b(assertion)h(is)g(lik)o (e)g(a)g(breakpoint)d(that)j(is)515 1637 y(associated)i(with)g(a)g (particular)f(instruction.)33 b(F)o(or)23 b(e)o(xample,)f(you)g(may)h (ha)n(v)o(e)f(a)i(routine)e(that)h(re-)515 1737 y(quires)18 b(B)m(ANK)i(0)e(be)h(selected.)24 b(A)c(gpsim)e(assertion)g(can)h(be)g (placed)f(at)h(the)g(entry)f(of)g(the)h(routine)515 1836 y(to)h(v)o(erify)f(that)h(this)h(is)g(the)f(case.)p Black Black 722 2143 a Fg(.assert)99 b(\223\(status)48 b(&)i(0x60\))e(==)i (0,)f(\\\224Bank)g(0)h(must)f(be)g(selected!\\\224\224)515 2351 y Fl(The)28 b(syntax)g(is)h(identical)f(to)h(the)f(e)o(xtended)e (breakpoint)h(command.)47 b(The)28 b(e)o(xpression)f(is)j(the)515 2451 y(condition)21 b(that)i(is)i(check)o(ed.)32 b(If)23 b(the)g(e)o(xpression)f(e)n(v)n(aluates)h(to)g(f)o(alse,)h(then)f(the)g (code)g(halts)g(and)515 2550 y(prints)i(the)h(message.)41 b(The)26 b Ff(.assert)i Fl(is)e(a)h(macro)d(that)i(is)h(part)e(of)h (gputils.)41 b(It)26 b(requires)f(a)h(string)515 2650 y(as)c(its)g(input)f(ar)o(gument.)27 b(Notice)21 b(that)g(the)h (assertion)f(message)g(is)i(embedded)c(in)j(the)f(ar)o(gument.)515 2749 y(gpasm)d(and)h(MP)-8 b(ASM)20 b(cop)o(y)e(C')-5 b(s)21 b(method)c(of)i(placing)f(a)i(backslash)e(in)i(front)e(of)h (quotations)e(that)515 2849 y(are)j(part)g(of)g(a)g(string.)515 3112 y Fh(Command)25 b(Assertions)515 3292 y Fl(A)h(command)e (assertion)h(is)i(a)f(gpsim)f(associated)h(with)g(a)g(particular)e (instruction)g(in)i(your)f(PIC)515 3392 y(source)h(code.)46 b(These)27 b(are)h(useful)f(for)f(changing)g(the)h(beha)n(vior)f(of)h (the)g(simulation)g(based)g(on)515 3491 y(where)e(the)i(code)e(e)o(x)o (ecutes.)43 b(Almost)26 b(an)o(y)f(gpsim)h(command)f(can)h(be)g(placed) f(in)i(a)g(command)515 3591 y(assertion.)d(Ho)n(we)n(v)o(er)m(,)18 b(the)j(most)f(useful)g(ones)f(are)i(assignment)e(commands.)k(F)o(or)d (e)o(xample:)p Black Black 722 3799 a Fg(.command)49 b(\223SW1.state)f(=)h(false\224)515 4006 y Fl(This)20 b(assignment)f(writes)i(to)f(the)h(state)g(attrib)n(ute)e(of)h(a)h (switch)f(module)f(named)g(SW1.)p Black Black eop end %%Page: 36 37 TeXDict begin 36 36 bop Black Black 515 1163 a Fj(Chapter)44 b(6)515 1603 y Fn(T)-15 b(race)50 b(and)i(Log:)64 b(What)51 b(has)515 1852 y(happen?)515 2309 y Fl(Inspecting)18 b(the)i(current)f(state)i(of)e(your)g(program)f(is)j(sometimes)f(insuf) n(\002cient)f(to)h(determine)f(the)515 2408 y(cause)h(of)f(a)h(b)n(ug.) 25 b(Often)19 b(times)h(it')-5 b(s)21 b(useful)f(to)g(kno)n(w)f(the)g (conditions)g(that)h(led)g(up)f(to)h(the)g(current)515 2508 y(state.)26 b(gpsim)19 b(pro)o(vides)g(a)i(history)e(or)h(trace)g (of)g(e)n(v)o(erything)e(that)i(occurs)f(-)i(whether)e(you)g(w)o(ant)i (it)515 2607 y(or)f(not)g(-)g(to)g(help)g(you)f(diagnose)g(these)i (otherwise)e(dif)n(\002cult)h(to)g(analyze)f(b)n(ugs.)p Black Black 1046 2816 1803 4 v 1044 2915 4 100 v 1199 2886 a(What')-5 b(s)21 b(traced)p 1810 2915 V 583 w(notes)p 2846 2915 V 1046 2919 1803 4 v 1046 2935 V 1044 3035 4 100 v 1153 3005 a(program)d(counter)p 1810 3035 V 329 w(adresses)i(e)o(x)o(ecuted)p 2846 3035 V 1046 3038 1803 4 v 1044 3138 4 100 v 1235 3108 a(instructions)p 1810 3138 V 586 w(opcode)p 2846 3138 V 1046 3141 1803 4 v 1044 3241 4 100 v 1223 3211 a(re)o(gister)g(read)p 1810 3241 V 391 w(v)n(alue)f(and)h(location)p 2846 3241 V 1046 3244 1803 4 v 1044 3344 4 100 v 1209 3314 a(re)o(gister)g(write)p 1810 3344 V 378 w(v)n(alue)f(and)h(location)p 2846 3344 V 1046 3347 1803 4 v 1044 3447 4 100 v 1207 3417 a(c)o(ycle)g(counter)p 1810 3447 V 460 w(current)f(v)n(alue)p 2846 3447 V 1046 3450 1803 4 v 1044 3550 4 100 v 1096 3520 a(skipped)g(instructions)p 1810 3550 V 267 w(addresses)h(skipped)p 2846 3550 V 1046 3553 1803 4 v 1044 3653 4 100 v 1200 3623 a(status)h(re)o(gister)p 1810 3653 V 203 w(during)d(implicit)i(modi\002cation)p 2846 3653 V 1046 3656 1803 4 v 1044 3756 4 100 v 1270 3726 a(interrupts)p 1810 3756 V 2846 3756 V 1046 3759 1803 4 v 1044 3859 4 100 v 1225 3829 a(break)f(points)p 1810 3859 V 624 w(type)p 2846 3859 V 1046 3862 1803 4 v 1044 3962 4 100 v 1334 3932 a(resets)p 1810 3962 V 735 w(type)p 2846 3962 V 1046 3965 1803 4 v 1044 4064 4 100 v 1810 4064 V 2846 4064 V 1046 4068 1803 4 v 1044 4167 4 100 v 1810 4167 V 2846 4167 V 1046 4171 1803 4 v 515 4414 a(The)h(')o(trace')e(command)h(will)i(dump)d(the)j(contents) e(of)h(the)g(trace)g(b)n(uf)n(fer)-5 b(.)515 4539 y(A)24 b(lar)o(ge)f(circular)g(b)n(uf)n(fer)g(\(whose)g(size)i(is)f(hard)f (coded\))g(stores)h(the)g(information)d(for)j(the)g(trace)515 4638 y(b)n(uf)n(fer)-5 b(.)35 b(When)24 b(it)g(\002lls,)i(it)f(will)f (wrap)g(around)e(and)h(write)h(o)o(v)o(er)e(the)i(old)g(history)-5 b(.)35 b(The)23 b(contents)515 4738 y(of)18 b(the)h(trace)f(b)n(uf)n (fer)g(are)g(parsed)g(into)h(frames,)f(where)g(one)g(frame)g (corresponds)e(to)j(a)g(simulation)515 4838 y(c)o(ycle.)515 4962 y(Here')-5 b(s)20 b(an)g(e)o(xample)f(of)h(a)h(trace)f(output:)p Black 1905 5208 a(36)p Black eop end %%Page: 37 38 TeXDict begin 37 37 bop Black 515 282 a Fk(CHAPTER)21 b(6.)45 b(TRA)m(CE)21 b(AND)g(LOG:)f(WHA)-9 b(T)21 b(HAS)f(HAPPEN?)762 b Fl(37)p Black Black Black 722 515 a Fg(gpsim>)49 b(trace)722 615 y(0x00000000000026F6)e(p18f452)h(0x001C)h(0x1003)g(iorwf)98 b(reg3,w,0)872 715 y(Read:)49 b(0x00)g(from)g(reg3\(0x0003\))822 814 y(Wrote:)g(0xE7)g(to)g(W\(0x0FE8\))f(was)i(0xE7)822 914 y(Wrote:)f(0x18)g(to)g(status\(0x0FD8\))e(was)j(0x18)722 1013 y(0x00000000000026F7)d(p18f452)h(0x001E)h(0xE1F4)g(bnz)198 b($-0x16)99 b(;\(0x8\))722 1113 y(0x00000000000026F8)47 b(p18f452)h(0x0008)h(0x3E00)g(incfsz)f(reg,f,0)872 1213 y(Read:)h(0xE4)g(from)g(reg\(0x0000\))822 1312 y(Wrote:)g(0xE5)g(to)g (reg\(0x0000\))f(was)h(0xE4)722 1412 y(0x00000000000026F9)e(p18f452)h (0x000A)h(0xD004)g(bra)198 b($+0xa)149 b(;\(0x00014\))48 b(0x00000000000026FA)e(p18f452)j(0x0014)f(0x0004)h(clrwdt)722 1512 y(0x00000000000026FB)e(p18f452)h(0x0016)h(0x5000)g(movf)148 b(reg,w,0)872 1611 y(Read:)49 b(0xE5)g(from)g(reg\(0x0000\))822 1711 y(Wrote:)g(0xE5)g(to)g(W\(0x0FE8\))f(was)i(0xE7)822 1810 y(Wrote:)f(0x18)g(to)g(status\(0x0FD8\))e(was)j(0x18)722 1910 y(0x00000000000026FC)d(p18f452)h(0x0018)h(0x1001)g(iorwf)98 b(reg1,w,0)872 2010 y(Read:)49 b(0x03)g(from)g(reg1\(0x0001\))822 2109 y(Wrote:)g(0xE7)g(to)g(W\(0x0FE8\))f(was)i(0xE5)822 2209 y(Wrote:)f(0x18)g(to)g(status\(0x0FD8\))e(was)j(0x18)515 2408 y Fl(Each)29 b(trace)h(frame)f(be)o(gins)g(with)h(a)g(ne)n(w)g (simulation)f(c)o(ycle.)53 b(T)-7 b(ypically)29 b(this)i(will)f (include)f(a)515 2508 y(simulated)19 b(instruction.)24 b(Here')-5 b(s)20 b(each)g(of)g(the)g(\002elds:)p Black Black 772 2785 a Fg(64-bit)49 b(simulation)f(cycle)98 b(processor)198 b(PC)h(opcode)173 b(instruction)897 2885 y(0x00000000000026F6)270 b(p18f452)148 b(0x001C)99 b(0x1003)f(iorwf)49 b(reg3,w,0)515 3079 y Fl(Other)27 b(e)n(v)o(ents)g(that)h(occur)e (during)g(the)i(trace)f(frame)g(are)h(indented.)46 b(T)-7 b(ypically)26 b(these)i(will)h(be)515 3178 y(re)o(gister)24 b(read)g(or)g(write)h(traces.)39 b(The)24 b(read)h(traces)f(sho)n(w)h (the)g(v)n(alue)f(read.)38 b(Write)25 b(traces)g(sho)n(w)515 3278 y(the)20 b(v)n(alue)f(written)h(and)g(the)g(v)n(alue)g(that)g(w)o (as)h(pre)n(viously)d(in)j(the)f(re)o(gister)-5 b(.)515 3581 y Fi(Sa)m(ving)30 b(T)-9 b(race)30 b(to)f(a)h(\002le)515 3790 y Fl(The)d(trace)g(b)n(uf)n(fer)f(may)h(contain)f(thousands)g(of)h (entries)h(making)e(it)i(dif)n(\002cult)e(to)i(search.)46 b(The)515 3889 y(trace)20 b(sa)n(v)o(e)g(feature)f(will)i(allo)n(w)f (the)h(trace)f(b)n(uf)n(fer)f(to)h(be)g(written)g(to)g(a)h(\002le.)p Black Black 722 4088 a Fg(gpsim>)49 b(trace)g(save)g(mytrace.log)515 4288 y Fl(The)22 b(entire)h(contents)f(of)h(the)f(trace)h(b)n(uf)n(fer) f(are)g(decoded)g(and)g(written)h(to)g(the)f(\002le.)34 b(The)23 b(format)515 4387 y(of)d(the)g(trace)g(is)h(the)f(same)h(as)g (it)f(is)i(when)d(displayed)g(at)i(the)f(command)e(line.)515 4690 y Fi(Raw)30 b(T)-9 b(races)515 4899 y Fl(The)24 b Ff(r)o(aw)h Fl(trace)f(b)n(uf)n(fer)f(is)i(the)g(trace)f(b)n(uf)n (fer)f(displayed)g(in)h(a)h(minimally)e(decoded)g(form.)36 b(This)515 4998 y(is)28 b(primarily)e(used)h(for)g(gpsim)g(de)n(v)o (elopment.)44 b(When)27 b(sa)n(v)o(ed)g(to)h(a)g(\002le,)i(the)d(ra)o (w)g(trace)h(is)g(not)p Black Black eop end %%Page: 38 39 TeXDict begin 38 38 bop Black 515 282 a Fk(CHAPTER)21 b(6.)45 b(TRA)m(CE)21 b(AND)g(LOG:)f(WHA)-9 b(T)21 b(HAS)f(HAPPEN?)762 b Fl(38)p Black 515 515 a(decoded)20 b(at)j(all.)31 b(In)22 b(addition,)f(the)h(processor')-5 b(s)21 b(state)i(is)g(written)f(to)g (the)g(\002le.)31 b(Thus)22 b(third)f(party)515 615 y(tools)f(can)g(be) g(written)g(to)g(create)g(custom)g(trace)g(reports)2167 585 y Fe(1)2199 615 y Fl(.)p Black 515 4840 1146 4 v 605 4896 a Fd(1)634 4919 y Fc(FIXME)c(-)g(The)h(dynamically)i(created)g (trace)f(type)g(information)h(needs)e(to)g(be)g(written)h(to)f(this)g (\002le)g(too.)k(W)m(ithout)d(it,)515 4998 y(it)f(is)g(dif)n(\002cult)i (to)f(tell)g(what)g(each)g(traced)h(item)f(is.)p Black Black Black eop end %%Page: 39 40 TeXDict begin 39 39 bop Black Black 515 1161 a Fj(Chapter)44 b(7)515 1599 y Fn(Simulating)53 b(the)e(Real)h(W)-15 b(orld:)515 1848 y(Stimuli)515 2303 y Fl(Stimuli)21 b(are)g(e)o (xtremely)e(useful,)h(if)i(not)e(necessary)-5 b(,)20 b(for)h(simulations.)26 b(The)o(y)20 b(pro)o(vides)f(a)j(means)515 2402 y(for)d(simulating)h(interactions)f(with)h(the)g(real)h(w)o(orld.) 515 2525 y(The)30 b(gpsim)f(stimuli)i(capability)e(is)i(designed)e(to)h (be)g(accurate,)i(ef)n(\002cient)d(and)h(\003e)o(xible.)54 b(The)515 2624 y(models)21 b(for)g(the)g(PIC')-5 b(s)23 b(I/O)f(pins)f(mimic)h(the)f(real)h(de)n(vices.)29 b(F)o(or)21 b(e)o(xample,)f(the)i(open)f(collector)515 2724 y(output)g(on)h(port)g (A)i(of)e(a)h(PIC16C84)f(can)h(only)e(dri)n(v)o(e)h(lo)n(w)-5 b(.)32 b(Multiple)22 b(I/O)h(pins)g(may)f(be)h(tied)f(to)515 2824 y(one)e(another)f(so)j(that)f(the)f(open)g(collector)g(on)h(port)f (A)h(can)g(get)g(a)g(pull)g(up)f(resistor)h(from)f(port)g(B.)515 2923 y(The)i(o)o(v)o(erhead)e(for)h(stimuli)i(only)f(occurs)f(when)h(a) h(stimulus)f(changes)g(states.)32 b(In)23 b(other)e(w)o(ords,)515 3023 y(stimuli)f(are)g(not)g(polled)f(to)i(determine)e(their)h(state.) 515 3145 y(Analog)e(stimuli)i(are)f(also)g(a)n(v)n(ailable.)24 b(It')-5 b(s)20 b(possible)f(to)h(create)f(v)n(oltage)f(references)g (and)h(sources)515 3245 y(to)i(simulate)g(almost)h(an)o(y)e(kind)h(of)g (real)g(w)o(orld)g(thing.)27 b(F)o(or)21 b(e)o(xample,)f(it')-5 b(s)23 b(possible)e(to)g(combine)515 3345 y(tw)o(o)f(analog)f(stimuli)i (together)e(to)h(create)g(signals)g(lik)o(e)h(DTMF)f(tones.)515 3646 y Fi(7.1)119 b(Ho)o(w)30 b(They)f(W)-9 b(ork)515 3854 y Fl(In)27 b(the)g(simplest)h(case,)h(a)f(stimulus)f(acts)h(a)g (source)e(for)h(an)g(I/O)h(pin)f(on)g(a)g(PIC.)h(F)o(or)f(e)o(xample,) 515 3954 y(you)e(may)g(w)o(ant)h(to)g(simulate)g(a)g(clock)f(and)g (measure)g(its)i(period)e(using)g(TMR0.)42 b(In)25 b(this)h(case,)515 4053 y(the)20 b(stimulus)h(is)g(the)g(source)f(and)g(the)g(TMR0)h (input)e(pin)i(on)f(the)g(pic)h(is)g(the)g(load.)k(In)20 b(gpsim)g(you)515 4153 y(w)o(ould)d(create)h(a)h(stimulus)f(for)g(the)g (clock)g(using)g(the)g(stimulus)g(command)e(and)i(connect)f(it)i(to)g (the)515 4253 y(I/O)h(pin)g(using)g(the)g(node)f(command.)515 4375 y(In)25 b(general,)f(you)h(can)g(ha)n(v)o(e)f(se)n(v)o(eral)g(')-5 b(sources')25 b(and)f(se)n(v)o(eral)h(')o(loads')f(that)h(are)g (interconnected)515 4475 y(with)30 b(nodes)888 4445 y Fe(1)920 4475 y Fl(.)55 b(A)31 b(good)e(analogy)f(is)j(a)g(spice)f (circuit.)54 b(The)30 b(spice)g(netlist)h(corresponds)d(to)i(a)515 4575 y(node-list)21 b(in)g(gpsim)g(and)h(the)f(spice)h(elements)f (correspond)e(to)j(the)g(stimuli)g(sources)f(and)g(loads.)515 4674 y(This)d(general)f(approach)e(mak)o(es)j(it)h(possible)e(to)h (create)g(a)g(v)n(ariety)f(of)h(simulation)f(en)m(vironments.)515 4774 y(Here')-5 b(s)20 b(a)h(list)g(of)f(dif)n(ferent)f(w)o(ays)h(in)g (which)g(stimuli)h(may)e(be)h(connected:)p Black 515 4841 1146 4 v 605 4896 a Fd(1)634 4920 y Fc(Although,)25 b(gpsim)d(is)f(currently)k(limited)e(to)g('one-port')h(de)n(vices.)37 b(In)22 b(other)h(w)o(ords,)g(it)g(is)e(assumed)i(that)g(ground)515 4998 y(serv)o(es)17 b(as)g(a)g(common)g(reference)j(for)d(the)h (sources)g(and)f(the)h(loads.)p Black Black 1905 5208 a Fl(39)p Black eop end %%Page: 40 41 TeXDict begin 40 40 bop Black 515 282 a Fk(CHAPTER)21 b(7.)45 b(SIMULA)-9 b(TING)20 b(THE)g(REAL)g(W)o(ORLD:)i(STIMULI)640 b Fl(40)p Black Black 619 515 a(1.)p Black 40 w(Stimulus)20 b(connected)f(to)h(one)g(I/O)g(pin)p Black 619 680 a(2.)p Black 40 w(Stimulus)g(connected)f(to)h(se)n(v)o(eral)g(I/O)g(pins)p Black 619 845 a(3.)p Black 40 w(Se)n(v)o(eral)g(stimuli)g(connected)e (to)j(one)e(I/O)i(pin)p Black 619 1009 a(4.)p Black 40 w(Se)n(v)o(eral)f(stimuli)g(connected)e(to)j(se)n(v)o(eral)e(I/O)i (pins)p Black 619 1174 a(5.)p Black 40 w(I/O)g(pins)f(connected)e(to)j (I/O)f(pins)515 1377 y(The)g(general)f(technique)f(for)i(implementing)e (stimuli)i(is)h(as)g(follo)n(ws:)p Black 619 1581 a(1.)p Black 40 w(De\002ne)f(the)h(stimulus)f(or)g(stimuli.)p Black 619 1745 a(2.)p Black 40 w(De\002ne)g(a)h(node.)p Black 619 1910 a(3.)p Black 40 w(Attach)f(the)h(stimuli)f(to)g(the)h (node.)515 2113 y(More)e(often)h(than)f(not,)h(the)g(stimulus)g (de\002nition)f(will)i(reside)f(in)h(a)f(\002le.)515 2375 y Fh(7.1.1)99 b(Contention)26 b(among)e(stimuli)515 2554 y Fl(One)e(of)h(the)g(problems)e(with)i(this)h(nodal)d(approach)g (to)i(modeling)e(stimuli)i(is)h(that)f(it')-5 b(s)24 b(possible)515 2654 y(for)d(contention)f(to)i(e)o(xist.)30 b(F)o(or)22 b(e)o(xample,)f(if)h(tw)o(o)g(I/O)g(pins)g(are)g(connected) e(to)i(one)g(another)e(and)515 2754 y(dri)n(ving)g(in)j(the)f(opposite) g(directions,)f(there)h(will)h(be)f(contention.)30 b(gpsim)22 b(resolv)o(es)f(contention)515 2853 y(with)c(attrib)n(ute)g(summing.)23 b(Each)17 b(stimulus)g(-)h(e)n(v)o(en)e(if)i(it')-5 b(s)18 b(an)g(input)e(-)i(has)f(an)h(ef)n(fect)e(on)h(the)h(node.)515 2953 y(This)24 b(ef)n(fect)g(is)h(characterised)e(by)g(a)i(v)n(oltage)f (and)f(an)h(impedance.)35 b(When)24 b(a)h(node)e(is)i(updated,)515 3053 y(gpsim)c(performs)f(a)i(The)n(v)o(enin)e(v)n(oltage)h(summing)f (of)h(all)i(the)e(stimuli)h(together)-5 b(.)29 b(The)21 b(resultant)515 3152 y(v)n(oltage)e(is)i(then)f(propagated)d(to)k(all)f (connected)f(stimuli)h(as)h(the)f(current)f(state)i(of)f(the)g(node.) 515 3276 y(F)o(or)j(e)o(xample,)h(in)g(the)g(port)f(A)i(open)e (collector)g(/)i(port)e(B)i(weak)f(pull-up)e(connection)g(e)o(xample,) 515 3376 y(gpsim)i(assigns)g(a)h(v)n(oltage)f(of)g(5V)g(with)g(an)h (impedance)d(of)i(20k)o(ohms)f(to)h(the)g(pull)g(up)g(resistor)m(,)515 3475 y(and)19 b(a)i(v)n(oltage)e(of)h(0V)g(with)g(an)g(impedance)e(of)h (150ohms)f(to)j(the)f(open)e(collector)h(if)i(it)f(is)h(acti)n(v)o(e,) 515 3575 y(or)d(100Mohms)e(if)i(it')-5 b(s)19 b(not)f(dri)n(ving.)23 b(The)17 b(The)n(v)o(enin)f(sum)i(will)h(be)f(roughly)e(0.05V)h(if)i (the)f(output)515 3675 y(is)j(dri)n(ving,)d(or)i(5V)g(otherwise.)25 b(Capaciti)n(v)o(e)19 b(ef)n(fects)h(are)g(not)g(currently)e (supported.)515 3978 y Fi(7.2)119 b(I/O)29 b(Pins)515 4188 y Fl(gpsim)23 b(models)g(I/O)h(pins)g(as)h(stimuli.)36 b(Thus)24 b(an)o(ywhere)d(a)k(stimulus)f(is)g(used,)h(an)e(I/O)i(pin)e (may)515 4288 y(be)i(substituted.)38 b(F)o(or)24 b(e)o(xample,)h(you)f (may)g(w)o(ant)h(to)g(tie)h(tw)o(o)f(I/O)g(pins)g(to)g(one)f(another;)i (lik)o(e)f(a)515 4387 y(port)d(B)h(pull)g(up)f(resistor)g(to)h(a)g (port)f(A)h(open)f(collector)-5 b(.)32 b(gpsim)22 b(automatically)f (creates)i(the)f(I/O)515 4487 y(pin)c(stimuli)g(whene)n(v)o(er)e(a)j (processor)d(is)k(created.)j(All)c(you)e(need)h(to)g(do)g(is)h(to)f (specify)f(a)i(node)e(and)515 4587 y(then)24 b(attach)g(the)g(stimuli)h (to)f(it.)39 b(The)24 b(names)g(of)g(these)g(stimuli)h(are)f(formed)f (by)h(concatenating)515 4686 y(the)19 b(port)g(name)g(with)g(the)h(bit) f(position)g(of)g(the)h(I/O)f(pin.)25 b(F)o(or)19 b(e)o(xample,)f(bit)h (3)h(in)f(port)g(B)h(is)h(called)515 4786 y(portb3.)515 4910 y(Here')-5 b(s)20 b(a)h(list)g(of)f(the)g(types)g(of)g(I/O)h(pin)e (stimuli)i(that)f(are)g(supported:)p Black Black eop end %%Page: 41 42 TeXDict begin 41 41 bop Black 515 282 a Fk(CHAPTER)21 b(7.)45 b(SIMULA)-9 b(TING)20 b(THE)g(REAL)g(W)o(ORLD:)i(STIMULI)640 b Fl(41)p Black Black Black 750 436 2394 4 v 748 535 4 100 v 1000 505 a(I/O)20 b(Pin)h(T)-7 b(ype)p 1675 535 V 835 w(Function)p 3142 535 V 750 539 2394 4 v 750 555 V 748 655 4 100 v 959 625 a(INPUT_ONL)f(Y)p 1675 655 V 402 w(Only)20 b(accepts)g(input)f(\(lik)o(e)i(MCLR\))p 3142 655 V 750 658 2394 4 v 748 758 4 100 v 874 728 a(BI_DIRECTION)m (AL)p 1675 758 V 172 w(Can)f(be)g(a)h(source)e(or)h(a)h(load)f(\(most)f (I/O)i(pins\))p 3142 758 V 750 761 2394 4 v 748 861 4 100 v 800 831 a(BI_DIRECTION)m(AL_PU)p 1675 861 V 294 w(PU=Pullup)f(resistor)g(\(POR)-5 b(TB\))p 3142 861 V 750 864 2394 4 v 748 964 4 100 v 841 934 a(OPEN_COLLECT)o(OR)p 1675 964 V 267 w(Can)20 b(only)g(dri)n(v)o(e)f(lo)n(w)h(\(RA4)g(on)g (c84\))p 3142 964 V 750 967 2394 4 v 515 1202 a(There)g(is)j(no)e (special)g(pin)g(type)g(for)g(analog)f(I/O)i(pins.)29 b(All)22 b(pic)f(analog)f(inputs)h(are)h(multiple)o(x)o(ed)515 1302 y(with)i(digital)g(inputs.)37 b(The)24 b(I/O)h(pin)f(de\002nition) f(will)i(al)o(w)o(ays)g(be)f(for)g(the)g(digital)g(input.)37 b(gpsim)515 1401 y(automatically)18 b(kno)n(ws)i(when)f(I/O)i(pin)f(is) h(analog)e(input.)515 1704 y Fi(7.3)119 b(Asynchr)n(onous)30 b(Stimuli)515 1913 y Fl(Asynchronous)19 b(stimuli)k(are)g(analog)e(or)h (digital)h(stimuli)f(that)h(can)f(change)g(states)h(at)g(an)o(y)f(gi)n (v)o(en)515 2012 y(instant)32 b(\(limited)g(to)g(the)h(resolution)e(of) h(the)g(c)o(ycle)g(counter\).)59 b(The)o(y)31 b(can)i(be)f(de\002ned)f (to)i(be)515 2112 y(repetiti)n(v)o(e)19 b(too.)p Black Black 973 2312 1949 4 v 971 2412 4 100 v 1050 2382 a(parameter)p 1458 2412 V 668 w(function)p 2919 2412 V 973 2415 1949 4 v 973 2432 V 971 2531 4 100 v 1037 2502 a(start_c)o(ycle)p 1458 2531 V 113 w(The)h(#)g(of)g(c)o(ycles)g(before)e(the)j(stimulus)f (starts)p 2919 2531 V 973 2535 1949 4 v 971 2634 4 100 v 1086 2604 a(c)o(ycles[])p 1458 2634 V 494 w(An)g(array)f(of)h(c)o (ycle)g(#')-5 b(s)p 2919 2634 V 973 2638 1949 4 v 971 2737 4 100 v 1120 2707 a(data[])p 1458 2737 V 456 w(Stimulus)20 b(state)h(for)f(a)h(c)o(ycle)p 2919 2737 V 973 2741 1949 4 v 971 2840 4 100 v 1110 2810 a(period)p 1458 2840 V 367 w(The)f(#)g(of)g(c)o(ycles)g(for)f(one)h(period)p 2919 2840 V 973 2844 1949 4 v 971 2943 4 100 v 1023 2913 a(initial_state)p 1458 2943 V 277 w(The)g(initial)g(state)h(before)e (data[0])p 2919 2943 V 973 2947 1949 4 v 515 3182 a(When)30 b(the)g(stimulus)h(is)g(\002rst)g(initialized,)i(it)e(will)g(be)f(dri)n (v)o(en)f(to)h(the)h('initial)f(state')h(and)f(will)515 3281 y(remain)15 b(there)h(until)g(the)h(cpu')-5 b(s)16 b(instruction)f(c)o(ycle)h(counter)f(matches)h(the)h(speci\002ed)f(')-5 b(start')16 b(c)o(ycle.)515 3381 y(After)32 b(that,)j(the)d(tw)o(o)h (arrays)f('c)o(ycles[]')e(and)i(')l(data[]')f(de\002ne)g(the)i (stimulus')f(outputs.)60 b(The)515 3481 y(size)25 b(of)g(the)g(arrays)f (are)h(the)g(same)g(and)f(correspond)f(to)i(the)g(number)e(of)h(e)n(v)o (ents)h(that)g(are)g(to)g(be)515 3580 y(created.)41 b(So)26 b(the)f(e)n(v)o(ent)g(number)m(,)g(if)h(you)f(will,)i(serv)o(es)f(as)g (the)g(inde)o(x)f(into)g(these)h(arrays.)41 b(The)515 3680 y('c)o(ycles[]')19 b(array)h(de\002ne)g(when)g(the)h(e)n(v)o(ents) f(occur)g(while)h(the)f(')l(data[]')f(array)h(de\002nes)h(the)g(states) 515 3779 y(the)26 b(stimulus)g(will)i(enter)-5 b(.)43 b(The)26 b('c)o(ycles[]')f(are)h(measured)f(with)i(respect)f(to)g(the)h (')-5 b(start')26 b(c)o(ycle.)515 3879 y(The)d(asynchronous)e(stimulus) j(can)f(be)h(made)f(periodic)g(by)g(specifying)f(the)i(number)e(of)i(c) o(ycles)515 3979 y(in)c(the)g('period')e(parameter)-5 b(.)515 4102 y(Here')g(s)20 b(an)g(e)o(xample)f(that)h(generates)g (three)f(pulses)i(and)e(then)h(repeats:)p Black Black 722 4401 a Fg(stimulus)49 b(asynchronous_stimulus)d(#)j(or)h(we)f (could've)f(used)h(asy)722 4500 y(#)h(The)f(initial)g(state)g(AND)g (the)g(state)g(the)g(stimulus)g(is)g(when)722 4600 y(#)h(it)f(rolls)g (over)722 4700 y(initial_state)f(1)722 4799 y(#)i(all)f(times)g(are)g (with)g(respect)g(to)g(the)h(cpu's)e(cycle)h(counter)722 4899 y(start_cycle)f(100)722 4998 y(#)i(the)f(asynchronous)f(stimulus)g (will)h(roll)g(over)g(in)h('period')p Black Black eop end %%Page: 42 43 TeXDict begin 42 42 bop Black 515 282 a Fk(CHAPTER)21 b(7.)45 b(SIMULA)-9 b(TING)20 b(THE)g(REAL)g(W)o(ORLD:)i(STIMULI)640 b Fl(42)p Black 722 515 a Fg(#)50 b(cycles.)e(Delete)h(this)g(line)g (if)h(you)f(don't)g(want)g(a)h(roll)f(over.)722 615 y(period)g(5000)722 715 y(#)h(Now)f(the)g(cycles)g(at)h(which)e(stimulus)h(changes)f (states)h(are)722 814 y(#)h(specified.)e(The)h(initial)g(cycle)g(was)g (specified)f(above.)h(So)722 914 y(#)h(the)f(first)g(cycle)g(specified) f(below)h(will)g(toggle)g(this)g(state.)722 1013 y(#)h(In)f(this)g (example,)g(the)g(stimulus)f(will)h(start)g(high.)722 1113 y(#)h(At)f(cycle)g(100)g(the)h(stimulus)e('begins'.)g(However)h (nothing)f(happens)722 1213 y(#)i(until)f(cycle)g(200+100.)722 1312 y({)h(200,)f(0,)822 1412 y(300,)g(1,)822 1512 y(400,)g(0,)822 1611 y(600,)g(1,)822 1711 y(1000,)g(0,)822 1810 y(3000,)g(1)g(})722 1910 y(#)h(Give)f(the)g(stimulus)g(a)g(name:)722 2010 y(name)g(asy_test)722 2109 y(#)h(Finally,)e(tell)h(the)h(command)e (line)h(interface)f(that)h(we're)g(done)722 2209 y(#)h(with)f(the)g (stimulus)722 2309 y(end)515 2571 y Fh(7.3.1)99 b(Analog)24 b(Asynchr)n(onous)i(Stimuli)515 2752 y Fl(Analog)j(Asynchronous)f (Stimuli)i(are)h(identical)f(to)g(Synchronous)e(Stimuli)j(e)o(xcept)e (the)i(data)515 2851 y(points)19 b(are)i(\003oating)e(point)h(numbers.) 515 3156 y Fi(7.4)119 b(Extended)31 b(Stimuli)515 3367 y Fl(Discuss)j(the)f(e)o(xtended)f(stimuli)h(in)h(the)f(modules/)f (directory)-5 b(.)62 b(In)33 b(particular)m(,)i(describe)e(the)515 3467 y Ff(PulseGen)c Fl(module)g(and)g(ho)n(w)g(it)i(can)f(complete)f (replace)g(the)h(asynchronous)d(stimuli.)54 b(Also)515 3566 y(describe)19 b(the)h Ff(PullUp)f Fl(and)h Ff(PullDown)f Fl(modules)g(and)g(ho)n(w)g(the)o(y)h(can)f(be)h(manipulated)e(into)i (be-)515 3666 y(ing)e(general)f(purpose)g(DC)i(v)n(oltage)f(sources)g (\(FIXME,)f(w)o(ould)h(it)h(mak)o(e)f(sense)h(to)f(rename)f(these)515 3765 y(modules?\).)p Black Black eop end %%Page: 43 44 TeXDict begin 43 43 bop Black Black 515 1163 a Fj(Chapter)44 b(8)515 1603 y Fn(Modules)515 2060 y Fl(gpsim)30 b(has)g(been)g (designed)f(to)h(deb)n(ug)g(microprocessors.)53 b(Ho)n(we)n(v)o(er)m(,) 31 b(microprocessors)d(are)515 2159 y(al)o(w)o(ays)h(a)h(part)e(of)h(a) h(system.)51 b(And)29 b(in)m(v)n(ariably)-5 b(,)28 b(the)h(b)n(ugs)g (one)f(often)h(encounters)e(are)i(those)515 2259 y(that)f(are)g(a)h (result)f(of)g(interf)o(acing)f(with)h(a)h(system.)49 b(Modules)27 b(pro)o(vide)g(users)h(with)g(a)h(w)o(ay)f(to)515 2358 y(e)o(xtend)18 b(gpsim)h(and)h(simulate)f(a)i(system.)k(F)o(or)19 b(e)o(xample,)f(the)i Ff(system)h Fl(may)e(be)h(a)g(processor)e(with) 515 2458 y(a)31 b(fe)n(w)f(pull)h(up)f(resistors)h(and)f(switches)h(or) f(it)i(may)e(be)h(a)g(processor)e(and)h(an)h(LCD)g(display)-5 b(.)515 2558 y(gpsim)23 b(pro)o(vides)g(a)i(fe)n(w)f(modules)f(that)h (one)g(may)g(use)g(either)g(for)f(deb)n(ugging)f(or)i(as)h(templates) 515 2657 y(for)19 b(creating)g(ne)n(w)h(modules.)515 2782 y(Modules)28 b(reside)h(in)h(a)f(library)f(and)h(are)g (dynamically)f(loaded)g(with)h(the)h Ff(module)e Fl(command.)515 2881 y(All)f(modules)e(ha)n(v)o(e)h(I/O)h(pins)g(which)f(can)g(connect) f(to)i(other)f(modules)f(or)h(processors.)43 b(Most)515 2981 y(modules)20 b(pro)o(vide)e Ff(attrib)n(utes)k Fl(that)f(allo)n(w) f(the)h(user)g(to)g(control)f(a)h(module')-5 b(s)20 b(beha)n(vior)f(or) i(query)515 3081 y(its)i(internal)e(state.)31 b(F)o(or)21 b(e)o(xample,)g(the)h(USAR)-5 b(T)23 b(module)d(has)j(transmit)e(and)h (recei)n(v)o(e)f(baud)g(rate)515 3180 y(attrib)n(utes)f(that)g(may)g (be)g(con\002gured:)p Black Black 722 3388 a Fg(gpsim>)49 b(U1.txbaud)f(=)i(9600)148 b(#)50 b(set)f(the)h(transmit)e(rate)722 3487 y(gpsim>)h(U1.rxbaud)496 b(#)50 b(query)f(the)g(receiver)g(rate) 722 3587 y(9600)515 3795 y Fl(The)20 b(symbol)f(command)f(can)i(be)g (used)g(to)g(query)f(all)i(attrib)n(utes)f(of)g(a)h(module.)p Black Black 722 4002 a Fg(gpsim>)49 b(symbol)g(U1.)248 b(#)50 b(note)f(the)g(period)722 4102 y(U1)h(=)f(USARTModule)722 4201 y(U1.console)f(=)i(false)722 4301 y(U1.crlf)f(=)g(true)722 4401 y(U1.loop)g(=)g(true)722 4500 y(U1.rx)g(=)h(0)722 4600 y(U1.rxbaud)e(=)i(9600)722 4700 y(U1.tx)f(=)h(0)722 4799 y(U1.txbaud)e(=)i(9600)722 4899 y(U1.xpos)f(=)g(72.00000000000000) 722 4998 y(U1.ypos)g(=)g(276.0000000000000)p Black 1905 5208 a Fl(43)p Black eop end %%Page: 44 45 TeXDict begin 44 44 bop Black 515 282 a Fk(CHAPTER)21 b(8.)45 b(MODULES)1872 b Fl(44)p Black 515 515 a(Modules)19 b(may)h(pro)o(vide)e(only)h(help)h(which)g(can)g(be)g(accessed)g(using) g(the)g(help)g(command:)p Black Black 722 701 a Fg(gpsim>)49 b(help)g(U1)722 801 y(USARTModule)722 900 y(no)h(description)515 1086 y Fl(W)-7 b(ell,)28 b(the)e(USAR)-5 b(T)26 b(module)f(isn')o(t)g (the)h(best)g(e)o(xample)e(here!)42 b(Ho)n(we)n(v)o(er)m(,)25 b(a)h(better)f(e)o(xample)g(is)515 1186 y(one)19 b(of)h(the)g(USAR)-5 b(T)21 b(attrib)n(utes.)p Black Black 722 1372 a Fg(gpsim>)49 b(help)g(U1.txbaud)722 1471 y(9600)722 1571 y(USART)g(Module)g (Transmitter)f(baud)h(rate)515 1869 y Fi(8.1)119 b(gpsim)29 b(Modules)515 2076 y Fl(gpsim)16 b(pro)o(vides)f(a)i(library)e(of)h (useful)g(modules)g(for)g(simulation.)23 b(The)16 b(current)f(v)o (ersion)g(includes)515 2176 y(the)20 b(follo)n(wing)e(modules:)p 515 2226 2241 4 v 513 2326 4 100 v 1105 2326 V 2753 2326 V 515 2329 2241 4 v 515 2346 V 513 2446 4 100 v 627 2416 a(pushb)n(utton)p 1105 2446 V 2753 2446 V 515 2449 2241 4 v 513 2549 4 100 v 705 2519 a(pullup)p 1105 2549 V 340 w(A)i(resistor)h(connected)d(\(nominally\))g(to)i(Vdd)p 2753 2549 V 515 2552 2241 4 v 513 2652 4 100 v 655 2622 a(pulldo)n(wn)p 1105 2652 V 299 w(A)h(resistor)f(connected)e (\(nominally\))g(to)i(Vss)p 2753 2652 V 515 2655 2241 4 v 513 2755 4 100 v 730 2725 a(usart)p 1105 2755 V 264 w(A)h(serial)g(interf)o(ace)e(with)h(a)h(GUI)f(terminal)g(windo)n(w)p 2753 2755 V 515 2758 2241 4 v 513 2857 4 100 v 664 2828 a(pulse)o(gen)p 1105 2857 V 2753 2857 V 515 2861 2241 4 v 513 2960 4 100 v 614 2931 a(I2C)g(eeprom)p 1105 2960 V 2753 2960 V 515 2964 2241 4 v 513 3063 4 100 v 702 3033 a(switch)p 1105 3063 V 293 w(Switch,)g(which)g(connects)f(tw)o(o)h (nodes)g(together)p 2753 3063 V 515 3067 2241 4 v 513 3166 4 100 v 730 3136 a(and2)p 1105 3166 V 615 w(2-input)e(logical)i (AND)h(gate)p 2753 3166 V 515 3170 2241 4 v 513 3269 4 100 v 755 3239 a(or2)p 1105 3269 V 673 w(2-input)e(logical)g(OR)j (gate)p 2753 3269 V 515 3273 2241 4 v 513 3372 4 100 v 735 3342 a(xor2)p 1105 3372 V 621 w(2-input)d(logical)h(XOR)h(gate)p 2753 3372 V 515 3376 2241 4 v 513 3475 4 100 v 758 3445 a(not)p 1105 3475 V 612 w(In)m(v)o(erter)d(\(logical)i(NO)m(T)g(gate\)) p 2753 3475 V 515 3478 2241 4 v 513 3578 4 100 v 565 3548 a(led_7se)o(gments)p 1105 3578 V 481 w(A)g(7-se)o(gment)f(LED)h (digit)p 2753 3578 V 515 3581 2241 4 v 513 3681 4 100 v 760 3651 a(led)p 1105 3681 V 2753 3681 V 515 3684 2241 4 v 513 3784 4 100 v 672 3754 a(TTL377)p 1105 3784 V 386 w(A)h(74HC377)d(style)j(8-bit)e(tristate)i(latch)p 2753 3784 V 515 3787 2241 4 v 513 3887 4 100 v 672 3857 a(Encoder)p 1105 3887 V 2753 3887 V 515 3890 2241 4 v 515 4107 a Fh(8.1.1)99 b(USAR)l(T)515 4284 y Fl(The)22 b(USAR)-5 b(T)23 b(module)e(is)i(a)g(full)f(duple)o(x)f(con\002gurable) f(USAR)-5 b(T)f(.)23 b(In)f(graphics)f(mode,)h(the)g(US-)515 4383 y(AR)-5 b(T)21 b(will)g(display)f(its)i(output)d(in)i(a)g (console.)26 b(In)20 b(addition,)f(the)i(console)f(will)h(accept)f(k)o (e)o(yboard)515 4483 y(input.)515 4722 y Fm(Attrib)n(utes)515 4899 y Fl(.tx)g(-)h(The)g Ff(.tx)g Fl(attrib)n(ute)f(is)i(the)f(USAR)-5 b(T)21 b(transmit)g(re)o(gister)-5 b(.)26 b(Data)21 b(written)f(to)h (this)g(attrib)n(ute)g(will)515 4998 y(initiate)f(a)h(transmission.)j (The)c(USAR)-5 b(T)21 b(does)f(not)g(support)e(a)j(transmit)f(FIFO.)p Black Black eop end %%Page: 45 46 TeXDict begin 45 45 bop Black 515 282 a Fk(CHAPTER)21 b(8.)45 b(MODULES)1872 b Fl(45)p Black 515 515 a(.rx)22 b(-)h(The)f Ff(.rx)i Fl(attrib)n(ute)e(is)i(the)e(USAR)-5 b(T)24 b(recei)n(v)o(er)d(re)o(gister)-5 b(.)32 b(Data)23 b(recei)n(v)o(ed)e(by)h(the)h(USAR)-5 b(T)24 b(is)515 615 y(a)n(v)n(ailable)19 b(for)h(querying)e(through)g(here.)515 739 y(.txbaud)g(-)j(The)e Ff(.txbaud)i Fl(attrib)n(ute)f(speci\002es)h (the)f(transmitter)f(baud)h(rate.)515 864 y(.rxbaud)e(-)i(The)g (.rxbaud)e(attrib)n(ute)i(speci\002es)h(the)f(recei)n(v)o(er)f(baud)g (rate.)515 989 y(.console)26 b(-)i(When)g(set)g(to)g Ff(true)p Fl(,)i(the)e(console)f(windo)n(w)f(will)j(display)e(recei)n (v)o(ed)f(data)i(and)f(will)515 1088 y(accept)20 b(k)o(e)o(yboard)d (entries)j(for)g(the)g(transmitter)-5 b(.)515 1213 y(.crlf)16 b(-)h(When)g(set)h(to)f Ff(true)p Fl(,)g(carraige)f(returns)g(and)g (line)h(feeds)g(generate)f(ne)n(w)g(lines)h(in)g(the)g(console)515 1312 y(windo)n(w)-5 b(.)515 1437 y(.loop)19 b(-)h(When)g(set)h(to)g (true,)e(recei)n(v)o(ed)g(characters)g(are)h(looped)f(back)g(to)i(the)f (transmitter)-5 b(.)515 1561 y(.xpos)19 b(-)h(horizontal)f(position)g (in)i(breadboard)c(windo)n(w)-5 b(.)515 1686 y(.ypos)19 b(-)h(v)o(ertical)g(position)f(in)i(breadboard)c(windo)n(w)-5 b(.)515 1932 y Fm(I/O)20 b(Pins)515 2112 y Fl(.TXPIN)g(-)g(transmit)g (pin)515 2237 y(.RXPIN)g(-)h(recei)n(v)o(er)d(pin)515 2361 y(.CTS)j(-)f(Clear)g(to)h(send)f(pin.)k(This)d(can)f(be)g(left)g (unconnect)515 2486 y(.R)-5 b(TS)21 b(-)f(Request)g(to)h(send)e(pin.) 515 2749 y Fh(8.1.2)99 b(Logic)515 2929 y Fl(The)30 b(only)h(attrib)n (utes)f(supported)f(be)i(the)g(logic)g(de)n(vices)f(are)h(the)g (standard)f Ff(.xpos)h Fl(and)f Ff(.ypos)515 3029 y Fl(breadboard)d (positions.)p 0.8 TeXcolorgray 107 w(FIXME)j(There)f(should)g(be)g (attrib)n(utes)h(to)g(specify)f(the)h(switching)515 3128 y(characteristics.)p Black 515 3391 a Fh(and2)25 b(-)g(T)-7 b(w)o(o)25 b(input)h(AND)f(gate)515 3572 y Fm(I/O)20 b(pins)515 3752 y Fl(.in0)f(-)i(First)g(input)515 3877 y(.in1)e(-)i(First)g(input)515 4001 y(.out)e(-)i(Output)515 4264 y Fh(or2)k(-)g(T)-7 b(w)o(o)24 b(input)i(OR)f(gate)515 4444 y Fl(.in0)19 b(-)i(First)g(input)515 4569 y(.in1)e(-)i(First)g (input)515 4693 y(.out)e(-)i(Output)p Black Black eop end %%Page: 46 47 TeXDict begin 46 46 bop Black 515 282 a Fk(CHAPTER)21 b(8.)45 b(MODULES)1872 b Fl(46)p Black 515 515 a Fh(xor2)24 b(-)h(T)-7 b(w)o(o)25 b(input)h(XOR)e(gate)515 694 y Fl(.in0)19 b(-)i(First)g(input)515 817 y(.in1)e(-)i(First)g(input)515 940 y(.out)e(-)i(Output)515 1199 y Fh(not)k(-)g(In)l(v)o(erter)515 1378 y Fl(.in0)19 b(-)i(Input)515 1500 y(.out)e(-)i(Output)515 1760 y Fh(8.1.3)99 b(I2C)24 b(EEPR)m(OM)515 1939 y Fl(There)14 b(are)h(currently)f(three)g(I2C)i(EEPR)m(OMs)f(supported:)21 b(I2C-EEPR)m(OM2k,)14 b(I2C-EEPR)m(OM16k,)515 2038 y(and)22 b(I2C-EEPR)m(OM256K.)p 0.8 TeXcolorgray 20 w(FIXME.)h(Probably)e (should)h(ha)n(v)o(e)g(attrib)n(utes)h(for)f(con\002guring)f(the)515 2138 y(prom)e(size.)25 b(Also,)c(there')-5 b(s)20 b(currently)e(no)i(w) o(ay)g(to)h(query)d(or)i(modify)f(the)h(prom)f(contents.)p Black 515 2380 a Fm(I/O)h(Pins)515 2559 y Fl(.A0)g(-)515 2682 y(.A1)g(-)515 2805 y(.SCL)h(-)515 2928 y(.SD)m(A)f(-)515 3050 y(.WP)515 3310 y Fh(8.1.4)99 b(Switches)25 b(&)g(Resistors)515 3488 y Fl(The)g Ff(switc)o(h)g Fl(module)f(is)i(a)g(model)e(of)h(a)h (simple)f(tw)o(o)g(terminal)g(switch.)40 b(It)26 b(may)e(be)h (controlled)515 3588 y(either)g(from)h(the)g(command)e(line)i(or)g(the) g(breadboard)d(gui.)42 b(The)26 b Ff(switc)o(h)h Fl(module')-5 b(s)25 b(open)g(and)515 3688 y(closed)18 b(resistance)h(are)g (controlled)e(by)i(attrib)n(utes.)24 b(Thus)19 b(a)g(tw)o(o)g(terminal) f(resistor)h(can)g(be)g(mod-)515 3787 y(eled)h(as)h(a)f(switch)h(that)f (is)h(al)o(w)o(ays)g(closed)f(\(or)f(open\).)515 4030 y Fm(Attrib)n(utes)515 4209 y Fl(.Ropen)g(-)h(Switch)h(resistance)f(in) g(ohms)g(when)f(the)i(switch)f(is)h(opened.)515 4331 y(.Rclosed)f(-)g(Switch)h(resistance)f(in)g(ohms)g(when)f(the)h(switch) h(is)g(closed.)515 4454 y(.state)f(-)h(Switch)f(state.)26 b(When)20 b Ff(false)g Fl(the)h(switch)f(is)h(open.)j(The)c Ff(.state)g Fl(attrib)n(ute)g(is)h(writable.)515 4697 y Fm(I/O)f(Pins)515 4876 y Fl(.A)g(-)h(One)f(side)515 4998 y(.B)h(-)f(The)g(other)f(side)p Black Black eop end %%Page: 47 48 TeXDict begin 47 47 bop Black 515 282 a Fk(CHAPTER)21 b(8.)45 b(MODULES)1872 b Fl(47)p Black 515 515 a Fh(8.1.5)99 b(V)-10 b(oltage)24 b(Sour)n(ces,)i(Resistors,)e(and)i(Capacitors)515 696 y Fl(The)e Ff(pullup)g Fl(and)g Ff(pulldown)g Fl(modules)g(are)g (tw)o(o)h(terminal)g(de)n(vices)f(with)h(one)f(terminal)g(tied)h(to)515 795 y(a)j(v)n(oltage)g(source.)49 b(Their)27 b(v)n(oltage,)j (resistance,)g(and)e(pin)g(capacitance)f(are)h(controllable)f(via)515 895 y(attrib)n(utes.)515 1141 y Fm(Attrib)n(utes)515 1322 y Fl(.v)n(oltage)19 b(-)h(DC)h(v)n(oltage)515 1446 y(.resistance)f(-)g(resistance)g(in)g(ohms)g(between)f(the)i(I/O)f(pin) g(and)g(the)g(v)n(oltage)f(source.)515 1571 y(.capacitance)f(-)j (capacitance)e(in)h(f)o(arads)g(between)f(the)i(I/O)f(pin)g(and)f (ground.)515 1817 y Fm(I/O)h(Pins)515 1997 y Fl(.pin)f(-)i(the)f(only)f (pin)h(e)o(xposed.)515 2302 y Fi(8.2)119 b(Third)31 b(P)o(arty)e (Modules)515 2513 y Fl(In)20 b(addition)f(to)h(the)g(standard)f (modules,)g(third)h(are)g(separately)f(distrib)n(ute)h(gpsim)g (modules.)515 2775 y Fh(8.2.1)99 b(Character)26 b(LCD)f(-)g(HD44780)515 2956 y Fl(This)20 b(module)f(emulates)h(the)g(ubiquitous)e(HD44780)h (character)g(LCDs.)515 3218 y Fh(8.2.2)99 b(Graphic)25 b(LCD)g(-)g(SED1530)515 3399 y Fl(This)30 b(module)f(emulates)h(a)h (100X32)d(pix)o(el)i(graphics)f(LCD)i(based)f(on)g(dual)g(SED1350)e (con-)515 3499 y(trollers.)515 3804 y Fi(8.3)119 b(Writing)30 b(new)h(modules)515 4014 y Fl(A)19 b(module)f(is)i(a)g(library)e(of)h (code.)24 b(On)19 b(W)m(indo)n(ws)g(the)g(library)f(is)i(a)g(.DLL)f (and)f(on)h(Unix)g(a)g(shared)515 4114 y(library)-5 b(.)23 b(There)18 b(are)g(a)h(fe)n(w)g(details)g(that)g(a)g(module)e(must)i (adhere)e(to,)i(b)n(ut)g(in)g(general)e(the)i(module)515 4214 y(has)h(full)g(access)h(to)f(gpsim')-5 b(s)20 b(API.)515 4338 y(The)26 b(easiest)i(w)o(ay)f(to)h(write)f(a)g(ne)n(w)g(module)f (is)i(to)f(start)h(from)e(the)h(source)f(code)g(from)g(one)h(of)515 4438 y(the)d(e)o(xisting)f(modules.)34 b(F)o(or)24 b(e)o(xample,)f (suppose)f(your)h(project)g(produces)f(a)i(serial)g(bit-stream)515 4537 y(in)c(PPM)h(coding)e(and)h(you)g(w)o(ant)g(to)h(display)f(the)g (output)g(during)e(the)j(simulation.)k(The)20 b(e)o(xternal)515 4637 y(module)g(you)h(need)g(is)i(similar)f(to)g(the)g(usart)g(module)f (b)n(ut)h(not)f(the)h(same,)g(so)h(start)f(by)g(making)e(a)515 4737 y(cop)o(y)f(of)h(the)g(usart)g(module)f(and)h(then)f(modify)g(it)i (to)f(w)o(ork)g(ho)n(w)g(you)f(need.)515 4861 y(T)-7 b(o)21 b(be)g(able)f(to)h(load)g(your)f(module)f(into)i(gpsim)f(it)i (needs)e(to)h(be)g(in)g(a)h(library)-5 b(.)25 b(Usually)c(you)f(will) 515 4961 y(be)g(creating)f(a)i(ne)n(w)f(library)g(just)h(for)e(one)h (de)n(vice,)f(b)n(ut)i(sometimes)f(you')o(ll)f(ha)n(v)o(e)h(a)h(fe)n(w) f(de)n(vices.)p Black Black eop end %%Page: 48 49 TeXDict begin 48 48 bop Black 515 282 a Fk(CHAPTER)21 b(8.)45 b(MODULES)1872 b Fl(48)p Black 515 515 a(Either)17 b(w)o(ay)-5 b(,)19 b(the)f(library)f(must)h(declare)g(to)g(gpsim)g (what)g(de)n(vices)g(it)h(contains.)24 b(This)18 b(is)h(achie)n(v)o(ed) 515 615 y(with)g(an)g(array)f(of)g(Module_T)-7 b(ypes)17 b(class)j(instances,)f(returned)e(to)i(gpsim)g(by)f(a)h(function)f (named)515 715 y(\223get_mod_list\224.)30 b(All)24 b(gpsim)e(module)g (libraries)g(must)h(declare)f(this)h(function.)32 b(Y)-9 b(ou)22 b(can)g(cop)o(y)515 814 y(the)d(required)f(template)h(from)g (the)h(gpsim)f(source)g(\226)h(probably)d(one)i(of)g(the)h(\223e)o (xtras\224)f(modules)g(is)515 914 y(slightly)g(cleaner)h(than)f(the)h (main)g(library)-5 b(.)23 b(F)o(or)d(our)f(PPM)h(decoder)f(e)o(xample,) f(we)i(might)g(ha)n(v)o(e)f(a)515 1013 y(module_manager)-5 b(.cc)16 b(containing)i(the)i(follo)n(wing)f(code:)p Black Black 722 1213 a Fg(/)772 1228 y(*)872 1213 y(IN_MODULE)48 b(should)h(be)g(defined)g(for)g(modules)2864 1228 y(*)2914 1213 y(/)722 1312 y(#define)g(IN_MODULE)722 1412 y(#include)g ()722 1512 y(#include)g()722 1611 y(#include)g("ppm.h")722 1711 y(Module_Types)f (available_modules[])e(=)722 1810 y({)822 1910 y({)k("ppm_display",)d ("ppm_rx_iface",)g(PpmDisplay::construct},)822 2010 y(//)i(No)h(more)f (modules)822 2109 y({)h(NULL,NULL,NULL})722 2209 y(};)722 2309 y(#ifdef)f(__cplusplus)722 2408 y(extern)g("C")g({)722 2508 y(#endif)g(/)1121 2523 y(*)1220 2508 y(__cplusplus)1818 2523 y(*)1868 2508 y(/)722 2607 y(/)772 2622 y (************************************)o(*****)o(******)o(*****)o(*****) o(******)o(**)772 2722 y(*)872 2707 y(get_mod_list)e(-)j(Report)f(all)g (of)g(the)h(modules)e(in)i(this)f(library.)772 2822 y(*)772 2921 y(*)872 2906 y(This)g(is)g(a)h(required)e(function)h(for)g(gpsim)g (compliant)f(libraries.)772 3021 y(*)822 3006 y(/)822 3106 y(Module_Types)1469 3121 y(*)1569 3106 y(get_mod_list\(void\))822 3205 y({)922 3305 y(return)g(available_modules;)822 3404 y(})722 3504 y(#ifdef)h(__cplusplus)722 3604 y(})722 3703 y(#endif)g(/)1121 3718 y(*)1220 3703 y(__cplusplus)1818 3718 y(*)1868 3703 y(/)515 3903 y Fl(This)22 b(declares)g(that)g(this)h (library)e(pro)o(vides)f(one)i(module,)f(called)h(ppm_display)-5 b(,)19 b(implemented)515 4002 y(by)f(the)i(C++)f(class)h(PpmDisplay)-5 b(.)24 b(The)18 b(class)i(which)f(implements)f(the)h(module)f(must)h (pro)o(vide)e(a)515 4102 y(static)k(method)e(\223construct\224)f(to)j (create)f(a)g(ne)n(w)g(instance)g(of)g(the)g(class.)26 b(F)o(or)20 b(e)o(xample:)p Black Black 722 4401 a Fg(Module)1071 4416 y(*)1171 4401 y(PpmDisplay::construct\(const)44 b(char)2814 4416 y(*)2864 4401 y(_new_name=0\))722 4500 y({)922 4600 y(PpmDisplay)1469 4615 y(*)1519 4600 y(ppmd)49 b(=)h(new)f(PpmDisplay\(_new_name\);)922 4700 y (ppmd->create_iopin_map\(\);)922 4799 y (ppmd->create_window\(_new_name\);)922 4899 y(return)f(ppmd;)722 4998 y(})p Black Black eop end %%Page: 49 50 TeXDict begin 49 49 bop Black 515 282 a Fk(CHAPTER)21 b(8.)45 b(MODULES)1872 b Fl(49)p Black 515 515 a(Y)-9 b(our)18 b(module)g(will)i(need)e(to)i(include)e(stimuli)h(for)g(its)h (I/O)g(connections.)i(Y)-9 b(ou)19 b(can)g(use)g(the)h(stan-)515 615 y(dard)14 b(gpsim)h(stimulus)g(classes:)24 b(IOPIN,)15 b(io_bidirectional,)e(io_bidirectional_pu,)f(io_open_collector)-5 b(.)515 715 y(In)17 b(man)o(y)f(cases,)j(ho)n(we)n(v)o(er)m(,)c(you)i (will)h(w)o(ant)f(to)h(deri)n(v)o(e)e(your)g(o)n(wn)h(class)h(from)f (one)g(of)g(them.)23 b(This)515 814 y(will)e(allo)n(w)f(you)f(to)h (customise)g(the)h(actions)e(when)h(the)g(node)f(state)i(changes.)j(F)o (or)c(e)o(xample:)p Black Black 722 1022 a Fg(class)49 b(DecoderPin)f(:)i(public)e(IOPIN)722 1121 y({)722 1221 y(private:)922 1321 y(PpmDisplay)1469 1336 y(*)1569 1321 y(Parent;)722 1420 y(public:)922 1520 y(DecoderPin)f(\()j(PpmDisplay) 2117 1535 y(*)2217 1520 y(parent,)e(unsigned)h(int)g(b,)g(const)g(char) 3960 1535 y(*)4060 1520 y(name=0)f(\);)922 1619 y(virtual)g(void)h (setDrivenState\(bool)d(new_state\);)722 1719 y(};)515 1927 y Fl(The)24 b(only)f(methods)g(we)i(pro)o(vide)d(here)i(are)g(the) h(constructor)d(and)i(an)g(o)o(v)o(erridden)d(\223setDri)n(v)o(en-)515 2026 y(State\224.)31 b(This)22 b(is)h(because)f(our)f(PPM)i(decoder)d (needs)i(to)g(be)g(told)g(when)f(the)h(input)g(pin)g(changes)515 2126 y(state.)p Black Black eop end %%Page: 50 51 TeXDict begin 50 50 bop Black Black 515 1163 a Fj(Chapter)44 b(9)515 1603 y Fn(Symbolic)52 b(Deb)l(ugging)515 2060 y Fl(gpsim)19 b(maintains)h(a)h(symbol)e(table.)515 2184 y()p Black 1905 5208 a(50)p Black eop end %%Page: 51 52 TeXDict begin 51 51 bop Black Black 515 1163 a Fj(Chapter)44 b(10)515 1603 y Fn(Macr)l(os)515 2060 y Fl()p Black 1905 5208 a(51)p Black eop end %%Page: 52 53 TeXDict begin 52 52 bop Black Black 515 1163 a Fj(Chapter)44 b(11)515 1603 y Fn(Hex)51 b(Files)515 2060 y Fl(The)20 b(tar)o(get)h(code)f(simulated)g(by)h(gpsim)f(can)h(be)g(supplied)f(by) h(a)g(he)o(x)f(\002le,)i(or)f(more)f(speci\002cally)515 2159 y(an)f(Intel)g(He)o(x)g(\002le.)25 b(gpsim)19 b(accepts)g(the)g (format)g(of)g(he)o(x)f(pro)o(vided)f(by)i(gpasm)f(and)h(mpasm.)24 b(The)515 2259 y(he)o(x)h(\002le)i(does)e(not)h(pro)o(vide)e(an)o(y)h (symbolic)g(information.)40 b(It')-5 b(s)26 b(recommended)d(that)j(he)o (x)g(\002les)515 2358 y(only)c(be)g(used)h(if)g(1\))f(you)g(suspect)h (there')-5 b(s)22 b(a)i(problem)d(with)h(the)h(w)o(ay)g(.cod)f(\002les) i(are)e(generated)515 2458 y(by)30 b(your)g(assembler)g(or)g(compiler)g (OR)h(2\))g(your)e(assembler)i(or)f(compiler)g(doesn')o(t)f(generate) 515 2558 y(.cod)f(\002les.)51 b(Also,)30 b(you)e(must)h(supply)e(a)i (processor)e(when)h(loading)g(he)o(x)f(\002les.)51 b(See)29 b(the)g(load)515 2657 y(command.)p Black 1905 5208 a(52)p Black eop end %%Page: 53 54 TeXDict begin 53 53 bop Black Black 515 1161 a Fj(Chapter)44 b(12)515 1600 y Fn(The)51 b(ICD-)h(Not)g(Supported)e(in)515 1849 y(v)n(ersions)i(0.21.0)g(and)g(later)515 2304 y Fl(gpsim)27 b(supports)g(\(partly\))f(the)i(\002rst)h(v)o(ersion)e(of)g (the)h(ICD)g(\(as)h(opposed)d(to)i(ICD2)g(\(the)f(round)515 2404 y(hock)o(e)o(y-puck)16 b(shaped)k(one\)\).)515 2664 y Fh(Special)25 b(con\002guration)h(of)f(the)h(code)515 2843 y Fl(Read)20 b(the)g(MPLAB)h(ICD)g(USER')-5 b(s)21 b(GUIDE.)515 2966 y(Here')-5 b(s)20 b(the)g(short)g(v)o(ersion:)p Black 639 3165 a Fa(\017)p Black 41 w Fl(disable)31 b(at)h(least:)48 b(bro)n(wn)30 b(out)h(detection,)h(lo)n(w)g(v)n(oltage)e(programming)e (and)i(all)i(code)722 3265 y(protection.)23 b(It)c(is)g(probably)d (good)h(to)i(turn)e(of)h(the)h(w)o(atchdog)e(too.)24 b(see)19 b(the)f(MPLAB)h(ICD)722 3365 y(USER')-5 b(s)22 b(GUIDE)e(for)f(more)g(information.)p Black 639 3528 a Fa(\017)p Black 41 w Fl(ha)n(v)o(e)h(a)h(NOP)f(as)h(the)f(\002rst)h (instruction.)p Black 639 3691 a Fa(\017)p Black 41 w Fl(Don')o(t)e(touch)g(RB6)i(or)f(RB7.)p Black 639 3854 a Fa(\017)p Black 41 w Fl(Don')o(t)f(use)i(the)f(last)h(stack)f(le)n(v) o(el.)p Black 639 4018 a Fa(\017)p Black 41 w Fl(Don')o(t)f(use)i (these)f(re)o(gisters)g(and)f(program)f(w)o(ords:)p 722 4047 2532 4 v 720 4147 4 100 v 772 4117 a(Processor)p 1143 4147 V 643 w(Re)o(gister)p 2608 4147 V 774 w(Program)p 3252 4147 V 722 4150 2532 4 v 722 4167 V 720 4266 4 100 v 793 4236 a(-870/1/2)p 1143 4266 V 493 w(0x70,)h(0xBB-0xBF)p 2608 4266 V 516 w(0x6E0-0x7FF)p 3252 4266 V 722 4270 2532 4 v 720 4369 4 100 v 825 4339 a(-873/4)p 1143 4369 V 151 w(0x6D,)g(0x1fD,)f(0xEB-0xF0,)g(0x1Eb-0x1F0)p 2608 4369 V 130 w(0xEE0-0xFFF)p 3252 4369 V 722 4373 2532 4 v 720 4472 4 100 v 825 4442 a(-876/7)p 1143 4472 V 506 w(0x70,)g(0x1Eb-0x1Ef)p 2608 4472 V 450 w(0x1F00-0x1FFF)p 3252 4472 V 722 4476 2532 4 v 515 4696 a Fh(icdpr)n(og)515 4875 y Fl(Do)n(wnload)g(and)i(install)h(icdprog.)515 4998 y(Use)g(icdprog)d(to)i(program)e(the)j(tar)o(get)e(with)h(the)g (he)o(x)g(\002le)h(\()p Ff(icdpr)l(o)o(g)e(mycode)o(.he)n(x)p Fl(\).)p Black 1905 5208 a(53)p Black eop end %%Page: 54 55 TeXDict begin 54 54 bop Black 515 282 a Fk(CHAPTER)17 b(12.)39 b(THE)16 b(ICD-)h(NO)m(T)f(SUPPOR)-5 b(TED)16 b(IN)h(VERSIONS)f(0.21.0)e(AND)j(LA)-9 b(TER)p Fl(54)p Black 515 515 a Fh(ICD)24 b(usage)515 696 y Fl(Start)c(gpsim)g(lik)o(e) h(this:)515 820 y Ff(gpsim)f(-d)g(/de)o(v/ttyS0)f(-s)h(mycode)o(.cod) 515 945 y Fl(,)g(assuming)g(the)g(ICD)h(is)g(connected)d(to)i(the)h (\002rst)g(serial)f(port.)515 1069 y(No)n(w)g(you)f(can)h(type)g('icd') f(to)i(see)f(some)g(information:)515 1194 y Ff(**gpsim>)f(icd)515 1294 y(ICD)h(ver)o(sion)h("2.31.00")c(was)k(found.)515 1393 y(T)-8 b(ar)m(g)o(et)20 b(contr)l(oller)g(is)i(16F877)c(r)m(e)o(v) i(13.)515 1493 y(Vdd:)k(5.2)19 b(Vpp:)25 b(13.3)515 1593 y(Deb)n(ug)19 b(module)g(is)i(pr)m(esent)515 1717 y Fl(2.31)e(is)i(the) f(\002rmw)o(are)g(v)o(ersion.)j(I)e(ha)n(v)o(e)e(only)h(tried)g(this)g (particular)f(v)o(ersion...)515 1842 y(Y)-9 b(ou)23 b(can)h(step,)h (reset,)h(run,)e(halt,)h(set)g(the)f(breakpoint)e(and)h(read)h(\002le)h (re)o(gisters.)36 b(It)25 b(w)o(orks)e(both)515 1941 y(from)c(the)h(gui)g(and)g(the)g(cli.)515 2204 y Fh(ICD)k(T)n(ODO)p Black 639 2384 a Fa(\017)p Black 41 w Fl(MPLAB)g(has)f(a)h(setting)f (for)f(tar)o(get)h(cpu)f(frequenc)o(y)-5 b(,)21 b(I)i(ha)n(v)o(e)f (only)h(tried)g(with)g(a)g(20MHz)722 2484 y(crystal,)18 b(so)f(there)g(may)f(be)h(adjustments)f(to)i(be)f(made)f(to)h(the)g (serial)h(port)e(timeout)g(settings)722 2584 y(in)21 b(gpsim.)p Black 639 2750 a Fa(\017)p Black 41 w Fl(The)d(source,)f (disassembly)-5 b(,)18 b(w)o(atch,)g(symbol)f(and)h(RAM)g(windo)n(ws)g (w)o(orks.)23 b(And)18 b(the)g(rest)722 2849 y(doesn')o(t.)26 b(I)21 b(guess)g(the)g(breadboard)d(should)i(be)h(able)f(to)h(w)o(ork)g (at)g(least)h(for)e(the)h(pic,)g(b)n(ut)g(it)722 2949 y(doesn')o(t.)p Black 639 3115 a Fa(\017)p Black 41 w Fl(eeprom)e(support)p Black 639 3281 a Fa(\017)p Black 41 w Fl(modifying)f(data)p Black 639 3447 a Fa(\017)p Black 41 w Fl(Fix)j(the)f(UI)g(to)h(gi)n(v)o(e)e(more)g(feedback)g (about)g(what')-5 b(s)21 b(happening)c(during)i(long)g(delays.)p Black 639 3613 a Fa(\017)p Black 41 w Fl(Better)i(error)e(detection.)24 b(gpsim)c(doesn')o(t)e(al)o(w)o(ays)j(see)g(that)f(the)g(tar)o(get)f (is)j(not)d(functional.)p Black Black eop end %%Page: 55 56 TeXDict begin 55 55 bop Black Black 515 1163 a Fj(Chapter)44 b(13)515 1603 y Fn(Examples)515 2060 y Fl(The)27 b Ff(e)n(xamples/)36 b Fl(subdirectory)24 b(contains)j(se)n(v)o(eral)f(e)o(xamples.)45 b(The)27 b Ff(e)n(xamples/pr)l(ojects/)36 b Fl(sub-)515 2159 y(directory)29 b(demonstrate)g(sample)h(projects)g(that)h(can)f (serv)o(e)g(as)i(templates)e(for)g(ne)n(w)g(projects.)515 2259 y(In)24 b(addition,)f(the)h Ff(e)n(xamples/modules)f Fl(subdirectory)e(contains)j(se)n(v)o(eral)f(e)o(xamples)g (illustrating)515 2358 y(ho)n(w)h(to)h(use)g(gpsim')-5 b(s)24 b(v)n(arious)g(modules.)37 b(Finally)-5 b(,)25 b(as)g(described)f(in)h(chapter)e(14,)i(gpsim')-5 b(s)25 b(re-)515 2458 y(gression)e(tests)i(illustrate)e(man)o(y)g(po)n(werful) f(deb)n(ugging)f(techniques)h(that)i(ha)n(v)o(e)f(not)g(been)g(fully) 515 2558 y(documented.)515 2804 y Fm(usart_gui)c(example)515 2984 y Fl(Each)33 b(e)o(xample)f(contains)h(a)h(brief)e Ff(README)j Fl(e)o(xplaning)d(its)i(purpose.)63 b(F)o(or)33 b(e)o(xample,)j(the)515 3084 y Ff(README)21 b Fl(for)f(the)g Ff(usart_gui)f Fl(e)o(xample)g(in)h(the)h Ff(e)n(xamples/modules)d Fl(directory)h(contains)p Black Black 722 3291 a Fg(The)50 b(tests)e(the)i(USART)f(module)f(with)h(the)h(GUI)f(fix.)722 3391 y(The)h(code)f(for)g(a)g(16f628)g(PIC)g(is)h(used.)f(The)g(code)g (first)g(transmits)f(a)i(string)e(of)722 3491 y(characters,)g(which)h (are)g(instructions)f(to)h(the)g(user,)g(to)h(the)f(USART)g(module)g (which)722 3590 y(will)g(then)g(be)h(displayed)e(on)h(its)h(GUI.)f (This)g(verifies)f(that)h(the)g(USART)g(can)h(receive)722 3690 y(serial)f(data.)722 3789 y(When)g(the)h(focus)e(is)i(on)f(the)h (USART)f(GUI)g(window,)f(characters)g(typed)h(on)h(the)f(keyboard)722 3889 y(are)h(sent)f(from)g(the)g(USART)g(to)g(the)h(PIC)f(and)g(then)g (retransmitted)e(from)j(the)f(PIC)g(back)722 3989 y(to)h(the)f(USART.) 722 4088 y(If)h(all)f(works,)g(the)g(typed)g(characters)f(will)h(be)g (displayed)f(in)i(the)f(GUI)g(text)g(window)722 4188 y(of)h(the)f(USART.)g(Both)g(transmit)f(and)h(receive)g(must)g(be)g (functioning)f(for)h(this)g(to)722 4288 y(happen.)515 4495 y Ff(F)l(ixme)20 b Fl(-)h(we)f(really)g(need)f(to)i(document)d (all)j(of)f(the)g(e)o(xamples!)p Black 1905 5208 a(55)p Black eop end %%Page: 56 57 TeXDict begin 56 56 bop Black Black 515 1163 a Fj(Chapter)44 b(14)515 1603 y Fn(Regr)l(ession)52 b(T)-19 b(ests)515 2060 y Fl(Starting)25 b(with)h(v)o(ersion)f(0.22.0,)g(gpsim)h(distrib)n (utes)g(re)o(gression)e(tests.)44 b(The)25 b(purpose)g(of)g(a)i(re-)515 2159 y(gression)j(test)i(is)g(to)f(v)n(alidate)g(correctness.)56 b(The)31 b(tests)h(are)f(designed)f(to)h(e)o(x)o(ercise)f(man)o(y)g(of) 515 2259 y(the)c(aspects)g(of)g(gpsim)g(and)f(gpsim')-5 b(s)26 b(modules.)42 b(While)27 b(designed)d(primarily)h(for)h(de)n(v)o (elopers)515 2358 y(though,)f(the)g(re)o(gression)f(tests)j(also)f (serv)o(e)f(as)i(a)f(rich)f(source)g(of)g(e)o(xamples.)40 b(There)25 b(are)h(man)o(y)515 2458 y(features)19 b(gpsim')-5 b(s)20 b(de)n(v)o(elopers)e(will)j(tuck)f(a)o(w)o(ay)g(into)g(a)h(re)o (gression)d(test)j(and)f(f)o(ail)h(to)f(document!)p Black 1905 5208 a(56)p Black eop end %%Page: 57 58 TeXDict begin 57 57 bop Black Black 515 1163 a Fj(Chapter)44 b(15)515 1603 y Fn(Theory)51 b(of)h(Operation)515 2060 y Fl(This)22 b(section)g(is)h(only)f(pro)o(vided)e(for)h(those)h(who)g (may)g(be)g(interested)g(in)g(ho)n(w)g(gpsim)g(operates.)515 2159 y(The)28 b(information)f(in)i(here)f(is)i('mostly')d(accurate.)50 b(Ho)n(we)n(v)o(er)m(,)29 b(as)h(gpsim)e(e)n(v)n(olv)o(es)g(so)h(do)g (the)515 2259 y(details)d(of)g(the)g(theory)f(of)h(operation.)41 b(Use)26 b(the)g(information)e(pro)o(vided)g(here)h(as)i(a)g(high)e(le) n(v)o(el)515 2358 y(introduction)17 b(and)j(use)g(the)h(\(well)f (commented)e(:]\))25 b(source)20 b(to)g(learn)g(the)g(details.)515 2663 y Fi(15.1)119 b(Backgr)n(ound)515 2874 y Fl(gpsim)25 b(is)i(written)f(mostly)g(in)g(C++.)43 b(Why?)e(W)-7 b(ell)28 b(the)e(main)f(reason)h(is)g(to)h(easily)f(implement)515 2974 y(a)f(hierarchical)e(model)g(of)i(a)g(pic.)38 b(If)24 b(you)g(think)f(about)h(a)h(microcontroller)m(,)d(it')-5 b(s)26 b(really)e(easy)g(to)515 3073 y(modularize)h(the)j(v)n(arious)e (components.)45 b(C++)28 b(lends)g(itself)g(well)g(to)g(this)g (conceptualization.)515 3173 y(Furthermore)17 b(Microchip,)g(lik)o(e)j (other)f(microcontroller)d(manuf)o(acturers,)h(has)j(created)e(f)o (amilies)515 3272 y(of)j(de)n(vices)g(that)g(are)h(quite)f(similar)g (to)h(one)f(another)-5 b(.)27 b(Again,)21 b(the)g(C++)h(pro)o(vides)e ('inheritance')515 3372 y(that)g(allo)n(ws)g(the)h(relationships)e(to)h (be)g(shared)g(among)e(the)j(v)n(arious)e(models)g(of)h(pics.)515 3677 y Fi(15.2)119 b(Instructions)515 3888 y Fl(There')-5 b(s)24 b(a)i(base)f(class)h(for)f(the)g(14-bit)f(instructions)g(\(I)h (plan)g(to)g(go)g(one)f(step)i(further)d(and)i(cre-)515 3987 y(ate)k(a)g(base)g(class)g(from)f(which)g(all)i(pic)e (instructions)g(can)h(be)f(deri)n(v)o(ed\).)48 b(It)29 b(primarily)f(serv)o(es)515 4087 y(tw)o(o)20 b(purposes:)k(storage)19 b(that)i(is)g(common)d(for)h(each)h(instruction)f(and)g(a)i(means)f (for)f(generically)515 4187 y(accessing)28 b(virtual)g(functions.)49 b(The)28 b(common)f(information)f(consists)j(of)f(a)h(name)f(-)h(or)f (more)515 4286 y(speci\002cally)20 b(the)g(instruction)f(mnemonic,)g (the)h(opcode,)f(and)g(a)i(pointer)e(to)i(the)f(processor)f(o)n(wn-)515 4386 y(ing)h(the)g(instruction.)j(Some)d(of)g(the)g(virtual)f (functions)g(are)h('e)o(x)o(ecute')e(and)i('name'.)j(As)e(the)f(he)o(x) 515 4485 y(\002le)26 b(is)h(decoded,)d(instances)i(of)f(the)h (instructions)e(are)i(created)f(and)g(stored)g(in)h(an)f(array)g (called)515 4585 y(program_memory)-5 b(.)49 b(The)30 b(inde)o(x)e(into)i(this)h(array)e(is)i(the)f(address)g(at)g(which)g (the)g(instruction)515 4685 y(resides.)25 b(T)-7 b(o)20 b(e)o(x)o(ecute)f(an)h(instruction)f(the)h(follo)n(wing)f(code)g (sequence)g(is)i(in)m(v)n(ok)o(ed:)p Black Black 847 4892 a(program_memory[p)o(c.v)n(a)o(lue])o(->e)o(x)n(ecu)o(te\(\))o(;)p Black 1905 5208 a(57)p Black eop end %%Page: 58 59 TeXDict begin 58 58 bop Black 515 282 a Fk(CHAPTER)21 b(15.)45 b(THEOR)-5 b(Y)20 b(OF)h(OPERA)-9 b(TION)1291 b Fl(58)p Black 515 515 a(which)27 b(says,)j(get)d(the)h(instruction)e (at)j(the)e(current)g(program)e(counter)h(\(pc.v)n(alue\))g(and)h(in)m (v)n(ok)o(e)515 615 y(via)e(the)g(virtual)g(function)e(e)o(x)o (ecute\(\).)38 b(This)25 b(approach)e(allo)n(ws)i(e)o(x)o(ecution)e (break)i(points)f(to)i(be)515 715 y(easily)18 b(set.)25 b(A)18 b(special)g(break)f(point)h(instruction)e(can)i(replace)f(the)h (one)g(residing)f(in)h(the)g(program)515 814 y(memory)g(array)-5 b(.)24 b(When)c('e)o(x)o(ecute')e(is)j(called)f(the)g(break)f(point)h (can)g(be)g(in)m(v)n(ok)o(ed.)515 1119 y Fi(15.3)119 b(General)30 b(File)h(Registers)515 1330 y Fl(A)j(\002le)g(re)o(gister) f(is)h(simulated)f(by)g(the)g('\002le_re)o(gister')f(class.)66 b(There)33 b(is)h(one)f(instance)g(of)g(a)515 1429 y('\002le_re)o (gister')21 b(object)i(for)g(each)g(\002le)h(re)o(gister)e(in)i(the)f (PIC.)h(All)g(of)f(the)g(re)o(gisters)g(are)g(collected)515 1529 y(together)e(into)h(an)h(array)e(called)i(')l(re)o(gisters')e (which)h(is)i(inde)o(x)o(ed)c(by)i(the)h(re)o(gisters')e(correspond-) 515 1629 y(ing)g(PIC)g(addresses.)28 b(The)21 b(array)f(is)i(linear)f (and)f(not)h(bank)o(ed)f(lik)o(e)h(it)h(is)g(in)f(the)g(PIC.)h (\(Banking)e(is)515 1728 y(handled)e(during)h(the)h(simulation.\))515 2033 y Fi(15.4)119 b(Special)31 b(File)f(Registers)515 2244 y Fl(Special)h(\002le)h(re)o(gisters)f(are)g(all)h(of)e(the)i (other)e(re)o(gisters)h(that)g(are)g(not)g(general)f(\002le)i(re)o (gisters.)515 2343 y(This)22 b(includes)g(the)h(core)e(re)o(gisters)h (lik)o(e)h(status)g(and)f(option)f(and)h(also)h(the)f(peripheral)f(re)o (gisters)515 2443 y(lik)o(e)26 b(eeadr)f(for)g(the)h(eeprom.)41 b(The)25 b(special)h(\002le)h(re)o(gisters)e(are)h(deri)n(v)o(ed)e (from)h(the)h(general)f(\002le)515 2543 y(re)o(gisters)k(and)h(are)g (also)g(stored)g(in)g(the)g(')l(re)o(gisters')f(array)-5 b(.)53 b(There)29 b(is)i(one)f(instance)f(for)h(each)515 2642 y(re)o(gister)f(-)h(e)n(v)o(en)e(if)i(the)g(re)o(gister)f(is)i (accessible)f(in)f(more)g(than)h(one)f(bank.)52 b(So)30 b(for)f(e)o(xample,)515 2742 y(there')-5 b(s)22 b(only)g(one)g (instance)h(for)f(the)h(')-5 b(status')23 b(re)o(gister)m(,)f(ho)n(we)n (v)o(er)f(it)i(may)f(be)h(accessed)g(through)515 2842 y(the)d(')l(re)o(gisters')f(array)g(in)h(more)g(than)g(one)f(place.)515 2966 y(All)30 b(\002le)g(re)o(gisters)g(are)f(accessed)h(by)f(the)h (virtual)f(functions)f('put')g(and)i('get'.)52 b(This)30 b(is)h(done)515 3066 y(for)21 b(tw)o(o)i(main)f(reasons.)31 b(First,)24 b(it)f(con)m(v)o(eniently)c(encapsulates)i(the)i (breakpoint)d(o)o(v)o(erhead)g(\(for)515 3165 y(re)o(gister)25 b(breakpoints\))e(in)j(the)f(\002le)i(re)o(gister)e(and)g(not)g(in)h (the)g(instruction.)40 b(Second,)25 b(and)g(more)515 3265 y(important,)17 b(it)i(allo)n(ws)g(deri)n(v)o(ed)e(classes)j(to)f (implement)e(the)i(put)f(and)h(get)f(more)g(speci\002cally)-5 b(.)24 b(F)o(or)515 3365 y(e)o(xample,)k(a)h('put')e(to)i(the)f(indf)f (re)o(gister)h(is)h(a)g(whole)e(lot)i(dif)n(ferent)d(than)i(a)h(put)f (to)g(the)g(intcon)515 3464 y(re)o(gister)-5 b(.)25 b(In)20 b(each)h(case,)f(the)h('put')e(initiates)i(an)g(action)f(be)o(yond)e (simply)i(storing)g(a)g(byte)g(of)h(data)515 3564 y(in)f(an)g(array)-5 b(.)24 b(It)c(also)h(allo)n(ws)f(the)g(follo)n(wing)f(code)h(sequence)f (to)h(be)g(easily)g(implemented:)p Black Black 722 3771 a Fg(movlw)149 b(trisa)f(;Get)49 b(the)h(address)e(of)i(tris)722 3871 y(movwf)149 b(fsr)722 3971 y(movf)199 b(indf,w)98 b(;Read)49 b(trisa)g(indirectly)515 4276 y Fi(15.5)119 b(Example)29 b(of)h(an)g(instruction)515 4486 y Fl(Here')-5 b(s)25 b(an)g(e)o(xample)f(of)g(the)h(code)g(for)f(the)h(mo)o(vf)f (instruction)f(that)j(illustrates)f(what)g(has)g(been)515 4586 y(discussed)20 b(abo)o(v)o(e.)j(Some)n(where)c(in)h(gpsim)g(the)g (code)f(sequence:)p Black Black 722 4793 a Fg (program_memory[pc.value]->execute\(\);)p Black Black eop end %%Page: 59 60 TeXDict begin 59 59 bop Black 515 282 a Fk(CHAPTER)21 b(15.)45 b(THEOR)-5 b(Y)20 b(OF)h(OPERA)-9 b(TION)1291 b Fl(59)p Black 515 515 a(is)28 b(e)o(x)o(ecuted.)43 b(Let')-5 b(s)27 b(say)g(that)g(the)g(pc)g(is)h(pointing)d(to)i(a)g(mo) o(vf)f(instruction.)44 b(The)26 b(->e)o(x)o(ecute\(\))515 615 y(virtual)19 b(function)e(will)k(in)m(v)n(ok)o(e)d(MO)l(VF::e)o(x)o (ecute.)23 b(I')l(v)o(e)18 b(added)h(e)o(xtra)g(comments)f(\(that)h (aren')o(t)f(in)515 715 y(the)i(main)g(code\))f(to)h(illustrate)h(in)f (detail)g(what')-5 b(s)21 b(happening.)p Black Black 722 922 a Fg(void)49 b(MOVF::execute\(void\))722 1022 y({)822 1121 y(unsigned)f(int)h(source_value;)822 1321 y(//)g(All)h(instructions)d(are)i('traced')g(\(discussed)f(below\).)g (It's)h(sufficient)822 1420 y(//to)g(only)g(store)g(the)g(opcode.)g (However,)f(even)h(this)g(may)g(be)h(unnecessary)e(since)822 1520 y(//the)h(progam)f(counter)h(is)g(also)h(traced.)e(Expect)h(this)g (to)g(disappear)f(in)i(the)822 1619 y(//future...)822 1719 y(trace.instruction\(opcode\);)822 1918 y(//)f('source')g(is)g(a)h (pointer)e(to)i(a)f('file_register')e(object.)i(It)g(is)h(initialized) 822 2018 y(//by)f(reading)f(the)i('registers')e(array.)g(Note)h(that)g (the)h(index)e(depends)h(on)g(the)822 2118 y(//'rp')g(bits)g (\(actually)f(just)h(one)g(bit\))g(in)h(the)f(status)g(register.)f (Time)h(is)822 2217 y(//)g(saved)g(by)h(caching)e(rp)i(as)f(opposed)g (to)g(decoding)f(the)i(status)e(register.)822 2317 y(source)h(=)g (cpu->registers[cpu->rp)d(|)k(opcode®_IN_INSTRUCTION_MASK];)822 2516 y(//)f(We)h(have)f(no)g(idea)g(which)g(register)g(we)g(are)g (trying)g(to)g(access)g(and)g(how)h(it)822 2616 y(//should)e(be)i (accessed)e(or)h(if)h(there's)e(a)i(breakpoint)e(set)h(on)h(it.)f(No)g (problem,)822 2715 y(//the)g(virtual)f(function)h('get')g(will)g (resolve)f(all)h(of)h(those)f(details)822 2815 y(//)g(and)h('do)f(the)g (right)g(thing'.)822 2915 y(source_value)e(=)j(source->get\(\);)822 3114 y(//)f(If)h(the)f(destination)f(is)h(W,)h(then)f(the)g (constructor)f(has)h(already)g(initialized)822 3214 y(//'destination'.) e(Otherwise)h(the)h(destination)f(and)h(source)g(are)g(the)g(same.)822 3313 y(if\(opcode&DESTINATION_MASK\))922 3413 y(destination)e(=)j (source;)298 b(//)49 b(Result)g(goes)g(to)g(source)822 3612 y(//)g(Write)g(the)g(source)g(value)g(to)h(the)f(destination.)e (Again,)i(we)g(have)h(no)f(idea)822 3712 y(//)g(where)g(the)g (destination)f(may)i(be)f(or)822 3811 y(//)g(or)h(how)f(the)g(data)g (should)g(be)h(written)e(there.)822 3911 y (destination->put\(source_value\);)822 4110 y(//)h(The)h(movf)f (instruction)e(will)j(set)f(Z)g(\(zero\))g(bit)g(in)h(the)f(status)g (register)822 4210 y(//if)g(the)g(source)g(value)g(was)g(zero.)822 4309 y(cpu->status.put_Z\(0==source_value\);)822 4509 y(//)g(Finally,)g(advance)f(the)h(pc)h(by)f(one.)822 4608 y(cpu->pc.increment\(\);)722 4808 y(})p Black Black eop end %%Page: 60 61 TeXDict begin 60 60 bop Black 515 282 a Fk(CHAPTER)21 b(15.)45 b(THEOR)-5 b(Y)20 b(OF)h(OPERA)-9 b(TION)1291 b Fl(60)p Black 515 515 a Fi(15.6)119 b(T)-9 b(race)515 726 y Fl(Ev)o(erything)24 b(that)j(is)g(simulated)f(is)i(traced)e(-)h Ff(all)g Fl(of)g(the)g(time.)44 b(The)27 b(trace)f(b)n(uf)n(fer)g(is)h (one)g(huge)515 825 y(circular)d(b)n(uf)n(fer)h(of)g(inte)o(gers.)40 b(Information)23 b(is)k(or'ed)d(with)i(a)g(trace)f(tok)o(en)g(and)g (then)h(is)g(stored)515 925 y(in)c(the)h(trace)f(b)n(uf)n(fer)-5 b(.)31 b(No)23 b(attempt)f(is)i(made)e(to)g(associate)h(the)g(items)g (in)f(the)h(trace)f(b)n(uf)n(fer)g(while)515 1025 y(the)j(simulator)f (is)i(simulating)e(a)h(PIC.)h(Thus,)f(if)g(you)f(look)h(at)g(the)g(ra)o (w)g(b)n(uf)n(fer)e(you')o(ll)h(see)i(stuf)n(f)515 1124 y(lik)o(e:)34 b(c)o(ycle)24 b(counter)g(=)h(...,)g(opcode)e(fetch)h(=)h (...,)h(re)o(gister)e(read)g(=)h(...,)g(re)o(gister)f(write)h(=)g(...,) g(etc.)515 1224 y(Ho)n(we)n(v)o(er)m(,)h(this)h(information)e(is)i (post)g(processed)f(to)h(ascertain)f(what)h(happened)d(and)j(when)f(it) 515 1324 y(happened.)h(It')-5 b(s)22 b(also)g(possible)f(to)h(use)g (this)g(information)d(to)j(undo)e(the)h(simulation,)g(or)h(in)f(other) 515 1423 y(w)o(ords)f(you)f(can)h(step)g(backw)o(ards.)k(I)c(don')o(t)f (ha)n(v)o(e)h(this)g(implemented)f(yet)h(though.)515 1728 y Fi(15.7)119 b(Br)n(eakpoints)515 1939 y Fl(Breakpoints)19 b(f)o(all)h(into)g(three)g(cate)o(gories:)k(e)o(x)o(ecution,)18 b(re)o(gister)m(,)h(and)g(c)o(ycle.)515 2185 y Fm(Execution:)515 2365 y Fl(F)o(or)c(e)o(x)o(ecution)e(breakpoints)g(a)i(special)h (instruction)e(appropriately)e(called)j('Breakpoint_Instruction')515 2465 y(is)22 b(created)f(and)g(placed)g(into)g(the)h(program)e(memory)f (array)i(at)h(the)g(location)f(the)g(break)g(point)g(is)515 2564 y(desired.)45 b(The)27 b(original)f(instruction)g(is)i(sa)n(v)o (ed)e(in)i(the)f(ne)n(wly)f(created)h(breapoint)e(instruction.)515 2664 y(When)18 b(the)g(break)f(point)g(is)i(cleared,)e(the)i(original)d (instruction)h(is)i(fetched)e(from)g(the)h(break)f(point)515 2764 y(instruction)i(and)g(placed)h(back)f(into)h(the)g(program)e (memory)h(array)-5 b(.)515 2888 y(Note)29 b(that)f(this)i(scheme)e(has) h(zero)f(o)o(v)o(erhead.)49 b(The)28 b(simulation)g(is)i(only)e(af)n (fected)f(when)i(the)515 2988 y(breakpoint)18 b(is)j(encountered.)515 3234 y Fm(Register:)515 3414 y Fl(There)e(are)i(at)g(least)g(four)e (dif)n(ferent)g(breakpoint)f(types)j(that)f(can)h(be)f(set)h(on)f(a)h (re)o(gister:)k(read)20 b(an)o(y)515 3514 y(v)n(alue,)h(write)h(an)o(y) f(v)n(alue,)g(read)h(a)g(speci\002c)g(v)n(alue,)f(or)h(write)g(a)g (speci\002c)g(v)n(alue.)30 b(Lik)o(e)21 b(the)h(e)o(x)o(ecu-)515 3614 y(tion)c(breakpoints,)e(there)i(are)g(special)h(breakpoint)d(re)o (gisters)i(that)g(replace)g(a)h(re)o(gister)f(object.)23 b(So)515 3713 y(when)h(the)h(user)g(sets)h(a)f(write)g(breakpoint)e(at) i(re)o(gister)g(0x20)e(for)h(e)o(xample,)h(a)g(ne)n(w)g(breakpoint)515 3813 y(object)c(is)i(created)e(and)g(insert)h(into)g(the)g(\002le)h(re) o(gister)e(array)g(at)h(location)f(0x20.)29 b(When)21 b(the)h(sim-)515 3913 y(ulator)e(attempts)g(to)h(access)g(re)o(gister)f (location)f(0x20,)g(the)i(breakpoint)d(object)i(will)h(be)g(accessed) 515 4012 y(instead.)515 4137 y(Note)e(that)h(this)g(scheme)f(too)g(has) h(zero)f(o)o(v)o(erhead,)e(accept)i(when)g(a)h(breakpoint)d(is)k (encountered.)515 4383 y Fm(Cycle:)515 4563 y Fl(Cycle)e(breakpoints)e (allo)n(w)i(gpsim)g(to)g(alter)h(e)o(x)o(ecution)d(at)i(a)h(speci\002c) f(instruction)f(c)o(ycle.)24 b(This)c(is)515 4663 y(useful)d(for)g (running)e(your)h(simulation)h(for)g(a)h(v)o(ery)e(speci\002c)i(amount) e(of)h(time.)24 b(Internally)-5 b(,)16 b(gpsim)515 4762 y(mak)o(es)24 b(e)o(xtensi)n(v)o(e)g(use)h(of)g(the)g(c)o(ycle)f (breakpoints.)37 b(F)o(or)24 b(e)o(xample,)h(the)g(TMR0)g(object)f(can) h(be)515 4862 y(programmed)17 b(to)j(generate)f(a)i(periodic)d(c)o (ycle)i(break)f(point.)p Black Black eop end %%Page: 61 62 TeXDict begin 61 61 bop Black 515 282 a Fk(CHAPTER)21 b(15.)45 b(THEOR)-5 b(Y)20 b(OF)h(OPERA)-9 b(TION)1291 b Fl(61)p Black 515 515 a(Cycle)26 b(break)f(points)h(are)g (implemented)e(with)i(a)h(sorted)e(doubly-link)o(ed)e(list.)43 b(The)26 b(link)o(ed)f(list)515 615 y(contains)c(tw)o(o)i(pieces)g(of)f (information)e(\(besides)i(the)h(links\):)29 b(the)23 b(c)o(ycle)f(at)h(which)f(the)g(break)g(is)515 715 y(to)27 b(occur)f(and)h(the)g(call)g(back)g(function)1707 684 y Fe(1)1765 715 y Fl(that')-5 b(s)28 b(to)f(be)g(in)m(v)n(ok)o(ed)e (when)i(the)g(c)o(ycle)g(does)f(occur)-5 b(.)515 814 y(The)21 b(break)g(logic)g(is)i(e)o(xtremely)d(simple.)30 b(Whene)n(v)o(er)20 b(the)i(c)o(ycle)f(counter)g(is)i(adv)n(anced)c (\(that)j(is,)515 914 y(incremented\),)16 b(it')-5 b(s)20 b(compared)d(to)i(the)g(ne)o(xt)f(desired)g(c)o(ycle)h(break)f(point.) 23 b(If)c(there')-5 b(s)19 b(NO)g(match,)515 1013 y(then)24 b(we')l(re)h(done.)39 b(So)25 b(the)g(o)o(v)o(erhead)e(for)h(c)o(ycle)h (breaks)g(is)h(the)f(time)g(required)f(to)h(implement)515 1113 y(a)30 b(comparison.)53 b(If)30 b(there)g(IS)g(a)h(match,)h(then)d (the)h(call)h(back)e(function)g(associated)h(with)g(this)515 1213 y(break)22 b(point)h(is)i(in)m(v)n(ok)o(ed)d(and)h(the)h(ne)o(xt)f (break)g(point)g(in)h(the)f(doubly-link)o(ed)e(list)k(serv)o(es)e(as)i (the)515 1312 y(reference)18 b(for)i(the)g(ne)o(xt)f(c)o(ycle)h(break.) p Black 515 4840 1146 4 v 605 4896 a Fd(1)634 4919 y Fc(A)f(call)i(back)f(function)i(is)d(a)g(pointer)i(to)f(a)f(function.) 30 b(In)19 b(this)h(conte)o(xt,)h(gpsim)f(is)f(gi)n(v)o(en)i(a)e (pointer)i(to)f(the)g(function)515 4998 y(that')l(s)e(to)g(be)f(in)m(v) o(ok)o(ed)i(\(called\))g(whene)n(v)o(er)g(a)e(c)o(ycle)i(break)f (occurs.)p Black Black Black eop end %%Page: 62 63 TeXDict begin 62 62 bop Black Black 515 1204 a Fn(COPYING)515 1661 y Fl(The)20 b(document)e(is)j(part)f(of)g(gpsim.)515 1786 y(gpsim)j(is)h(free)f(softw)o(are;)i(you)e(can)g(redistrib)n(ute)g (it)h(and/or)e(modify)g(it)i(under)e(the)i(terms)f(of)h(the)515 1885 y(GNU)30 b(General)f(Public)h(License)f(as)i(published)d(by)i(the) f(Free)h(Softw)o(are)g(F)o(oundation;)i(either)515 1985 y(v)o(ersion)19 b(2,)h(or)g(\(at)g(your)f(option\))f(an)o(y)i(later)g (v)o(ersion.)515 2109 y(gpsim)30 b(is)i(distrib)n(uted)d(in)i(the)g (hope)f(that)g(it)i(will)f(be)g(useful,)h(b)n(ut)f(WITHOUT)g(ANY)g(W) -10 b(AR-)515 2209 y(RANTY)i(;)28 b(without)e(e)n(v)o(en)h(the)g (implied)g(w)o(arranty)f(of)h(MERCHANT)-8 b(ABILITY)26 b(or)h(FITNESS)515 2309 y(FOR)32 b(A)f(P)-8 b(AR)j(TICULAR)32 b(PURPOSE.)g(See)g(the)f(GNU)g(General)f(Public)h(License)g(for)f(more) 515 2408 y(details.)515 2533 y(Y)-9 b(ou)16 b(should)f(ha)n(v)o(e)h (recei)n(v)o(ed)f(a)i(cop)o(y)e(of)h(the)h(GNU)g(General)e(Public)i (License)f(along)f(with)i(gpsim;)515 2632 y(see)j(the)g(\002le)h (COPYING.)f(If)g(not,)f(write)h(to)h(the)f(Free)g(Softw)o(are)f(F)o (oundation,)e(59)j(T)-6 b(emple)19 b(Place)515 2732 y(-)h(Suite)h(330,) e(Boston,)g(MA)i(02111-1307,)16 b(USA.)p Black 1905 5208 a(62)p Black eop end %%Page: 63 64 TeXDict begin 63 63 bop Black Black Black 515 990 a Fn(Index)p Black 515 1407 a Fl(and2,)19 b(45)515 1507 y(attach,)h(9)515 1690 y(break,)f(9,)h(10)515 1789 y(b)n(us,)g(9)515 1972 y(Capacitors,)f(47)515 2071 y(clear)m(,)g(9,)h(12)515 2254 y(disassemble,)f(9,)i(12)515 2354 y(dump,)d(9,)i(12)515 2536 y(echo,)f(12)515 2719 y(frequenc)o(y)-5 b(,)17 b(9,)j(13)515 2902 y(GNU,)g(62)515 3084 y(HD44780,)e(47)515 3184 y(help,)h(9,)h(13) 515 3367 y(I2C)g(EEPR)m(OM,)g(46)515 3466 y(icd,)g(9,)g(13)515 3566 y(instructions,)f(57)515 3749 y(License,)g(62)515 3848 y(list,)i(9,)f(13)515 3948 y(load,)f(9,)h(13)515 4047 y(log,)f(9)515 4147 y(Logic,)g(45)515 4330 y(macros,)g(14)515 4429 y(module,)f(9,)i(15)515 4529 y(Modules,)f(43)515 4712 y(NO)h(W)-10 b(ARRANTY)f(,)22 b(62)515 4811 y(node,)d(9,)h(17)515 4911 y(not,)f(46)p Black Black 1988 1407 a(or2,)h(45)1988 1590 y(processor)m(,)f(9,)h(17)1988 1773 y(quit,)g(9,)g(17)1988 1955 y(re)o(gisters,)g(58)1988 2055 y(Resistors,)h(46,)f(47)1988 2154 y(run,)g(9,)g(18)1988 2337 y(SED1530,)f(47)1988 2437 y(set,)i(9)1988 2536 y(step,)g(9,)f(18)1988 2636 y(Stimulus,)g(39)1988 2736 y(stimulus,)g(9,)g(18)1988 2835 y(stopw)o(atch,)g(9,)g(19)1988 2935 y(Switches,)h(46)1988 3035 y(symbol,)e(9,)h(18)1988 3217 y(trace,)g(9,)g(20)1988 3400 y(USAR)-5 b(T)21 b(module,)e(44)1988 3582 y(v)o(ersion,)g(9)1988 3682 y(V)-11 b(oltage)20 b(Sources,)g(47)1988 3865 y(x,)g(9,)g(20)1988 3964 y(xor2,)f(46)p Black 1905 5208 a(63)p Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF