diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000..b01e98d --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,216 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source + +.PHONY: help +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" + +.PHONY: clean +clean: + rm -rf $(BUILDDIR)/* + +.PHONY: html +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +.PHONY: dirhtml +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +.PHONY: singlehtml +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +.PHONY: pickle +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +.PHONY: json +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +.PHONY: htmlhelp +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +.PHONY: qthelp +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/testy_sphinxy.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/testy_sphinxy.qhc" + +.PHONY: applehelp +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +.PHONY: devhelp +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/testy_sphinxy" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/testy_sphinxy" + @echo "# devhelp" + +.PHONY: epub +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.PHONY: latex +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +.PHONY: latexpdf +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: latexpdfja +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: text +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +.PHONY: man +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +.PHONY: texinfo +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +.PHONY: info +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +.PHONY: gettext +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +.PHONY: changes +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +.PHONY: linkcheck +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +.PHONY: doctest +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +.PHONY: coverage +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +.PHONY: xml +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +.PHONY: pseudoxml +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/doc/make.bat b/doc/make.bat new file mode 100644 index 0000000..19a3a3f --- /dev/null +++ b/doc/make.bat @@ -0,0 +1,263 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source +set I18NSPHINXOPTS=%SPHINXOPTS% source +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. xml to make Docutils-native XML files + echo. pseudoxml to make pseudoxml-XML files for display purposes + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + echo. coverage to run coverage check of the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + + +REM Check if sphinx-build is available and fallback to Python version if any +%SPHINXBUILD% 1>NUL 2>NUL +if errorlevel 9009 goto sphinx_python +goto sphinx_ok + +:sphinx_python + +set SPHINXBUILD=python -m sphinx.__init__ +%SPHINXBUILD% 2> nul +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +:sphinx_ok + + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\testy_sphinxy.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\testy_sphinxy.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "latexpdf" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf + cd %~dp0 + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "latexpdfja" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf-ja + cd %~dp0 + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +if "%1" == "coverage" ( + %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage + if errorlevel 1 exit /b 1 + echo. + echo.Testing of coverage in the sources finished, look at the ^ +results in %BUILDDIR%/coverage/python.txt. + goto end +) + +if "%1" == "xml" ( + %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The XML files are in %BUILDDIR%/xml. + goto end +) + +if "%1" == "pseudoxml" ( + %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. + goto end +) + +:end diff --git a/doc/source/conf.py b/doc/source/conf.py new file mode 100644 index 0000000..2cca3e4 --- /dev/null +++ b/doc/source/conf.py @@ -0,0 +1,289 @@ +# -*- coding: utf-8 -*- +# +# Squirrel documentation build configuration file, created by +# sphinx-quickstart on Sun Jan 31 00:26:52 2016. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os +import time + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.pngmath', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Squirrel documentation' +copyright = '2003-%s, Alberto Demichelis' % time.strftime('%Y') +author = u'Alberto Demichelis' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = u'3.1' +# The full version, including alpha/beta/rc tags. +release = u'3.1 stable' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = [] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' +#html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# Now only 'ja' uses this config value +#html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +#html_search_scorer = 'scorer.js' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'squirrel_doc' + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', + +# Latex figure (float) alignment +#'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +_stdauthor = r'Alberto Demichelis' +latex_documents = [ + ('reference/index', 'reference.tex', + 'Squirrel Reference Manual', _stdauthor, 'manual'), + ('stdlib/index', 'stdlib.tex', + 'Squirrel Standard Library', _stdauthor, 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'Squirrel', u'Squirrel Documentation', + [author], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'Squirrel', u'Squirrel Documentation', + author, 'Squirrel', 'The Programming Language.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False diff --git a/doc/source/index.rst b/doc/source/index.rst new file mode 100644 index 0000000..0cc1bb4 --- /dev/null +++ b/doc/source/index.rst @@ -0,0 +1,24 @@ +.. Squirrel documentation master file, created by + sphinx-quickstart on Sun Jan 31 00:26:52 2016. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Squirrel's documentation +========================================= + +Contents: + +.. toctree:: + :maxdepth: 1 + + reference/index.rst + stdlib/index.rst + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` + + diff --git a/doc/source/reference/api/bytecode_serialization.rst b/doc/source/reference/api/bytecode_serialization.rst new file mode 100644 index 0000000..724643b --- /dev/null +++ b/doc/source/reference/api/bytecode_serialization.rst @@ -0,0 +1,32 @@ +.. _api_ref_bytecode_serialization: + +====================== +Bytecode serialization +====================== + +.. _sq_readclosure: + +.. c:function:: SQRESULT sq_readclosure(HSQUIRRELVM v, SQREADFUNC readf, SQUserPointer up) + + :param HSQUIRRELVM v: the target VM + :param SQREADFUNC readf: pointer to a read function that will be invoked by the vm during the serialization. + :param SQUserPointer up: pointer that will be passed to each call to the read function + :returns: a SQRESULT + +serialize (read) a closure and pushes it on top of the stack, the source is user defined through a read callback. + + + + + +.. _sq_writeclosure: + +.. c:function:: SQRESULT sq_writeclosure(HSQUIRRELVM v, SQWRITEFUNC writef, SQUserPointer up) + + :param HSQUIRRELVM v: the target VM + :param SQWRITEFUNC writef: pointer to a write function that will be invoked by the vm during the serialization. + :param SQUserPointer up: pointer that will be passed to each call to the write function + :returns: a SQRESULT + :remarks: closures with free variables cannot be serialized + +serializes(writes) the closure on top of the stack, the desination is user defined through a write callback. \ No newline at end of file diff --git a/doc/source/reference/api/calls.rst b/doc/source/reference/api/calls.rst new file mode 100644 index 0000000..9f51eac --- /dev/null +++ b/doc/source/reference/api/calls.rst @@ -0,0 +1,115 @@ +.. _api_ref_calls: + +===== +Calls +===== + +.. _sq_call: + +.. c:function:: SQRESULT sq_call(HSQUIRRELVM v, SQInteger params, SQBool retval, SQBool raiseerror) + + :param HSQUIRRELVM v: the target VM + :param SQInteger params: number of parameters of the function + :param SQBool retval: if true the function will push the return value in the stack + :param SQBool raiseerror: if true, if a runtime error occurs during the execution of the call, the vm will invoke the error handler. + :returns: a SQRESULT + :remarks: the function pops all the parameters and leave the closure in the stack; if retval is true the return value of the closure is pushed. If the execution of the function is suspended through sq_suspendvm(), the closure and the arguments will not be automatically popped from the stack. + +calls a closure or a native closure. + + + + + +.. _sq_getcallee: + +.. c:function:: SQRESULT sq_getcallee(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: a SQRESULT + +push in the stack the currently running closure. + + + + + +.. _sq_getlasterror: + +.. c:function:: SQRESULT sq_getlasterror(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: a SQRESULT + :remarks: the pushed error descriptor can be any valid squirrel type. + +pushes the last error in the stack. + + + + + +.. _sq_getlocal: + +.. c:function:: const SQChar * sq_getlocal(HSQUIRRELVM v, SQUnsignedInteger level, SQUnsignedInteger nseq) + + :param HSQUIRRELVM v: the target VM + :param SQUnsignedInteger level: the function index in the calls stack, 0 is the current function + :param SQUnsignedInteger nseq: the index of the local variable in the stack frame (0 is 'this') + :returns: the name of the local variable if a variable exists at the given level/seq otherwise NULL. + +Returns the name of a local variable given stackframe and sequence in the stack and pushes is current value. Free variables are treated as local variables, by sq_getlocal(), and will be returned as they would be at the base of the stack, just before the real local variables. + + + + + +.. _sq_reseterror: + +.. c:function:: void sq_reseterror(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + +reset the last error in the virtual machine to null + + + + + +.. _sq_resume: + +.. c:function:: SQRESULT sq_resume(HSQUIRRELVM v, SQBool retval, SQBool raiseerror) + + :param HSQUIRRELVM v: the target VM + :param SQBool retval: if true the function will push the return value in the stack + :param SQBool raiseerror: if true, if a runtime error occurs during the execution of the call, the vm will invoke the error handler. + :returns: a SQRESULT + :remarks: if retval != 0 the return value of the generator is pushed. + +resumes the generator at the top position of the stack. + + + + + +.. _sq_throwerror: + +.. c:function:: SQRESULT sq_throwerror(HSQUIRRELVM v, const SQChar * err) + + :param HSQUIRRELVM v: the target VM + :param const SQChar * err: the description of the error that has to be thrown + :returns: the value that has to be returned by a native closure in order to throw an exception in the virtual machine. + +sets the last error in the virtual machine and returns the value that has to be returned by a native closure in order to trigger an exception in the virtual machine. + + + + + +.. _sq_throwobject: + +.. c:function:: SQRESULT sq_throwobject(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: the value that has to be returned by a native closure in order to throw an exception in the virtual machine. + +pops a value from the stack sets it as the last error in the virtual machine. Returns the value that has to be returned by a native closure in order to trigger an exception in the virtual machine (aka SQ_ERROR). diff --git a/doc/source/reference/api/compiler.rst b/doc/source/reference/api/compiler.rst new file mode 100644 index 0000000..58bc3ff --- /dev/null +++ b/doc/source/reference/api/compiler.rst @@ -0,0 +1,79 @@ +.. _api_ref_compiler: + +======== +Compiler +======== + +.. _sq_compile: + +.. c:function:: SQRESULT sq_compile(HSQUIRRELVM v, HSQLEXREADFUNC read, SQUserPointer p, const SQChar * sourcename, SQBool raiseerror) + + :param HSQUIRRELVM v: the target VM + :param HSQLEXREADFUNC read: a pointer to a read function that will feed the compiler with the program. + :param SQUserPointer p: a user defined pointer that will be passed by the compiler to the read function at each invocation. + :param const SQChar * sourcename: the symbolic name of the program (used only for more meaningful runtime errors) + :param SQBool raiseerror: if this value is true the compiler error handler will be called in case of an error + :returns: a SQRESULT. If the sq_compile fails nothing is pushed in the stack. + :remarks: in case of an error the function will call the function set by sq_setcompilererrorhandler(). + +compiles a squirrel program; if it succeeds, push the compiled script as function in the stack. + + + + + +.. _sq_compilebuffer: + +.. c:function:: SQRESULT sq_compilebuffer(HSQUIRRELVM v, const SQChar* s, SQInteger size, const SQChar * sourcename, SQBool raiseerror) + + :param HSQUIRRELVM v: the target VM + :param const SQChar* s: a pointer to the buffer that has to be compiled. + :param SQInteger size: size in characters of the buffer passed in the parameter 's'. + :param const SQChar * sourcename: the symbolic name of the program (used only for more meaningful runtime errors) + :param SQBool raiseerror: if this value true the compiler error handler will be called in case of an error + :returns: a SQRESULT. If the sq_compilebuffer fails nothing is pushed in the stack. + :remarks: in case of an error the function will call the function set by sq_setcompilererrorhandler(). + +compiles a squirrel program from a memory buffer; if it succeeds, push the compiled script as function in the stack. + + + + + +.. _sq_enabledebuginfo: + +.. c:function:: void sq_enabledebuginfo(HSQUIRRELVM v, SQBool enable) + + :param HSQUIRRELVM v: the target VM + :param SQBool enable: if true enables the debug info generation, if == 0 disables it. + :remarks: The function affects all threads as well. + +enable/disable the debug line information generation at compile time. + + + + + +.. _sq_notifyallexceptions: + +.. c:function:: void sq_notifyallexceptions(HSQUIRRELVM v, SQBool enable) + + :param HSQUIRRELVM v: the target VM + :param SQBool enable: if true enables the error callback notification of handled exceptions. + :remarks: By default the VM will invoke the error callback only if an exception is not handled (no try/catch traps are present in the call stack). If notifyallexceptions is enabled, the VM will call the error callback for any exception even if between try/catch blocks. This feature is useful for implementing debuggers. + +enable/disable the error callback notification of handled exceptions. + + + + + +.. _sq_setcompilererrorhandler: + +.. c:function:: void sq_setcompilererrorhandler(HSQUIRRELVM v, SQCOMPILERERROR f) + + :param HSQUIRRELVM v: the target VM + :param SQCOMPILERERROR f: A pointer to the error handler function + :remarks: if the parameter f is NULL no function will be called when a compiler error occurs. The compiler error handler is shared between friend VMs. + +sets the compiler error handler function \ No newline at end of file diff --git a/doc/source/reference/api/debug_interface.rst b/doc/source/reference/api/debug_interface.rst new file mode 100644 index 0000000..4b22511 --- /dev/null +++ b/doc/source/reference/api/debug_interface.rst @@ -0,0 +1,72 @@ +.. _api_ref_debug_interface: + +=============== +Debug interface +=============== + +.. _sq_getfunctioninfo: + +.. c:function:: SQRESULT sq_getfunctioninfo(HSQUIRRELVM v, SQInteger level, SQFunctionInfo * fi) + + :param HSQUIRRELVM v: the target VM + :param SQInteger level: calls stack level + :param SQFunctionInfo * fi: pointer to the SQFunctionInfo structure that will store the closure informations + :returns: a SQRESULT. + :remarks: the member 'funcid' of the returned SQFunctionInfo structure is a unique identifier of the function; this can be useful to identify a specific piece of squirrel code in an application like for instance a profiler. this method will fail if the closure in the stack is a native C closure. + + + +*.eg* + +:: + + + typedef struct tagSQFunctionInfo { + SQUserPointer funcid; //unique idetifier for a function (all it's closures will share the same funcid) + const SQChar *name; //function name + const SQChar *source; //function source file name + }SQFunctionInfo; + + + + + + + +.. _sq_setdebughook: + +.. c:function:: void sq_setdebughook(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :remarks: In order to receive a 'per line' callback, is necessary to compile the scripts with the line informations. Without line informations activated, only the 'call/return' callbacks will be invoked. + +pops a closure from the stack an sets it as debug hook. When a debug hook is set it overrides any previously set native or non native hooks. if the hook is null the debug hook will be disabled. + + + + + +.. _sq_setnativedebughook: + +.. c:function:: void sq_setnativedebughook(HSQUIRRELVM v, SQDEBUGHOOK hook) + + :param HSQUIRRELVM v: the target VM + :param SQDEBUGHOOK hook: the native hook function + :remarks: In order to receive a 'per line' callback, is necessary to compile the scripts with the line informations. Without line informations activated, only the 'call/return' callbacks will be invoked. + +sets the native debug hook. When a native hook is set it overrides any previously set native or non native hooks. if the hook is NULL the debug hook will be disabled. + + + + + +.. _sq_stackinfos: + +.. c:function:: SQRESULT sq_stackinfos(HSQUIRRELVM v, SQInteger level, SQStackInfos * si) + + :param HSQUIRRELVM v: the target VM + :param SQInteger level: calls stack level + :param SQStackInfos * si: pointer to the SQStackInfos structure that will store the stack informations + :returns: a SQRESULT. + +retrieve the calls stack informations of a ceratain level in the calls stack. \ No newline at end of file diff --git a/doc/source/reference/api/garbage_collector.rst b/doc/source/reference/api/garbage_collector.rst new file mode 100644 index 0000000..e49ab1c --- /dev/null +++ b/doc/source/reference/api/garbage_collector.rst @@ -0,0 +1,27 @@ +.. _api_ref_garbage_collector: + +================= +Garbage Collector +================= + +.. _sq_collectgarbage: + +.. c:function:: SQInteger sq_collectgarbage(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :remarks: this api only works with gabage collector builds (NO_GARBAGE_COLLECTOR is not defined) + +runs the garbage collector and returns the number of reference cycles found(and deleted) + + + + + +.. _sq_resurrectunreachable: + +.. c:function:: SQRESULT sq_resurrectunreachable(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :remarks: this api only works with gabage collector builds (NO_GARBAGE_COLLECTOR is not defined) + +runs the garbage collector and pushes an array in the stack containing all unreachable object found. If no unreachable object is found, null is pushed instead. This function is meant to help debugging reference cycles. \ No newline at end of file diff --git a/doc/source/reference/api/object_creation_and_handling.rst b/doc/source/reference/api/object_creation_and_handling.rst new file mode 100644 index 0000000..a3bb4ed --- /dev/null +++ b/doc/source/reference/api/object_creation_and_handling.rst @@ -0,0 +1,680 @@ +.. _api_ref_object_creation_and_handling: + +============================ +Object creation and handling +============================ + +.. _sq_bindenv: + +.. c:function:: SQRESULT sq_bindenv(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target closure + :returns: a SQRESULT + :remarks: the cloned closure holds the environment object as weak reference + +pops an object from the stack(must be a table,instance or class) clones the closure at position idx in the stack and sets the popped object as environment of the cloned closure. Then pushes the new cloned closure on top of the stack. + + + + + +.. _sq_createinstance: + +.. c:function:: SQRESULT sq_createinstance(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target class + :returns: a SQRESULT + :remarks: the function doesn't invoke the instance contructor. To create an instance and automatically invoke its contructor, sq_call must be used instead. + +creates an instance of the class at 'idx' position in the stack. The new class instance is pushed on top of the stack. + + + + + +.. _sq_getbool: + +.. c:function:: SQRESULT sq_getbool(HSQUIRRELVM v, SQInteger idx, SQBool * b) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQBool * b: A pointer to the bool that will store the value + :returns: a SQRESULT + +gets the value of the bool at the idx position in the stack. + + + + + +.. _sq_getbyhandle: + +.. c:function:: SQRESULT sq_getbyhandle(HSQUIRRELVM v, SQInteger idx, HSQMEMBERHANDLE* handle) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack pointing to the class + :param HSQMEMBERHANDLE* handle: a pointer the member handle + :returns: a SQRESULT + +pushes the value of a class or instance member using a member handle (see sq_getmemberhandle) + + + + + +.. _sq_getclosureinfo: + +.. c:function:: SQRESULT sq_getclosureinfo(HSQUIRRELVM v, SQInteger idx, SQUnsignedInteger * nparams, SQUnsignedInteger * nfreevars) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target closure + :param SQUnsignedInteger * nparams: a pointer to an unsigned integer that will store the number of parameters + :param SQUnsignedInteger * nfreevars: a pointer to an unsigned integer that will store the number of free variables + :returns: an SQRESULT + +retrieves number of parameters and number of freevariables from a squirrel closure. + + + + + +.. _sq_getclosurename: + +.. c:function:: SQRESULT sq_getclosurename(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target closure + :returns: an SQRESULT + +pushes the name of the closure at poistion idx in the stack. Note that the name can be a string or null if the closure is anonymous or a native closure with no name assigned to it. + + + + + +.. _sq_getclosureroot: + +.. c:function:: SQRESULT sq_getclosureroot(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target closure + :returns: an SQRESULT + +pushes the root table of the closure at position idx in the stack + + + + + +.. _sq_getfloat: + +.. c:function:: SQRESULT sq_getfloat(HSQUIRRELVM v, SQInteger idx, SQFloat * f) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQFloat * f: A pointer to the float that will store the value + :returns: a SQRESULT + +gets the value of the float at the idx position in the stack. + + + + + +.. _sq_gethash: + +.. c:function:: SQHash sq_gethash(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :returns: the hash key of the value at the position idx in the stack + :remarks: the hash value function is the same used by the VM. + +returns the hash key of a value at the idx position in the stack. + + + + + +.. _sq_getinstanceup: + +.. c:function:: SQRESULT sq_getinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer * up, SQUSerPointer typetag) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQUserPointer * up: a pointer to the userpointer that will store the result + :param SQUSerPointer typetag: the typetag that has to be checked, if this value is set to 0 the typetag is ignored. + :returns: a SQRESULT + +gets the userpointer of the class instance at position idx in the stack. if the parameter 'typetag' is different than 0, the function checks that the class or a base class of the instance is tagged with the specified tag; if not the function fails. If 'typetag' is 0 the function will ignore the tag check. + + + + + +.. _sq_getinteger: + +.. c:function:: SQRESULT sq_getinteger(HSQUIRRELVM v, SQInteger idx, SQInteger * i) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQInteger * i: A pointer to the integer that will store the value + :returns: a SQRESULT + +gets the value of the integer at the idx position in the stack. + + + + + +.. _sq_getmemberhandle: + +.. c:function:: SQRESULT sq_getmemberhandle(HSQUIRRELVM v, SQInteger idx, HSQMEMBERHANDLE* handle) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack pointing to the class + :param HSQMEMBERHANDLE* handle: a pointer to the variable that will store the handle + :returns: a SQRESULT + :remarks: This method works only with classes and instances. A handle retrieved through a class can be later used to set or get values from one of the class instances and vice-versa. Handles retrieved from base classes are still valid in derived classes and respect inheritance rules. + +pops a value from the stack and uses it as index to fetch the handle of a class member. The handle can be later used to set or get the member value using sq_getbyhandle(),sq_setbyhandle(). + + + + + +.. _sq_getreleasehook: + +.. c:function:: SQRELEASEHOOK sq_getreleasehook(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :remarks: if the object that position idx is not an userdata, class instance or class the function returns NULL. + +gets the release hook of the userdata, class instance or class at position idx in the stack. + + + + + +.. _sq_getscratchpad: + +.. c:function:: SQChar * sq_getscratchpad(HSQUIRRELVM v, SQInteger minsize) + + :param HSQUIRRELVM v: the target VM + :param SQInteger minsize: the requested size for the scratchpad buffer + :remarks: the buffer is valid until the next call to sq_getscratchpad + +returns a pointer to a memory buffer that is at least as big as minsize. + + + + + +.. _sq_getsize: + +.. c:function:: SQObjectType sq_getsize(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :returns: the size of the value at the position idx in the stack + :remarks: this function only works with strings,arrays,tables,classes,instances and userdata if the value is not a valid type types the function will return -1. + +returns the size of a value at the idx position in the stack, if the value is a class or a class instance the size returned is the size of the userdata buffer(see sq_setclassudsize). + + + + + +.. _sq_getstring: + +.. c:function:: SQRESULT sq_getstring(HSQUIRRELVM v, SQInteger idx, const SQChar ** c) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param const SQChar ** c: a pointer to the pointer that will point to the string + :returns: a SQRESULT + +gets a pointer to the string at the idx position in the stack. + + + + + +.. _sq_getthread: + +.. c:function:: SQRESULT sq_getthread(HSQUIRRELVM v, SQInteger idx, HSQUIRRELVM* v) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param HSQUIRRELVM* v: A pointer to the variable that will store the thread pointer + :returns: a SQRESULT + +gets a a pointer to the thread the idx position in the stack. + + + + + +.. _sq_gettype: + +.. c:function:: SQObjectType sq_gettype(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :returns: the type of the value at the position idx in the stack + +returns the type of the value at the position idx in the stack + + + + + +.. _sq_gettypetag: + +.. c:function:: SQRESULT sq_gettypetag(HSQUIRRELVM v, SQInteger idx, SQUserPointer * typetag) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQUserPointer * typetag: a pointer to the variable that will store the tag + :returns: a SQRESULT + :remarks: the function works also with instances. if the taget object is an instance, the typetag of it's base class is fetched. + +gets the typetag of the object(userdata or class) at position idx in the stack. + + + + + +.. _sq_getuserdata: + +.. c:function:: SQRESULT sq_getuserdata(HSQUIRRELVM v, SQInteger idx, SQUserPointer * p, SQUserPointer * typetag) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQUserPointer * p: A pointer to the userpointer that will point to the userdata's payload + :param SQUserPointer * typetag: A pointer to a SQUserPointer that will store the userdata tag(see sq_settypetag). The parameter can be NULL. + :returns: a SQRESULT + +gets a pointer to the value of the userdata at the idx position in the stack. + + + + + +.. _sq_getuserpointer: + +.. c:function:: SQRESULT sq_getuserpointer(HSQUIRRELVM v, SQInteger idx, SQUserPointer * p) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQUserPointer * p: A pointer to the userpointer that will store the value + :returns: a SQRESULT + +gets the value of the userpointer at the idx position in the stack. + + + + + +.. _sq_newarray: + +.. c:function:: void sq_newarray(HSQUIRRELVM v, SQInteger size) + + :param HSQUIRRELVM v: the target VM + :param SQInteger size: the size of the array that as to be created + +creates a new array and pushes it in the stack + + + + + +.. _sq_newclass: + +.. c:function:: SQRESULT sq_newclass(HSQUIRRELVM v, SQBool hasbase) + + :param HSQUIRRELVM v: the target VM + :param SQBool hasbase: if the parameter is true the function expects a base class on top of the stack. + :returns: a SQRESULT + +creates a new class object. If the parameter 'hasbase' is different than 0, the function pops a class from the stack and inherits the new created class from it. + + + + + +.. _sq_newclosure: + +.. c:function:: void sq_newclosure(HSQUIRRELVM v, HSQFUNCTION func, SQInteger nfreevars) + + :param HSQUIRRELVM v: the target VM + :param HSQFUNCTION func: a pointer to a native-function + :param SQInteger nfreevars: number of free variables(can be 0) + +create a new native closure, pops n values set those as free variables of the new closure, and push the new closure in the stack. + + + + + +.. _sq_newtable: + +.. c:function:: void sq_newtable(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + +creates a new table and pushes it in the stack + + + + + +.. _sq_newtableex: + +.. c:function:: void sq_newtableex(HSQUIRRELVM v, SQInteger initialcapacity) + + :param HSQUIRRELVM v: the target VM + :param SQInteger initialcapacity: number of key/value pairs to preallocate + +creates a new table and pushes it in the stack. This function allows to specify the initial capacity of the table to prevent unnecessary rehashing when the number of slots required is known at creation-time. + + + + + +.. _sq_newuserdata: + +.. c:function:: SQUserPointer sq_newuserdata(HSQUIRRELVM v, SQUnsignedInteger size) + + :param HSQUIRRELVM v: the target VM + :param SQUnsignedInteger size: the size of the userdata that as to be created in bytes + +creates a new userdata and pushes it in the stack + + + + + +.. _sq_pushbool: + +.. c:function:: void sq_pushbool(HSQUIRRELVM v, SQBool b) + + :param HSQUIRRELVM v: the target VM + :param SQBool b: the bool that has to be pushed(SQTrue or SQFalse) + +pushes a bool into the stack + + + + + +.. _sq_pushfloat: + +.. c:function:: void sq_pushfloat(HSQUIRRELVM v, SQFloat f) + + :param HSQUIRRELVM v: the target VM + :param SQFloat f: the float that has to be pushed + +pushes a float into the stack + + + + + +.. _sq_pushinteger: + +.. c:function:: void sq_pushinteger(HSQUIRRELVM v, SQInteger n) + + :param HSQUIRRELVM v: the target VM + :param SQInteger n: the integer that has to be pushed + +pushes a integer into the stack + + + + + +.. _sq_pushnull: + +.. c:function:: void sq_pushnull(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + +pushes a null value into the stack + + + + + +.. _sq_pushstring: + +.. c:function:: void sq_pushstring(HSQUIRRELVM v, const SQChar * s, SQInteger len) + + :param HSQUIRRELVM v: the target VM + :param const SQChar * s: pointer to the string that has to be pushed + :param SQInteger len: lenght of the string pointed by s + :remarks: if the parameter len is less than 0 the VM will calculate the length using strlen(s) + +pushes a string in the stack + + + + + +.. _sq_pushuserpointer: + +.. c:function:: void sq_pushuserpointer(HSQUIRRELVM v, SQUserPointer p) + + :param HSQUIRRELVM v: the target VM + :param SQUserPointer p: the pointer that as to be pushed + +pushes a userpointer into the stack + + + + + +.. _sq_setbyhandle: + +.. c:function:: SQRESULT sq_setbyhandle(HSQUIRRELVM v, SQInteger idx, HSQMEMBERHANDLE* handle) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack pointing to the class + :param HSQMEMBERHANDLE* handle: a pointer the member handle + :returns: a SQRESULT + +pops a value from the stack and sets it to a class or instance member using a member handle (see sq_getmemberhandle) + + + + + +.. _sq_setclassudsize: + +.. c:function:: SQRESULT sq_setclassudsize(HSQUIRRELVM v, SQInteger idx, SQInteger udsize) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack pointing to the class + :param SQInteger udsize: size in bytes reserved for user data + :returns: a SQRESULT + +Sets the user data size of a class. If a class 'user data size' is greater than 0. When an instance of the class is created additional space will is reserved at the end of the memory chunk where the instance is stored. The userpointer of the instance will also be automatically set to this memory area. This allows to minimize allocations in applications that have to carry data along with the class instance. + + + + + +.. _sq_setclosureroot: + +.. c:function:: SQRESULT sq_setclosureroot(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target closure + :returns: an SQRESULT + +pops a table from the stack and sets it as root of the closre at position idx in the stack + + + + + +.. _sq_setinstanceup: + +.. c:function:: SQRESULT sq_setinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer up) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQUserPointer up: an arbitrary user pointer + :returns: a SQRESULT + +sets the userpointer of the class instance at position idx in the stack. + + + + + +.. _sq_setnativeclosurename: + +.. c:function:: SQRESULT sq_setnativeclosurename(HSQUIRRELVM v, SQInteger idx, const SQChar * name) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target native closure + :param const SQChar * name: the name that has to be set + :returns: an SQRESULT + +sets the name of the native closure at the position idx in the stack. the name of a native closure is purely for debug pourposes. The name is retieved trough the function sq_stackinfos() while the closure is in the call stack. + + + + + +.. _sq_setparamscheck: + +.. c:function:: SQRESULT sq_setparamscheck(HSQUIRRELVM v, SQInteger nparamscheck, const SQChar * typemask) + + :param HSQUIRRELVM v: the target VM + :param SQInteger nparamscheck: defines the parameters number check policy(0 disable the param checking). if nparamscheck is greater than 0 the VM ensures that the number of parameters is exactly the number specified in nparamscheck(eg. if nparamscheck == 3 the function can only be called with 3 parameters). if nparamscheck is less than 0 the VM ensures that the closure is called with at least the absolute value of the number specified in nparamcheck(eg. nparamscheck == -3 will check that the function is called with at least 3 parameters). the hidden paramater 'this' is included in this number free variables aren't. If SQ_MATCHTYPEMASKSTRING is passed instead of the number of parameters, the function will automatically extrapolate the number of parameters to check from the typemask(eg. if the typemask is ".sn" is like passing 3). + :param const SQChar * typemask: defines a mask to validate the parametes types passed to the function. if the parameter is NULL no typechecking is applyed(default). + :remarks: The typemask consists in a zero teminated string that represent the expected parameter type. The types are expressed as follows: 'o' null, 'i' integer, 'f' float, 'n' integer or float, 's' string, 't' table, 'a' array, 'u' userdata, 'c' closure and nativeclosure, 'g' generator, 'p' userpointer, 'v' thread, 'x' instance(class instance), 'y' class, 'b' bool. and '.' any type. The symbol '|' can be used as 'or' to accept multiple types on the same parameter. There isn't any limit on the number of 'or' that can be used. Spaces are ignored so can be inserted between types to increase readbility. For instance to check a function that espect a table as 'this' a string as first parameter and a number or a userpointer as second parameter, the string would be "tsn|p" (table,string,number or userpointer). If the parameters mask is contains less parameters than 'nparamscheck' the remaining parameters will not be typechecked. + +Sets the parameters validation scheme for the native closure at the top position in the stack. Allows to validate the number of paramters accepted by the function and optionally their types. If the function call do not comply with the parameter schema set by sq_setparamscheck, an exception is thrown. + +*.eg* + +:: + + //example + SQInteger testy(HSQUIRRELVM v) + { + SQUserPointer p; + const SQChar *s; + SQInteger i; + //no type checking, if the call comply to the mask + //surely the functions will succeed. + sq_getuserdata(v,1,&p,NULL); + sq_getstring(v,2,&s); + sq_getinteger(v,3,&i); + //... do something + return 0; + } + + //the reg code + + //....stuff + sq_newclosure(v,testy,0); + //expects exactly 3 parameters(userdata,string,number) + sq_setparamscheck(v,3,_SC("usn")); + //....stuff + + + + + + +.. _sq_setreleasehook: + +.. c:function:: void sq_setreleasehook(HSQUIRRELVM v, SQInteger idx, SQRELEASEHOOK hook) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQRELEASEHOOK hook: a function pointer to the hook(see sample below) + :remarks: the function hook is called by the VM before the userdata memory is deleted. + +sets the release hook of the userdata, class instance or class at position idx in the stack. + +*.eg* + +:: + + + /* tyedef SQInteger (*SQRELEASEHOOK)(SQUserPointer,SQInteger size); */ + + SQInteger my_release_hook(SQUserPointer p,SQInteger size) + { + /* do something here */ + return 1; + } + + + + + + +.. _sq_settypetag: + +.. c:function:: SQRESULT sq_settypetag(HSQUIRRELVM v, SQInteger idx, SQUserPointer typetag) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQUserPointer typetag: an arbitrary SQUserPointer + :returns: a SQRESULT + +sets the typetag of the object(userdata or class) at position idx in the stack. + + + + + +.. _sq_tobool: + +.. c:function:: void sq_tobool(HSQUIRRELVM v, SQInteger idx, SQBool * b) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :param SQBool * b: A pointer to the bool that will store the value + :remarks: if the object is not a bool the function converts the value too bool according to squirrel's rules. For instance the number 1 will result in true, and the number 0 in false. + +gets the value at position idx in the stack as bool. + + + + + +.. _sq_tostring: + +.. c:function:: void sq_tostring(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + +converts the object at position idx in the stack to string and pushes the resulting string in the stack. + + + + + +.. _sq_typeof: + +.. c:function:: SQObjectType sq_typeof(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: an index in the stack + :returns: a SQRESULT + +pushes the type name of the value at the position idx in the stack, it also invokes the _typeof metamethod for tables and class instances that implement it; in that case the pushed object could be something other than a string (is up to the _typeof implementation). + + + diff --git a/doc/source/reference/api/object_manipulation.rst b/doc/source/reference/api/object_manipulation.rst new file mode 100644 index 0000000..213f54b --- /dev/null +++ b/doc/source/reference/api/object_manipulation.rst @@ -0,0 +1,451 @@ +.. _api_ref_object_manipulation: + +==================== +Object manipulation +==================== + +.. _sq_arrayappend: + +.. c:function:: SQRESULT sq_arrayappend(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target array in the stack + :returns: a SQRESULT + :remarks: Only works on arrays. + +pops a value from the stack and pushes it in the back of the array at the position idx in the stack. + + + + + +.. _sq_arrayinsert: + +.. c:function:: SQRESULT sq_arrayinsert(HSQUIRRELVM v, SQInteger idx, SQInteger destpos) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target array in the stack + :param SQInteger destpos: the postion in the array where the item has to be inserted + :returns: a SQRESULT + :remarks: Only works on arrays. + +pops a value from the stack and inserts it in an array at the specified position + + + + + +.. _sq_arraypop: + +.. c:function:: SQRESULT sq_arraypop(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target array in the stack + :returns: a SQRESULT + :remarks: Only works on arrays. + +pops a value from the back of the array at the position idx in the stack. + + + + + +.. _sq_arrayremove: + +.. c:function:: SQRESULT sq_arrayremove(HSQUIRRELVM v, SQInteger idx, SQInteger itemidx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target array in the stack + :param SQInteger itemidx: the index of the item in the array that has to be removed + :returns: a SQRESULT + :remarks: Only works on arrays. + +removes an item from an array + + + + + +.. _sq_arrayresize: + +.. c:function:: SQRESULT sq_arrayresize(HSQUIRRELVM v, SQInteger idx, SQInteger newsize) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target array in the stack + :param SQInteger newsize: requested size of the array + :returns: a SQRESULT + :remarks: Only works on arrays.if newsize if greater than the current size the new array slots will be filled with nulls. + +resizes the array at the position idx in the stack. + + + + + +.. _sq_arrayreverse: + +.. c:function:: SQRESULT sq_arrayreverse(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target array in the stack + :returns: a SQRESULT + :remarks: Only works on arrays. + +reverse an array in place. + + + + + +.. _sq_clear: + +.. c:function:: SQRESULT sq_clear(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :returns: a SQRESULT + :remarks: Only works on tables and arrays. + +clears all the element of the table/array at position idx in the stack. + + + + + +.. _sq_clone: + +.. c:function:: SQRESULT sq_clone(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :returns: a SQRESULT + +Clones the table, array or class instance at the position idx, clones it and pushes the new object in the stack. + + + + + +.. _sq_createslot: + +.. c:function:: SQRESULT sq_createslot(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target table in the stack + :returns: a SQRESULT + :remarks: invoke the _newslot metamethod in the table delegate. it only works on tables. [this function is deperecated since version 2.0.5 use sq_newslot() instead] + +pops a key and a value from the stack and performs a set operation on the table or class that is at position idx in the stack, if the slot does not exits it will be created. + + + + + +.. _sq_deleteslot: + +.. c:function:: SQRESULT sq_deleteslot(HSQUIRRELVM v, SQInteger idx, SQBool pushval) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target table in the stack + :param SQBool pushval: if this param is true the function will push the value of the deleted slot. + :returns: a SQRESULT + :remarks: invoke the _delslot metamethod in the table delegate. it only works on tables. + +pops a key from the stack and delete the slot indexed by it from the table at position idx in the stack, if the slot does not exits nothing happens. + + + + + +.. _sq_get: + +.. c:function:: SQRESULT sq_get(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :returns: a SQRESULT + :remarks: this call will invokes the delegation system like a normal dereference it only works on tables, arrays and userdata. if the function fails nothing will be pushed in the stack. + +pops a key from the stack and performs a get operation on the object at the position idx in the stack, and pushes the result in the stack. + + + + + +.. _sq_getattributes: + +.. c:function:: SQRESULT sq_getattributes(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target class in the stack + :returns: a SQRESULT + +Gets the attribute of a class mameber. The function pops a key from the stack and pushes the attribute of the class member indexed by they key from class at position idx in the stack. If key is null the function gets the class level attribute. + + + + + +.. _sq_getbase: + +.. c:function:: SQRESULT sq_getbase(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target class in the stack + :returns: a SQRESULT + +pushes the base class of the 'class' at stored position idx in the stack. + + + + + +.. _sq_getclass: + +.. c:function:: SQRESULT sq_getclass(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target class instance in the stack + :returns: a SQRESULT + +pushes the class of the 'class instance' at stored position idx in the stack. + + + + + +.. _sq_getdelegate: + +.. c:function:: SQRESULT sq_getdelegate(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :returns: a SQRESULT + +pushes the current delegate of the object at the position idx in the stack. + + + + + +.. _sq_getfreevariable: + +.. c:function:: const SQChar * sq_getfreevariable(HSQUIRRELVM v, SQInteger idx, SQInteger nval) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack(closure) + :param SQInteger nval: 0 based index of the free variable(relative to the closure). + :returns: the name of the free variable for pure squirrel closures. NULL in case of error or if the index of the variable is out of range. In case the target closure is a native closure, the return name is always "@NATIVE". + :remarks: The function works for both squirrel closure and native closure. + +gets the value of the free variable of the closure at the position idx in the stack. + + + + + +.. _sq_getweakrefval: + +.. c:function:: SQRESULT sq_getweakrefval(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target weak reference + :returns: a SQRESULT + :remarks: if the function fails, nothing is pushed in the stack. + +pushes the object pointed by the weak reference at position idx in the stack. + + + + + +.. _sq_instanceof: + +.. c:function:: SQBool sq_instanceof(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: SQTrue if the instance at position -2 in the stack is an instance of the class object at position -1 in the stack. + :remarks: The function doesn't pop any object from the stack. + +Determintes if an object is an instance of a certain class. Expects an istance and a class in the stack. + + + + + +.. _sq_newmember: + +.. c:function:: SQRESULT sq_newmember(HSQUIRRELVM v, SQInteger idx, SQBool bstatic) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target table in the stack + :param SQBool bstatic: if SQTrue creates a static member. + :returns: a SQRESULT + :remarks: Invokes the _newmember metamethod in the class. it only works on classes. + +pops a key, a value and an object(that will be set as attribute of the member) from the stack and performs a new slot operation on the class that is at position idx in the stack, if the slot does not exits it will be created. + + + + + +.. _sq_newslot: + +.. c:function:: SQRESULT sq_newslot(HSQUIRRELVM v, SQInteger idx, SQBool bstatic) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target table in the stack + :param SQBool bstatic: if SQTrue creates a static member. This parameter is only used if the target object is a class. + :returns: a SQRESULT + :remarks: Invokes the _newslot metamethod in the table delegate. it only works on tables and classes. + +pops a key and a value from the stack and performs a set operation on the table or class that is at position idx in the stack, if the slot does not exits it will be created. + + + + + +.. _sq_next: + +.. c:function:: SQRESULT sq_next(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :returns: a SQRESULT + +Pushes in the stack the next key and value of an array, table or class slot. To start the iteration this function expects a null value on top of the stack; at every call the function will substitute the null value with an iterator and push key and value of the container slot. Every iteration the application has to pop the previous key and value but leave the iterator(that is used as reference point for the next iteration). The function will fail when all slots have been iterated(see Tables and arrays manipulation). + + + + + +.. _sq_rawdeleteslot: + +.. c:function:: SQRESULT sq_rawdeleteslot(HSQUIRRELVM v, SQInteger idx, SQBool pushval) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target table in the stack + :param SQBool pushval: if this param is true the function will push the value of the deleted slot. + :returns: a SQRESULT + +Deletes a slot from a table without employing the _delslot metamethod. pops a key from the stack and delete the slot indexed by it from the table at position idx in the stack, if the slot does not exits nothing happens. + + + + + +.. _sq_rawget: + +.. c:function:: SQRESULT sq_rawget(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :returns: a SQRESULT + :remarks: Only works on tables and arrays. + +pops a key from the stack and performs a get operation on the object at position idx in the stack, without employing delegation or metamethods. + + + + + +.. _sq_rawnewmember: + +.. c:function:: SQRESULT sq_rawnewmember(HSQUIRRELVM v, SQInteger idx, SQBool bstatic) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target table in the stack + :param SQBool bstatic: if SQTrue creates a static member. + :returns: a SQRESULT + :remarks: it only works on classes. + +pops a key, a value and an object(that will be set as attribute of the member) from the stack and performs a new slot operation on the class that is at position idx in the stack, if the slot does not exits it will be created. + + + + + +.. _sq_rawset: + +.. c:function:: SQRESULT sq_rawset(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :returns: a SQRESULT + :remarks: it only works on tables and arrays. if the function fails nothing will be pushed in the stack. + +pops a key and a value from the stack and performs a set operation on the object at position idx in the stack, without employing delegation or metamethods. + + + + + +.. _sq_set: + +.. c:function:: SQRESULT sq_set(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :returns: a SQRESULT + :remarks: this call will invoke the delegation system like a normal assignment, it only works on tables, arrays and userdata. + +pops a key and a value from the stack and performs a set operation on the object at position idx in the stack. + + + + + +.. _sq_setattributes: + +.. c:function:: SQRESULT sq_setattributes(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target class in the stack. + :returns: a SQRESULT + +Sets the attribute of a class mameber. The function pops a key and a value from the stack and sets the attribute (indexed by they key) on the class at position idx in the stack. If key is null the function sets the class level attribute. If the function succeed, the old attribute value is pushed in the stack. + + + + + +.. _sq_setdelegate: + +.. c:function:: SQRESULT sq_setdelegate(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :returns: a SQRESULT + :remarks: to remove the delgate from an object is necessary to use null as delegate instead of a table. + +pops a table from the stack and sets it as delegate of the object at the position idx in the stack. + + + + + +.. _sq_setfreevariable: + +.. c:function:: SQRESULT sq_setfreevariable(HSQUIRRELVM v, SQInteger idx, SQInteger nval) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :param SQInteger nval: 0 based index of the free variable(relative to the closure). + :returns: a SQRESULT + +pops a value from the stack and sets it as free variable of the closure at the position idx in the stack. + + + + + +.. _sq_weakref: + +.. c:function:: void sq_weakref(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index to the target object in the stack + :returns: a SQRESULT + :remarks: if the object at idx position is an integer,float,bool or null the object itself is pushed instead of a weak ref. + +pushes a weak reference to the object at position idx in the stack. \ No newline at end of file diff --git a/doc/source/reference/api/raw_object_handling.rst b/doc/source/reference/api/raw_object_handling.rst new file mode 100644 index 0000000..2fbfeac --- /dev/null +++ b/doc/source/reference/api/raw_object_handling.rst @@ -0,0 +1,163 @@ +.. _api_ref_raw_object_handling: + +=================== +Raw object handling +=================== + +.. _sq_addref: + +.. c:function:: void sq_addref(HSQUIRRELVM v, HSQOBJECT* po) + + :param HSQUIRRELVM v: the target VM + :param HSQOBJECT* po: pointer to an object handler + +adds a reference to an object handler. + + + + + +.. _sq_getobjtypetag: + +.. c:function:: SQRESULT sq_getobjtypetag(HSQOBJECT* o, SQUserPointer* typetag) + + :param HSQOBJECT* o: pointer to an object handler + :param SQUserPointer* typetag: a pointer to the variable that will store the tag + :returns: a SQRESULT + :remarks: the function works also with instances. if the taget object is an instance, the typetag of it's base class is fetched. + +gets the typetag of a raw object reference(userdata or class). + + + + + +.. _sq_getrefcount: + +.. c:function:: SQUnsignedInteger sq_getrefcount(HSQUIRRELVM v, HSQOBJECT* po) + + :param HSQUIRRELVM v: the target VM + :param HSQOBJECT* po: object handler + +returns the number of references of a given object. + + + + + +.. _sq_getstackobj: + +.. c:function:: SQRESULT sq_getstackobj(HSQUIRRELVM v, SQInteger idx, HSQOBJECT* po) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: index of the target object in the stack + :param HSQOBJECT* po: pointer to an object handler + :returns: a SQRESULT + +gets an object from the stack and stores it in a object handler. + + + + + +.. _sq_objtobool: + +.. c:function:: SQBool sq_objtobool(HSQOBJECT* po) + + :param HSQOBJECT* po: pointer to an object handler + :remarks: If the object is not a bool will always return false. + +return the bool value of a raw object reference. + + + + + +.. _sq_objtofloat: + +.. c:function:: SQFloat sq_objtofloat(HSQOBJECT* po) + + :param HSQOBJECT* po: pointer to an object handler + :remarks: If the object is an integer will convert it to float. If the object is not a number will always return 0. + +return the float value of a raw object reference. + + + + + +.. _sq_objtointeger: + +.. c:function:: SQInteger sq_objtointeger(HSQOBJECT* po) + + :param HSQOBJECT* po: pointer to an object handler + :remarks: If the object is a float will convert it to integer. If the object is not a number will always return 0. + +return the integer value of a raw object reference. + + + + + +.. _sq_objtostring: + +.. c:function:: const SQChar* sq_objtostring(HSQOBJECT* po) + + :param HSQOBJECT* po: pointer to an object handler + :remarks: If the object doesn't reference a string it returns NULL. + +return the string value of a raw object reference. + + + + + +.. _sq_objtouserpointer: + +.. c:function:: SQUserPointer sq_objtouserpointer(HSQOBJECT* po) + + :param HSQOBJECT* po: pointer to an object handler + :remarks: If the object doesn't reference a userpointer it returns NULL. + +return the userpointer value of a raw object reference. + + + + + +.. _sq_pushobject: + +.. c:function:: void sq_pushobject(HSQUIRRELVM v, HSQOBJECT obj) + + :param HSQUIRRELVM v: the target VM + :param HSQOBJECT obj: object handler + +push an object referenced by an object handler into the stack. + + + + + +.. _sq_release: + +.. c:function:: SQBool sq_release(HSQUIRRELVM v, HSQOBJECT* po) + + :param HSQUIRRELVM v: the target VM + :param HSQOBJECT* po: pointer to an object handler + :returns: SQTrue if the object handler released has lost all is references(the ones added with sq_addref). SQFalse otherwise. + :remarks: the function will reset the object handler to null when it losts all references. + +remove a reference from an object handler. + + + + + +.. _sq_resetobject: + +.. c:function:: void sq_resetobject(HSQOBJECT* po) + + :param HSQOBJECT* po: pointer to an object handler + :remarks: Every object handler has to be initialized with this function. + +resets(initialize) an object handler. diff --git a/doc/source/reference/api/stack_operations.rst b/doc/source/reference/api/stack_operations.rst new file mode 100644 index 0000000..99153cd --- /dev/null +++ b/doc/source/reference/api/stack_operations.rst @@ -0,0 +1,107 @@ +.. _api_ref_stack_operations: + +================ +Stack Operations +================ + +.. _sq_cmp: + +.. c:function:: SQInteger sq_cmp(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: > 0 if obj1>obj2 + :returns: == 0 if obj1==obj2 + :returns: < 0 if obj1 0. :: + + sq_pushroottable(v); + sq_pushstring(v,"foo",-1); + sq_get(v,-2); //get the function from the root table + sq_pushroottable(v); //'this' (function environment object) + sq_pushinteger(v,1); + sq_pushfloat(v,2.0); + sq_pushstring(v,"three",-1); + sq_call(v,4,SQFalse); + sq_pop(v,2); //pops the roottable and the function + +this is equivalent to the following Squirrel code:: + + foo(1,2.0,"three"); + +If a runtime error occurs (or a exception is thrown) during the squirrel code execution +the sq_call will fail. diff --git a/doc/source/reference/embedding/compiling_a_script.rst b/doc/source/reference/embedding/compiling_a_script.rst new file mode 100644 index 0000000..af7b61d --- /dev/null +++ b/doc/source/reference/embedding/compiling_a_script.rst @@ -0,0 +1,58 @@ +.. embedding_compiling_a_script: + +================== +Compiling a script +================== + +You can compile a Squirrel script with the function *sq_compile*.:: + + typedef SQInteger (*SQLEXREADFUNC)(SQUserPointer userdata); + + SQRESULT sq_compile(HSQUIRRELVM v,SQREADFUNC read,SQUserPointer p, + const SQChar *sourcename,SQBool raiseerror); + +In order to compile a script is necessary for the host application to implement a reader +function (SQLEXREADFUNC); this function is used to feed the compiler with the script +data. +The function is called every time the compiler needs a character; It has to return a +character code if succeed or 0 if the source is finished. + +If sq_compile succeeds, the compiled script will be pushed as Squirrel function in the +stack. + +.. :note:: + In order to execute the script, the function generated by *sq_compile()* has + to be called through *sq_call()* + +Here an example of a 'read' function that read from a file: :: + + SQInteger file_lexfeedASCII(SQUserPointer file) + { + int ret; + char c; + if( ( ret=fread(&c,sizeof(c),1,(FILE *)file )>0) ) + return c; + return 0; + } + + int compile_file(HSQUIRRELVM v,const char *filename) + { + FILE *f=fopen(filename,"rb"); + if(f) + { + sq_compile(v,file_lexfeedASCII,f,filename,1); + fclose(f); + return 1; + } + return 0; + } + +When the compiler fails for a syntax error it will try to call the 'compiler error handler'; +this function must be declared as follow: :: + + typedef void (*SQCOMPILERERROR)(HSQUIRRELVM /*v*/,const SQChar * /*desc*/,const SQChar * /*source*/, + SQInteger /*line*/,SQInteger /*column*/); + +and can be set with the following API call:: + + void sq_setcompilererrorhandler(HSQUIRRELVM v,SQCOMPILERERROR f); diff --git a/doc/source/reference/embedding/creating_a_c_function.rst b/doc/source/reference/embedding/creating_a_c_function.rst new file mode 100644 index 0000000..7a76316 --- /dev/null +++ b/doc/source/reference/embedding/creating_a_c_function.rst @@ -0,0 +1,105 @@ +.. _embedding_creating_a_c_function: + +=================== +Create a C function +=================== + +A native C function must have the following prototype: :: + + typedef SQInteger (*SQFUNCTION)(HSQUIRRELVM); + +The parameters is an handle to the calling VM and the return value is an integer +respecting the following rules: + +* 1 if the function returns a value +* 0 if the function does not return a value +* SQ_ERROR runtime error is thrown + +In order to obtain a new callable squirrel function from a C function pointer, is necessary +to call sq_newclosure() passing the C function to it; the new Squirrel function will be +pushed in the stack. + +When the function is called, the stackbase is the first parameter of the function and the +top is the last. In order to return a value the function has to push it in the stack and +return 1. + +Function parameters are in the stack from postion 1 ('this') to *n*. +*sq_gettop()* can be used to determinate the number of parameters. + +If the function has free variables, those will be in the stack after the explicit parameters +an can be handled as normal parameters. Note also that the value returned by *sq_gettop()* will be +affected by free variables. *sq_gettop()* will return the number of parameters plus +number of free variables. + +Here an example, the following function print the value of each argument and return the +number of arguments. :: + + SQInteger print_args(HSQUIRRELVM v) + { + SQInteger nargs = sq_gettop(v); //number of arguments + for(SQInteger n=1;n<=nargs;n++) + { + printf("arg %d is ",n); + switch(sq_gettype(v,n)) + { + case OT_NULL: + printf("null"); + break; + case OT_INTEGER: + printf("integer"); + break; + case OT_FLOAT: + printf("float"); + break; + case OT_STRING: + printf("string"); + break; + case OT_TABLE: + printf("table"); + break; + case OT_ARRAY: + printf("array"); + break; + case OT_USERDATA: + printf("userdata"); + break; + case OT_CLOSURE: + printf("closure(function)"); + break; + case OT_NATIVECLOSURE: + printf("native closure(C function)"); + break; + case OT_GENERATOR: + printf("generator"); + break; + case OT_USERPOINTER: + printf("userpointer"); + break; + case OT_CLASS: + printf("class"); + break; + case OT_INSTANCE: + printf("instance"); + break; + case OT_WEAKREF: + printf("weak reference"); + break; + default: + return sq_throwerror(v,"invalid param"); //throws an exception + } + } + printf("\n"); + sq_pushinteger(v,nargs); //push the number of arguments as return value + return 1; //1 because 1 value is returned + } + +Here an example of how to register a function:: + + SQInteger register_global_func(HSQUIRRELVM v,SQFUNCTION f,const char *fname) + { + sq_pushroottable(v); + sq_pushstring(v,fname,-1); + sq_newclosure(v,f,0,0); //create a new function + sq_newslot(v,-3,SQFalse); + sq_pop(v,1); //pops the root table + } diff --git a/doc/source/reference/embedding/debug_interface.rst b/doc/source/reference/embedding/debug_interface.rst new file mode 100644 index 0000000..3d38bf2 --- /dev/null +++ b/doc/source/reference/embedding/debug_interface.rst @@ -0,0 +1,58 @@ +.. _embedding_debug_interface: + +=============== +Debug Interface +=============== + +The squirrel VM exposes a very simple debug interface that allows to easily built a full +featured debugger. +Through the functions sq_setdebughook and sq_setnativedebughook is possible in fact to set a callback function that +will be called every time the VM executes an new line of a script or if a function get +called/returns. The callback will pass as argument the current line the current source and the +current function name (if any).:: + + SQUIRREL_API void sq_setdebughook(HSQUIRRELVM v); + +or :: + + SQUIRREL_API void sq_setnativedebughook(HSQUIRRELVM v,SQDEBUGHOOK hook); + +The following code shows how a debug hook could look like(obviously is possible to +implement this function in C as well). :: + + function debughook(event_type,sourcefile,line,funcname) + { + local fname=funcname?funcname:"unknown"; + local srcfile=sourcefile?sourcefile:"unknown" + switch (event_type) { + case 'l': //called every line(that contains some code) + ::print("LINE line [" + line + "] func [" + fname + "]"); + ::print("file [" + srcfile + "]\n"); + break; + case 'c': //called when a function has been called + ::print("LINE line [" + line + "] func [" + fname + "]"); + ::print("file [" + srcfile + "]\n"); + break; + case 'r': //called when a function returns + ::print("LINE line [" + line + "] func [" + fname + "]"); + ::print("file [" + srcfile + "]\n"); + break; + } + } + +The parameter *event_type* can be 'l' ,'c' or 'r' ; a hook with a 'l' event is called for each line that +gets executed, 'c' every time a function gets called and 'r' every time a function returns. + +A full-featured debugger always allows displaying local variables and calls stack. +The call stack information are retrieved through sq_getstackinfos():: + + SQInteger sq_stackinfos(HSQUIRRELVM v,SQInteger level,SQStackInfos *si); + +While the local variables info through sq_getlocal():: + + SQInteger sq_getlocal(HSQUIRRELVM v,SQUnsignedInteger level,SQUnsignedInteger nseq); + +In order to receive line callbacks the scripts have to be compiled with debug infos enabled +this is done through sq_enabledebuginfo(); :: + + void sq_enabledebuginfo(HSQUIRRELVM v, SQInteger debuginfo); diff --git a/doc/source/reference/embedding/error_conventions.rst b/doc/source/reference/embedding/error_conventions.rst new file mode 100644 index 0000000..f86e741 --- /dev/null +++ b/doc/source/reference/embedding/error_conventions.rst @@ -0,0 +1,16 @@ +.. _embedding_error_convetions: + + +======================== +Error Conventions +======================== + +.. index:: + single: Error Conventions + +Most of the functions in the API return a SQRESULT value; SQRESULT indicates if a +function completed successfully or not. +The macros SQ_SUCCEEDED() and SQ_FAILED() are used to test the result of a function.:: + + if(SQ_FAILED(sq_getstring(v,-1,&s))) + printf("getstring failed"); diff --git a/doc/source/reference/embedding/memory_management.rst b/doc/source/reference/embedding/memory_management.rst new file mode 100644 index 0000000..ad0fb08 --- /dev/null +++ b/doc/source/reference/embedding/memory_management.rst @@ -0,0 +1,28 @@ +.. _embedding_memory_management: + +======================== +Memory Management +======================== + +.. index:: single: Memory Management + +Squirrel uses reference counting (RC) as primary system for memory management; +however, the virtual machine (VM) has an auxiliary +mark and sweep garbage collector that can be invoked on demand. + +There are 2 possible compile time options: + + * The default configuration consists in RC plus a mark and sweep garbage collector. + The host program can call the function sq_collectgarbage() and perform a garbage collection cycle + during the program execution. The garbage collector isn't invoked by the VM and has to + be explicitly called by the host program. + + * The second a situation consists in RC only(define NO_GARBAGE_COLLECTOR); in this case is impossible for + the VM to detect reference cycles, so is the programmer that has to solve them explicitly in order to + avoid memory leaks. + +The only advantage introduced by the second option is that saves 2 additional +pointers that have to be stored for each object in the default configuration with +garbage collector(8 bytes for 32 bits systems). +The types involved are: tables, arrays, functions, threads, userdata and generators; all other +types are untouched. These options do not affect execution speed. diff --git a/doc/source/reference/embedding/references_from_c.rst b/doc/source/reference/embedding/references_from_c.rst new file mode 100644 index 0000000..a0774ab --- /dev/null +++ b/doc/source/reference/embedding/references_from_c.rst @@ -0,0 +1,21 @@ +.. embedding_references_from_c: + +======================================================== +Mantaining references to Squirrel values from the C API +======================================================== + +Squirrel allows to reference values through the C API; the function sq_getstackobj() gets +a handle to a squirrel object(any type). The object handle can be used to control the lifetime +of an object by adding or removing references to it( see sq_addref() and sq_release()). +The object can be also re-pushed in the VM stack using sq_pushobject().:: + + HSQOBJECT obj; + + sq_resetobject(v,&obj) //initialize the handle + sq_getstackobj(v,-2,&obj); //retrieve an object handle from the pos -2 + sq_addref(v,&obj); //adds a reference to the object + + ... //do stuff + + sq_pushobject(v,&obj); //push the object in the stack + sq_release(v,&obj); //relese the object diff --git a/doc/source/reference/embedding/runtime_error_handling.rst b/doc/source/reference/embedding/runtime_error_handling.rst new file mode 100644 index 0000000..b956e4b --- /dev/null +++ b/doc/source/reference/embedding/runtime_error_handling.rst @@ -0,0 +1,17 @@ +.. _embedding_runtime_error_handling: + +====================== +Runtime error handling +====================== + +When an exception is not handled by Squirrel code with a try/catch statement, a runtime +error is raised and the execution of the current program is interrupted. It is possible to +set a call back function to intercept the runtime error from the host program; this is +useful to show meaningful errors to the script writer and for implementing visual +debuggers. +The following API call pops a Squirrel function from the stack and sets it as error handler.:: + + SQUIRREL_API void sq_seterrorhandler(HSQUIRRELVM v); + +The error handler is called with 2 parameters, an environment object (this) and a object. +The object can be any squirrel type. diff --git a/doc/source/reference/embedding/tables_and_arrays_manipulation.rst b/doc/source/reference/embedding/tables_and_arrays_manipulation.rst new file mode 100644 index 0000000..fed66cf --- /dev/null +++ b/doc/source/reference/embedding/tables_and_arrays_manipulation.rst @@ -0,0 +1,70 @@ +.. _embedding_tables_and_arrays_manipulation: + +============================== +Tables and arrays manipulation +============================== + +A new table is created calling sq_newtable, this function pushes a new table in the stack.:: + + void sq_newtable(HSQUIRRELVM v); + +To create a new slot:: + + SQRESULT sq_newslot(HSQUIRRELVM v,SQInteger idx,SQBool bstatic); + +To set or get the table delegate:: + + SQRESULT sq_setdelegate(HSQUIRRELVM v,SQInteger idx); + SQRESULT sq_getdelegate(HSQUIRRELVM v,SQInteger idx); + + +A new array is created calling sq_newarray, the function pushes a new array in the +stack; if the parameters size is bigger than 0 the elements are initialized to null.:: + + void sq_newarray (HSQUIRRELVM v,SQInteger size); + +To append a value to the back of the array:: + + SQRESULT sq_arrayappend(HSQUIRRELVM v,SQInteger idx); + +To remove a value from the back of the array:: + + SQRESULT sq_arraypop(HSQUIRRELVM v,SQInteger idx,SQInteger pushval); + +To resize the array:: + + SQRESULT sq_arrayresize(HSQUIRRELVM v,SQInteger idx,SQInteger newsize); + +To retrieve the size of a table or an array you must use sq_getsize():: + + SQInteger sq_getsize(HSQUIRRELVM v,SQInteger idx); + +To set a value in an array or table:: + + SQRESULT sq_set(HSQUIRRELVM v,SQInteger idx); + +To get a value from an array or table:: + + SQRESULT sq_get(HSQUIRRELVM v,SQInteger idx); + +To get or set a value from a table without employ delegation:: + + SQRESULT sq_rawget(HSQUIRRELVM v,SQInteger idx); + SQRESULT sq_rawset(HSQUIRRELVM v,SQInteger idx); + +To iterate a table or an array:: + + SQRESULT sq_next(HSQUIRRELVM v,SQInteger idx); + +Here an example of how to perform an iteration: :: + + //push your table/array here + sq_pushnull(v) //null iterator + while(SQ_SUCCEEDED(sq_next(v,-2))) + { + //here -1 is the value and -2 is the key + + sq_pop(v,2); //pops key and val before the nex iteration + } + + sq_pop(v,1); //pops the null iterator diff --git a/doc/source/reference/embedding/the_registry_table.rst b/doc/source/reference/embedding/the_registry_table.rst new file mode 100644 index 0000000..486acd7 --- /dev/null +++ b/doc/source/reference/embedding/the_registry_table.rst @@ -0,0 +1,14 @@ +.. _embedding_the_registry_table: + +================== +The registry table +================== + +The registry table is an hidden table shared between vm and all his thread(friend vms). +This table is accessible only through the C API and is ment to be an utility structure +for native C library implementation. +For instance the sqstdlib(squirrel standard library)uses it to store configuration and shared objects +delegates. +The registry is accessible through the API call *sq_pushregistrytable()*.:: + + void sq_pushregistrytable(HSQUIRRELVM v); diff --git a/doc/source/reference/embedding/the_stack.rst b/doc/source/reference/embedding/the_stack.rst new file mode 100644 index 0000000..654028b --- /dev/null +++ b/doc/source/reference/embedding/the_stack.rst @@ -0,0 +1,103 @@ +.. _embedding_the_stack: + + +========== +The Stack +========== + +Squirrel exchanges values with the virtual machine through a stack. This mechanism has +been inherited from the language Lua. +For instance to call a Squirrel function from C it is necessary to push the function and the +arguments in the stack and then invoke the function; also when Squirrel calls a C +function the parameters will be in the stack as well. + +------------- +Stack indexes +------------- + +Many API functions can arbitrarily refer to any element in the stack through an index. +The stack indexes follow those conventions: + +* 1 is the stack base +* Negative indexes are considered an offset from top of the stack. For instance -1 isthe top of the stack. +* 0 is an invalid index + +Here an example (let's pretend that this table is the VM stack) + ++------------+--------------------+--------------------+ +| **STACK** | **positive index** | **negative index** | ++============+====================+====================+ +| "test" | 4 | -1(top) | ++------------+--------------------+--------------------+ +| 1 | 3 | -2 | ++------------+--------------------+--------------------+ +| 0.5 | 2 | -3 | ++------------+--------------------+--------------------+ +| "foo" | 1(base) | -4 | ++------------+--------------------+--------------------+ + +In this case, the function *sq_gettop* would return 4; + +------------------ +Stack manipulation +------------------ + +The API offers several functions to push and retrieve data from the Squirrel stack. + +To push a value that is already present in the stack in the top position:: + + void sq_push(HSQUIRRELVM v,SQInteger idx); + +To pop an arbitrary number of elements:: + + void sq_pop(HSQUIRRELVM v,SQInteger nelemstopop); + +To remove an element from the stack:: + + void sq_remove(HSQUIRRELVM v,SQInteger idx); + +To retrieve the top index (and size) of the current +virtual stack you must call *sq_gettop* :: + + SQInteger sq_gettop(HSQUIRRELVM v); + +To force the stack to a certain size you can call *sq_settop* :: + + void sq_settop(HSQUIRRELVM v,SQInteger newtop); + +If the newtop is bigger than the previous one, the new posistions in the stack will be +filled with null values. + +The following function pushes a C value into the stack:: + + void sq_pushstring(HSQUIRRELVM v,const SQChar *s,SQInteger len); + void sq_pushfloat(HSQUIRRELVM v,SQFloat f); + void sq_pushinteger(HSQUIRRELVM v,SQInteger n); + void sq_pushuserpointer(HSQUIRRELVM v,SQUserPointer p); + void sq_pushbool(HSQUIRRELVM v,SQBool b); + +this function pushes a null into the stack:: + + void sq_pushnull(HSQUIRRELVM v); + +returns the type of the value in a arbitrary position in the stack:: + + SQObjectType sq_gettype(HSQUIRRELVM v,SQInteger idx); + +the result can be one of the following values: :: + + OT_NULL,OT_INTEGER,OT_FLOAT,OT_STRING,OT_TABLE,OT_ARRAY,OT_USERDATA, + OT_CLOSURE,OT_NATIVECLOSURE,OT_GENERATOR,OT_USERPOINTER,OT_BOOL,OT_INSTANCE,OT_CLASS,OT_WEAKREF + +The following functions convert a squirrel value in the stack to a C value:: + + SQRESULT sq_getstring(HSQUIRRELVM v,SQInteger idx,const SQChar **c); + SQRESULT sq_getinteger(HSQUIRRELVM v,SQInteger idx,SQInteger *i); + SQRESULT sq_getfloat(HSQUIRRELVM v,SQInteger idx,SQFloat *f); + SQRESULT sq_getuserpointer(HSQUIRRELVM v,SQInteger idx,SQUserPointer *p); + SQRESULT sq_getuserdata(HSQUIRRELVM v,SQInteger idx,SQUserPointer *p,SQUserPointer *typetag); + SQRESULT sq_getbool(HSQUIRRELVM v,SQInteger idx,SQBool *p); + +The function sq_cmp compares 2 values from the stack and returns their relation (like strcmp() in ANSI C).:: + + SQInteger sq_cmp(HSQUIRRELVM v); diff --git a/doc/source/reference/embedding/userdata_and_userpointers.rst b/doc/source/reference/embedding/userdata_and_userpointers.rst new file mode 100644 index 0000000..81e14f0 --- /dev/null +++ b/doc/source/reference/embedding/userdata_and_userpointers.rst @@ -0,0 +1,33 @@ +.. _embedding_userdata_and_userpointers: + +========================= +Userdata and UserPointers +========================= + +Squirrel allows the host application put arbitrary data chunks into a Squirrel value, this is +possible through the data type userdata.:: + + SQUserPointer sq_newuserdata(HSQUIRRELVM v,SQUnsignedInteger size); + +When the function *sq_newuserdata* is called, Squirrel allocates a new userdata with the +specified size, returns a pointer to his payload buffer and push the object in the stack; at +this point the application can do whatever it want with this memory chunk, the VM will +automatically take cake of the memory deallocation like for every other built-in type. +A userdata can be passed to a function or stored in a table slot. By default Squirrel +cannot manipulate directly userdata; however is possible to assign a delegate to it and +define a behavior like it would be a table. +Because the application would want to do something with the data stored in a userdata +object when it get deleted, is possible to assign a callback that will be called by the VM +just before deleting a certain userdata. +This is done through the API call *sq_setreleasehook*.:: + + typedef SQInteger (*SQRELEASEHOOK)(SQUserPointer,SQInteger size); + + void sq_setreleasehook(HSQUIRRELVM v,SQInteger idx,SQRELEASEHOOK hook); + +Another kind of userdata is the userpointer; this type is not a memory chunk like the +normal userdata, but just a 'void*' pointer. It cannot have a delegate and is passed by +value, so pushing a userpointer doesn't cause any memory allocation.:: + + void sq_pushuserpointer(HSQUIRRELVM v,SQUserPointer p); + diff --git a/doc/source/reference/embedding/vm_initialization.rst b/doc/source/reference/embedding/vm_initialization.rst new file mode 100644 index 0000000..03fba06 --- /dev/null +++ b/doc/source/reference/embedding/vm_initialization.rst @@ -0,0 +1,21 @@ +.. _embedding_vm_initialization: + +============================== +Virtual Machine Initialization +============================== + +The first thing that a host application has to do, is create a virtual machine. +The host application can create any number of virtual machines through the function +*sq_open()*. +Every single VM that was created using *sq_open()* has to be released with the function *sq_close()* when it is no +longer needed.:: + + int main(int argc, char* argv[]) + { + HSQUIRRELVM v; + v = sq_open(1024); //creates a VM with initial stack size 1024 + + //do some stuff with squirrel here + + sq_close(v); + } diff --git a/doc/source/reference/embedding_squirrel.rst b/doc/source/reference/embedding_squirrel.rst new file mode 100644 index 0000000..2f2ad8c --- /dev/null +++ b/doc/source/reference/embedding_squirrel.rst @@ -0,0 +1,29 @@ +.. _embedding_squirrel: + +*************************** + Embedding Squirrel +*************************** + +*This section describes how to embed Squirrel in a host application, +C language knowledge is required to understand this part of the manual.* + +Because of his nature of extension language, Squirrel's compiler and virtual machine +are implemented as C library. The library exposes a set of functions to compile scripts, +call functions, manipulate data and extend the virtual machine. +All declarations needed for embedding the language in an application are in the header file 'squirrel.h'. + +.. toctree:: + embedding/memory_management.rst + embedding/build_configuration.rst + embedding/error_conventions.rst + embedding/vm_initialization.rst + embedding/the_stack.rst + embedding/runtime_error_handling.rst + embedding/compiling_a_script.rst + embedding/calling_a_function.rst + embedding/creating_a_c_function.rst + embedding/tables_and_arrays_manipulation.rst + embedding/userdata_and_userpointers.rst + embedding/the_registry_table.rst + embedding/references_from_c.rst + embedding/debug_interface.rst \ No newline at end of file diff --git a/doc/source/reference/index.rst b/doc/source/reference/index.rst new file mode 100644 index 0000000..93d00c4 --- /dev/null +++ b/doc/source/reference/index.rst @@ -0,0 +1,34 @@ +.. _reference: + +################################# + Squirrel 3.1 Reference Manual +################################# + +Copyrigth (c) 2003-2016 Alberto Demichelis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +.. toctree:: + :maxdepth: 3 + :numbered: + + introduction.rst + language.rst + embedding_squirrel.rst + api_reference.rst \ No newline at end of file diff --git a/doc/source/reference/introduction.rst b/doc/source/reference/introduction.rst new file mode 100644 index 0000000..348fcb6 --- /dev/null +++ b/doc/source/reference/introduction.rst @@ -0,0 +1,16 @@ +.. _introduction: + +************ +Introduction +************ + +.. index:: + single: introduction + +Squirrel is a high level imperative-OO programming language, designed to be a powerful +scripting tool that fits in the size, memory bandwidth, and real-time requirements of +applications like games. +Although Squirrel offers a wide range of features like dynamic typing, delegation, higher +order functions, generators, tail recursion, exception handling, automatic memory +management, both compiler and virtual machine fit together in about 6k lines of C++ +code. \ No newline at end of file diff --git a/doc/source/reference/language.rst b/doc/source/reference/language.rst new file mode 100644 index 0000000..7e87011 --- /dev/null +++ b/doc/source/reference/language.rst @@ -0,0 +1,23 @@ +.. _thelanguage: + +*************************** + The language +*************************** + +.. toctree:: + language/lexical_structure.rst + language/datatypes.rst + language/execution_context.rst + language/statements.rst + language/expressions.rst + language/tables.rst + language/arrays.rst + language/functions.rst + language/classes.rst + language/generators.rst + language/constants_and_enumerations.rst + language/threads.rst + language/weak_references.rst + language/delegation.rst + language/metamethods.rst + language/builtin_functions.rst \ No newline at end of file diff --git a/doc/source/reference/language/arrays.rst b/doc/source/reference/language/arrays.rst new file mode 100644 index 0000000..ddf5114 --- /dev/null +++ b/doc/source/reference/language/arrays.rst @@ -0,0 +1,19 @@ +.. _arrays: + + +================= +Arrays +================= + +.. index:: + single: Arrays + +An array is a sequence of values indexed by a integer number from 0 to the size of the +array minus 1. Arrays elements can be obtained through their index.:: + + local a=["I'm a string", 123] + print(typeof a[0]) //prints "string" + print(typeof a[1]) //prints "integer" + +Resizing, insertion, deletion of arrays and arrays elements is done through a set of +standard functions (see :ref:`built-in functions `). diff --git a/doc/source/reference/language/builtin_functions.rst b/doc/source/reference/language/builtin_functions.rst new file mode 100644 index 0000000..aa4b380 --- /dev/null +++ b/doc/source/reference/language/builtin_functions.rst @@ -0,0 +1,669 @@ +.. _builtin_functions: + + +================== +Built-in Functions +================== + +.. index:: + single: Built-in Functions + pair: Global Symbols; Built-in Functions + + +^^^^^^^^^^^^^^ +Global Symbols +^^^^^^^^^^^^^^ + +.. js:function:: array(size,[fill]) + +create and returns array of a specified size.if the optional parameter fill is specified its +value will be used to fill the new array's slots. If the fill paramter is omitted null is used instead. + +.. js:function:: seterrorhandler(func) + + +sets the runtime error handler + +.. js:function:: callee() + + +returns the currently running closure + +.. js:function:: setdebughook(hook_func) + + +sets the debug hook + +.. js:function:: enabledebuginfo(enable) + +enable/disable the debug line information generation at compile time. enable != null enables . enable == null disables. + +.. js:function:: getroottable() + +returns the root table of the VM. + +.. js:function:: setroottable(table) + +sets the root table of the VM. And returns the previous root table. + +.. js:function:: getconsttable() + +returns the const table of the VM. + +.. js:function:: setconsttable(table) + +sets the const table of the VM. And returns the previous const table. + +.. js:function:: assert(exp) + +throws an exception if exp is null + +.. js:function:: print(x) + +prints x in the standard output + +.. js:function:: error(x) + +prints x in the standard error output + +.. js:function:: compilestring(string,[buffername]) + +compiles a string containing a squirrel script into a function and returns it:: + + local compiledscript=compilestring("::print(\"ciao\")"); + //run the script + compiledscript(); + +.. js:function:: collectgarbage() + + runs the garbage collector and returns the number of reference cycles found(and deleted) This function only works on garbage collector builds. + +.. js:function:: resurrectunreachable() + +runs the garbage collector and returns an array containing all unreachable object found. If no unreachable object is found, null is returned instead. This function is meant to help debugging reference cycles. This function only works on garbage collector builds. + +.. js:function:: type(obj) + +return the 'raw' type of an object without invoking the metatmethod '_typeof'. + +.. js:function:: getstackinfos(level) + +returns the stack informations of a given call stack level. returns a table formatted as follow: :: + + { + func="DoStuff", //function name + + src="test.nut", //source file + + line=10, //line number + + locals = { //a table containing the local variables + + a=10, + + testy="I'm a string" + } + } + +level = 0 is the current function, level = 1 is the caller and so on. If the stack level doesn't exist the function returns null. + +.. js:function:: newthread(threadfunc) + +creates a new cooperative thread object(coroutine) and returns it + +.. js:data:: _versionnumber_ + +integer values describing the version of VM and compiler. eg. for Squirrel 3.0.1 this value will be 301 + +.. js:data:: _version_ + +string values describing the version of VM and compiler. + +.. js:data:: _charsize_ + +size in bytes of the internal VM rapresentation for characters(1 for ASCII builds 2 for UNICODE builds). + +.. js:data:: _intsize_ + +size in bytes of the internal VM rapresentation for integers(4 for 32bits builds 8 for 64bits builds). + +.. js:data:: _floatsize_ + +size in bytes of the internal VM rapresentation for floats(4 for single precision builds 8 for double precision builds). + +----------------- +Default delegates +----------------- + +Except null and userdata every squirrel object has a default delegate containing a set of functions to manipulate and retrieve information from the object itself. + +^^^^^^^^ +Integer +^^^^^^^^ + +.. js:function:: integer.tofloat() + +convert the number to float and returns it + + +.. js:function:: integer.tostring() + +converts the number to string and returns it + + +.. js:function:: integer.tointeger() + +returns the value of the integer(dummy function) + + +.. js:function:: integer.tochar() + +returns a string containing a single character rapresented by the integer. + + +.. js:function:: integer.weakref() + +dummy function, returns the integer itself. + +^^^^^ +Float +^^^^^ + +.. js:function:: float.tofloat() + +returns the value of the float(dummy function) + + +.. js:function:: float.tointeger() + +converts the number to integer and returns it + + +.. js:function:: float.tostring() + +converts the number to string and returns it + + +.. js:function:: float.tochar() + +returns a string containing a single character rapresented by the integer part of the float. + + +.. js:function:: float.weakref() + +dummy function, returns the float itself. + +^^^^ +Bool +^^^^ + +.. js:function:: bool.tofloat() + +returns 1.0 for true 0.0 for false + + +.. js:function:: bool.tointeger() + +returns 1 for true 0 for false + + +.. js:function:: bool.tostring() + +returns "true" for true "false" for false + + +.. js:function:: bool.weakref() + +dummy function, returns the bool itself. + +^^^^^^ +String +^^^^^^ + +.. js:function:: string.len() + +returns the string length + + +.. js:function:: string.tointeger([base]) + +converts the string to integer and returns it.An optional parameter base can be specified, if a base is not specified it defaults to base 10 + + +.. js:function:: string.tofloat() + +converts the string to float and returns it + + +.. js:function:: string.tostring() + +returns the string(dummy function) + + +.. js:function:: string.slice(start,[end]) + +returns a section of the string as new string. Copies from start to the end (not included). If start is negative the index is calculated as length + start, if end is negative the index is calculated as length + end. If end is omitted end is equal to the string length. + + +.. js:function:: string.find(substr,[startidx]) + +search a sub string(substr) starting from the index startidx and returns the index of its first occurrence. If startidx is omitted the search operation starts from the beginning of the string. The function returns null if substr is not found. + + +.. js:function:: string.tolower() + +returns a lowercase copy of the string. + + +.. js:function:: string.toupper() + +returns a uppercase copy of the string. + + +.. js:function:: string.weakref() + +returns a weak reference to the object. + +^^^^^ +Table +^^^^^ + +.. js:function:: table.len() + +returns the number of slots contained in a table + + +.. js:function:: table.rawget(key) + +tries to get a value from the slot 'key' without employing delegation + + +.. js:function:: table.rawset(key,val) + +sets the slot 'key' with the value 'val' without employing delegation. If the slot does not exists , it will be created. + + +.. js:function:: table.rawdelete() + +deletes the slot key without emplying delegetion and retunrs his value. if the slo does not exists returns always null. + + +.. js:function:: table.rawin(key) + +returns true if the slot 'key' exists. the function has the same eddect as the operator 'in' but does not employ delegation. + + +.. js:function:: table.weakref() + +returns a weak reference to the object. + + +.. js:function:: table.tostring() + +tries to invoke the _tostring metamethod, if failed. returns "(table : pointer)". + + +.. js:function:: table.clear() + +removes all the slot from the table + + +.. js:function:: table.setdelegate(table) + +sets the delegate of the table, to remove a delegate 'null' must be passed to the function. The function returns the table itself (eg. a.setdelegate(b) in this case 'a' is the return value). + + +.. js:function:: table.getdelegate() + +returns the table's delegate or null if no delegate was set. + +^^^^^^ +Array +^^^^^^ + +.. js:function:: array.len() + +returns the length of the array + + +.. js:function:: array.append(val) + +appends the value 'val' at the end of the array + + +.. js:function:: array.push(val) + +appends the value 'val' at the end of the array + + +.. js:function:: array.extend(array) + +Extends the array by appending all the items in the given array. + + +.. js:function:: array.pop() + +removes a value from the back of the array and returns it. + + +.. js:function:: array.top() + +returns the value of the array with the higher index + + +.. js:function:: array.insert(idx,val) + +inserst the value 'val' at the position 'idx' in the array + + +.. js:function:: array.remove(idx) + +removes the value at the position 'idx' in the array + + +.. js:function:: array.resize(size,[fill]) + +resizes the array, if the optional parameter fill is specified its value will be used to fill the new array's slots(if the size specified is bigger than the previous size) . If the fill paramter is omitted null is used instead. + + +.. js:function:: array.sort([compare_func]) + +sorts the array. a custom compare function can be optionally passed.The function prototype as to be the following.:: + + function custom_compare(a,b) + { + if(a>b) return 1 + else if(a :: + + arr.sort(@(a,b) a <=> b); + + + +.. js:function:: array.reverse() + +reverse the elements of the array in place + + +.. js:function:: array.slice(start,[end]) + +returns a section of the array as new array. Copies from start to the end (not included). If start is negative the index is calculated as length + start, if end is negative the index is calculated as length + end. If end is omitted end is equal to the array length. + + +.. js:function:: array.weakref() + +returns a weak reference to the object. + + +.. js:function:: array.tostring() + +returns the string "(array : pointer)". + + +.. js:function:: array.clear() + +removes all the items from the array + + +.. js:function:: array.map(func(a)) + +creates a new array of the same size. for each element in the original array invokes the function 'func' and assigns the return value of the function to the corresponding element of the newly created array. + + +.. js:function:: array.apply(func(a)) + +for each element in the array invokes the function 'func' and replace the original value of the element with the return value of the function. + + +.. js:function:: array.reduce(func(prevval,curval)) + +Reduces an array to a single value. For each element in the array invokes the function 'func' passing the initial value (or value from the previous callback call) and the value of the current element. the return value of the function is then used as 'prevval' for the next element. Given an array of length 0, returns null. Given an array of length 1, returns the first element. Given an array with 2 or more elements calls the function with the first two elements as the parameters, gets that result, then calls the function with that result and the third element, gets that result, calls the function with that result and the fourth parameter and so on until all element have been processed. Finally returns the return value of the last invocation of func. + + +.. js:function:: array.filter(func(index,val)) + +Creates a new array with all elements that pass the test implemented by the provided function. In detail, it creates a new array, for each element in the original array invokes the specified function passing the index of the element and it's value; if the function returns 'true', then the value of the corresponding element is added on the newly created array. + + +.. js:function:: array.find(value) + +Performs a linear search for the value in the array. Returns the index of the value if it was found null otherwise. + +^^^^^^^^ +Function +^^^^^^^^ + +.. js:function:: array.call(_this,args...) + +calls the function with the specified environment object('this') and parameters + + +.. js:function:: array.pcall(_this,args...) + +calls the function with the specified environment object('this') and parameters, this function will not invoke the error callback in case of failure(pcall stays for 'protected call') + + +.. js:function:: array.acall(array_args) + +calls the function with the specified environment object('this') and parameters. The function accepts an array containing the parameters that will be passed to the called function.Where array_args has to contain the required 'this' object at the [0] position. + + +.. js:function:: array.pacall(array_args) + +calls the function with the specified environment object('this') and parameters. The function accepts an array containing the parameters that will be passed to the called function.Where array_args has to contain the required 'this' object at the [0] position. This function will not invoke the error callback in case of failure(pacall stays for 'protected array call') + + +.. js:function:: array.weakref() + +returns a weak reference to the object. + + +.. js:function:: array.tostring() + +returns the string "(closure : pointer)". + + +.. js:function:: array.setroot(table) + +sets the root table of a closure + + +.. js:function:: array.getroot() + +returns the root table of the closure + + +.. js:function:: array.bindenv(env) + +clones the function(aka closure) and bind the enviroment object to it(table,class or instance). the this parameter of the newly create function will always be set to env. Note that the created function holds a weak reference to its environment object so cannot be used to control its lifetime. + + +.. js:function:: array.getinfos() + +returns a table containing informations about the function, like parameters, name and source name; :: + + //the data is returned as a table is in form + //pure squirrel function + { + native = false + name = "zefuncname" + src = "/somthing/something.nut" + parameters = ["a","b","c"] + defparams = [1,"def"] + varargs = 2 + } + //native C function + { + native = true + name = "zefuncname" + paramscheck = 2 + typecheck = [83886082,83886384] //this is the typemask (see C defines OT_INTEGER,OT_FLOAT etc...) + } + + + +^^^^^ +Class +^^^^^ + +.. js:function:: class.instance() + +returns a new instance of the class. this function does not invoke the instance constructor. The constructor must be explicitly called( eg. class_inst.constructor(class_inst) ). + + +.. js:function:: class.getattributes(membername) + +returns the attributes of the specified member. if the parameter member is null the function returns the class level attributes. + + +.. js:function:: class.setattributes(membername,attr) + +sets the attribute of the specified member and returns the previous attribute value. if the parameter member is null the function sets the class level attributes. + + +.. js:function:: class.rawin(key) + +returns true if the slot 'key' exists. the function has the same eddect as the operator 'in' but does not employ delegation. + + +.. js:function:: class.weakref() + +returns a weak reference to the object. + + +.. js:function:: class.tostring() + +returns the string "(class : pointer)". + + +.. js:function:: class.rawget(key) + +tries to get a value from the slot 'key' without employing delegation + + +.. js:function:: class.rawset(key,val) + +sets the slot 'key' with the value 'val' without employing delegation. If the slot does not exists , it will be created. + + +.. js:function:: class.newmember(key,val,[attrs],[bstatic]) + +sets/adds the slot 'key' with the value 'val' and attributes 'attrs' and if present invokes the _newmember metamethod. If bstatic is true the slot will be added as static. If the slot does not exists , it will be created. + + +.. js:function:: class.rawnewmember(key,val,[attrs],[bstatic]) + +sets/adds the slot 'key' with the value 'val' and attributes 'attrs'.If bstatic is true the slot will be added as static. If the slot does not exists , it will be created. It doesn't invoke any metamethod. + +^^^^^^^^^^^^^^ +Class Instance +^^^^^^^^^^^^^^ + +.. js:function:: instance.getclass() + +returns the class that created the instance. + + +.. js:function:: instance.rawin(key) + + :param key: ze key + +returns true if the slot 'key' exists. the function has the same eddect as the operator 'in' but does not employ delegation. + + +.. js:function:: instance.weakref() + +returns a weak reference to the object. + + +.. js:function:: instance.tostring() + +tries to invoke the _tostring metamethod, if failed. returns "(insatnce : pointer)". + + +.. js:function:: instance.rawget(key) + +tries to get a value from the slot 'key' without employing delegation + + +.. js:function:: instance.rawset(key,val) + +sets the slot 'key' with the value 'val' without employing delegation. If the slot does not exists , it will be created. + +^^^^^^^^^^^^^^ +Generator +^^^^^^^^^^^^^^ + + +.. js:function:: generator.getstatus() + +returns the status of the generator as string : "running", "dead" or "suspended". + + +.. js:function:: generator.weakref() + +returns a weak reference to the object. + + +.. js:function:: generator.tostring() + +returns the string "(generator : pointer)". + +^^^^^^^^^^^^^^ +Thread +^^^^^^^^^^^^^^ + +.. js:function:: thread.call(...) + +starts the thread with the specified parameters + + +.. js:function:: thread.wakeup([wakeupval]) + +wakes up a suspended thread, accepts a optional parameter that will be used as return value for the function that suspended the thread(usually suspend()) + + +.. js:function:: thread.wakeupthrow(objtothrow,[propagateerror = true]) + +wakes up a suspended thread, throwing an exception in the awaken thread, throwing the object 'objtothrow'. + + +.. js:function:: thread.getstatus() + +returns the status of the thread ("idle","running","suspended") + + +.. js:function:: thread.weakref() + +returns a weak reference to the object. + + +.. js:function:: thread.tostring() + +returns the string "(thread : pointer)". + + +.. js:function:: thread.getstackinfos(stacklevel) + +returns the stack frame informations at the given stack level (0 is the current function 1 is the caller and so on). + +^^^^^^^^^^^^^^ +Weak Reference +^^^^^^^^^^^^^^ + +.. js:function:: weakreference.ref() + +returns the object that the weak reference is pointing at, null if the object that was point at was destroyed. + + +.. js:function:: weakreference.weakref() + +returns a weak reference to the object. + + +.. js:function:: weakreference.tostring() + +returns the string "(weakref : pointer)". diff --git a/doc/source/reference/language/classes.rst b/doc/source/reference/language/classes.rst new file mode 100644 index 0000000..ee93239 --- /dev/null +++ b/doc/source/reference/language/classes.rst @@ -0,0 +1,429 @@ +.. _classes: + + +================= +Classes +================= + +.. index:: + single: Classes + +Squirrel implements a class mechanism similar to languages like Java/C++/etc... +however because of its dynamic nature it differs in several aspects. +Classes are first class objects like integer or strings and can be stored in +table slots local variables, arrays and passed as function parameters. + +----------------- +Class Declaration +----------------- + +.. index:: + pair: declaration; Class + single: Class Declaration + +A class object is created through the keyword 'class' . The class object follows +the same declaration syntax of a table(see :ref:`Tables `) with the only difference +of using ';' as optional separator rather than ','. + +For instance: :: + + class Foo { + //constructor + constructor(a) + { + testy = ["stuff",1,2,3,a]; + } + //member function + function PrintTesty() + { + foreach(i,val in testy) + { + ::print("idx = "+i+" = "+val+" \n"); + } + } + //property + testy = null; + + } + +the previous code examples is a syntactic sugar for: :: + + Foo <- class { + //constructor + constructor(a) + { + testy = ["stuff",1,2,3,a]; + } + //member function + function PrintTesty() + { + foreach(i,val in testy) + { + ::print("idx = "+i+" = "+val+" \n"); + } + } + //property + testy = null; + + } + +in order to emulate namespaces, is also possible to declare something like this:: + + //just 2 regular nested tables + FakeNamespace <- { + Utils = {} + } + + class FakeNamespace.Utils.SuperClass { + constructor() + { + ::print("FakeNamespace.Utils.SuperClass") + } + function DoSomething() + { + ::print("DoSomething()") + } + } + + function FakeNamespace::Utils::SuperClass::DoSomethingElse() + { + ::print("FakeNamespace::Utils::SuperClass::DoSomethingElse()") + } + + local testy = FakeNamespace.Utils.SuperClass(); + testy.DoSomething(); + testy.DoSomethingElse(); + +After its declaration, methods or properties can be added or modified by following +the same rules that apply to a table(operator ``<-``).:: + + //adds a new property + Foo.stuff <- 10; + + //modifies the default value of an existing property + Foo.testy <- "I'm a string"; + + //adds a new method + function Foo::DoSomething(a,b) + { + return a+b; + } + +After a class is instantiated is no longer possible to add new properties however is possible to add or replace methods. + +^^^^^^^^^^^^^^^^ +Static variables +^^^^^^^^^^^^^^^^ + +.. index:: + pair: static variables; Class + single: Static variables + +Squirrel's classes support static member variables. A static variable shares its value +between all instances of the class. Statics are declared by prefixing the variable declaration +with the keyword ``static``; the declaration must be in the class body. + +.. note:: Statics are read-only. + +:: + + class Foo { + constructor() + { + //..stuff + } + name = "normal variable"; + //static variable + static classname = "The class name is foo"; + }; + +^^^^^^^^^^^^^^^^ +Class Attributes +^^^^^^^^^^^^^^^^ + +.. index:: + pair: attributes; Class + single: Class Attributes + +Classes allow to associate attributes to it's members. Attributes are a form of metadata +that can be used to store application specific informations, like documentations +strings, properties for IDEs, code generators etc... +Class attributes are declared in the class body by preceding the member declaration and +are delimited by the symbol ````. +Here an example: :: + + class Foo { + //attributes of PrintTesty + function PrintTesty() + { + foreach(i,val in testy) + { + ::print("idx = "+i+" = "+val+" \n"); + } + } + //attributes of testy + testy = null; + } + +Attributes are, matter of fact, a table. Squirrel uses ```` syntax +instead of curly brackets ``{}`` for the attribute declaration to increase readability. + +This means that all rules that apply to tables apply to attributes. + +Attributes can be retrieved through the built-in function ``classobj.getattributes(membername)`` (see built-in functions). +and can be modified/added through the built-in function ``classobj.setattributes(membername,val)``. + +the following code iterates through the attributes of all Foo members.:: + + foreach(member,val in Foo) + { + ::print(member+"\n"); + local attr; + if((attr = Foo.getattributes(member)) != null) { + foreach(i,v in attr) + { + ::print("\t"+i+" = "+(typeof v)+"\n"); + } + } + else { + ::print("\t\n") + } + } + +----------------- +Class Instances +----------------- + +.. index:: + pair: instances; Class + single: Class Instances + +The class objects inherits several of the table's feature with the difference that multiple instances of the +same class can be created. +A class instance is an object that share the same structure of the table that created it but +holds is own values. +Class *instantiation* uses function notation. +A class instance is created by calling a class object. Can be useful to imagine a class like a function +that returns a class instance.:: + + //creates a new instance of Foo + local inst = Foo(); + +When a class instance is created its member are initialized *with the same value* specified in the +class declaration. The values are copied verbatim, *no cloning is performed* even if the value is a container or a class instances. + +.. note:: FOR C# and Java programmers: + + Squirrel doesn't clone member's default values nor executes the member declaration for each instace(as C# or java). + + So consider this example: :: + + class Foo { + myarray = [1,2,3] + mytable = {} + } + + local a = Foo(); + local b = Foo(); + + In the snippet above both instances will refer to the same array and same table.To archieve what a C# or Java programmer would + exepect, the following approach should be taken. :: + + class Foo { + myarray = null + mytable = null + constructor() + { + myarray = [1,2,3] + mytable = {} + } + } + + local a = Foo(); + local b = Foo(); + +When a class defines a method called 'constructor', the class instantiation operation will +automatically invoke it for the newly created instance. +The constructor method can have parameters, this will impact on the number of parameters +that the *instantiation operation* will require. +Constructors, as normal functions, can have variable number of parameters (using the parameter ``...``).:: + + class Rect { + constructor(w,h) + { + width = w; + height = h; + } + x = 0; + y = 0; + width = null; + height = null; + } + + //Rect's constructor has 2 parameters so the class has to be 'called' + //with 2 parameters + local rc = Rect(100,100); + +After an instance is created, its properties can be set or fetched following the +same rules that apply to tables. Methods cannot be set. + +Instance members cannot be removed. + +The class object that created a certain instance can be retrieved through the built-in function +``instance.getclass()`` (see :ref:`built-in functions `) + +The operator ``instanceof`` tests if a class instance is an instance of a certain class.:: + + local rc = Rect(100,100); + if(rc instanceof ::Rect) { + ::print("It's a rect"); + } + else { + ::print("It isn't a rect"); + } + +.. note:: Since Squirrel 3.x instanceof doesn't throw an exception if the left expression is not a class, it simply fails + +-------------- +Inheritance +-------------- + +.. index:: + pair: inheritance; Class + single: Inheritance + +Squirrel's classes support single inheritance by adding the keyword ``extends``, followed +by an expression, in the class declaration. +The syntax for a derived class is the following: :: + + class SuperFoo extends Foo { + function DoSomething() { + ::print("I'm doing something"); + } + } + +When a derived class is declared, Squirrel first copies all base's members in the +new class then proceeds with evaluating the rest of the declaration. + +A derived class inherit all members and properties of it's base, if the derived class +overrides a base function the base implementation is shadowed. +It's possible to access a overridden method of the base class by fetching the method from +through the 'base' keyword. + +Here an example: :: + + class Foo { + function DoSomething() { + ::print("I'm the base"); + } + }; + + class SuperFoo extends Foo { + //overridden method + function DoSomething() { + //calls the base method + base.DoSomething(); + ::print("I'm doing something"); + } + } + +Same rule apply to the constructor. The constructor is a regular function (apart from being automatically invoked on contruction).:: + + class BaseClass { + constructor() + { + ::print("Base constructor\n"); + } + } + + class ChildClass extends BaseClass { + constructor() + { + base.constructor(); + ::print("Child constructor\n"); + } + } + + local test = ChildClass(); + +The base class of a derived class can be retrieved through the built-in method ``getbase()``.:: + + local thebaseclass = SuperFoo.getbase(); + +Note that because methods do not have special protection policies when calling methods of the same +objects, a method of a base class that calls a method of the same class can end up calling a overridden method of the derived class. + +A method of a base class can be explicitly invoked by a method of a derived class though the keyword ``base`` (as in base.MyMethod() ).:: + + class Foo { + function DoSomething() { + ::print("I'm the base"); + } + function DoIt() + { + DoSomething(); + } + }; + + class SuperFoo extends Foo { + //overridden method + function DoSomething() { + ::print("I'm the derived"); + + } + function DoIt() { + base.DoIt(); + } + } + + //creates a new instance of SuperFoo + local inst = SuperFoo(); + + //prints "I'm the derived" + inst.DoIt(); + +---------------------- +Metamethods +---------------------- + +.. index:: + pair: metamethods; Class + single: Class metamethods + +Class instances allow the customization of certain aspects of the +their semantics through metamethods(see see :ref:`Metamethods `). +For C++ programmers: "metamethods behave roughly like overloaded operators". +The metamethods supported by classes are ``_add, _sub, _mul, _div, _unm, _modulo, +_set, _get, _typeof, _nexti, _cmp, _call, _delslot, _tostring`` + +Class objects instead support only 2 metamethods : ``_newmember`` and ``_inherited`` + +the following example show how to create a class that implements the metamethod ``_add``.:: + + class Vector3 { + constructor(...) + { + if(vargv.len() >= 3) { + x = vargv[0]; + y = vargv[1]; + z = vargv[2]; + } + } + function _add(other) + { + return ::Vector3(x+other.x,y+other.y,z+other.z); + } + + x = 0; + y = 0; + z = 0; + } + + local v0 = Vector3(1,2,3) + local v1 = Vector3(11,12,13) + local v2 = v0 + v1; + ::print(v2.x+","+v2.y+","+v2.z+"\n"); + +Since version 2.1, classes support 2 metamethods ``_inherited`` and ``_newmember``. +``_inherited`` is invoked when a class inherits from the one that implements ``_inherited``. +``_newmember`` is invoked for each member that is added to the class(at declaration time). diff --git a/doc/source/reference/language/constants_and_enumerations.rst b/doc/source/reference/language/constants_and_enumerations.rst new file mode 100644 index 0000000..7039b62 --- /dev/null +++ b/doc/source/reference/language/constants_and_enumerations.rst @@ -0,0 +1,97 @@ +.. _constants_and_enumerations: + + +======================== +Constants & Enumarations +======================== + +.. index:: + single: Constants & Enumarations + + + +Squirrel allows to bind constant values to an identifier that will be evaluated compile-time. +This is archieved though constants and enumarations. + +--------------- +Constants +--------------- + +.. index:: + single: Constants + +Constants bind a specific value to an indentifier. Constants are similar to +global values, except that they are evaluated compile time and their value cannot be changed. + +constants values can only be integers, floats or string literals. No expression are allowed. +are declared with the following syntax.:: + + const foobar = 100; + const floatbar = 1.2; + const stringbar = "I'm a contant string"; + +constants are always globally scoped, from the moment they are declared, any following code +can reference them. +Constants will shadow any global slot with the same name( the global slot will remain visible by using the ``::`` syntax).:: + + local x = foobar * 2; + +--------------- +Enumrations +--------------- + +.. index:: + single: Enumrations + +As Constants, Enumerations bind a specific value to a name. Enumerations are also evaluated compile time +and their value cannot be changed. + +An enum declaration introduces a new enumeration into the program. +Enumerations values can only be integers, floats or string literals. No expression are allowed.:: + + enum Stuff { + first, //this will be 0 + second, //this will be 1 + third //this will be 2 + } + +or:: + + enum Stuff { + first = 10 + second = "string" + third = 1.2 + } + +An enum value is accessed in a manner that's similar to accessing a static class member. +The name of the member must be qualified with the name of the enumeration, for example ``Stuff.second`` +Enumerations will shadow any global slot with the same name( the global slot will remain visible by using the ``::`` syntax).:: + + local x = Stuff.first * 2; + +-------------------- +Implementation notes +-------------------- + +Enumerations and Contants are a compile-time feature. Only integers, string and floats can be declared as const/enum; +No expressions are allowed(because they would have to be evaluated compile time). +When a const or an enum is declared, it is added compile time to the ``consttable``. This table is stored in the VM shared state +and is shared by the VM and all its threads. +The ``consttable`` is a regular squirrel table; In the same way as the ``roottable`` +it can be modified runtime. +You can access the ``consttable`` through the built-in function ``getconsttable()`` +and also change it through the built-in function ``setconsttable()`` + +here some example: :: + + //creates a constant + getconsttable()["something"] <- 10" + //creates an enumeration + getconsttable()["somethingelse"] <- { a = "10", c = "20", d = "200"}; + //deletes the constant + delete getconsttable()["something"] + //deletes the enumeration + delete getconsttable()["somethingelse"] + +This system allows to procedurally declare constants and enumerations, it is also possible to assign any squirrel type +to a constant/enumeration(function,classes etc...). However this will make serialization of a code chunk impossible. diff --git a/doc/source/reference/language/datatypes.rst b/doc/source/reference/language/datatypes.rst new file mode 100644 index 0000000..af967a4 --- /dev/null +++ b/doc/source/reference/language/datatypes.rst @@ -0,0 +1,158 @@ +.. _datatypes_and_values: + +===================== +Values and Data types +===================== + +Squirrel is a dynamically typed language so variables do not have a type, although they +refer to a value that does have a type. +Squirrel basic types are integer, float, string, null, table, array, function, generator, +class, instance, bool, thread and userdata. + +.. _userdata-index: + +-------- +Integer +-------- + +An Integer represents a 32 bits (or better) signed number.:: + + local a = 123 //decimal + local b = 0x0012 //hexadecimal + local c = 075 //octal + local d = 'w' //char code + +-------- +Float +-------- + +A float represents a 32 bits (or better) floating point number.:: + + local a=1.0 + local b=0.234 + +-------- +String +-------- + +Strings are an immutable sequence of characters to modify a string is necessary create a new one. + +Squirrel's strings, behave like C or C++, are delimited by quotation marks(``"``) and can contain +escape sequences(``\t``, ``\a``, ``\b``, ``\n``, ``\r``, ``\v``, ``\f``, ``\\``, ``\"``, ``\'``, ``\0``, +``\x``, ``\u`` and ``\U``). + +Verbatim string literals begin with ``@"`` and end with the matching quote. +Verbatim string literals also can extend over a line break. If they do, they +include any white space characters between the quotes: :: + + local a = "I'm a wonderful string\n" + // has a newline at the end of the string + local x = @"I'm a verbatim string\n" + // the \n is copied in the string same as \\n in a regular string "I'm a verbatim string\n" + +The only exception to the "no escape sequence" rule for verbatim +string literals is that you can put a double quotation mark inside a +verbatim string by doubling it: :: + + local multiline = @" + this is a multiline string + it will ""embed"" all the new line + characters + " + +-------- +Null +-------- + +The null value is a primitive value that represents the null, empty, or non-existent +reference. The type Null has exactly one value, called null.:: + + local a = null + +-------- +Bool +-------- + +the bool data type can have only two. They are the literals ``true`` +and ``false``. A bool value expresses the validity of a condition +(tells whether the condition is true or false).:: + + local a = true; + +-------- +Table +-------- + +Tables are associative containers implemented as pairs of key/value (called a slot).:: + + local t={} + local test= + { + a=10 + b=function(a) { return a+1; } + } + +-------- +Array +-------- + +Arrays are simple sequence of objects, their size is dynamic and their index starts always from 0.:: + + local a = ["I'm","an","array"] + local b = [null] + b[0] = a[2]; + +-------- +Function +-------- + +Functions are similar to those in other C-like languages and to most programming +languages in general, however there are a few key differences (see below). + +-------- +Class +-------- + +Classes are associative containers implemented as pairs of key/value. Classes are created through +a 'class expression' or a 'class statement'. class members can be inherited from another class object +at creation time. After creation members can be added until a instance of the class is created. + +-------------- +Class Instance +-------------- + +Class instances are created by calling a *class object*. Instances, as tables, are +implemented as pair of key/value. Instances members cannot be dyncamically added or removed however +the value of the members can be changed. + + + +--------- +Generator +--------- + +Generators are functions that can be suspended with the statement 'yield' and resumed +later (see :ref:`Generators `). + +--------- +Userdata +--------- + +Userdata objects are blobs of memory(or pointers) defined by the host application but +stored into Squirrel variables (See :ref:`Userdata and UserPointers `). + + +--------- +Thread +--------- + +Threads are objects that represents a cooperative thread of execution, also known as coroutines. + +-------------- +Weak Reference +-------------- + +Weak References are objects that point to another(non scalar) object but do not own a strong reference to it. +(See :ref:`Weak References `). + + diff --git a/doc/source/reference/language/delegation.rst b/doc/source/reference/language/delegation.rst new file mode 100644 index 0000000..63607d5 --- /dev/null +++ b/doc/source/reference/language/delegation.rst @@ -0,0 +1,35 @@ +.. _delegation: + + +======================== +Delegation +======================== + +.. index:: + single: Delegation + +Squirrel supports implicit delegation. Every table or userdata can have a parent table +(delegate). A parent table is a normal table that allows the definition of special behaviors +for his child. +When a table (or userdata) is indexed with a key that doesn't correspond to one of its +slots, the interpreter automatically delegates the get (or set) operation to its parent.:: + + Entity <- { + } + + function Entity::DoStuff() + { + ::print(_name); + } + + local newentity = { + _name="I'm the new entity" + } + newentity.setdelegate(Entity) + + newentity.DoStuff(); //prints "I'm the new entity" + +The delegate of a table can be retreived through built-in method ``table.getdelegate()``.:: + + local thedelegate = newentity.getdelegate(); + diff --git a/doc/source/reference/language/execution_context.rst b/doc/source/reference/language/execution_context.rst new file mode 100644 index 0000000..0135382 --- /dev/null +++ b/doc/source/reference/language/execution_context.rst @@ -0,0 +1,95 @@ +.. _executioncontext: + +======================= +Execution Context +======================= + +.. index:: + single: execution context + +The execution context is the union of the function stack frame and the function +environment object(this) and the function root(root table). +The stack frame is the portion of stack where the local variables declared in its body are +stored. +The environment object is an implicit parameter that is automatically passed by the +function caller (see see :ref:`functions `). +The root table is a table associated to the function during its creation. +The root table value of a function is the root table of the VM at the function creation. +The root table of function can also be changed after creation with closure.setroot(). +During the execution, the body of a function can only transparently refer to his execution +context. +This mean that a single identifier can refer to a local variable, to an environment object slot +or to the slot of the closure root table; +The environment object can be explicitly accessed by the keyword ``this``. +The closure root table can be explicitly accessed through the operator ``::`` (see :ref:`Variables `). + +.. _variables: + +----------------- +Variables +----------------- + +There are two types of variables in Squirrel, local variables and tables/arrays slots. +Because global variables(variables stored in the root of a closure) are stored in a table, they are table slots. + +A single identifier refers to a local variable or a slot in the environment object.:: + + derefexp := id; + +:: + + _table["foo"] + _array[10] + +with tables we can also use the '.' syntax:: + + derefexp := exp '.' id + +:: + + _table.foo + +Squirrel first checks if an identifier is a local variable (function arguments are local +variables) if not looks up the environment object (this) and finally looksup +to the closure root. + +For instance::: + + function testy(arg) + { + local a=10; + print(a); + return arg; + } + +in this case 'foo' will be equivalent to 'this.foo' or this["foo"]. + +Global variables are stored in a table called the root table. Usually in the global scope the +environment object is the root table, but to explicitly access the closure root of the function from +another scope, the slot name must be prefixed with ``'::'`` (``::foo``). + +For instance::: + + function testy(arg) + { + local a=10; + return arg+::foo; + } + +accesses the variable 'foo' in the closure root table. + +Since Squirrel 3.1 each function has a weak reference to a specific root table, this can differ from the current VM root table.:: + + function test() { + foo = 10; + } + +is equivalent to write:: + + function test() { + if("foo" in this) { + this.foo = 10; + }else { + ::foo = 10; + } + } diff --git a/doc/source/reference/language/expressions.rst b/doc/source/reference/language/expressions.rst new file mode 100644 index 0000000..d84367a --- /dev/null +++ b/doc/source/reference/language/expressions.rst @@ -0,0 +1,374 @@ +.. _expressions: + + +================= +Expressions +================= + +.. index:: + single: Expressions + +---------------- +Assignment +---------------- + +.. index:: + single: assignment(=) + single: new slot(<-) + +:: + + exp := derefexp '=' exp + exp:= derefexp '<-' exp + +squirrel implements 2 kind of assignment: the normal assignment(=):: + + a = 10; + +and the "new slot" assignment.:: + + a <- 10; + +The new slot expression allows to add a new slot into a table(see :ref:`Tables `). If the slot +already exists in the table it behaves like a normal assignment. + +---------------- +Operators +---------------- + +.. index:: + single: Operators + +^^^^^^^^^^^^^ +?: Operator +^^^^^^^^^^^^^ + +.. index:: + pair: ?: Operator; Operators + +:: + + exp := exp_cond '?' exp1 ':' exp2 + +conditionally evaluate an expression depending on the result of an expression. + +^^^^^^^^^^^^^ +Arithmetic +^^^^^^^^^^^^^ + +.. index:: + pair: Arithmetic Operators; Operators + +:: + + exp:= 'exp' op 'exp' + +Squirrel supports the standard arithmetic operators ``+, -, *, / and %``. +Other than that is also supports compact operators (``+=,-=,*=,/=,%=``) and +increment and decrement operators(++ and --);:: + + a += 2; + //is the same as writing + a = a + 2; + x++ + //is the same as writing + x = x + 1 + +All operators work normally with integers and floats; if one operand is an integer and one +is a float the result of the expression will be float. +The + operator has a special behavior with strings; if one of the operands is a string the +operator + will try to convert the other operand to string as well and concatenate both +together. For instances and tables, ``_tostring`` is invoked. + +^^^^^^^^^^^^^ +Relational +^^^^^^^^^^^^^ + +.. index:: + pair: Relational Operators; Operators + +:: + + exp:= 'exp' op 'exp' + +Relational operators in Squirrel are : ``==, <, <=, <, <=, !=`` + +These operators return true if the expression is false and a value different than true if the +expression is true. Internally the VM uses the integer 1 as true but this could change in +the future. + +^^^^^^^^^^^^^^ +3 ways compare +^^^^^^^^^^^^^^ + +.. index:: + pair: 3 ways compare operator; Operators + +:: + + exp:= 'exp' <=> 'exp' + +the 3 ways compare operator <=> compares 2 values A and B and returns an integer less than 0 +if A < B, 0 if A == B and an integer greater than 0 if A > B. + +^^^^^^^^^^^^^^ +Logical +^^^^^^^^^^^^^^ + +.. index:: + pair: Logical operators; Operators + +:: + + exp := exp op exp + exp := '!' exp + +Logical operators in Squirrel are : ``&&, ||, !`` + +The operator ``&&`` (logical and) returns null if its first argument is null, otherwise returns +its second argument. +The operator ``||`` (logical or) returns its first argument if is different than null, otherwise +returns the second argument. + +The '!' operator will return null if the given value to negate was different than null, or a +value different than null if the given value was null. + +^^^^^^^^^^^^^^^ +in operator +^^^^^^^^^^^^^^^ + +.. index:: + pair: in operator; Operators + +:: + + exp:= keyexp 'in' tableexp + +Tests the existence of a slot in a table. +Returns true if *keyexp* is a valid key in *tableexp* :: + + local t= + { + foo="I'm foo", + [123]="I'm not foo" + } + + if("foo" in t) dostuff("yep"); + if(123 in t) dostuff(); + +^^^^^^^^^^^^^^^^^^^ +instanceof operator +^^^^^^^^^^^^^^^^^^^ + +.. index:: + pair: instanceof operator; Operators + +:: + + exp:= instanceexp 'instanceof' classexp + +Tests if a class instance is an instance of a certain class. +Returns true if *instanceexp* is an instance of *classexp*. + +^^^^^^^^^^^^^^^^^^^ +typeof operator +^^^^^^^^^^^^^^^^^^^ + +.. index:: + pair: typeof operator; Operators + +:: + + exp:= 'typeof' exp + +returns the type name of a value as string.:: + + local a={},b="squirrel" + print(typeof a); //will print "table" + print(typeof b); //will print "string" + +^^^^^^^^^^^^^^^^^^^ +Comma operator +^^^^^^^^^^^^^^^^^^^ + +.. index:: + pair: Comma operator; Operators + +:: + + exp:= exp ',' exp + +The comma operator evaluates two expression left to right, the result of the operator is +the result of the expression on the right; the result of the left expression is discarded.:: + + local j=0,k=0; + for(local i=0; i<10; i++ , j++) + { + k = i + j; + } + local a,k; + a = (k=1,k+2); //a becomes 3 + +^^^^^^^^^^^^^^^^^^^ +Bitwise Operators +^^^^^^^^^^^^^^^^^^^ + +.. index:: + pair: Bitwise Operators; Operators + +:: + + exp:= 'exp' op 'exp' + exp := '~' exp + +Squirrel supports the standard c-like bit wise operators ``&, |, ^, ~, <<, >>`` plus the unsigned +right shift operator ``<<<``. The unsigned right shift works exactly like the normal right shift operator(``<<``) +except for treating the left operand as an unsigned integer, so is not affected by the sign. Those operators +only work on integers values, passing of any other operand type to these operators will +cause an exception. + +^^^^^^^^^^^^^^^^^^^^^ +Operators precedence +^^^^^^^^^^^^^^^^^^^^^ + +.. index:: + pair: Operators precedence; Operators + ++---------------------------------------+-----------+ +| ``-, ~, !, typeof , ++, --`` | highest | ++---------------------------------------+-----------+ +| ``/, *, %`` | ... | ++---------------------------------------+-----------+ +| ``+, -`` | | ++---------------------------------------+-----------+ +| ``<<, >>, >>>`` | | ++---------------------------------------+-----------+ +| ``<, <=, >, >=`` | | ++---------------------------------------+-----------+ +| ``==, !=, <=>`` | | ++---------------------------------------+-----------+ +| ``&`` | | ++---------------------------------------+-----------+ +| ``^`` | | ++---------------------------------------+-----------+ +| ``&&, in`` | | ++---------------------------------------+-----------+ +| ``+=, =, -=`` | ... | ++---------------------------------------+-----------+ +| ``,(comma operator)`` | lowest | ++---------------------------------------+-----------+ + +.. _table_contructor: + +----------------- +Table Constructor +----------------- + +.. index:: + single: Table Contructor + +:: + + tslots := ( 'id' '=' exp | '[' exp ']' '=' exp ) [','] + exp := '{' [tslots] '}' + +Creates a new table.:: + + local a = {} //create an empty table + +A table constructor can also contain slots declaration; With the syntax: :: + + local a = { + slot1 = "I'm the slot value" + } + +An alternative syntax can be:: + + '[' exp1 ']' = exp2 [','] + +A new slot with exp1 as key and exp2 as value is created:: + + local a= + { + [1]="I'm the value" + } + +both syntaxes can be mixed:: + + local table= + { + a=10, + b="string", + [10]={}, + function bau(a,b) + { + return a+b; + } + } + +The comma between slots is optional. + +^^^^^^^^^^^^^^^^^^^^^^ +Table with JSON syntax +^^^^^^^^^^^^^^^^^^^^^^ + +.. index:: + single: Table with JSON syntax + +Since Squirrel 3.0 is possible to declare a table using JSON syntax(see http://www.wikipedia.org/wiki/JSON). + +the following JSON snippet: :: + + local x = { + "id": 1, + "name": "Foo", + "price": 123, + "tags": ["Bar","Eek"] + } + +is equivalent to the following squirrel code: :: + + local x = { + id = 1, + name = "Foo", + price = 123, + tags = ["Bar","Eek"] + } + +----------------- +clone +----------------- + +.. index:: + single: clone + +:: + + exp:= 'clone' exp + +Clone performs shallow copy of a table, array or class instance (copies all slots in the new object without +recursion). If the source table has a delegate, the same delegate will be assigned as +delegate (not copied) to the new table (see :ref:`Delegation `). + +After the new object is ready the "_cloned" meta method is called (see :ref:`Metamethods `). + +When a class instance is cloned the constructor is not invoked(initializations must rely on ```_cloned``` instead + +----------------- +Array contructor +----------------- + +.. index:: + single: Array constructor + +:: + + exp := '[' [explist] ']' + +Creates a new array.:: + + a <- [] //creates an empty array + +arrays can be initialized with values during the construction:: + + a <- [1,"string!",[],{}] //creates an array with 4 elements \ No newline at end of file diff --git a/doc/source/reference/language/functions.rst b/doc/source/reference/language/functions.rst new file mode 100644 index 0000000..e7a07db --- /dev/null +++ b/doc/source/reference/language/functions.rst @@ -0,0 +1,260 @@ +.. _functions: + + +================= +Functions +================= + +.. index:: + single: Functions + +Functions are first class values like integer or strings and can be stored in table slots, +local variables, arrays and passed as function parameters. +Functions can be implemented in Squirrel or in a native language with calling conventions +compatible with ANSI C. + +-------------------- +Function declaration +-------------------- + +.. index:: + single: Function Declaration + +Functions are declared through the function expression:: + + local a = function(a, b, c) { return a + b - c; } + +or with the syntactic sugar:: + + function ciao(a,b,c) + { + return a+b-c; + } + +that is equivalent to:: + + this.ciao <- function(a,b,c) + { + return a+b-c; + } + +a local function can be declared with this syntactic sugar:: + + local function tuna(a,b,c) + { + return a+b-c; + } + +that is equivalent to:: + + local tuna = function(a,b,c) + { + return a+b-c; + } + +is also possible to declare something like:: + + T <- {} + function T::ciao(a,b,c) + { + return a+b-c; + } + + //that is equivalent to write + + T.ciao <- function(a,b,c) + { + return a+b-c; + } + + //or + + T <- { + function ciao(a,b,c) + { + return a+b-c; + } + } + +^^^^^^^^^^^^^^^^^^ +Default Paramaters +^^^^^^^^^^^^^^^^^^ + +.. index:: + single: Function Default Paramaters + +Squirrel's functions can have default parameters. + +A function with default parameters is declared as follows: :: + + function test(a,b,c = 10, d = 20) + { + .... + } + +when the function *test* is invoked and the parameter c or d are not specified, +the VM autometically assigns the default value to the unspecified parameter. A default parameter can be +any valid squirrel expression. The expression is evaluated at runtime. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Function with variable number of paramaters +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. index:: + single: Function with variable number of paramaters + +Squirrel's functions can have variable number of parameters(varargs functions). + +A vararg function is declared by adding three dots (`...`) at the end of its parameter list. + +When the function is called all the extra parameters will be accessible through the *array* +called ``vargv``, that is passed as implicit parameter. + +``vargv`` is a regular squirrel array and can be used accordingly.:: + + function test(a,b,...) + { + for(local i = 0; i< vargv.len(); i++) + { + ::print("varparam "+i+" = "+vargv[i]+"\n"); + } + foreach(i,val in vargv) + { + ::print("varparam "+i+" = "+val+"\n"); + } + } + + test("goes in a","goes in b",0,1,2,3,4,5,6,7,8); + +--------------- +Function calls +--------------- + +.. index:: + single: Function calls + +:: + + exp:= derefexp '(' explist ')' + +The expression is evaluated in this order: derefexp after the explist (arguments) and at +the end the call. + +Every function call in Squirrel passes the environment object *this* as hidden parameter +to the called function. The 'this' parameter is the object where the function was indexed +from. + +If we call a function with this syntax:: + + table.foo(a) + +the environment object passed to foo will be 'table':: + + foo(x,y) // equivalent to this.foo(x,y) + +The environment object will be *this* (the same of the caller function). + +--------------------------------------------- +Binding an environment to a function +--------------------------------------------- + +.. index:: + single: Binding an environment to a function + +while by default a squirrel function call passes as environment object 'this', the object +where the function was indexed from. However, is also possible to statically bind an evironment to a +closure using the built-in method ``closure.bindenv(env_obj)``. +The method bindenv() returns a new instance of a closure with the environment bound to it. +When an environment object is bound to a function, every time the function is invoked, its +'this' parameter will always be the previously bound environent. +This mechanism is useful to implement callbacks systems similar to C# delegates. + +.. note:: The closure keeps a weak reference to the bound environmet object, because of this if + the object is deleted, the next call to the closure will result in a ``null`` + environment object. + +--------------------------------------------- +Lambda Expressions +--------------------------------------------- + +.. index:: + single: Lambda Expressions + +:: + + exp := '@' '(' paramlist ')' exp + +Lambda expressions are a synctactic sugar to quickly define a function that consists of a single expression. +This feature comes handy when functional programming patterns are applied, like map/reduce or passing a compare method to +array.sort(). + +here a lambda expression:: + + local myexp = @(a,b) a + b + +that is equivalent to:: + + local myexp = function(a,b) { return a + b; } + +a more useful usage could be:: + + local arr = [2,3,5,8,3,5,1,2,6]; + arr.sort(@(a,b) a <=> b); + arr.sort(@(a,b) -(a <=> b)); + +that could have been written as:: + + local arr = [2,3,5,8,3,5,1,2,6]; + arr.sort(function(a,b) { return a <=> b; } ); + arr.sort(function(a,b) { return -(a <=> b); } ); + +other than being limited to a single expression lambdas support all features of regular functions. +in fact are implemented as a compile time feature. + +--------------------------------------------- +Free Variables +--------------------------------------------- + +.. index:: + single: Free Variables + +A free variable is a variable external from the function scope as is not a local variable +or parameter of the function. +Free variables reference a local variable from a outer scope. +In the following example the variables 'testy', 'x' and 'y' are bound to the function 'foo'.:: + + local x=10,y=20 + local testy="I'm testy" + + function foo(a,b) + { + ::print(testy); + return a+b+x+y; + } + +A program can read or write a free variable. + +--------------------------------------------- +Tail Recursion +--------------------------------------------- + +.. index:: + single: Tail Recursion + +Tail recursion is a method for partially transforming a recursion in a program into an +iteration: it applies when the recursive calls in a function are the last executed +statements in that function (just before the return). +If this happenes the squirrel interpreter collapses the caller stack frame before the +recursive call; because of that very deep recursions are possible without risk of a stack +overflow.:: + + function loopy(n) + { + if(n>0){ + ::print("n="+n+"\n"); + return loopy(n-1); + } + } + + loopy(1000); + diff --git a/doc/source/reference/language/generators.rst b/doc/source/reference/language/generators.rst new file mode 100644 index 0000000..6c03de9 --- /dev/null +++ b/doc/source/reference/language/generators.rst @@ -0,0 +1,51 @@ +.. _generators: + + +================= +Generators +================= + +.. index:: + single: Generators + +A function that contains a ``yield`` statement is called *'generator function'* . +When a generator function is called, it does not execute the function body, instead it +returns a new suspended generator. +The returned generator can be resumed through the resume statement while it is alive. +The yield keyword, suspends the execution of a generator and optionally returns the +result of an expression to the function that resumed the generator. +The generator dies when it returns, this can happen through an explicit return +statement or by exiting the function body; If an unhandled exception (or runtime error) +occurs while a generator is running, the generator will automatically die. A dead +generator cannot be resumed anymore.:: + + function geny(n) + { + for(local i=1;i<=n;i+=1) + yield i; + return null; + } + + local gtor=geny(10); + local x; + while(x=resume gtor) print(x+"\n"); + +the output of this program will be:: + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + +generators can also be iterated using the foreach statement. When a generator is evaluated +by ``foreach``, the generator will be resumed for each iteration until it returns. The value +returned by the ``return`` statement will be ignored. + +.. note:: A suspended generator will hold a strong reference to all the values stored in it's local variables except the ``this`` + object that is only a weak reference. A running generator hold a strong reference also to the ``this`` object. diff --git a/doc/source/reference/language/lexical_structure.rst b/doc/source/reference/language/lexical_structure.rst new file mode 100644 index 0000000..05cba40 --- /dev/null +++ b/doc/source/reference/language/lexical_structure.rst @@ -0,0 +1,156 @@ +.. _lexical_structure: + + +================= +Lexical Structure +================= + +.. index:: single: lexical structure + +----------- +Identifiers +----------- + +.. index:: single: identifiers + +Identifiers start with a alphabetic character or '_' followed by any number of alphabetic +characters, '_' or digits ([0-9]). Squirrel is a case sensitive language, this means that the +lowercase and uppercase representation of the same alphabetic character are considered +different characters. For instance "foo", "Foo" and "fOo" will be treated as 3 distinct +identifiers. + +----------- +Keywords +----------- + +.. index:: single: keywords + +The following words are reserved words by the language and cannot be used as identifiers: + ++------------+------------+-----------+------------+------------+-------------+ +| base | break | case | catch | class | clone | ++------------+------------+-----------+------------+------------+-------------+ +| continue | const | default | delete | else | enum | ++------------+------------+-----------+------------+------------+-------------+ +| extends | for | foreach | function | if | in | ++------------+------------+-----------+------------+------------+-------------+ +| local | null | resume | return | switch | this | ++------------+------------+-----------+------------+------------+-------------+ +| throw | try | typeof | while | yield | constructor | ++------------+------------+-----------+------------+------------+-------------+ +| instanceof | true | false | static | __LINE__ | __FILE__ | ++------------+------------+-----------+------------+------------+-------------+ + +Keywords are covered in detail later in this document. + +----------- +Operators +----------- + +.. index:: single: operators + +Squirrel recognizes the following operators: + ++----------+----------+----------+----------+----------+----------+----------+----------+ +| ``!`` | ``!=`` | ``||`` | ``==`` | ``&&`` | ``>=`` | ``<=`` | ``>`` | ++----------+----------+----------+----------+----------+----------+----------+----------+ +| ``<=>`` | ``+`` | ``+=`` | ``-`` | ``-=`` | ``/`` | ``/=`` | ``*`` | ++----------+----------+----------+----------+----------+----------+----------+----------+ +| ``*=`` | ``%`` | ``%=`` | ``++`` | ``--`` | ``<-`` | ``=`` | ``&`` | ++----------+----------+----------+----------+----------+----------+----------+----------+ +| ``^`` | ``|`` | ``~`` | ``>>`` | ``<<`` | ``>>>`` | | | ++----------+----------+----------+----------+----------+----------+----------+----------+ + +------------ +Other tokens +------------ + +.. index:: + single: delimiters + single: other tokens + +Other used tokens are: + ++----------+----------+----------+----------+----------+----------+ +| ``{`` | ``}`` | ``[`` | ``]`` | ``.`` | ``:`` | ++----------+----------+----------+----------+----------+----------+ +| ``::`` | ``'`` | ``;`` | ``"`` | ``@"`` | | ++----------+----------+----------+----------+----------+----------+ + +----------- +Literals +----------- + +.. index:: + single: literals + single: string literals + single: numeric literals + +Squirrel accepts integer numbers, floating point numbers and strings literals. + ++-------------------------------+------------------------------------------+ +| ``34`` | Integer number(base 10) | ++-------------------------------+------------------------------------------+ +| ``0xFF00A120`` | Integer number(base 16) | ++-------------------------------+------------------------------------------+ +| ``0753`` | Integer number(base 8) | ++-------------------------------+------------------------------------------+ +| ``'a'`` | Integer number | ++-------------------------------+------------------------------------------+ +| ``1.52`` | Floating point number | ++-------------------------------+------------------------------------------+ +| ``1.e2`` | Floating point number | ++-------------------------------+------------------------------------------+ +| ``1.e-2`` | Floating point number | ++-------------------------------+------------------------------------------+ +| ``"I'm a string"`` | String | ++-------------------------------+------------------------------------------+ +| ``@"I'm a verbatim string"`` | String | ++-------------------------------+------------------------------------------+ +| ``@" I'm a`` | | +| ``multiline verbatim string`` | | +| ``"`` | String | ++-------------------------------+------------------------------------------+ + +Pesudo BNF + +.. productionlist:: + IntegerLiteral : [1-9][0-9]* | '0x' [0-9A-Fa-f]+ | ''' [.]+ ''' | 0[0-7]+ + FloatLiteral : [0-9]+ '.' [0-9]+ + FloatLiteral : [0-9]+ '.' 'e'|'E' '+'|'-' [0-9]+ + StringLiteral: '"'[.]* '"' + VerbatimStringLiteral: '@''"'[.]* '"' + +----------- +Comments +----------- + +.. index:: single: comments + +A comment is text that the compiler ignores but that is useful for programmers. +Comments are normally used to embed annotations in the code. The compiler +treats them as white space. + +The ``/*`` (slash, asterisk) characters, followed by any +sequence of characters (including new lines), +followed by the ``*/`` characters. This syntax is the same as ANSI C.:: + + /* + this is + a multiline comment. + this lines will be ignored by the compiler + */ + +The ``//`` (two slashes) characters, followed by any sequence of characters. +A new line not immediately preceded by a backslash terminates this form of comment. +It is commonly called a *"single-line comment."*:: + + //this is a single line comment. this line will be ignored by the compiler + +The character ``#`` is an alternative syntax for single line comment.:: + + # this is also a single line comment. + +This to facilitate the use of squirrel in UNIX-style shell scripts. + + diff --git a/doc/source/reference/language/metamethods.rst b/doc/source/reference/language/metamethods.rst new file mode 100644 index 0000000..3f05738 --- /dev/null +++ b/doc/source/reference/language/metamethods.rst @@ -0,0 +1,270 @@ +.. _metamethods: + +----------- +Metamethods +----------- + +Metamethods are a mechanism that allows the customization of certain aspects of the +language semantics. Those methods are normal functions placed in a table +parent(delegate) or class declaration; Is possible to change many aspect of a table/class instance behavior by just defining +a metamethod. Class objects(not instances) supports only 2 metamethods ``_newmember, _inherited`` . + +For example when we use relational operators other than '==' on 2 tables, the VM will +check if the table has a method in his parent called '_cmp' if so it will call it to determine +the relation between the tables.:: + + local comparable={ + _cmp = function (other) + { + if(nameother.name)return 1; + return 0; + } + } + + local a={ name="Alberto" }.setdelegate(comparable); + local b={ name="Wouter" }.setdelegate(comparable); + + if(a>b) + print("a>b") + else + print("b<=a"); + +for classes the previous code become: :: + + class Comparable { + constructor(n) + { + name = n; + } + function _cmp(other) + { + if(nameother.name) return 1; + return 0; + } + name = null; + } + + local a = Comparable("Alberto"); + local b = Comparable("Wouter"); + + if(a>b) + print("a>b") + else + print("b<=a"); + +^^^^^ +_set +^^^^^ + +:: + + _set(idx,val) + +invoked when the index idx is not present in the object or in its delegate chain. +``_set`` must 'throw null' to notify that a key wasn't found but the there were not runtime errors(clean failure). +This allows the program to defferentieate between a runtime error and a 'index not found'. + +^^^^^ +_get +^^^^^ + +:: + + _get(idx,val) + +invoked when the index idx is not present in the object or in its delegate chain. +_get must 'throw null' to notify that a key wasn't found but the there were not runtime errors(clean failure). +This allows the program to defferentieate between a runtime error and a 'index not found'. + +^^^^^^^^^ +_newslot +^^^^^^^^^ + +:: + + _newslot(key,value) + +invoked when a script tries to add a new slot in a table. + +if the slot already exists in the target table the method will not be invoked also if the +"new slot" operator is used. + +^^^^^^^^^ +_delslot +^^^^^^^^^ + +:: + + _delslot(key) + +invoked when a script deletes a slot from a table. +if the method is invoked squirrel will not try to delete the slot himself + +^^^^^^^^ +_add +^^^^^^^^ + +:: + + _add(other) + +the + operator + +returns this + other + +^^^^^^^^^^^^^^^^^^^^^^^^ +_sub +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _sub(other) + +the - operator (like _add) + +^^^^^^^^^^^^^^^^^^^^^^^^ +_mul +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _mul(other) + +the ``*`` operator (like _add) + +^^^^^^^^^^^^^^^^^^^^^^^^ +_div +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _div(other) + +the ``/`` operator (like _add) + +^^^^^^^^^^^^^^^^^^^^^^^^ +_modulo +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _modulo(other) + +the ``%`` operator (like _add) + +^^^^^^^^^ +_unm +^^^^^^^^^ + +:: + + _unm() + +the unary minus operator + +^^^^^^^^^^^^^^^^^^^^^^^^ +_tyoeof +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _tyoeof() + +invoked by the typeof operator on tables ,userdata and class instances + +returns the type of ``this`` as string + +^^^^^^^^^^^^^^^^^^^^^^^^ +_cmp +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _cmp(other) + +invoked to emulate the ``< > <= >=`` and ``<=>`` operators + +returns an integer as follow: + ++-----------+----------------------------+ +| returns | relationship | ++===========+============================+ +| > 0 | if ``this`` > ``other`` | ++-----------+----------------------------+ +| 0 | if ``this`` == ``other`` | ++-----------+----------------------------+ +| < 0 | if ``this`` < ``other`` | ++-----------+----------------------------+ + +^^^^^^^^^^^^^^^^^^^^^^^^ +_call +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _call(other) + +invoked when a table, userdata or class instance is called + +^^^^^^^^^^^^^^^^^^^^^^^^ +_cloned +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _cloned(original) + +invoked when a table or class instance is cloned(in the cloned table) + +^^^^^^^^^^^^^^^^^^^^^^^^ +_nexti +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _nexti(previdx) + +invoked when a userdata or class instance is iterated by a foreach loop + +if previdx==null it means that it is the first iteration. +The function has to return the index of the 'next' value. + +^^^^^^^^^^^^^^^^^^^^^^^^ +_tostring +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _tostring(previdx) + +invoked when during string conacatenation or when the ``print`` function prints a table, instance or userdata. +The method is also invoked by the sq_tostring() api + +must return a string representation of the object. + +^^^^^^^^^^^^^^^^^^^^^^^^ +_inherited +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _inherited(attributes) + +invoked when a class object inherits from the class implementing ``_inherited`` +the ``this`` contains the new class. + +return value is ignored. + +^^^^^^^^^^^^^^^^^^^^^^^^ +_newmember +^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + _newmember(index,value,attributes,isstatic) + +invoked for each member declared in a class body(at declaration time). + +if the function is implemented, members will not be added to the class. diff --git a/doc/source/reference/language/statements.rst b/doc/source/reference/language/statements.rst new file mode 100644 index 0000000..fcfe404 --- /dev/null +++ b/doc/source/reference/language/statements.rst @@ -0,0 +1,386 @@ +.. _statements: + + +================= +Statements +================= + +.. index:: + single: statements + +A squirrel program is a simple sequence of statements.:: + + stats := stat [';'|'\n'] stats + +Statements in squirrel are comparable to the C-Family languages (C/C++, Java, C# +etc...): assignment, function calls, program flow control structures etc.. plus some +custom statement like yield, table and array constructors (All those will be covered in detail +later in this document). +Statements can be separated with a new line or ';' (or with the keywords case or default if +inside a switch/case statement), both symbols are not required if the statement is +followed by '}'. + +------ +Block +------ + +.. index:: + pair: block; statement + +:: + + stat := '{' stats '}' + +A sequence of statements delimited by curly brackets ({ }) is called block; +a block is a statement itself. + +----------------------- +Control Flow Statements +----------------------- + +.. index:: + single: control flow statements + +squirrel implements the most common control flow statements: ``if, while, do-while, switch-case, for, foreach`` + +^^^^^^^^^^^^^^ +true and false +^^^^^^^^^^^^^^ + +.. index:: + single: true and false + single: true + single: false + +Squirrel has a boolean type(bool) however like C++ it considers null, 0(integer) and 0.0(float) +as *false*, any other value is considered *true*. + +^^^^^^^^^^^^^^^^^ +if/else statement +^^^^^^^^^^^^^^^^^ + +.. index:: + pair: if/else; statement + pair: if; statement + pair: else; statement + +:: + + stat:= 'if' '(' exp ')' stat ['else' stat] + +Conditionally execute a statement depending on the result of an expression.:: + + if(a>b) + a=b; + else + b=a; + //// + if(a==10) + { + b=a+b; + return a; + } + +^^^^^^^^^^^^^^^^^ +while statement +^^^^^^^^^^^^^^^^^ + +.. index:: + pair: while; statement + +:: + + stat:= 'while' '(' exp ')' stat + +Executes a statement while the condition is true.:: + + function testy(n) + { + local a=0; + while(a100) + +^^^^^^^^^^^^^^^^^ +switch statement +^^^^^^^^^^^^^^^^^ + +.. index:: + pair: switch; statement + +:: + + stat := 'switch' ''( exp ')' '{' + 'case' case_exp ':' + stats + ['default' ':' + stats] + '}' + +Switch is a control statement allows multiple selections of code by passing control to one of the +case statements within its body. +The control is transferred to the case label whose case_exp matches with exp if none of +the case match will jump to the default label (if present). +A switch statement can contain any number if case instances, if 2 case have the same +expression result the first one will be taken in account first. The default label is only +allowed once and must be the last one. +A break statement will jump outside the switch block. + +----- +Loops +----- + +.. index:: + single: Loops + +^^^^^^^^ +for +^^^^^^^^ + +.. index:: + pair: for; statement + +:: + + stat:= 'for' '(' [initexp] ';' [condexp] ';' [incexp] ')' statement + +Executes a statement as long as a condition is different than false.:: + + for(local a=0;a<10;a+=1) + print(a+"\n"); + //or + glob <- null + for(glob=0;glob<10;glob+=1){ + print(glob+"\n"); + } + //or + for(;;){ + print(loops forever+"\n"); + } + +^^^^^^^^ +foreach +^^^^^^^^ + +.. index:: + pair: foreach; statement + +:: + + 'foreach' '(' [index_id','] value_id 'in' exp ')' stat + +Executes a statement for every element contained in an array, table, class, string or generator. +If exp is a generator it will be resumed every iteration as long as it is alive; the value will +be the result of 'resume' and the index the sequence number of the iteration starting +from 0.:: + + local a=[10,23,33,41,589,56] + foreach(idx,val in a) + print("index="+idx+" value="+val+"\n"); + //or + foreach(val in a) + print("value="+val+"\n"); + +------- +break +------- + +.. index:: + pair: break; statement + +:: + + stat := 'break' + +The break statement terminates the execution of a loop (for, foreach, while or do/while) +or jumps out of switch statement; + +--------- +continue +--------- + +.. index:: + pair: continue; statement + +:: + + stat := 'continue' + +The continue operator jumps to the next iteration of the loop skipping the execution of +the following statements. + +--------- +return +--------- + +.. index:: + pair: return; statement + +:: + + stat:= return [exp] + +The return statement terminates the execution of the current function/generator and +optionally returns the result of an expression. If the expression is omitted the function +will return null. If the return statement is used inside a generator, the generator will not +be resumable anymore. + +--------- +yield +--------- + +.. index:: + pair: yield; statement + +:: + + stat := yield [exp] + +(see :ref:`Generators `). + + +--------------------------- +Local variables declaration +--------------------------- + +.. index:: + pair: Local variables declaration; statement + +:: + + initz := id [= exp][',' initz] + stat := 'local' initz + +Local variables can be declared at any point in the program; they exist between their +declaration to the end of the block where they have been declared. +*EXCEPTION:* a local declaration statement is allowed as first expression in a for loop.:: + + for(local a=0;a<10;a+=1) + print(a); + +-------------------- +Function declaration +-------------------- + +.. index:: + pair: Function declaration; statement + +:: + + funcname := id ['::' id] + stat:= 'function' id ['::' id]+ '(' args ')' stat + +creates a new function. + +----------------- +Class declaration +----------------- + +.. index:: + pair: Class declaration; statement + +:: + + memberdecl := id '=' exp [';'] | '[' exp ']' '=' exp [';'] | functionstat | 'constructor' functionexp + stat:= 'class' derefexp ['extends' derefexp] '{' + [memberdecl] + '}' + +creates a new class. + +----------- +try/catch +----------- + +.. index:: + pair: try/catch; statement + +:: + + stat:= 'try' stat 'catch' '(' id ')' stat + +The try statement encloses a block of code in which an exceptional condition can occur, +such as a runtime error or a throw statement. The catch clause provides the exceptionhandling +code. When a catch clause catches an exception, its id is bound to that +exception. + +----------- +throw +----------- + +.. index:: + pair: throw; statement + +:: + + stat:= 'throw' exp + +Throws an exception. Any value can be thrown. + +-------------- +const +-------------- + +.. index:: + pair: const; statement + +:: + + stat:= 'const' id '=' 'Integer | Float | StringLiteral + +Declares a constant (see :ref:`Constants & Enumerations `). + +-------------- +enum +-------------- + +.. index:: + pair: enum; statement + +:: + + enumerations := ( 'id' '=' Integer | Float | StringLiteral ) [','] + stat:= 'enum' id '{' enumerations '}' + +Declares an enumeration (see :ref:`Constants & Enumerations `). + +-------------------- +Expression statement +-------------------- + +.. index:: + pair: Expression statement; statement + +:: + + stat := exp + +In Squirrel every expression is also allowed as statement, if so, the result of the +expression is thrown away. + diff --git a/doc/source/reference/language/tables.rst b/doc/source/reference/language/tables.rst new file mode 100644 index 0000000..7f9cb74 --- /dev/null +++ b/doc/source/reference/language/tables.rst @@ -0,0 +1,71 @@ +.. _tables: + + +================= +Tables +================= + +.. index:: + single: Tables + +Tables are associative containers implemented as pairs of key/value (called slot); values +can be any possible type and keys any type except 'null'. +Tables are squirrel's skeleton, delegation and many other features are all implemented +through this type; even the environment, where "global" variables are stored, is a table +(known as root table). + +------------------ +Construction +------------------ + +Tables are created through the table constructor (see :ref:`Table constructor `) + +------------------ +Slot creation +------------------ + +.. index:: + single: Slot Creation(table) + +Adding a new slot in a existing table is done through the "new slot" operator ``<-``; this +operator behaves like a normal assignment except that if the slot does not exists it will +be created.:: + + local a = {} + +The following line will cause an exception because the slot named 'newslot' does not exist +in the table 'a':: + + a.newslot = 1234 + +this will succeed: :: + + a.newslot <- 1234; + +or:: + + a[1] <- "I'm the value of the new slot"; + +----------------- +Slot deletion +----------------- + +.. index:: + single: Slot Deletion(table) + + +:: + + exp:= delete derefexp + +Deletion of a slot is done through the keyword delete; the result of this expression will be +the value of the deleted slot.:: + + a <- { + test1=1234 + deleteme="now" + } + + delete a.test1 + print(delete a.deleteme); //this will print the string "now" + diff --git a/doc/source/reference/language/threads.rst b/doc/source/reference/language/threads.rst new file mode 100644 index 0000000..04c9aa9 --- /dev/null +++ b/doc/source/reference/language/threads.rst @@ -0,0 +1,106 @@ +.. _threads: + + +======================== +Threads +======================== + +.. index:: + single: Threads + +Squirrel supports cooperative threads(also known as coroutines). +A cooperative thread is a subroutine that can suspended in mid-execution and provide a value to the +caller without returning program flow, then its execution can be resumed later from the same +point where it was suspended. +At first look a Squirrel thread can be confused with a generator, in fact their behaviour is quite similar. +However while a generator runs in the caller stack and can suspend only the local routine stack a thread +has its own execution stack, global table and error handler; This allows a thread to suspend nested calls and +have it's own error policies. + +------------------ +Using threads +------------------ + +.. index:: + single: Usign Threads + +Threads are created through the built-in function 'newthread(func)'; this function +gets as parameter a squirrel function and bind it to the new thread objecs(will be the thread body). +The returned thread object is initially in 'idle' state. the thread can be started with the function +'threadobj.call()'; the parameters passed to 'call' are passed to the thread function. + +A thread can be be suspended calling the function suspend(), when this happens the function +that wokeup(or started) the thread returns (If a parametrer is passed to suspend() it will +be the return value of the wakeup function , if no parameter is passed the return value will be null). +A suspended thread can be resumed calling the funtion 'threadobj.wakeup', when this happens +the function that suspended the thread will return(if a parameter is passed to wakeup it will +be the return value of the suspend function, if no parameter is passed the return value will be null). + +A thread terminates when its main function returns or when an unhandled exception occurs during its execution.:: + + function coroutine_test(a,b) + { + ::print(a+" "+b+"\n"); + local ret = ::suspend("suspend 1"); + ::print("the coroutine says "+ret+"\n"); + ret = ::suspend("suspend 2"); + ::print("the coroutine says "+ret+"\n"); + ret = ::suspend("suspend 3"); + ::print("the coroutine says "+ret+"\n"); + return "I'm done" + } + + local coro = ::newthread(coroutine_test); + + local susparam = coro.call("test","coroutine"); //starts the coroutine + + local i = 1; + do + { + ::print("suspend passed ("+susparam+")\n") + susparam = coro.wakeup("ciao "+i); + ++i; + }while(coro.getstatus()=="suspended") + + ::print("return passed ("+susparam+")\n") + +the result of this program will be:: + + test coroutine + suspend passed (suspend 1) + the coroutine says ciao 1 + suspend passed (suspend 2) + the coroutine says ciao 2 + suspend passed (suspend 3) + the coroutine says ciao 3 + return passed (I'm done). + + +the following is an interesting example of how threads and tail recursion +can be combined.:: + + function state1() + { + ::suspend("state1"); + return state2(); //tail call + } + + function state2() + { + ::suspend("state2"); + return state3(); //tail call + } + + function state3() + { + ::suspend("state3"); + return state1(); //tail call + } + + local statethread = ::newthread(state1) + + ::print(statethread.call()+"\n"); + + for(local i = 0; i < 10000; i++) + ::print(statethread.wakeup()+"\n"); + diff --git a/doc/source/reference/language/weak_references.rst b/doc/source/reference/language/weak_references.rst new file mode 100644 index 0000000..f7318d8 --- /dev/null +++ b/doc/source/reference/language/weak_references.rst @@ -0,0 +1,61 @@ +.. _weak_references: + + +======================== +Weak References +======================== + +.. index:: + single: Weak References + + +The weak references allows the programmers to create references to objects without +influencing the lifetime of the object itself. +In squirrel Weak references are first-class objects created through the built-in method obj.weakref(). +All types except null implement the weakref() method; however in bools,integers and float the method +simply returns the object itself(this because this types are always passed by value). +When a weak references is assigned to a container (table slot,array,class or +instance) is treated differently than other objects; When a container slot that hold a weak +reference is fetched, it always returns the value pointed by the weak reference instead of the weak +reference object. This allow the programmer to ignore the fact that the value handled is weak. +When the object pointed by weak reference is destroyed, the weak reference is automatically set to null.:: + + local t = {} + local a = ["first","second","third"] + //creates a weakref to the array and assigns it to a table slot + t.thearray <- a.weakref(); + +The table slot 'thearray' contains a weak reference to an array. +The following line prints "first", because tables(and all other containers) always return +the object pointed by a weak ref:: + + print(t.thearray[0]); + +the only strong reference to the array is owned by the local variable 'a', so +because the following line assigns a integer to 'a' the array is destroyed.:: + + a = 123; + +When an object pointed by a weak ref is destroyed the weak ref is automatically set to null, +so the following line will print "null".:: + + ::print(typeof(t.thearray)) + +----------------------------------- +Handling weak references explicitly +----------------------------------- + +If a weak reference is assigned to a local variable, then is treated as any other value.:: + + local t = {} + local weakobj = t.weakref(); + +the following line prints "weakref".:: + + ::print(typeof(weakobj)) + +the object pointed by the weakref can be obtained through the built-in method weakref.ref(). + +The following line prints "table".:: + + ::print(typeof(weakobj.ref())) diff --git a/doc/source/stdlib/index.rst b/doc/source/stdlib/index.rst new file mode 100644 index 0000000..2cff85c --- /dev/null +++ b/doc/source/stdlib/index.rst @@ -0,0 +1,39 @@ +.. _stdlib: + +################################# + Squirrel Standard Library 3.1 +################################# + +Copyrigth (c) 2003-2016 Alberto Demichelis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +.. toctree:: + :maxdepth: 1 + :numbered: + + introduction.rst + stdiolib.rst + stdbloblib.rst + stdmathlib.rst + stdsystemlib.rst + stdstringlib.rst + stdauxlib.rst + diff --git a/doc/source/stdlib/introduction.rst b/doc/source/stdlib/introduction.rst new file mode 100644 index 0000000..171e242 --- /dev/null +++ b/doc/source/stdlib/introduction.rst @@ -0,0 +1,22 @@ +.. _stdlib_introduction: + +============ +Introduction +============ + +The squirrel standard libraries consist in a set of modules implemented in C++. +While are not essential for the language, they provide a set of useful services that are +commonly used by a wide range of applications(file I/O, regular expressions, etc...), +plus they offer a foundation for developing additional libraries. + +All libraries are implemented through the squirrel API and the ANSI C runtime library. +The modules are organized in the following way: + +* I/O : input and output +* blob : binary buffers manipilation +* math : basic mathematical routines +* system : system access function +* string : string formatting and manipulation +* aux : auxiliary functions + +The libraries can be registered independently,except for the IO library that depends from the bloblib. diff --git a/doc/source/stdlib/stdauxlib.rst b/doc/source/stdlib/stdauxlib.rst new file mode 100644 index 0000000..d601a5f --- /dev/null +++ b/doc/source/stdlib/stdauxlib.rst @@ -0,0 +1,31 @@ +.. _stdlib_stdauxlib: + +=============== +The Aux library +=============== + +The aux library implements default handlers for compiler and runtime errors and a stack dumping. + ++++++++++++ +C API ++++++++++++ + +.. _sqstd_seterrorhandlers: + +.. c:function:: void sqstd_seterrorhandlers(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + + initialize compiler and runtime error handlers, the handlers + use the print function set through(:ref:`sq_setprintfunc `) to output + the error. + +.. _sqstd_printcallstack: + +.. c:function:: void sqstd_printcallstack(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + + prints the call stack and stack contents. the function + uses the print function set through(:ref:`sq_setprintfunc `) to output + the stack dump. \ No newline at end of file diff --git a/doc/source/stdlib/stdbloblib.rst b/doc/source/stdlib/stdbloblib.rst new file mode 100644 index 0000000..b8c809a --- /dev/null +++ b/doc/source/stdlib/stdbloblib.rst @@ -0,0 +1,213 @@ +.. _stdlib_stdbloblib: + +================== +The Blob library +================== +The blob library implements binary data manipulations routines. The library is +based on `blob objects` that rapresent a buffer of arbitrary +binary data. + +--------------- +Squirrel API +--------------- + ++++++++++++++++ +Global symbols ++++++++++++++++ + +.. js:function:: castf2i(f) + + casts a float to a int + +.. js:function:: casti2f(n) + + casts a int to a float + +.. js:function:: swap2(n) + + swap the byte order of a number (like it would be a 16bits integer) + +.. js:function:: swap4(n) + + swap the byte order of an integer + +.. js:function:: swapfloat(n) + + swaps the byteorder of a float + +++++++++++++++++++ +The blob class +++++++++++++++++++ + +The blob object is a buffer of arbitrary binary data. The object behaves like +a file stream, it has a read/write pointer and it automatically grows if data +is written out of his boundary. +A blob can also be accessed byte by byte through the `[]` operator. + +.. js:class:: blob(size) + + :param int size: initial size of the blob + + returns a new instance of a blob class of the specified size in bytes + +.. js:function:: blob.eos() + + returns a non null value if the read/write pointer is at the end of the stream. + +.. js:function:: blob.flush() + + flushes the stream.return a value != null if succeded, otherwise returns null + +.. js:function:: blob.len() + + returns the lenght of the stream + +.. js:function:: blob.readblob(size) + + :param int size: number of bytes to read + + read n bytes from the stream and retuns them as blob + +.. js:function:: blob.readn(type) + + :param int type: type of the number to read + + reads a number from the stream according to the type pameter. + + `type` can have the following values: + ++--------------+--------------------------------------------------------------------------------+----------------------+ +| parameter | return description | return type | ++==============+================================================================================+======================+ +| 'l' | processor dependent, 32bits on 32bits processors, 64bits on 64bits prcessors | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'i' | 32bits number | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 's' | 16bits signed integer | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'w' | 16bits unsigned integer | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'c' | 8bits signed integer | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'b' | 8bits unsigned integer | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'f' | 32bits float | float | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'd' | 64bits float | float | ++--------------+--------------------------------------------------------------------------------+----------------------+ + +.. js:function:: blob.resize(size) + + :param int size: the new size of the blobl in bytes + + resizes the blob to the specified `size` + +.. js:function:: blob.seek(offset [,origin]) + + :param int offset: indicates the number of bytes from `origin`. + :param int origin: origin of the seek + + +--------------+-------------------------------------------+ + | 'b' | beginning of the stream | + +--------------+-------------------------------------------+ + | 'c' | current location | + +--------------+-------------------------------------------+ + | 'e' | end of the stream | + +--------------+-------------------------------------------+ + + Moves the read/write pointer to a specified location. + +.. note:: If origin is omitted the parameter is defaulted as 'b'(beginning of the stream). + +.. js:function:: blob.swap2() + + swaps the byte order of the blob content as it would be an array of `16bits integers` + +.. js:function:: blob.swap4() + + swaps the byte order of the blob content as it would be an array of `32bits integers` + +.. js:function:: blob.tell() + + returns the read/write pointer absolute position + +.. js:function:: blob.writeblob(src) + + :param blob src: the source blob containing the data to be written + + writes a blob in the stream + +.. js:function:: blob.writen(n, type) + + :param number n: the value to be written + :param int type: type of the number to write + + writes a number in the stream formatted according to the `type` pameter + + `type` can have the following values: + ++--------------+--------------------------------------------------------------------------------+ +| parameter | return description | ++==============+================================================================================+ +| 'i' | 32bits number | ++--------------+--------------------------------------------------------------------------------+ +| 's' | 16bits signed integer | ++--------------+--------------------------------------------------------------------------------+ +| 'w' | 16bits unsigned integer | ++--------------+--------------------------------------------------------------------------------+ +| 'c' | 8bits signed integer | ++--------------+--------------------------------------------------------------------------------+ +| 'b' | 8bits unsigned integer | ++--------------+--------------------------------------------------------------------------------+ +| 'f' | 32bits float | ++--------------+--------------------------------------------------------------------------------+ +| 'd' | 64bits float | ++--------------+--------------------------------------------------------------------------------+ + + +------ +C API +------ + +.. _sqstd_register_bloblib: + +.. c:function:: SQRESULT sqstd_register_bloblib(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: an SQRESULT + :remarks: The function aspects a table on top of the stack where to register the global library functions. + + initializes and registers the blob library in the given VM. + +.. _sqstd_getblob: + +.. c:function:: SQRESULT sqstd_getblob(HSQUIRRELVM v, SQInteger idx, SQUserPointer* ptr) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: and index in the stack + :param SQUserPointer* ptr: A pointer to the userpointer that will point to the blob's payload + :returns: an SQRESULT + + retrieve the pointer of a blob's payload from an arbitrary + position in the stack. + +.. _sqstd_getblobsize: + +.. c:function:: SQInteger sqstd_getblobsize(HSQUIRRELVM v, SQInteger idx) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: and index in the stack + :returns: the size of the blob at `idx` position + + retrieves the size of a blob's payload from an arbitrary + position in the stack. + +.. _sqstd_createblob: + +.. c:function:: SQUserPointer sqstd_createblob(HSQUIRRELVM v, SQInteger size) + + :param HSQUIRRELVM v: the target VM + :param SQInteger size: the size of the blob payload that has to be created + :returns: a pointer to the newly created blob payload + + creates a blob with the given payload size and pushes it in the stack. \ No newline at end of file diff --git a/doc/source/stdlib/stdiolib.rst b/doc/source/stdlib/stdiolib.rst new file mode 100644 index 0000000..26660f7 --- /dev/null +++ b/doc/source/stdlib/stdiolib.rst @@ -0,0 +1,264 @@ +.. _stdlib_stdiolib: + +======================== +The Input/Output library +======================== + +the i/o library implements basic input/output routines. + +-------------- +Squirrel API +-------------- + +++++++++++++++ +Global Symbols +++++++++++++++ + + +.. js:function:: dofile(path, [raiseerror]) + + compiles a squirrel script or loads a precompiled one and executes it. + returns the value returned by the script or null if no value is returned. + if the optional parameter 'raiseerror' is true, the compiler error handler is invoked + in case of a syntax error. If raiseerror is omitted or set to false, the compiler + error handler is not ivoked. + When squirrel is compiled in unicode mode the function can handle different character ecodings, + UTF8 with and without prefix and UCS-2 prefixed(both big endian an little endian). + If the source stream is not prefixed UTF8 ecoding is used as default. + +.. js:function:: loadfile(path, [raiseerror]) + + compiles a squirrel script or loads a precompiled one an returns it as as function. + if the optional parameter 'raiseerror' is true, the compiler error handler is invoked + in case of a syntax error. If raiseerror is omitted or set to false, the compiler + error handler is not ivoked. + When squirrel is compiled in unicode mode the function can handle different character ecodings, + UTF8 with and without prefix and UCS-2 prefixed(both big endian an little endian). + If the source stream is not prefixed UTF8 ecoding is used as default. + +.. js:function:: writeclosuretofile(destpath, closure) + + serializes a closure to a bytecode file (destpath). The serialized file can be loaded + using loadfile() and dofile(). + + +.. js:data:: stderr + + File object bound on the os *standard error* stream + +.. js:data:: stdin + + File object bound on the os *standard input* stream + +.. js:data:: stdout + + File object bound on the os *standard output* stream + + +++++++++++++++ +The file class +++++++++++++++ + + The file object implements a stream on a operating system file. + +.. js:class:: file(path, patten) + + It's contructor imitates the behaviour of the C runtime function fopen for eg. :: + + local myfile = file("test.xxx","wb+"); + + creates a file with read/write access in the current directory. + +.. js:function:: file.close() + + closes the file. + +.. js:function:: file.eos() + + returns a non null value if the read/write pointer is at the end of the stream. + +.. js:function:: file.flush() + + flushes the stream.return a value != null if succeded, otherwise returns null + +.. js:function:: file.len() + + returns the lenght of the stream + +.. js:function:: file.readblob(size) + + :param int size: number of bytes to read + + read n bytes from the stream and retuns them as blob + +.. js:function:: file.readn(type) + + :param int type: type of the number to read + + reads a number from the stream according to the type pameter. + + `type` can have the following values: + ++--------------+--------------------------------------------------------------------------------+----------------------+ +| parameter | return description | return type | ++==============+================================================================================+======================+ +| 'l' | processor dependent, 32bits on 32bits processors, 64bits on 64bits prcessors | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'i' | 32bits number | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 's' | 16bits signed integer | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'w' | 16bits unsigned integer | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'c' | 8bits signed integer | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'b' | 8bits unsigned integer | integer | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'f' | 32bits float | float | ++--------------+--------------------------------------------------------------------------------+----------------------+ +| 'd' | 64bits float | float | ++--------------+--------------------------------------------------------------------------------+----------------------+ + +.. js:function:: file.resize(size) + + :param int size: the new size of the blobl in bytes + + resizes the blob to the specified `size` + +.. js:function:: file.seek(offset [,origin]) + + :param int offset: indicates the number of bytes from `origin`. + :param int origin: origin of the seek + + +--------------+-------------------------------------------+ + | 'b' | beginning of the stream | + +--------------+-------------------------------------------+ + | 'c' | current location | + +--------------+-------------------------------------------+ + | 'e' | end of the stream | + +--------------+-------------------------------------------+ + + Moves the read/write pointer to a specified location. + +.. note:: If origin is omitted the parameter is defaulted as 'b'(beginning of the stream). + +.. js:function:: file.tell() + + returns the read/write pointer absolute position + +.. js:function:: file.writeblob(src) + + :param blob src: the source blob containing the data to be written + + writes a blob in the stream + +.. js:function:: file.writen(n, type) + + :param number n: the value to be written + :param int type: type of the number to write + + writes a number in the stream formatted according to the `type` pameter + + `type` can have the following values: + ++--------------+--------------------------------------------------------------------------------+ +| parameter | return description | ++==============+================================================================================+ +| 'i' | 32bits number | ++--------------+--------------------------------------------------------------------------------+ +| 's' | 16bits signed integer | ++--------------+--------------------------------------------------------------------------------+ +| 'w' | 16bits unsigned integer | ++--------------+--------------------------------------------------------------------------------+ +| 'c' | 8bits signed integer | ++--------------+--------------------------------------------------------------------------------+ +| 'b' | 8bits unsigned integer | ++--------------+--------------------------------------------------------------------------------+ +| 'f' | 32bits float | ++--------------+--------------------------------------------------------------------------------+ +| 'd' | 64bits float | ++--------------+--------------------------------------------------------------------------------+ + + +-------------- +C API +-------------- + +.. _sqstd_register_iolib: + +.. c:function:: SQRESULT sqstd_register_iolib(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: an SQRESULT + :remarks: The function aspects a table on top of the stack where to register the global library functions. + + initialize and register the io library in the given VM. + +++++++++++++++ +File Object +++++++++++++++ + +.. c:function:: SQRESULT sqstd_createfile(HSQUIRRELVM v, SQFILE file, SQBool owns) + + :param HSQUIRRELVM v: the target VM + :param SQFILE file: the stream that will be rapresented by the file object + :param SQBool owns: if different true the stream will be automatically closed when the newly create file object is destroyed. + :returns: an SQRESULT + + creates a file object bound to the SQFILE passed as parameter + and pushes it in the stack + +.. c:function:: SQRESULT sqstd_getfile(HSQUIRRELVM v, SQInteger idx, SQFILE* file) + + :param HSQUIRRELVM v: the target VM + :param SQInteger idx: and index in the stack + :param SQFILE* file: A pointer to a SQFILE handle that will store the result + :returns: an SQRESULT + + retrieve the pointer of a stream handle from an arbitrary + position in the stack. + +++++++++++++++++++++++++++++++++ +Script loading and serialization +++++++++++++++++++++++++++++++++ + +.. c:function:: SQRESULT sqstd_loadfile(HSQUIRRELVM v, const SQChar* filename, SQBool printerror) + + :param HSQUIRRELVM v: the target VM + :param SQChar* filename: path of the script that has to be loaded + :param SQBool printerror: if true the compiler error handler will be called if a error occurs + :returns: an SQRESULT + + Compiles a squirrel script or loads a precompiled one an pushes it as closure in the stack. + When squirrel is compiled in unicode mode the function can handle different character ecodings, + UTF8 with and without prefix and UCS-2 prefixed(both big endian an little endian). + If the source stream is not prefixed UTF8 ecoding is used as default. + +.. c:function:: SQRESULT sqstd_dofile(HSQUIRRELVM v, const SQChar* filename, SQBool retval, SQBool printerror) + + :param HSQUIRRELVM v: the target VM + :param SQChar* filename: path of the script that has to be loaded + :param SQBool retval: if true the function will push the return value of the executed script in the stack. + :param SQBool printerror: if true the compiler error handler will be called if a error occurs + :returns: an SQRESULT + :remarks: the function aspects a table on top of the stack that will be used as 'this' for the execution of the script. The 'this' parameter is left untouched in the stack. + + Compiles a squirrel script or loads a precompiled one and executes it. + Optionally pushes the return value of the executed script in the stack. + When squirrel is compiled in unicode mode the function can handle different character ecodings, + UTF8 with and without prefix and UCS-2 prefixed(both big endian an little endian). + If the source stream is not prefixed UTF8 ecoding is used as default. :: + + sq_pushroottable(v); //push the root table(were the globals of the script will are stored) + sqstd_dofile(v, _SC("test.nut"), SQFalse, SQTrue);// also prints syntax errors if any + +.. c:function:: SQRESULT sqstd_writeclosuretofile(HSQUIRRELVM v, const SQChar* filename) + + :param HSQUIRRELVM v: the target VM + :param SQChar* filename: destination path of serialized closure + :returns: an SQRESULT + + serializes the closure at the top position in the stack as bytecode in + the file specified by the paremeter filename. If a file with the + same name already exists, it will be overwritten. + diff --git a/doc/source/stdlib/stdmathlib.rst b/doc/source/stdlib/stdmathlib.rst new file mode 100644 index 0000000..5f0b8b4 --- /dev/null +++ b/doc/source/stdlib/stdmathlib.rst @@ -0,0 +1,111 @@ +.. _stdlib_stdmathlib: + +================ +The Math library +================ + +the math lib provides basic mathematic routines. The library mimics the +C runtime library implementation. + +------------ +Squirrel API +------------ + ++++++++++++++++ +Global Symbols ++++++++++++++++ + +.. js:function:: abs(x) + + returns the absolute value of `x` as an integer + +.. js:function:: acos(x) + + returns the arccosine of `x` + +.. js:function:: asin(x) + + returns the arcsine of `x` + +.. js:function:: atan(x) + + returns the arctangent of `x` + +.. js:function:: atan2(x,y) + + returns the arctangent of `x/y` + +.. js:function:: ceil(x) + + returns a float value representing the smallest integer that is greater than or equal to `x` + +.. js:function:: cos(x) + + returns the cosine of `x` + +.. js:function:: exp(x) + + returns the exponential value of the float parameter `x` + +.. js:function:: fabs(x) + + returns the absolute value of `x` as a float + +.. js:function:: floor(x) + + returns a float value representing the largest integer that is less than or equal to `x` + +.. js:function:: log(x) + + returns the natural logarithm of `x` + +.. js:function:: log10(x) + + returns the logarithm base-10 of `x` + +.. js:function:: pow(x,y) + + returns `x` raised to the power of `y` + +.. js:function:: rand() + + returns a pseudorandom integer in the range 0 to `RAND_MAX` + +.. js:function:: sin(x) + + rreturns the sine of `x` + +.. js:function:: sqrt(x) + + returns the square root of `x` + +.. js:function:: srand(seed) + + sets the starting point for generating a series of pseudorandom integers + +.. js:function:: tan(x) + + returns the tangent of `x` + +.. js:data:: RAND_MAX + + the maximum value that can be returned by the `rand()` function + +.. js:data:: PI + + The numeric constant pi (3.141592) is the ratio of the circumference of a circle to its diameter + +------------ +C API +------------ + +.. _sqstd_register_mathlib: + +.. c:function:: SQRESULT sqstd_register_mathlib(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: an SQRESULT + :remarks: The function aspects a table on top of the stack where to register the global library functions. + + initializes and register the math library in the given VM. + diff --git a/doc/source/stdlib/stdstringlib.rst b/doc/source/stdlib/stdstringlib.rst new file mode 100644 index 0000000..4d8a73f --- /dev/null +++ b/doc/source/stdlib/stdstringlib.rst @@ -0,0 +1,302 @@ +.. _stdlib_stdstringlib: + +================== +The String library +================== + +the string lib implements string formatting and regular expression matching routines. + +-------------- +Squirrel API +-------------- + +++++++++++++++ +Global Symbols +++++++++++++++ + +.. js:function:: ecape(str) + + Returns a string with backslashes before characters that need to be escaped(`\",\a,\b,\t,\n,\v,\f,\r,\\,\",\',\0,\xnn`). + +.. js:function:: format(formatstr, ...) + + Returns a string formatted according `formatstr` and the optional parameters following it. + The format string follows the same rules as the `printf` family of + standard C functions( the "*" is not supported). :: + + eg. + sq> print(format("%s %d 0x%02X\n","this is a test :",123,10)); + this is a test : 123 0x0A + +.. js:function:: lstrip(str) + + Strips white-space-only characters that might appear at the beginning of the given string + and returns the new stripped string. + +.. js:function:: rstrip(str) + + Strips white-space-only characters that might appear at the end of the given string + and returns the new stripped string. + +.. js:function:: split(str, separtators) + + returns an array of strings split at each point where a separator character occurs in `str`. + The separator is not returned as part of any array element. + The parameter `separators` is a string that specifies the characters as to be used for the splitting. + + :: + + eg. + local a = split("1.2-3;4/5",".-/;"); + // the result will be [1,2,3,4,5] + +.. js:function:: strip(str) + + Strips white-space-only characters that might appear at the beginning or end of the given string and returns the new stripped string. + +++++++++++++++++++ +The regexp class +++++++++++++++++++ + +.. js:class:: regexp(pattern) + + The regexp object rapresent a precompiled regular experssion pattern. The object is created + trough `regexp(patern)`. + + ++---------------------+--------------------------------------+ +| `\\` | Quote the next metacharacter | ++---------------------+--------------------------------------+ +| `^` | Match the beginning of the string | ++---------------------+--------------------------------------+ +| `.` | Match any character | ++---------------------+--------------------------------------+ +| `$` | Match the end of the string | ++---------------------+--------------------------------------+ +| `|` | Alternation | ++---------------------+--------------------------------------+ +| `(subexp)` | Grouping (creates a capture) | ++---------------------+--------------------------------------+ +| `(?:subexp)` | No Capture Grouping (no capture) | ++---------------------+--------------------------------------+ +| `[]` | Character class | ++---------------------+--------------------------------------+ + +**GREEDY CLOSURES** + ++---------------------+---------------------------------------------+ +| `*` | Match 0 or more times | ++---------------------+---------------------------------------------+ +| `+` | Match 1 or more times | ++---------------------+---------------------------------------------+ +| `?` | Match 1 or 0 times | ++---------------------+---------------------------------------------+ +| `{n}` | Match exactly n times | ++---------------------+---------------------------------------------+ +| `{n,}` | Match at least n times | ++---------------------+---------------------------------------------+ +| `{n,m}` | Match at least n but not more than m times | ++---------------------+---------------------------------------------+ + +**ESCAPE CHARACTERS** + ++---------------------+--------------------------------------+ +| `\\t` | tab (HT, TAB) | ++---------------------+--------------------------------------+ +| `\\n` | newline (LF, NL) | ++---------------------+--------------------------------------+ +| `\\r` | return (CR) | ++---------------------+--------------------------------------+ +| `\\f` | form feed (FF) | ++---------------------+--------------------------------------+ + +**PREDEFINED CLASSES** + ++---------------------+--------------------------------------+ +| `\\l` | lowercase next char | ++---------------------+--------------------------------------+ +| `\\u` | uppercase next char | ++---------------------+--------------------------------------+ +| `\\a` | letters | ++---------------------+--------------------------------------+ +| `\\A` | non letters | ++---------------------+--------------------------------------+ +| `\\w` | alphanumeric `[_0-9a-zA-Z]` | ++---------------------+--------------------------------------+ +| `\\W` | non alphanumeric `[^_0-9a-zA-Z]` | ++---------------------+--------------------------------------+ +| `\\s` | space | ++---------------------+--------------------------------------+ +| `\\S` | non space | ++---------------------+--------------------------------------+ +| `\\d` | digits | ++---------------------+--------------------------------------+ +| `\\D` | non nondigits | ++---------------------+--------------------------------------+ +| `\\x` | exadecimal digits | ++---------------------+--------------------------------------+ +| `\\X` | non exadecimal digits | ++---------------------+--------------------------------------+ +| `\\c` | control characters | ++---------------------+--------------------------------------+ +| `\\C` | non control characters | ++---------------------+--------------------------------------+ +| `\\p` | punctation | ++---------------------+--------------------------------------+ +| `\\P` | non punctation | ++---------------------+--------------------------------------+ +| `\\b` | word boundary | ++---------------------+--------------------------------------+ +| `\\B` | non word boundary | ++---------------------+--------------------------------------+ + + +.. js:function:: regexp.capture(str [, start]) + + returns an array of tables containing two indexs("begin" and "end")of + the first match of the regular expression in the string `str`. + An array entry is created for each captured sub expressions. If no match occurs returns null. + The search starts from the index `start` + of the string, if `start` is omitted the search starts from the beginning of the string. + + the first element of the returned array(index 0) always contains the complete match. + + :: + + local ex = regexp(@"(\d+) ([a-zA-Z]+)(\p)"); + local string = "stuff 123 Test;"; + local res = ex.capture(string); + foreach(i,val in res) + { + print(format("match number[%02d] %s\n", + i,string.slice(val.begin,val.end))); //prints "Test" + } + + ... + will print + match number[00] 123 Test; + match number[01] 123 + match number[02] Test + match number[03] ; + +.. js:function:: regexp.match(str) + + returns a true if the regular expression matches the string + `str`, otherwise returns false. + +.. js:function:: regexp.search(str [, start]) + + returns a table containing two indexs("begin" and "end") of the first match of the regular expression in + the string `str`, otherwise if no match occurs returns null. The search starts from the index `start` + of the string, if `start` is omitted the search starts from the beginning of the string. + + :: + + local ex = regexp("[a-zA-Z]+"); + local string = "123 Test;"; + local res = ex.search(string); + print(string.slice(res.begin,res.end)); //prints "Test" + +------------- +C API +------------- + +.. _sqstd_register_stringlib: + +.. c:function:: SQRESULT sqstd_register_stringlib(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: an SQRESULT + :remarks: The function aspects a table on top of the stack where to register the global library functions. + + initialize and register the string library in the given VM. + ++++++++++++++ +Formatting ++++++++++++++ + +.. c:function:: SQRESULT sqstd_format(HSQUIRRELVM v, SQInteger nformatstringidx, SQInteger* outlen, SQChar** output) + + :param HSQUIRRELVM v: the target VM + :param SQInteger nformatstringidx: index in the stack of the format string + :param SQInteger* outlen: a pointer to an integer that will be filled with the length of the newly created string + :param SQChar** output: a pointer to a string pointer that will receive the newly created string + :returns: an SQRESULT + :remarks: the newly created string is allocated in the scratchpad memory. + + + creates a new string formatted according to the object at position `nformatstringidx` and the optional parameters following it. + The format string follows the same rules as the `printf` family of + standard C functions( the "*" is not supported). + +++++++++++++++++++ +Regular Expessions +++++++++++++++++++ + +.. c:function:: SQRex* sqstd_rex_compile(const SQChar *pattern, const SQChar ** error) + + :param SQChar* pattern: a pointer to a zero terminated string containing the pattern that has to be compiled. + :param SQChar** error: a pointer to a string pointer that will be set with an error string in case of failure. + :returns: a pointer to the compiled pattern + + compiles an expression and returns a pointer to the compiled version. + in case of failure returns NULL.The returned object has to be deleted + through the function sqstd_rex_free(). + +.. c:function:: void sqstd_rex_free(SQRex * exp) + + :param SQRex* exp: the expression structure that has to be deleted. + + deletes a expression structure created with sqstd_rex_compile() + +.. c:function:: SQBool sqstd_rex_match(SQRex * exp,const SQChar * text) + + :param SQRex* exp: a compiled expression + :param SQChar* text: the string that has to be tested + :returns: SQTrue if successful otherwise SQFalse + + returns SQTrue if the string specified in the parameter text is an + exact match of the expression, otherwise returns SQFalse. + +.. c:function:: SQBool sqstd_rex_search(SQRex * exp, const SQChar * text, const SQChar ** out_begin, const SQChar ** out_end) + + :param SQRex* exp: a compiled expression + :param SQChar* text: the string that has to be tested + :param SQChar** out_begin: a pointer to a string pointer that will be set with the beginning of the match + :param SQChar** out_end: a pointer to a string pointer that will be set with the end of the match + :returns: SQTrue if successful otherwise SQFalse + + searches the first match of the expressin in the string specified in the parameter text. + if the match is found returns SQTrue and the sets out_begin to the beginning of the + match and out_end at the end of the match; otherwise returns SQFalse. + +.. c:function:: SQBool sqstd_rex_searchrange(SQRex * exp, const SQChar * text_begin, const SQChar * text_end, const SQChar ** out_begin, const SQChar ** out_end) + + :param SQRex* exp: a compiled expression + :param SQChar* text_begin: a pointer to the beginnning of the string that has to be tested + :param SQChar* text_end: a pointer to the end of the string that has to be tested + :param SQChar** out_begin: a pointer to a string pointer that will be set with the beginning of the match + :param SQChar** out_end: a pointer to a string pointer that will be set with the end of the match + :returns: SQTrue if successful otherwise SQFalse + + searches the first match of the expressin in the string delimited + by the parameter text_begin and text_end. + if the match is found returns SQTrue and the sets out_begin to the beginning of the + match and out_end at the end of the match; otherwise returns SQFalse. + +.. c:function:: SQInteger sqstd_rex_getsubexpcount(SQRex * exp) + + :param SQRex* exp: a compiled expression + :returns: the number of sub expressions matched by the expression + + returns the number of sub expressions matched by the expression + +.. c:function:: SQBool sqstd_rex_getsubexp(SQRex * exp, SQInteger n, SQRexMatch *subexp) + + :param SQRex* exp: a compiled expression + :param SQInteger n: the index of the submatch(0 is the complete match) + :param SQRexMatch* a: pointer to structure that will store the result + :returns: the function returns SQTrue if n is valid index otherwise SQFalse. + + retrieve the begin and and pointer to the length of the sub expression indexed + by n. The result is passed trhough the struct SQRexMatch. diff --git a/doc/source/stdlib/stdsystemlib.rst b/doc/source/stdlib/stdsystemlib.rst new file mode 100644 index 0000000..3353558 --- /dev/null +++ b/doc/source/stdlib/stdsystemlib.rst @@ -0,0 +1,82 @@ +.. _stdlib_stdsystemlib: + +================== +The System library +================== + +The system library exposes operating system facilities like environment variables, +date time manipulation etc.. + +-------------- +Squirrel API +-------------- + +++++++++++++++ +Global Symbols +++++++++++++++ + +.. js:function:: clock() + + returns a float representing the number of seconds elapsed since the start of the process + +.. js:function:: date([time [, format]]) + + returns a table containing a date/time splitted in the slots: + ++-------------+----------------------------------------+ +| sec | Seconds after minute (0 - 59). | ++-------------+----------------------------------------+ +| min | Minutes after hour (0 - 59). | ++-------------+----------------------------------------+ +| hour | Hours since midnight (0 - 23). | ++-------------+----------------------------------------+ +| day | Day of month (1 - 31). | ++-------------+----------------------------------------+ +| month | Month (0 - 11; January = 0). | ++-------------+----------------------------------------+ +| year | Year (current year). | ++-------------+----------------------------------------+ +| wday | Day of week (0 - 6; Sunday = 0). | ++-------------+----------------------------------------+ +| yday | Day of year (0 - 365; January 1 = 0). | ++-------------+----------------------------------------+ + +if `time` is omitted the current time is used. + +if `format` can be 'l' local time or 'u' UTC time, if omitted is defaulted as 'l'(local time). + +.. js:function:: getenv(varaname) + + Returns a string containing the value of the environment variable `varname` + +.. js:function:: remove(path) + + deletes the file specified by `path` + +.. js:function:: rename(oldname, newname) + + renames the file or directory specified by `oldname` to the name given by `newname` + +.. js:function:: system(cmd) + + xecutes the string `cmd` through the os command interpreter. + +.. js:function:: time() + + returns the number of seconds elapsed since midnight 00:00:00, January 1, 1970. + + the result of this function can be formatted through the function `date()` + +-------------- +C API +-------------- + +.. _sqstd_register_systemlib: + +.. c:function:: SQRESULT sqstd_register_systemlib(HSQUIRRELVM v) + + :param HSQUIRRELVM v: the target VM + :returns: an SQRESULT + :remarks: The function aspects a table on top of the stack where to register the global library functions. + + initialize and register the system library in the given VM. \ No newline at end of file diff --git a/doc/sqstdlib3.chm b/doc/sqstdlib3.chm deleted file mode 100644 index 87d41db..0000000 Binary files a/doc/sqstdlib3.chm and /dev/null differ diff --git a/doc/sqstdlib3.pdf b/doc/sqstdlib3.pdf deleted file mode 100644 index 652b3e6..0000000 --- a/doc/sqstdlib3.pdf +++ /dev/null @@ -1,1714 +0,0 @@ -%PDF-1.3 -%ª«¬­ -4 0 obj -<< /Type /Info -/Producer (FOP 0.20.5) >> -endobj -5 0 obj -<< /Length 202 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gaqco]+T]L&4QJD`Kj?1As\1(;F`;Y446,)+Ajos3^t[uHgsDgnb\U9a7]Gg'lb.8D\'ai&]L@hi?LQm&;F!4VnJ+G4Jpr@uH`d&8+f/1TXdFOAZ'p:!np8O9ZQ>rZ/<)]jLbg5.b0l7t$~> -endstream -endobj -6 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 5 0 R ->> -endobj -7 0 obj -<< /Length 1340 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasIhgN';b'Rf^+W&uA+L'&i1jp`&8cQG3oSkNlS%k+RR'[e&3tS?h7LiJmX8:L'Rcni'n#4Zb-@ip)ZS8$h9]+q)/Bo90Q[JjQ+nDn+'4o.,^rX_NU^,A:.Dhc)!#*PE?Ze6?Hsg>LZ2FL.gX:0:IZ\QeiBXI=c]R(JM3QscdS-g#mIH>c1c\07;@]j>G6Re6mOD_%r$+ml>XTjR/7X#FnkL>IZ2O>hP!$s,<'/HoF<%bM;9-**n%=l?X',9^"B?l]mn\B,Ti.gU&IDs'Bd26Q0a$'6`I6,2`3)+r;Ng,jh%uXSjk0J*)V&;@qoA>&JIqQk&[S$N2g3H%Pe8tGM)_ht*c!Mg`/(pm!fF?X6`eNjS"qGKgG)ZbgZWP"]?\5^[&j1a?uK+>9"C$kVOE".g]'%(0gZJY)J22:Ch:5`PbE6!D?)!F2b2.8L0BAaqnTIERU;P=J'NZIQ@.23Fm_&`;M?6U"J#3:JUboB_cbZq2Z`ZM@RL;;cb;P=V?3HXIhT=oPX8e&E;G\)eWE1d]\`RK-*r+c$?LB<8i^@rX"lilGkX?^rRkX59*nB0KpM6_NdEq(+0]Hot3.t.u-%^=sGRdBIN4=8EedCWaB9AO;/cpBPmY<'fWF1a?fU'&&0\.G0=c-9!m><$\FB"@l3((Q=R;SqAV)LlE]3aI46LNUUm%Tgni>.Ze)XDq,BKf-[N=gOUI<;6"GK.erU/r5BN2PpXL7^F::-_;\..Hr8OQEIF1;\V]!?5`93H%@a_6]s-S](j)Dq1nluOC##PNQC7A6n5Yj]?1k1F@6YN;NEg`SdLVE,jY$-LnVqYn3DVD\EH7@UYpS7X\;uW*An#E>q`W$kV0."c7pLeE!D[f57+mcN3"i:QRX8~> -endstream -endobj -8 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 7 0 R ->> -endobj -9 0 obj -<< /Length 71 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Garg^iGoCd.c`?]8EV`b1=.gR0K1`91K?+0ZOMGdU/Zh'Y!=Te%#&:?HH*JE! -endstream -endobj -10 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 9 0 R ->> -endobj -11 0 obj -<< /Length 1268 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/l9llag*6.GrMEQ\].Jq-.1!(]3FJdNRGjG!P8dl^SK@iclkmOSG`N7'NULNdf%fY*'\qfHgs">p9rSGRf:8he]TCd&J%N5!hEJctQ4D$[nFTX]:P4U-_k=IlX,`tMZ0[I'-8Hh+GDd%qZkqnHuq:m1/8H3aNBh>7%>c"rNI9"G4!E]%Sor,GQ[EFKLEr>!5RV1ku1!J[">)[LdQDZ(AZ"SMnF:K7[&(YL"Sih@?_dYQ66a;V0KGKphJGmDPR!m]1&6$;::9so\3Ac^l)c#B;Pb4J\#A;Y$W(RQ&UoR9%$#(fuX)"1.[US3=q!6:BL_$D'Nab1m5S3'.j>(-K2V%ZT.js5TnF&m@bGa!H7>`gffOPKSLfQ#R&k8,73C^7Ja**UoS4"a'fV\%@8@Sjp-\@p)jq12&5T-FWj@;?VtM\8@XLrF\\_YREC<_3)bCJ_h\)IDn"?"hB\S!Y>Y0@O"aNGik]p!!G>4g+6sW7q\*j+j3:#R&j^jXL=N,T6bM+OJscaZ$@a6m0hn!!9h[g8oO+CJJ[^0ch89KM)h=#7q15T+2DLl^MIUn`Tti[`nEh04BSY]tJom)&h"pb@cXo4X]>nG4M[/pIl5daI.Eu0n;O08t4qe!j->01^BZHkY8DpYgBF(PAnEGq95.?Z+:JO&[[Q>XR`%sMV<*psF5[C2>cfuGt0)E8nSjUL\AS>CYBTe1/SV"/'h"8>TcMFRh]#*ULo4ip=:9hm66ulLVarfY.c"I"XJ*HZd~> -endstream -endobj -12 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 11 0 R -/Annots 13 0 R ->> -endobj -13 0 obj -[ -14 0 R -16 0 R -18 0 R -20 0 R -22 0 R -24 0 R -26 0 R -28 0 R -30 0 R -32 0 R -34 0 R -36 0 R -38 0 R -40 0 R -42 0 R -44 0 R -46 0 R -48 0 R -50 0 R -52 0 R -54 0 R -56 0 R -58 0 R -60 0 R -62 0 R -64 0 R -66 0 R -68 0 R -70 0 R -72 0 R -74 0 R -76 0 R -78 0 R -80 0 R -82 0 R -84 0 R -86 0 R -88 0 R -] -endobj -14 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 655.001 179.44 645.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 15 0 R -/H /I ->> -endobj -16 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 644.001 228.88 634.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 17 0 R -/H /I ->> -endobj -18 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 633.001 194.83 623.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 19 0 R -/H /I ->> -endobj -20 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 622.001 231.06 612.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 21 0 R -/H /I ->> -endobj -22 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 611.001 205.5 601.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 23 0 R -/H /I ->> -endobj -24 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 600.001 169.28 590.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 25 0 R -/H /I ->> -endobj -26 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 589.001 219.11 579.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 27 0 R -/H /I ->> -endobj -28 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 578.001 210.5 568.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 29 0 R -/H /I ->> -endobj -30 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 567.001 292.71 557.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 31 0 R -/H /I ->> -endobj -32 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 556.001 196.66 546.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 33 0 R -/H /I ->> -endobj -34 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 545.001 194.83 535.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 35 0 R -/H /I ->> -endobj -36 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 534.001 231.06 524.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 37 0 R -/H /I ->> -endobj -38 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 523.001 225.77 513.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 39 0 R -/H /I ->> -endobj -40 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 512.001 169.28 502.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 41 0 R -/H /I ->> -endobj -42 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 501.001 219.11 491.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 43 0 R -/H /I ->> -endobj -44 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 490.001 214.39 480.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 45 0 R -/H /I ->> -endobj -46 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 479.001 198.32 469.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 47 0 R -/H /I ->> -endobj -48 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 468.001 194.83 458.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 49 0 R -/H /I ->> -endobj -50 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 457.001 231.06 447.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 51 0 R -/H /I ->> -endobj -52 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 446.001 169.28 436.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 53 0 R -/H /I ->> -endobj -54 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 435.001 219.11 425.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 55 0 R -/H /I ->> -endobj -56 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 424.001 206.66 414.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 57 0 R -/H /I ->> -endobj -58 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 413.001 194.83 403.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 59 0 R -/H /I ->> -endobj -60 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 402.001 231.06 392.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 61 0 R -/H /I ->> -endobj -62 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 391.001 169.28 381.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 63 0 R -/H /I ->> -endobj -64 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 380.001 219.11 370.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 65 0 R -/H /I ->> -endobj -66 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 369.001 201.66 359.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 67 0 R -/H /I ->> -endobj -68 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 358.001 194.83 348.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 69 0 R -/H /I ->> -endobj -70 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 347.001 231.06 337.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 71 0 R -/H /I ->> -endobj -72 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 336.001 220.49 326.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 73 0 R -/H /I ->> -endobj -74 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 325.001 169.28 315.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 75 0 R -/H /I ->> -endobj -76 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 314.001 219.11 304.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 77 0 R -/H /I ->> -endobj -78 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 303.001 212.45 293.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 79 0 R -/H /I ->> -endobj -80 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 292.001 247.16 282.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 81 0 R -/H /I ->> -endobj -82 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 281.001 194.43 271.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 83 0 R -/H /I ->> -endobj -84 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 270.001 169.28 260.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 85 0 R -/H /I ->> -endobj -86 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 259.001 226.6 249.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 87 0 R -/H /I ->> -endobj -88 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 248.001 142.77 238.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 89 0 R -/H /I ->> -endobj -90 0 obj -<< /Length 971 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gas1_9lHOU&A@P9n8Y3KKWesRgleV$dR2K`83JdmGer`M1,^j6$2sN;0Z5l'C8I3YH"NZH4C`H)D/MO-.#bjW+[T>Bn^2%a+?K1_oT0L)u?7'<'Uc<.IgYI(MXYSh0b7UseQ*4HA+>@ot>=.0YoI#q_d9RA:nfmE="Y]=WF]2C+F1.:S5Ptjk"\nDH/A/3%'Eaf\B&b/"qbEg=^47!#no2XVcga.TRAe30!LU%FfUH]Br5g^OuBPH.:?gGZ2J7ZhGJGWph&\0A'BQ7^Ea[i-@JF\X6RMQf*R;fF,"?Bp.'LHK8,r^ZQ>M<6J\)!\Q:IU03Ya@FDimSA(MM0+Zi+>n^7Y#om:hK)RFBB:X,nb=qJ6YCaT.u>UW24(%@8__iKUmj!F:YFl!J*m_#m,Pn9Tm.FO0TlR(S*ujDD!hQN/CC3L,\uI2JA^tAI5M1_nLm$C8>#~> -endstream -endobj -91 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 90 0 R ->> -endobj -92 0 obj -<< /Length 2083 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`Uhf%7-&:Vr4+loI0eh[)=$,[h8@NDb@D5`@U1ju$.3n>WNY!f\>rq]L'U[BPbEI^1d!Kt&>ms+b$hFB&6=')m",;5!EQ:9YFHf]Sb=+TP(T>4Zc_Y;J0(MUPSp.R^AYask)\7pQ0VJZ:H.-CDtTUA,k1rnN+qje3<\;K8CLZDb8c\l&3h$N(1iIk5rA[Gg\t$K]rH3F[^GJE@ci-o9W5?NJ)%:g_,>s>E>UnQM%0&leZ@jH,RIpud66mK:";sXK&@&88`gtY"9NG/D-[7X>(,W8iRljkFs@0*)F(P0&W,^'AmeUY[3PmY+.*`-nC!L.ML_/a.Ense3C#tYg1aLhGCq#F8S"DY\`?$F?hCuo!^JHsXSg't5\&#n;i]fn4T/ea.%7Nutfhi("INMFD>kE>`A+rM+ZndhR]WV`=7)So/K\9Q3!&!lmUfl5ZfeZ4p8-@3XQN?Ld]PkpY.g0$#:mUdlt/'8.l!NPCDp5am!!2=_Bl>+3120L'l2HmRZqht$:0E]G,cmK9)F-Pr"a?PgTaB<`a]@%O04b3`6;L-/TAFRpW%J"hLtL7C3.-l2gg:$q*9h;2^Q]("sg`7>7bc3IID(WRE"WRo%=Z=-`k6DI9SDRmW>MjT!9soB\5AEf\)>i;+(k%4rpWk\>*Rd)mtrZV8[",NO)%J\ZIoIJM%OLRa&PF2ke7Rnrr4VKGl2*,si=!;6gr]QY[jFPV&RMa)MF9]%2a]Y"9tW6po'#Phg',SjpQO[No).J<;iH6%V?qVjS`(,/O^;>agHSb1W<"W!0U>knB+4'4aN9?:Dss+PV<%.R[:8:K.KYY'nBi$5?68@'N[b8J"lB8$Z*JF($YiF)^q8KBn5-(7DXZ(noEf[a_=UR]\RQr6dqe%(!ME]udD*1N(*T0;5ep:h=6kFfI$)DG@;MMX:/N4YKI!la+%r#-]'@4h4C%id963q3e6(+#Uo-tgrGejS2;RLuZ]'d=2L"aZ_oG&,K2P?*S#W'TYuWs^[59F!96,BbL^$MEOEG`s3tg;^f&`L2Yq)J.r/7serVV.S,I/6]fiY.h^O/&mO7EF<\:nL49(C6c9AqXa">C>R?#Vk]IS/-=5g1#=^i8Gd=dO@K-Y0P:Zc~> -endstream -endobj -93 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 92 0 R ->> -endobj -94 0 obj -<< /Length 1696 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm=95iiK&AJ$C\>M;OU51"m7uL[hBRqa3'Erkgmm4B28#RuMP+3Znoqb&[*%E/O7=lL'de!6G3#^(TJ(^urIRe(2_B<*%McI8NXjB*CIpt(r2\Ql/$!M8nlYi7[`ERN#rk@7g+k3epCXf"UNSS2js3%?,heNWai[bEjo[2O!+/?[)VL)p$;3[@>%q&2W,q)<`1rjk,!fYTb]I.*E!hqLiem4a`+O9Xic"jPn*G^0`FPg4PZ21C8gubg-KZA/lO_#L:=XJ2d<7ghhYqVi*B:d(#Kg)T'TjZ']Qp$@!_LMF4Fu&P8g?[_5NpQN@1+2uXY@VL>dA-o@_5.Rg/.<)Ud8d8SXA^P9QTlC$6%U\2C?/1c5t165Hc.'f>_cd$SLn#7o0H54qWkN'7npKJhc&#@\gJqIc4F.V:DPNgL1bbWpXR^(hA)VPf@ud3:h%]EBlU)W&jD*fuH)Vno^r5<'AkQC;>g`r9r]7*%c)2lQAT;&g'@^[\0`Q1]?n)[VFIOYZPVJ!$(=&dLB)_eADWHG^_Uofa4IJMoI=\[cN0lqeIo/5NrbnO)/u]QRXM(lR(>)#/AR[&e>%N5^WB-o$t/qH+)SMh11e=msK&9WuM$7W6D\gE$Sg<(u?%N2%gDQ-SHp`*da%&dRbaggO09o$2%qJqK:)o!4!T/lE[^eBj#AZ3KY?51E)3,Cg"[(H(*cPRroXJg!V!*uri?D-5srh:qMUN0fO&LuF0;0RQ_XN93;6pU0PqG%`fd@r;WlS#''c<]OJh0:E!C&!7e/Ka1HRK]MU8f,lJ76?"GHfM')ejF)ZHo@F0+!r-\pL4uM\Y%07n-dG(B9u)USP:)]d:i3*PJ)PS%(_k6![,_EjD@S:aX&Y"VT-b)c:3(tC:o3#fQ;1?Kcs'j(`Y)C#mIQuSjjD$EBE";IECdf"CTY@U+$@VCkM5.492-oH7;-je67JtKMac5#2FT'qFc\<6;U?ab5N15O^IFt[ -endstream -endobj -95 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 94 0 R ->> -endobj -96 0 obj -<< /Length 1321 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3968iG&AII3n0iK!Qls1GHE'(#<#oUTgIa(i-Ncr5KSCZg'!gQsqLTt@/1",eh!r2`Yl!ei]AGq6o?$YGEBG%k`-:@c`-'WEm'u+@b]T6';5eDU:jUIBV_sCWY2&P.^]Bnl./^X@B7qKaEX9ep;Xe]RBX$5Mmh&j'uRB4]FLObiZ&E+!H$"rr2QZEVB0PHiN>_]&1<*Ff*JlY(#%+q3JPV%:@Y?hZ8T%G'R@>IY5MCQ!&38RN8p>Z6D6b.Z0CSYM_)Rcru??%aI7d5h93;9c7\A$WaPb=.WC[9tK0@(ur2,HjV^tWB-.h0;=4=4ng6Qf3CZBmI"J#!(nkfAYr^^7q4m?1`M+#6L*UXfS):hc)*aVH=%L2&Is^d/#3TXd\#jYsMng$k.l%.ao8aTf+Io*%e3H='AEKJ^/2_q661$b/N9BoT,3odF_NmR._6_i-dV.`TFl.Sk5>UL&I!$-*UI\ePo0dIRK"7T,`-P*Zb#`!u,&-WXX&N!.P2%=?!Cb#b!@PhnZhA".F.=h&aQqeii,W@S"fZoPri[pBMl^A5H:J(8dE!mp8DNK!GB&,qDSonP$gs?G$d'PJ,bs`U-)HN;KOucA(-W&.SM,25a,L,"WKhB@:VP"EHA])N/.15r.5]uDNUqmX4@'sPQ=1'a_].Ts:nZN#M0nk/,tjJ[W=mgMlp'BV^s"_45$`ei-]ptl`2M@Grd7*[gr+aScGA1RZ>_V'@a]HP8e)q<-[:=?A6mi3TN;am208;Z3s"[^6#3="j8G2MnJ`E]QBM*C3L(oH.Agh=C~> -endstream -endobj -97 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 96 0 R ->> -endobj -98 0 obj -<< /Length 1803 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!;d>>OTD&:WeDj:Mrj34DUWT*bXbMWtIjBcfrIL#":!24H-l_E"O/^32WDa'S3977V*HKJHms(XJ&\hr]<0E-=ZuO8?fhB$1;6HTIgkci9q6Z\3s&((`OsAo$l0_s-R=p!)T\GFJ;9rSb#1>aAB0jSe&^Ic^iEAT+pjUlf6S8$3fLKC5Tcl`OV6kSjDilUU%XjAfM>KNG"Yau_2'.B?'6D:^IO.2#b1p/M@FX5+$??'8#!0e9i,eXs?XP_IKr>E+9I]:@a8bZ#3AO%r6-i[db)@58*[R`(<83@d$Ud$"dX@N'NI&(GRR9ba42U<7K^.16.$U\#bh^a-A:OB33beK?t_XZr.Ni<9C'+DS*l[+s!Vmbjr]9Qin'`G,J=@9"3VM&e]6h6db/>'kEF$gY*0n5>?(bYOCm3DgqY=="0+VK_iF/bOfgab4DKJ3tn(>?EA0Z@`P>oJu\EbEFN^T\oX%Q,bbk*H.,ahOD`]icre1,NdfW%>/=#L'7VhqDq5jK7k<:INCh9&#iKZ:Z$l%5`eqo*'bJ:"10#-V@VoiQmE,pO[,T30p[bD!HY+-J/]081cq_3#rYI;ohc<1Z.nd&1M9.M"]bF=4I(j.J+kf%$6TFSjfB'YJ'H1'mP)L*.AREdFgebG#,cI[LntKAA$Wbat>0gD2T?E?+&20'2>4%0$mUoV#QG/U>8k[&eF)@N[8%!c=de%Q@AgC<'YUmPXfJjoeE.9T*%:"4uio0C3)'VB8*m5oE.-a5MgB]kqjf7Z.H2H6?%nFQkYEu*pNMD'5l.Ok33`b2.JV\o^qeAOYqU;cINcBkDNGpg,&u5?sBX.M1/fRcEf.;-m(-P`)oOimDKF-0R1*OZ?C6j;&k<)%a2ne$iX1Z/@Co7sd$fd>%E%4ss=NJVd?jJM$"lC/[6d,U_&L-;`[\$XOf&;2,"eRP:h^5:3+CjNqo:EAX_\$oAVp)i4=^"4/Ld$+ucO7Vs8Y`ca]XOsFpTX4:4>2X[&lXF3/Xi4]0BE/npg#G3e&X@('ch1^*02Iq9@r3E@spaV$LK3Mq_l:O\19-WPkiZ4g=J-PYnITKV6F4!nUYtoY((^[O",95+*E8/A9'5OmF=ljX;-E?;-u2,;t\O`L3qjihXoXWkJ#^CW+E""OlbraNmGKQ$2=9)rD7kC%S6dE@r:EOCnRE.~> -endstream -endobj -99 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 98 0 R ->> -endobj -100 0 obj -<< /Length 1110 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasao968f@&AI`d4M:kYM==.B\$pIBBfbL##Ym%LP7\phVN0b/EZY2PPpP0gL^>(3ptK*A9<1iLcN`E&lifTD]kfLo^&(+Rq>(nP6!+LBIY`T4QT]T.L4VT#nOJ$HH"V-T#?j2g>H1PVVeG'!2c[+\N#,5UA4]ip!eL5JA=8(hE1,]3:i(X`L6ILrr]hK$%R%-\GA%;K5P[p9JV>@;2H?P,(CqYc\jd-egt8fJ`on9!D2:-chqrA7]^O"F6Yt$7B<2IHP^I*3'@bX4=YXfGYQ]d]!&"p5:\)OA,ST.!je)N%`XtEqYrp4\i8iQ]H?%-+AJIA[Zt@Hs2Iml`c4a_N)[Eg0pIL"6rlOA_0.F5nDW*kBojAkldmJI?q>+%Q=L=+9EcY`1n;PdRSXnd^>1/FI!]D7f4n:RH5TqYF,(*fKAcRs@_F@VLNMWugR`uq3`Eed9'$3f^ZYD"/R%T=O\!."kG5`40jP`'AIBFhf0At2VYT6RUA5/NnahI\G\S7fVm8@8Lp6\H+_'@^=O0uU>:H/,W\D%6AO]3,Q%i=ptXD"t>EMQUtP.m]G7Id[j."J`1=iq_s'@X`ZpFd!dJDb#(6W@J.QNeH^[%oF&-3EZd*c=aUf2`DQ)5JQMY#uZ-Jbdb#f`=&XFT$P,eMaJFJEmC_O\qn#5Us6ItQE.WuBF"XWJ9-_N+d.X;AG?GRc/D.q9/pu,"Je,ugdd80^\)Kcd<=&8c!BFg,Qi!tPjDW1$%2\Z&[cY=9pX+stU_5HguH8c~> -endstream -endobj -101 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 100 0 R ->> -endobj -102 0 obj -<< /Length 1445 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm<9=(*G']/^gclIE[<4L`)>_I.G<_6E-JA'$cmmlM%#q/s=Fn/M$kLuOeJgM@OJ`sq_DqnZT,:uLk'5s1+=mE,7bJ',a`8G1uU-W,P[3(URB;rk*j\TBc:b;scias'hP]tJYt^$VHC"6SRXg9UEj[P;JT3"HU]P0S.ag*N"\ojQp@k''(cc5AINUqVTEfTSEfu.Yl1[&24FG-A2m+qR:]d]2/jZS=7+S,GkJ,KE?i!>J?5n-IjN_Zk:hpc@c@SUT_UR[4d6bdkW6Tb4Jj)MlaFcnnlS0JbFYO2^?p.8eMg`4j^mh-6pJc;E5U&mJLc8UHshu1c3Hi;9:ggONfci7CB]iH4TS5Kp0jTH5<6N('pl!M9#h`h@=k"7--I74I#EcF0#Y,1X1R"2CY(?LNLY9rU$E#n\nCZ$pn8C"I!Ekc#.7)C[E`+.E[d@daDg@R^pTfCsJ0TdLcu>CK.'f"3)KUT%s2epH!-];3jn9I"^^E*c-3-Qp=DVQrduY^S:$F$]fB&"Xm+dRfEI511H"FL&;D8;\2uJS\,?K-2;S*&R$3BfcC+HehLRXMm`Pm8A^SZB5F&gnEq[W#GC+9-.t6pc[_M.Wb,INa1tPF5H_o-q=NL;,Wq@N@5V]bJeNtXGXoNa`36WF9orV'sM;qF^#=_e^Pp'Wk13aj;48NX:S-Zfj;d^lCf2L9$TVG689b`B(d"De79eDPXmg?!c:[>#?JgM>6H\R/$J8+:"PWo)L$6"u."loP1.l]WNfG2g@`Jbgp_0XX6j9o[eFR^-6pf(rN2U[_GokHF,^KOW[jpkkcL#/R7,Z5cn07+oZG]Q+qM2=6`n)CCS&2*jqLB)_^EH*,US6t;1mUaI<9)kAWgQ&`pHWcq)@3n4Ab/+D3s6586mMo3tINQ5P.oku]-,^-Hs`]u@%hF%#l6Iht;OHWa99B:n!GSG=D#^M^bqqO^rnGR&NYd)-l2fE=od]_EMp[55[X7@[WLtO5kr>sU08p]1Qn'10AI#s,>:7dsAe,csi(e(o`US>U$ItpNe"9~> -endstream -endobj -103 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 102 0 R ->> -endobj -104 0 obj -<< /Length 1752 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!kuhiFNj&:Vr4_:rRu4V$KoR.dL`[F/*Ue4P"uS5(>\4]I#S5^'R0f67K1*YU5t\o1TE-oNm\^):eV2f0;HqhkYDI=@S0\PnpFi_a=,d/P:S$s%LSW[L:Um6GuIJ,RKJ/op!%CmBC,O1&HAOX(aid`=,D(GJ8J7+_q6r4,K3,9/md+en_+*"#(/FTH&!5GWZZVb+4=,u(lm]jF#CaigMu(?@Ur#L"mY/RXOuj`3$GpZ0P.C,fktS?`"]IEMt_1bakk'[@?@_K5@F$2&Lt"n[nh$%DoB*[+J["S!^WNIQ*M4a!12`B\"HDH4.>5:[('ho(Il6Vs"\d/"g?jbJn82^piB.,>J2XH%iMS_Y0_PVD3'^1@%`9b+J:ro--\U$I]C]WEqVE7Dbrg&;7_-bX>YpI=/0fAh\^4m42-F[$<=lu<%cP'1V7\qOJ2_8RW=-t@b3\Zdm:MolI%7Wt6PthnDVJ%M*sUgo[olDE]b#"aCNHHpa?.(,)"f2]jL[5/JrgPtUnuO?Q^"f!Mrf8o6ZSqaP6,,h*a/o_'F:"1NN+]d)kqh+4/`BiWW(g`e-^rcB&lX\P]NJ;[f,BhJkFS/?B6jNkfPUgAD"[JWJ^i\%at%X'[)F5iL>\%D#D4?o&`@43>7*GFj-V]g!T`)3<_Kdt.6N3JGb+1t:0\Q\8HF'eMomPF:X:5pNm2@Xh)jCZhn7Jgc",JKp3!dJU%+(WbJqZm*f]8Q@'T2N-fY8.&_DQFVE$X>?%mZg%]56f8kJNRQPX`ZU7P)ae,o8+_;;1"b9q(B*3OToe$GC]>P0MV1l2.kKJB2QBL-P3i<=`tq[%B^b;&'mjZ0]\'_nOnmEu2aA=D'HHd5U.5>c+N2U2q!&6bPOnUmck]I609lUj'jMgNI"k'5!\WN,`21@]ASfb$aNFSr5;fjGi6p:sa[aV%(/#KtWMYk="Q2I]DQf#>'c'F>f7<,a)Ni7%3-9h`V3W=%IBtnitJ9RUZrJL5!6'V*k'TD4VUP,aO1:ZY8eU@/8o4RlM*:1*iBL(ek(R:GcPC&0[,-LsFk77RZe\]bS3^KjB;SbjcU5bFRoTp9fpB5'Dh_qNRh&dpZ$erE(M"'&.&GY%];D28Q]mAHV8J8oC$$R\WCh6/,*_$8mCKFX]fO8R31$nE^Bao`2O-DsIE8TsCn>1_P64M?;9:I\pHoGqV`!@KE@uX_V_3lJK-.=p4i3`ApAS2"FP3Qm(=>6A-iq>kiTJ4]kc`W7&Zd?HH@3OA~> -endstream -endobj -105 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 104 0 R ->> -endobj -106 0 obj -<< /Length 1223 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!;c92jS!&AI=/pf?TTR3-B7ujSa8:?*-:^qs!2?k9N;(^`]1D@'H#k!3.+J&?[?)KL(9CoK)cPF#lHE3'B>qGCs6gqGdP.lB+4ZU'"A?;p($UJhQ[mEq+Lb>g8T1XS7in\0*IF\G3W+j`GflG]IhDo_j"nGSe4(Z?,b]pLEZID,R>H#SRV;lR+?+R:j_@03:n&X.;oK#?4(?;dF#[]B4uCq*C>dDW[\E&rXSj8t.Vr9E,?,Na47h4d>ir(RcXc.+T?GZMd!oUb>8gl_-#Zr3o0V;#dql+"]'(pgl"@UD>1-u^YLF&_';\.&0Hu%sRn'VPrlZ<^@`7>mXZd!B11`9;V5g`W,(5(7o\Y?S>@MTHI6T%4bDDpaN0fY^F(6U?9-L0aaM[/"tXQ8Bq.PL'nF!V`7^fVQLXd4UI'L'r:6OXOTRp+nNNfQ`d\tdYIeGH2n=Be,LPQiae>cohLK'-TcD5sr4?d*P)/+.^`k,ebKVnr'"FmCY+8E[OKn>\@raK:_o1so#>Ia\)r,Eb=Zc"s,?O6WEO)-K/)o._mNpk*Li4iiA78_.Y>Nj.?JcZ;$NISs9;,(LeheEg%BZ5.>!>j#NhgaZ?BjCK\*RJVBBFG08lBQ[mU$&`pQUYEf9c3-Yg[e2kC#@^@L!AsL2$ZN0WQe:IPn?HfHGF%!S"ZRYJA1j-"l[,8!?oW`\9K)Xh'*gk:JK#!Y4;;6eKTBDYp[it0DY=\5C:/'@-fh+H48t:?*32QqPMAdL;.:YTG^m/L]NW:T$O:isUnlQO-^C$sKn?jbqWhKoHemdH0Yi'1N>)C*#7&;R<(jh2c\[i/js_Qn,=7T2Z=BFW@iP'(+m))NOUj~> -endstream -endobj -107 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 106 0 R ->> -endobj -108 0 obj -<< /Length 452 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasId3H)bg']/F34MlWRF#G&$5c&3#^h'K+38bck85dKYkc\n7A31>@AU2VBG)eP=RegFA4pXOAO`X0W%YV4bG=3!N`?]\[mS4Y48]Pg]^JN0hlBZdT(I1)P;aGO(0I](iR6I4X"9q:kVV,'?aMHBK,j*JE[P)i0M\6$^C*@lt/kT&KHC,lqtSlK9ifY1qS]ZVKpW]55f>K9"KcKV0\IDB58DGH._p?-.>)B2$KfM.@*MDGe^.q;%Jk+2lbY<)G(D%L!sX@&:#!N5kD:ZgBXqNoAl\5(8"p6>q/L%GU`D!Jh~> -endstream -endobj -109 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 108 0 R ->> -endobj -110 0 obj -<< /Length 1150 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHLac>C>&A@rkG]X&P)XaCTVp$7i&g0Gkpm0$QG%e>b/T+1PFT6d3D9F9f7@[a40ORusCO**UO!T9Xbhi:H#a\r$+H,oOP0JptMB>:r#>2?T5YFH[2>M=mn]>Wp+!/KJ2[0U^$Vfardd+l9:D\J&rDU:*Q-8+&lN?s@/:PDD'O_\c@Jh9,j80"^,qr7;K(fMb70/]Pb/q:[qE;$ThfN9Gg<\m<^.VOoXt*S?^-$k(f0d19bJnaf/hb5TS.HuAbIUr<@UGf'3"!02qQeE:?ImlRf=pM*j,qCpGtLKcQ#-UN^9QZ3N)27hLMCl2<$#oUGi"]/q!(g?8I_);s4bk^+(g&X$TG*DTE[>>M8XtZ[X#DH/o.U@dpU:mh1IC7i&X';@C(W,;Q>S$[f7cWFHjF9gcQe"..R?(FSLjAeK>tOU59-"'4Ias!$)pU\ptiEaVNB_@3YqQN91VaG%kr'IFVSB!FY0atG_WD9G8e\!^2@`b*UXhb9Rjk/L.%mIT(%(?%5dbKAQmj+cU'>\Nt@>];kF-Imks8qr86!PfP1rf8m?u;9>Oorcr]Ih2WH/He"?QKA\0d),2]%5Vn&X9rRg@0pig=QA4C-PGd8E.,@jQ26$Tad+esV#0l`mgI]bK5pg9J"fOQF`Y@-=hf<_IY8mRDNCWBKFhuVBO,r^%h?5bs^niLBn0W.0)\d?V0f6R,aGE>\'O0hEVO^^'g+Rl3q],`,)>O3B@IpO8BfVmh,ae`H2$K[fd=-2IS[X[(FQ:V6tZ7M!'6%paQ%hcEis-[\[GlQ$Fmt\mKq='0\+bjO#E$!j8VYDZdZC_"YqlgoUe>PT5pKcf]:kfAQW]p@$_UpmH^Dp)BYQ~> -endstream -endobj -111 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 110 0 R ->> -endobj -112 0 obj -<< /Length 1243 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasap?#uJp'Rf_Zi6chK<^IFNmSg\kB=$(R1l9uOb^(W]A!o#.i!A,LrUgmIL+<=ma\2oT4nn!lUFZ/rC@T=LmLY>]Ze@"8'.o#mbo^q]>J:g(779,9`;+>N^8M!Jt1"T[k/eK%:H7B=>/9-Inij@L[YSDUt:V_"VQo\X5c)gPK8pTD4D@kJu$BM#e:-WJL)B*a2@Sbn"9$N^WrL,@H@#@n%=T?c4'Amp?UgS(,b5=j!3&U`L-kY>iCd[."PRI:RB8d6%FQ[.JH7I(R4t$1[F-H5WkE6n&nRCf\A#.AoAZU,##+HF6_oh,.+?LdT5:S`-Rh%[@P9f&W8Wh;8jpaL"&P]7W^!J?T);#Xc8sP^N4kNrKd]pr3rap#ZHj4N-0?7^*:E_B0'50U/2CoE\mgo%Ver"JPV"9k'"VREgs"m_@SW3,BlVG!VPNTS9?bp!r@q+.)Ft^]`2-l!j+6)^6]qgH<_?5"1"o:'q7&boW\Drl\)!g[Ym$(ObW.s]9D7t^PK+Kcenhuej.a#;MM+u,rH="kY;,.F75uok"4N5DSkkMdF+(;n0'$qRiE0b;_H'QJ/OhUYEj);:UC0p[9L?78AO33/DB;#l>YWL3_>:CXE.\M7?JieLq=iqJkM(cIRu^qE9TM>AX*`.aFF@a>gc12;*UR6%_)?u(^-cD(*G!oL`ITg?EK8rQKI#H@#4P/!R%mZ_h('Hi1QR^tWYXRDp.Y38Ck0`U,(c/lQ[:_+/%qAU2HKJppmtOh+'[1(Ki1>`nX-OW/ZR-<)4& -endstream -endobj -113 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 112 0 R ->> -endobj -114 0 obj -<< /Length 1631 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D9lJcG&A@7.kS=D:=HV*GM`kmg?S,)^GN1h;iZ)X"ZAD,:.oAme?b_gOR6t2A($mOk'I'YI(q7\tQ73,:j=I=fC,\=[lmMS;I8TOW9GDh[1*u")gdoR#OU3ZP%t.V":'_(0i-k*C\G.F&>JV-sIWI6BUSV(@JofU+CS5%"RMqcJln%563i*6mOfLj2V;u]pW66@a0p&I-``Ujm++kNcm)tM4u*1)WJ5\P,q1qO-o\^ih&M;Mq-)LMn,R],/8nt>h,[PN-*9+VHLa")4#YWnk'.o9oX$k[;"D+A=]pY]PkhZC7ZrI'QO:ViYgKPHir4:1>sID/&b+K8"8B%lI9Mjq;\-3Di'o,NB>d%mqo&uOKSg(M70(!Vq!kfI6bRGc]hoN/=i`=WZU.[\VK=e:pN0jd\a-1h3(rKRi9iE2=K5cOj?hE)OBO5@1Uo<'I_<6XQam1-<\kJF:=_.2[#gDG!W_XX:#l(A"%.3+\BD2mV`.K$YT#Hgi&GjuK-'f,5jcmun?l6X;K?m6BD/nqiIP?iN/CK1g"tuLka9%1mqg^AbP?M$E$,YPdSAbS?A+b+JKHXe]_U"`:?Igq5P2=`0_u>XiqJ\?McLM)^7Ql#WOa>Xn)Yd7qJM6h1qa/3Q0GCE7EpeJL]"h\md2%K,b,!>sHiao<9I]Or6=L[jZW+9S&2[APW^#KN&A?X\LhI1cP`%hPE"R[7#3t.c:qk5Xbs43tD-&[W>QHV=\d#+JQ60tf)k]__+YApo_c'TKf$CG'BWd*R_9F^g"]6p>KQ]t(\^G?lABPj\@TH3%cQm;W]A3*V&u)=[r]/C"<3!![;9"ua>eM&1WrLnWm3J-"4a]-"%LnN,$4j^^Yo,0QaZ@%%a_pWKt%L]UH'\T@7JbE==kIG:t]KdP@f)"tpJfB+_8tMs_*p9_nYgLandlBOfYn>]-.Im"UY9:8dW@#SZ$`p34a[lbTD'6]CG=o$+7<\iq<$MLXYX4eD0AWA7=N@N?"p)q@>'=:d'JGCiZ'ZDb7E&Jde=ca>lJd^kt5)hu(>li1T;h`11'3*>%X0!Q1$hY.'kG_hC:0Fk`lnmEg[#N1!o/)^W]&NJ(7fu@.N-$AO>d6J'N.1NrrEepnV$~> -endstream -endobj -115 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 114 0 R ->> -endobj -116 0 obj -<< /Length 586 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasIe9iJn_&A@g>j9Q!+dO$EnRklb`kQ*):`,Pj5R\:EhU5o5!e'Gs9o[M.Z]sfZ,41RtrET4ZX&>U?STFXh(q"Aoj)i!:r'rl8#m.pQH?o19?eO\W>"*Z,#F!!P[1MgZLpA.K^cl;d*3-co;\1m_#'dsUkW=:`4m88]GW=YQS!KIYu/3ZHB]G=`6+T-2XLCfqA&\68?A`AUeOarZ?/:Y*``i%)F(C+0T[qBamalK?oM#7B3(%9rR\%MJ4q]1dLm#alJkJiIlYUtXFD]'?A6_Ph"pZdf/"XDfbpu,L7R<%\`n+BH"ll3\"qG$+lpDJuY>d`5lF>g*C6UF:Tcf@id3XDI3S!;2b*;^lrCu=fC(5L[WQoaet<_gMdR]SB$m*bObkks'o5MU9OZd$c:5@1k\Y(hq,4mE\QZbr5Cp>#)`c[M+B,rfT8dG.e\gXCS<0KS_X[A0TrnIe67jJ2Q;8DI@o:Mk>`3GJctB=4t6R2IEUCE[MZ^&^uf5(`~> -endstream -endobj -117 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 116 0 R ->> -endobj -118 0 obj -<< /Length 1636 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatmhRC7h6'o?f@D#<+6Z5u-NrO6aj&e]nrS"o_GIFOge$@`9T#6S/&g_hI':t)%=CIa8#noXfZ#h9>"lJZU<_*8+cO4'F;3jflC_:QM4c4%\S+;_ac9Zt0ED7CaDJjYq;=M('PXSkpHMQn$BHQ%VL3L-:22U.,o.J=SXP:\E/b&Z]=_;[,mA&tLdC)1F.X&K;012&s:<>`MZ(8U(:dmC3I5@2F*!r>H(4@u2,'tL->RC1ecmj[(nPm4*OGK]U0h3`s?Ycm%%*&Ln;M!nZ6`_Af2ql4f:\P'gi%qRF8E-:_\JrTon>+,b.A=)I^!L8FEm7>jYJ[\ln\h,^UaRSVa0!Y(-41F+iNnR"%D73h53A9L+o9F^#pZL'$*>i6@T87?;qPp=V>S[BZfn9f6;m[0!HOdP9o*SC"h"O?0s3g+d;Eb%R9I])%]^l=U/8N/#e5c3KOUFgc$0YnK<4J>k)!<*,t0@Ed^CA9^W>0S`onjm>s-f3YtbCeE]0!GeK+S&p\bpm.=_pQas\>8'MdYd0R5#+9G>_5&HKA\JY2%S9Qhdlk/UI(1o^ILK(+i_+i*sZAHd`A'@R.0[=W_;p`-DaKJO+sFe!+ShW6eWmI;"=)t<0j7'lNtB_Fh-TMis>/Fa+D9M_1$Qpi.#D4T5fs;q.3fR&ek0A)RDeZ<6fFm0;2*lfsj>LpC9BnEhuB[Bio=$"pb5^j3Z'kR2LUS_kdp\HhHr?J;WL8)7mN2`hhT1qD.@LR2EuR/a,&?^OTjMbWFcrjaK"9n<*Wd9^&8%Yqr9=g^Kk4&N"_[u+[1B1NZBeA[09!IJD<^O*-Mo?]GsFQ,5V4P*#2f:6`'gDW!l(eYJsEW_gFOrMEVo@Nem8po\XXbqCo8HH`0@16'+8J%b3;(q$D<00[DLr1<,iLi\Q\l;ur;D,JtGG!k-lm3WAI2(#P>9?aGc>G-s -endstream -endobj -119 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 118 0 R ->> -endobj -120 0 obj -<< /Length 1676 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm\qFj(Go5NP>-Qhf67(%'LB/Eqj?';W;/3\%L:e#8TS&H?>fUaWZKiJIt"-Jd=P)oa/DA5leGZ!2,qtki3rC@9W(j*_-S5leg8Q`8glpj$-oDn/c,907%l9hob[e/:[Up0J4WL66?W_0/=LZ4b=+\BWai*qQ4jd_BHuaCHWZa?cUogosd4e!$E?T&4"!q&Joa[\fp./2_?<)-Z=6(U3M_4L"mJf!X\'$4Y4ruAbn2;"H\3ZI1/A*8h%s4UeQ.p@Qd9!ocYjAlXB`JXRn;'G`\jZI1/A*.qupUMc6X2E?QJglXAR)K_-LV%cj1G*Y[`ZdN"2LX0e[aDI6p[hf+435NOTUsZi,iAYW?fT,4efQT%pj-iT\.8A[L'6u1q#(#'743WqrO1.1n@Qn4",=Eb4BLn@QkZS;Wk)@kLr^Nh!X8:0pn.)"Fag=%fM%@n;7\.-c5uX,]r#$J-"eaQ/(gZ$hGfLSe`9cJ4FtMuXXJU7"'!NYAF_>DpoK$112dHrSk>`+15;^'R6suSKpg&`!e`Bs[$LD:9N@@sC*:8uTV(i,a%m,pf?jAe8P>YW0o`@EJ;43%ri_-XUELY!ILDAa8>c=%5hkdn"VF"MRaMi\iiq+N`?K7$B@\+''.h'>;nQs@Bea2:i/T[kNSN%Zu6/OaCa5^-',U%M$RG$F3ItT]shNPP=B5?hCT'?$PeC:n=<+.uCK_unq%HC3h\1KUglW26>;i`-__nm`IKdO@q;N4HoPN=\G26:tkS&(PiJB>X>;HZ8&fSGG/9m/e*rpR',ELc>Z[ca+QE@,Jn4$"u))]dfZUO$1.7"NnZ(I0&Wrc37;9RH-]\i8KrkfOn&gg2Efko_sgl,gftgaGZ:.k0PT-kiK=6_&Ztl8ip'icP?_m#a)E8)C;<3`3]U6cd&Hl@]qd)^+.*%R)^7bHFi)d/_.LForG*`s*rfV?%$$2*`THBLnAl,28J_g!7N:$LD;QPRfZbS2C1ALoN[3E9JPpVuILQFdg0(c/ZaEXue%JN0dbF_iMpH-h&5[]7ND?GqF76ERU`&V -endstream -endobj -121 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 120 0 R ->> -endobj -122 0 obj -<< /Length 1856 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL>Ar7S'Roe[&.B8W0o$>i;&9oKQ4>@0T`pb#mDC-C:i&0-+A8[Z-Y\A7pDoB\8BI+_Cr"DQl7b=:T'LUuDE0_,O0OCUA6[7E`3p^6fWsHXS<4/K(ffFS`p'$pi.r4rB0SV/dbN"^+:GaT&@PP@;4M/^MW(SKJ07@>.2ZaD8s&(@MMO-J1[Ve&ipVcK\*CS_mo-*gXn/WOP:XfsZocUE,*Hc[?HQq>]k7jI2UrO['JX1PAfAoUR_COGCm1Tp'Y0.&p"'3HFgclbm*iI@#OLPG\uFj2+1JCu/6H%%H0l+T;WQAH:u=UR,Tmg!jjN\O54C\>I2"_[7fdRg`/5+P^k%`m$dFta:6K-j+iPrUINeAAT1PA'C+G=a*d`+YfcXsna9fJS8Y*p!i'qHQq(Hj%8iK'XNKLqC]L=1AL'eWZY+hdL9RL*TpEG#0G3BG4MrC-\)Sh+Bhn&/Y$FVkj6t^FAT'+)FKG)iA'-:gKGP"7)[H;O1k_G5MW^l43_n3^i3pbrT@G=]5q(K$p<,:]7FC6FDRKCH1qS[lIU&EA\UrldW35&WkYN(B6*c&1d\O^gGQDhrej):NGL)/Y2`B?jeENGXMR)K@-_,F!/_kn0,D2.1A>,6%Z3D,\CCi/*qHXB(/AueY4jlkb5N`5bhON.?R@7IiPnqMmr,'/VLPSK.+CqWV2hZ>t^%%VgR_QB^AtC,5<'Jas1#$#oV3kDc+!T#QQ&>H:9k(aHB#CPaZKg.RQ:""RdSW#b-:^?c%Ae/D`"fD8c.gjU3teo^4DGAe'5cm25'G1Zo6Mtf@7P:,&7OUZJ41UB-f5"?H*@K\I1=@`(p]+Eog686F1>mPC&Z!(@k`T]YV_`a4b\APalE_2jGe9[@&l9B'mWBR/Nq#)@CbeDe@=XMoq]aamr_ic6ts&b1IE?cR^O`?#@7mdT:AK-dBO^qLjSM:o:s2Ne,K.hQXYi77m5L2CW],r.[[W7>Yj3.[At-6R=uXl6,E%`\=RYoS(-Od:Uhk(bF9jOk.Kf:F>4,YHtE,UX>XE.0pAnP`>9,a1q>OL(1X:L:NG;uhd##eqQLq[s1[6#4/1)4[Y'4HP\BdFmIdBXS"%S3T0K>4Grc*BKWlg]Efqcj>5a?kY+Q^moE[!`BR!&[MdNTbg:0hH&'5L6rq?.418gKMdA"Vd[p,%,PLtYK62_mTel(+A4(P*X*Gf-/W&D]9Hq-Q,e:i;skoWUq3!'~> -endstream -endobj -123 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 122 0 R ->> -endobj -124 0 obj -<< /Length 1732 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4997gc&AJ$C#W[0_Xs-d4p6K*=VUu[:?#MB=&TD=8<[16E7IR"d^(a/$,?aR^KeFElk*m`2`r)J%p$,,HhiL59#RN!!4Oa!.o-g&B1=Wjb.J![r`!.Z21n!+YrVIni\LWh:FsX\);=*>(DC?qjWA]gVl.2mfAdr@G_u[K07Z+/u3'-OLi.^?gl0sk>c5785mur2rMOo3I**)0GNPI%DGqs0;,n2PO+bb?ac1rLgeVgDXp8mD?=KM<)9pSEK!'bM=^]hc9KoR"pgN'HnicPimc2UX"1/2uC)bXMU(G#t51g_:gZYGh3X;RNN="G<@UuXB-MEml?0mj4mj`lh#M0&"2O[)=RCB"b9#Z@/V1Q_k'G@?=2,_h,$MVA]3_BuA!Crd5"6M>/ln$1+%uH>$0@kWQ/A+7J7t6KCt7R/&$A!pL8B^kko\:UJ1N\3<>=Y/jotUPgLXM0L+dQU7Jc\\&,uk:\SP_lYi?q2]&?#B[8N2!PEbC3_3@*=4GR/&EWs^fHeQM;sqOAKD3l\;o9N*Ti;-<+?g@JKq,9*34jP)t([>Alc;+ndB9e1<@hP08W=0,!DT3"5gIkc78r(dc^e'WqqD=lS,PJHDJ$Q4A@#(39o:;iG"T/+R-c+`*HIfp!(D7/1_1W@4?7CPL)g101Z$Q;ePgDUK\AQfTRTLT\G`!rWB*9j_\58oMe[lg@SGeC_4(U+Du;:mYj72pk`Vll:'U?A91*j9mBb$mchM7q#%W4gVh4<6ZAdEMdY'-L%-C.+CB&WNlp&%6tR[kP_hm<7!i`^c&5P^)Ol=uJ4(%$lJDs&0#B;':;k*n08pFX6V85jLan7J[P#](b1~> -endstream -endobj -125 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 124 0 R ->> -endobj -126 0 obj -<< /Length 1345 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!Slc#]@8&AS+Gi0\Ui"X3EdhU6*Jn!:u&QVN9C&MrHt/*%N@^OH:k["'ilBeN15>-YiueUGZPh/7,uHj@:)FgfuCF^?uYETKE.#`7VS&:4\K3JklgEU3A6"`XBJ2UgE=>oS(pF_GL-*Z<,R4J>`b?lm5'[(^5"Q%8e!B9G\Dj!_0:r0s3#O)T=*CAbg*cd_.O#1^Hq=\"UDcbJV:k$G6DZY/=F8rX_.i8fnM-Q:3).q/H@VT5Z;UYd7G0K9QRrqQN'5WBuE%BJ"_W:X%12B%AF^2:7DCQ9MT2cgmqM>AQ$Fm4&NlQc9+QYUBNMfJuM(S+_2%Q;b5\$Mk%<,n'``c]";[Hg!&:,LH3YD`lh4-&65E%T:tB>(3Q$5&I3GqO*lc4koDbq2dVmh'!3Sq:EqN@$B8XCU&iW-c[%uB$0gT-QT\1r*<4XsI\n:9I&W0)Uc)FraYHWoI8jD(d?^(0pTYbp:[nS0ToChB^M+AR#ds:74($8j.32_34KK\gf4+7FNoB\k:m3:`H9'-ouq7\s4_=@KPK!^]X"F!nm&X\drP#2Sn.>ct8<`(@YGf6.7?9d3P-"gP/WE7B;*U)m>@)hbUo_P4=brHM%_"9d58If^9g3LjPL]3>(UDD-E&2B]PqGb6`]nlCY_t_o^a4pXI1)W)4l'LPoGT=uJ#>"lA_@qXskic?a+teM[>"J2%]9[_9E9k!BO@J%>g_L6H(mOqAJ*%(;2=ZVp&\4j"\/ -endstream -endobj -127 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 126 0 R ->> -endobj -128 0 obj -<< /Length 1562 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!Sl997ge%)1n+pc'j;23oi/g=n/>^b0d@e$u'0fK`nArRe"IIV$3haKa2m;(O.E[_IlJX2_TFZE'hlhFrY_&HBIaE_`a@uL3^r4DlhEQ39mYA7MnBUn?AK`7IhQ%Ir21:>9DcN^7XIl,Bj2h#IbPtgqb#_r<(Y!c$U`f4>?2J0_@W0#-?9RG>+O%nKE?'!2(mBY@/j^7k6?:RMWX$<9?6;@rFrF^Mb0pY+WuCPRgk>IHtK&:659*2qW7#igm&:Oa+%`-F(G6B>b&JuNRA=Fl')>gG1%Vi(Dd;M[Aea-pVaSE9?@&r!lg[p2+f=+b.0R5a-XA2cVG:%\.I0T#>BT!PlEGN\#+Nj#R0XB;7^Q.l4%!TGj\W=]F),kG(j&MFJD_#/Z_&!3VQ!80-3BN6Q70dp$t5>$OHY2>%"U+dB4*ho+.#%FZL66;-'g?7g6QdHhY/`?(-Apn4pUI!CAhM@Wal_UL8.I_$Z)61la1;)+XKMX]/'#J2o/tlj8>,:$*5A//Q;<,sRKp.#_0?>1_f?I+@U"iqUVtOm,0_QmuG[D<],,cJk(g(Ga:Fl?G-G.N^Z1^/4&epBbMQ0q+!In<\7O"XaPM`>*>P_9=!_#6,&OOH80%FMgQ2][=Sa?,)`PX.n/u`m::.?iJ4(&#BhK+:FLJPX5G2Jd"rH"bPMf'>3_;'TP(,qZ1a\UX?:h([%)X>P?U_Xhb.U:gE+3OA%Xlp?Ihj[FJmU\XX-3A:_Bu+!d/2q>i%d,h*@>Rn02u3,MX7S!c`(i0lYe/,f+^KT>$:\]u7!/;N7V3dfES'd0@JU[qQK";]Ffo9Zj&Lofh+V>#%ahl8N#6/]dVWZ3@]%EAjVI"[TsSQ/neD8!_l9.HgGe/@G+MD7_tfnF%LbF+Em[nnM*R@/W66"[J:R">>LSk4Xrr!X%FHP_n0rpck3G,['3da9h[hA0cZ"3XG,5jY4p^j:U"!^/Qqi%>Q&Z'Lq;S/pLC0_e6&2_`V#LH)!&=3~> -endstream -endobj -129 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 128 0 R ->> -endobj -130 0 obj -<< /Length 468 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasal_,>n>'YO#P3O[4h#m:g#SZst3j.S@im=E^4AgRsE"C(o_5`n0DWuWh]Kt$r&fe?jkh3;;8Y`BAH4H.i46.e@(OYjM%E>nTt6#;J97e>:`5E+!,N19@bN@Xg52b"1nSh46tZi)S3!BspI)fEJXe:R:4]+^@2gkhlV]W+B!H<)0Z6sr?3^aE^gRVSfprN?S?%!2f`C@-1]=h&c3=4PK2B(F4D#Qo$g@CgG/\H+'JnG!?kG(,Ol97o>GLt-TI-@dglMKYi#hbaI\-*V0,SXWf(BJ;6FgC#IhGW?`IN=EFaVGl/p4Xq[jY=s#L:-D]!9gec8V5RC3g:Q?h)ZWE:5%D0Yd=Nq"q9V;].9;cgK2nT=U>g.41m8[K4$/MIq`+RNXe17Z5=2`ZZ)oiQKfATMXS3_\D&*Gkmu9,:F)J?]CY)4ae=$:s^FlC4puf's'DjBhIG4&qLh$8c0D"dr~> -endstream -endobj -131 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 130 0 R ->> -endobj -132 0 obj -<< /Length 907 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU2hf$st&:X(TiQ"t#cTgFmT%LE,+ct=^]MO8Jla@C>dO!2Wq!2o4Vfiu^l\>8a]A.hlqhUR+1N\(-/-KW,RquH6l>lY*HBduj7;e+68Jq--I7"kb]#1/D*<7W5$-2jt6Jgm42V%L<*&H%R?&?D.N$ii*1:38'Tn%`7^fh+3%S@%.PFK[>m"F@h5N%uikg1X^#C_n8'NF]YR(cUt3\:j2X$BnpKE3R^\WH1sb=h"MTE0bke,*2W4k91!ZT0qZ2[EqAu#p@e(;[nhuE$(B#rLA]-(cLPGhW$-Cdd0BTLB&K^97[:pN^9[<0^Ci;.!.BW,;1-cqb?rmL9M)4qOUkY:.0AB[RId84'7J/:eCRCB/6<(N>g4\N_GPTrS&$&]D4s%$79#mNOhY7VD#OR/=A1Rd%![D,s-e(d7GB8[s8bmasaE/spV7n^=;K_qFFEGd'-AKTC"M(-*DUk79;*7_4TG4dAR1?p^k3D-0eaaBeF#8f*lZ="M5V;pt_MF$NelRS\8[s&&C5Oo)bPlC^a&7^k~> -endstream -endobj -133 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 132 0 R ->> -endobj -134 0 obj -<< /Length 1382 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=l95iQS&BF89'KjB#bAq6f4PEM-UhGWDeY,6*(pl[k6tfF@R5jE.cUak=%h?!hiI_PJI^?ZXqCd-'?N'M^-Ql;sGd?2.ZK-#EOpq@mU*7boAb&e,SZJHHIpThCDp*&XahPso=6*o/1:0Z;TqmJ&a99(1db_Mq9#bARq=8c2]L`m@A/CKgFV^N[q"$@A)L_<&MKSU8ra`q1DFVFg'j3MSmQU-.9MXc5N'?Fu)F(8+c@DIAQD%]V$J0JHE"9Ei$V,IkXU4#1(AnDOU9&.?+VUTLC1fN&B8O"JtYJUhQHYSn]sb?ds%OKG7hDUL1/\bd\Y1]$R5J@u6?D8e%ouojf](%*%i6>BIR=SPO$g.GJDWP+"BpRUS?72?QQ_0(g(-V\H[3Y\X?XNPfjd>9.%95Df+@F++LA+-.fCK@HYV(bB9u\SKSi(Qr"\co`s&rkn0>U]SPenfb_/VQb9i"0:'m([Nf=(AVqHqs4.R[suFQSdT0WEh"b_AJBXOdJrJ;Y/0f%(oV7!bJR0;MHOW/ATFSWAuXI8$Q,I>VCRQ_!Y&cDj.>M7q0M]p2*t!Kd(Xa.!bH9&`85_C#'-VZg.@p;BPE+EE)*IM_-bU<#*agHX-\MOn>46X69PfoCZ_Gf*bCo;hZ;s'!)0sM%X$'S[$lW+B%*fT=08gOc&1&TK-<Q)+D>6f=AJL8Vo>J_>snXbo8^RG;6$[r=A?C@2~> -endstream -endobj -135 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 134 0 R -/Annots 136 0 R ->> -endobj -136 0 obj -[ -] -endobj -137 0 obj -<< /Length 605 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=i95E<:&:j6K'fm\g.XI%)lPaH0]bLr=Pd5PcZ=EB6,AYEphcK\gGO0#'D=Bj2kkdIebt*n@o'iF\B9\Ok8f4N@:0;a#d3YqRphN=FSj3-Z0Q*YThHL"V,G>2GRc2,mPq(1%3E6%W7q*jjm1C<)C-,7@Ebp3jaUkZRFlrT[MgGZ1QF;C^\M9qNo'@]Ft1lJ$7p#Bq,pKPQD(?Lg1O5CAXhChMENC^XtDk<:/O=J,-[W&^k!j9DCk\IdM3gVY?BZ&E5_*&T_fig=DKnq52]F&"Oj6`]a`gsGbW2:l&`Z3-o+q0U#3;)KB^nl-\4!1b>&4?d6G":/oI8KX8uRRK52tKSEE)=%po,VB0iU9UZNB;?ccF"f,f'tG,O@')lBW%/)&7aqq#'%9bCMVJ)5N-.I@fhaI^)4)!K%s0L`/4JuQlo&$f&t`,(0\2bq?'#VULp69]bk$6RDB=#D[YPtT"H$rWRJN^S>rf/=a4TF!g#M75(6N~> -endstream -endobj -138 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 137 0 R -/Annots 139 0 R ->> -endobj -139 0 obj -[ -] -endobj -142 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\123\0\164\0\141\0\156\0\144\0\141\0\162\0\144\0\40\0\114\0\151\0\142\0\162\0\141\0\162\0\171\0\40\0\63\0\56\0\61) - /Parent 140 0 R - /Next 144 0 R - /A 141 0 R ->> endobj -144 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163) - /Parent 140 0 R - /Prev 142 0 R - /Next 145 0 R - /A 143 0 R ->> endobj -145 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\61\0\56\0\240\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) - /Parent 140 0 R - /Prev 144 0 R - /Next 146 0 R - /A 15 0 R ->> endobj -146 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\62\0\56\0\240\0\124\0\150\0\145\0\40\0\111\0\156\0\160\0\165\0\164\0\57\0\117\0\165\0\164\0\160\0\165\0\164\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 147 0 R - /Last 150 0 R - /Prev 145 0 R - /Next 154 0 R - /Count -7 - /A 17 0 R ->> endobj -147 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 146 0 R - /First 148 0 R - /Last 149 0 R - /Next 150 0 R - /Count -2 - /A 19 0 R ->> endobj -148 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 147 0 R - /Next 149 0 R - /A 21 0 R ->> endobj -149 0 obj -<< - /Title (\376\377\0\106\0\151\0\154\0\145\0\40\0\143\0\154\0\141\0\163\0\163) - /Parent 147 0 R - /Prev 148 0 R - /A 23 0 R ->> endobj -150 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 146 0 R - /First 151 0 R - /Last 153 0 R - /Prev 147 0 R - /Count -3 - /A 25 0 R ->> endobj -151 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 150 0 R - /Next 152 0 R - /A 27 0 R ->> endobj -152 0 obj -<< - /Title (\376\377\0\106\0\151\0\154\0\145\0\40\0\157\0\142\0\152\0\145\0\143\0\164) - /Parent 150 0 R - /Prev 151 0 R - /Next 153 0 R - /A 29 0 R ->> endobj -153 0 obj -<< - /Title (\376\377\0\123\0\143\0\162\0\151\0\160\0\164\0\40\0\154\0\157\0\141\0\144\0\151\0\156\0\147\0\40\0\141\0\156\0\144\0\40\0\163\0\145\0\162\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 150 0 R - /Prev 152 0 R - /A 31 0 R ->> endobj -154 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\63\0\56\0\240\0\124\0\150\0\145\0\40\0\102\0\154\0\157\0\142\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 155 0 R - /Last 158 0 R - /Prev 146 0 R - /Next 161 0 R - /Count -6 - /A 33 0 R ->> endobj -155 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 154 0 R - /First 156 0 R - /Last 157 0 R - /Next 158 0 R - /Count -2 - /A 35 0 R ->> endobj -156 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 155 0 R - /Next 157 0 R - /A 37 0 R ->> endobj -157 0 obj -<< - /Title (\376\377\0\124\0\150\0\145\0\40\0\142\0\154\0\157\0\142\0\40\0\143\0\154\0\141\0\163\0\163) - /Parent 155 0 R - /Prev 156 0 R - /A 39 0 R ->> endobj -158 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 154 0 R - /First 159 0 R - /Last 160 0 R - /Prev 155 0 R - /Count -2 - /A 41 0 R ->> endobj -159 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 158 0 R - /Next 160 0 R - /A 43 0 R ->> endobj -160 0 obj -<< - /Title (\376\377\0\102\0\154\0\157\0\142\0\40\0\157\0\142\0\152\0\145\0\143\0\164) - /Parent 158 0 R - /Prev 159 0 R - /A 45 0 R ->> endobj -161 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\64\0\56\0\240\0\124\0\150\0\145\0\40\0\115\0\141\0\164\0\150\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 162 0 R - /Last 164 0 R - /Prev 154 0 R - /Next 166 0 R - /Count -4 - /A 47 0 R ->> endobj -162 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 161 0 R - /First 163 0 R - /Last 163 0 R - /Next 164 0 R - /Count -1 - /A 49 0 R ->> endobj -163 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 162 0 R - /A 51 0 R ->> endobj -164 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 161 0 R - /First 165 0 R - /Last 165 0 R - /Prev 162 0 R - /Count -1 - /A 53 0 R ->> endobj -165 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 164 0 R - /A 55 0 R ->> endobj -166 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\65\0\56\0\240\0\124\0\150\0\145\0\40\0\123\0\171\0\163\0\164\0\145\0\155\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 167 0 R - /Last 169 0 R - /Prev 161 0 R - /Next 171 0 R - /Count -4 - /A 57 0 R ->> endobj -167 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 166 0 R - /First 168 0 R - /Last 168 0 R - /Next 169 0 R - /Count -1 - /A 59 0 R ->> endobj -168 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 167 0 R - /A 61 0 R ->> endobj -169 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 166 0 R - /First 170 0 R - /Last 170 0 R - /Prev 167 0 R - /Count -1 - /A 63 0 R ->> endobj -170 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 169 0 R - /A 65 0 R ->> endobj -171 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\66\0\56\0\240\0\124\0\150\0\145\0\40\0\123\0\164\0\162\0\151\0\156\0\147\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 172 0 R - /Last 175 0 R - /Prev 166 0 R - /Next 179 0 R - /Count -7 - /A 67 0 R ->> endobj -172 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 171 0 R - /First 173 0 R - /Last 174 0 R - /Next 175 0 R - /Count -2 - /A 69 0 R ->> endobj -173 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 172 0 R - /Next 174 0 R - /A 71 0 R ->> endobj -174 0 obj -<< - /Title (\376\377\0\122\0\145\0\147\0\145\0\170\0\160\0\40\0\143\0\154\0\141\0\163\0\163) - /Parent 172 0 R - /Prev 173 0 R - /A 73 0 R ->> endobj -175 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 171 0 R - /First 176 0 R - /Last 178 0 R - /Prev 172 0 R - /Count -3 - /A 75 0 R ->> endobj -176 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 175 0 R - /Next 177 0 R - /A 77 0 R ->> endobj -177 0 obj -<< - /Title (\376\377\0\106\0\157\0\162\0\155\0\141\0\164\0\164\0\151\0\156\0\147) - /Parent 175 0 R - /Prev 176 0 R - /Next 178 0 R - /A 79 0 R ->> endobj -178 0 obj -<< - /Title (\376\377\0\122\0\145\0\147\0\165\0\154\0\141\0\162\0\40\0\105\0\170\0\160\0\145\0\163\0\163\0\151\0\157\0\156\0\163) - /Parent 175 0 R - /Prev 177 0 R - /A 81 0 R ->> endobj -179 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\67\0\56\0\240\0\124\0\150\0\145\0\40\0\101\0\165\0\170\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 180 0 R - /Last 180 0 R - /Prev 171 0 R - /Next 182 0 R - /Count -2 - /A 83 0 R ->> endobj -180 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 179 0 R - /First 181 0 R - /Last 181 0 R - /Count -1 - /A 85 0 R ->> endobj -181 0 obj -<< - /Title (\376\377\0\105\0\162\0\162\0\157\0\162\0\40\0\150\0\141\0\156\0\144\0\154\0\151\0\156\0\147) - /Parent 180 0 R - /A 87 0 R ->> endobj -182 0 obj -<< - /Title (\376\377\0\111\0\156\0\144\0\145\0\170) - /Parent 140 0 R - /Prev 179 0 R - /A 89 0 R ->> endobj -183 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F11 -/BaseFont /Courier-Bold -/Encoding /WinAnsiEncoding >> -endobj -184 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F1 -/BaseFont /Helvetica -/Encoding /WinAnsiEncoding >> -endobj -185 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F10 -/BaseFont /Courier-Oblique -/Encoding /WinAnsiEncoding >> -endobj -186 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F5 -/BaseFont /Times-Roman -/Encoding /WinAnsiEncoding >> -endobj -187 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F3 -/BaseFont /Helvetica-Bold -/Encoding /WinAnsiEncoding >> -endobj -188 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F9 -/BaseFont /Courier -/Encoding /WinAnsiEncoding >> -endobj -189 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F6 -/BaseFont /Times-Italic -/Encoding /WinAnsiEncoding >> -endobj -190 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F7 -/BaseFont /Times-Bold -/Encoding /WinAnsiEncoding >> -endobj -1 0 obj -<< /Type /Pages -/Count 28 -/Kids [6 0 R 8 0 R 10 0 R 12 0 R 91 0 R 93 0 R 95 0 R 97 0 R 99 0 R 101 0 R 103 0 R 105 0 R 107 0 R 109 0 R 111 0 R 113 0 R 115 0 R 117 0 R 119 0 R 121 0 R 123 0 R 125 0 R 127 0 R 129 0 R 131 0 R 133 0 R 135 0 R 138 0 R ] >> -endobj -2 0 obj -<< /Type /Catalog -/Pages 1 0 R - /Outlines 140 0 R - /PageMode /UseOutlines - >> -endobj -3 0 obj -<< -/Font << /F1 184 0 R /F11 183 0 R /F10 185 0 R /F5 186 0 R /F3 187 0 R /F9 188 0 R /F6 189 0 R /F7 190 0 R >> -/ProcSet [ /PDF /ImageC /Text ] >> -endobj -15 0 obj -<< -/S /GoTo -/D [91 0 R /XYZ 115.0 725.0 null] ->> -endobj -17 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 115.0 725.0 null] ->> -endobj -19 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 115.0 666.009 null] ->> -endobj -21 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 115.0 632.684 null] ->> -endobj -23 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 115.0 233.665 null] ->> -endobj -25 0 obj -<< -/S /GoTo -/D [97 0 R /XYZ 115.0 725.0 null] ->> -endobj -27 0 obj -<< -/S /GoTo -/D [97 0 R /XYZ 115.0 691.675 null] ->> -endobj -29 0 obj -<< -/S /GoTo -/D [97 0 R /XYZ 115.0 471.376 null] ->> -endobj -31 0 obj -<< -/S /GoTo -/D [99 0 R /XYZ 115.0 653.0 null] ->> -endobj -33 0 obj -<< -/S /GoTo -/D [103 0 R /XYZ 115.0 725.0 null] ->> -endobj -35 0 obj -<< -/S /GoTo -/D [103 0 R /XYZ 115.0 655.009 null] ->> -endobj -37 0 obj -<< -/S /GoTo -/D [103 0 R /XYZ 115.0 621.684 null] ->> -endobj -39 0 obj -<< -/S /GoTo -/D [103 0 R /XYZ 115.0 347.085 null] ->> -endobj -41 0 obj -<< -/S /GoTo -/D [105 0 R /XYZ 115.0 177.98 null] ->> -endobj -43 0 obj -<< -/S /GoTo -/D [105 0 R /XYZ 115.0 144.655 null] ->> -endobj -45 0 obj -<< -/S /GoTo -/D [107 0 R /XYZ 115.0 570.14 null] ->> -endobj -47 0 obj -<< -/S /GoTo -/D [111 0 R /XYZ 115.0 725.0 null] ->> -endobj -49 0 obj -<< -/S /GoTo -/D [111 0 R /XYZ 115.0 655.009 null] ->> -endobj -51 0 obj -<< -/S /GoTo -/D [111 0 R /XYZ 115.0 621.684 null] ->> -endobj -53 0 obj -<< -/S /GoTo -/D [113 0 R /XYZ 115.0 415.7 null] ->> -endobj -55 0 obj -<< -/S /GoTo -/D [113 0 R /XYZ 115.0 382.375 null] ->> -endobj -57 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 725.0 null] ->> -endobj -59 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 655.009 null] ->> -endobj -61 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 621.684 null] ->> -endobj -63 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 145.225 null] ->> -endobj -65 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 111.9 null] ->> -endobj -67 0 obj -<< -/S /GoTo -/D [119 0 R /XYZ 115.0 725.0 null] ->> -endobj -69 0 obj -<< -/S /GoTo -/D [119 0 R /XYZ 115.0 666.009 null] ->> -endobj -71 0 obj -<< -/S /GoTo -/D [119 0 R /XYZ 115.0 632.684 null] ->> -endobj -73 0 obj -<< -/S /GoTo -/D [121 0 R /XYZ 115.0 145.54 null] ->> -endobj -75 0 obj -<< -/S /GoTo -/D [123 0 R /XYZ 115.0 229.92 null] ->> -endobj -77 0 obj -<< -/S /GoTo -/D [123 0 R /XYZ 115.0 196.595 null] ->> -endobj -79 0 obj -<< -/S /GoTo -/D [125 0 R /XYZ 115.0 611.0 null] ->> -endobj -81 0 obj -<< -/S /GoTo -/D [125 0 R /XYZ 115.0 284.841 null] ->> -endobj -83 0 obj -<< -/S /GoTo -/D [133 0 R /XYZ 115.0 725.0 null] ->> -endobj -85 0 obj -<< -/S /GoTo -/D [133 0 R /XYZ 115.0 666.009 null] ->> -endobj -87 0 obj -<< -/S /GoTo -/D [133 0 R /XYZ 115.0 632.684 null] ->> -endobj -89 0 obj -<< -/S /GoTo -/D [135 0 R /XYZ 67.0 725.0 null] ->> -endobj -140 0 obj -<< - /First 142 0 R - /Last 182 0 R ->> endobj -141 0 obj -<< -/S /GoTo -/D [10 0 R /XYZ 115.0 725.0 null] ->> -endobj -143 0 obj -<< -/S /GoTo -/D [12 0 R /XYZ 115.0 715.0 null] ->> -endobj -xref -0 191 -0000000000 65535 f -0000054455 00000 n -0000054721 00000 n -0000054814 00000 n -0000000015 00000 n -0000000071 00000 n -0000000364 00000 n -0000000470 00000 n -0000001902 00000 n -0000002008 00000 n -0000002169 00000 n -0000002276 00000 n -0000003637 00000 n -0000003760 00000 n -0000004046 00000 n -0000054980 00000 n -0000004182 00000 n -0000055045 00000 n -0000004318 00000 n -0000055110 00000 n -0000004454 00000 n -0000055177 00000 n -0000004590 00000 n -0000055244 00000 n -0000004725 00000 n -0000055311 00000 n -0000004861 00000 n -0000055376 00000 n -0000004997 00000 n -0000055443 00000 n -0000005132 00000 n -0000055510 00000 n -0000005268 00000 n -0000055575 00000 n -0000005404 00000 n -0000055641 00000 n -0000005540 00000 n -0000055709 00000 n -0000005676 00000 n -0000055777 00000 n -0000005812 00000 n -0000055845 00000 n -0000005948 00000 n -0000055912 00000 n -0000006084 00000 n -0000055980 00000 n -0000006220 00000 n -0000056047 00000 n -0000006356 00000 n -0000056113 00000 n -0000006492 00000 n -0000056181 00000 n -0000006628 00000 n -0000056249 00000 n -0000006764 00000 n -0000056315 00000 n -0000006900 00000 n -0000056383 00000 n -0000007036 00000 n -0000056449 00000 n -0000007172 00000 n -0000056517 00000 n -0000007308 00000 n -0000056585 00000 n -0000007444 00000 n -0000056653 00000 n -0000007580 00000 n -0000056719 00000 n -0000007716 00000 n -0000056785 00000 n -0000007852 00000 n -0000056853 00000 n -0000007988 00000 n -0000056921 00000 n -0000008124 00000 n -0000056988 00000 n -0000008260 00000 n -0000057055 00000 n -0000008396 00000 n -0000057123 00000 n -0000008532 00000 n -0000057189 00000 n -0000008668 00000 n -0000057257 00000 n -0000008804 00000 n -0000057323 00000 n -0000008940 00000 n -0000057391 00000 n -0000009075 00000 n -0000057459 00000 n -0000009211 00000 n -0000010274 00000 n -0000010382 00000 n -0000012558 00000 n -0000012666 00000 n -0000014455 00000 n -0000014563 00000 n -0000015977 00000 n -0000016085 00000 n -0000017981 00000 n -0000018089 00000 n -0000019293 00000 n -0000019403 00000 n -0000020942 00000 n -0000021052 00000 n -0000022898 00000 n -0000023008 00000 n -0000024325 00000 n -0000024435 00000 n -0000024980 00000 n -0000025090 00000 n -0000026334 00000 n -0000026444 00000 n -0000027781 00000 n -0000027891 00000 n -0000029616 00000 n -0000029726 00000 n -0000030405 00000 n -0000030515 00000 n -0000032245 00000 n -0000032355 00000 n -0000034125 00000 n -0000034235 00000 n -0000036185 00000 n -0000036295 00000 n -0000038121 00000 n -0000038231 00000 n -0000039670 00000 n -0000039780 00000 n -0000041436 00000 n -0000041546 00000 n -0000042107 00000 n -0000042217 00000 n -0000043217 00000 n -0000043327 00000 n -0000044803 00000 n -0000044929 00000 n -0000044950 00000 n -0000045648 00000 n -0000045774 00000 n -0000057524 00000 n -0000057578 00000 n -0000045795 00000 n -0000057644 00000 n -0000046049 00000 n -0000046250 00000 n -0000046486 00000 n -0000046833 00000 n -0000047031 00000 n -0000047199 00000 n -0000047343 00000 n -0000047499 00000 n -0000047668 00000 n -0000047833 00000 n -0000048107 00000 n -0000048407 00000 n -0000048605 00000 n -0000048773 00000 n -0000048940 00000 n -0000049096 00000 n -0000049265 00000 n -0000049415 00000 n -0000049715 00000 n -0000049913 00000 n -0000050066 00000 n -0000050222 00000 n -0000050376 00000 n -0000050688 00000 n -0000050886 00000 n -0000051039 00000 n -0000051195 00000 n -0000051349 00000 n -0000051661 00000 n -0000051859 00000 n -0000052027 00000 n -0000052183 00000 n -0000052339 00000 n -0000052508 00000 n -0000052668 00000 n -0000052860 00000 n -0000053154 00000 n -0000053295 00000 n -0000053448 00000 n -0000053563 00000 n -0000053676 00000 n -0000053785 00000 n -0000053901 00000 n -0000054012 00000 n -0000054126 00000 n -0000054233 00000 n -0000054345 00000 n -trailer -<< -/Size 191 -/Root 2 0 R -/Info 4 0 R ->> -startxref -57710 -%%EOF diff --git a/doc/squirrel3.chm b/doc/squirrel3.chm deleted file mode 100644 index dabd0f1..0000000 Binary files a/doc/squirrel3.chm and /dev/null differ diff --git a/doc/squirrel3.pdf b/doc/squirrel3.pdf deleted file mode 100644 index 0cab441..0000000 --- a/doc/squirrel3.pdf +++ /dev/null @@ -1,6712 +0,0 @@ -%PDF-1.3 -%ª«¬­ -4 0 obj -<< /Type /Info -/Producer (FOP 0.20.5) >> -endobj -5 0 obj -<< /Length 243 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gaqco]5GJN&4QKpMCG*Jam=@[&d8W<1grJ1_H6oAjG1#F^)n`B'%V.pRWIme'^o68b$YJni^j[o`**_BK`i;iK!YkBH#S>=$l3:[LLU:190%(b"tSg6aJj8XBTu0ZbpUfle\&h- -endstream -endobj -6 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 5 0 R ->> -endobj -7 0 obj -<< /Length 1402 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasIh?#u`2'Rf^W:jL2_)+Hm@j:)i6mio8laegunJCqfs6J;I!49'c!k3KG`POc\6\=][;?])BYpqG0%ALrlg58oKVO+AL7fM@VDFX3$Dl"DEEWZq6dl*#I&a+^<o_f;-Qs8X9orV3pdsC-ELIK.r%_HA#Q'mBqHNN?A#8IR;H1V-(!E+0lLNuB.as4J36c.L7kYq?0CamP7i[_o$?Y;j)n4,T^H#%EnqgTF'RpaCI;4U?HHC0\ig1d%JO@oa`&beMd[b6T[Fl>fr%fW@a1V(p=*:?.l=ctVW$=`LWNY&,FII?pUebN,S!LUo3'ED*3WVrTAOY.Gq]\RhNpJ1g59]W\#"agc6c_\F`XpT)U@9"q+'r!rV0@!E;:@pfG)[_qle0VO]P94SFc^-f,&kDAj-o0D:'KtpBTL^h=fJgSkcil59[A3-#Z_jK!s=dC2;d\Pl-!&\JSN[E2dg9\jD;29s?o2-b]"*^j5aGsP)E$+W.8'-6Lq&AKE=mHf4O10iG8rAVeX.u4UA;X.'?3me-0\PmLXlB_1)>:@?MCI2V[UUP/jYGN5NG89+WZK/9V;057L<+N\11-D+,eUNn=cb%3C7qhAKAq3=i_;=EiG@CVoXks6XrV:lMI(?IXG)VD,qpi(/>'=F'u6tV=9dInLGGGp9"1Y%0qS2t2H1R'6**;%-n8p@[p`Xqk,i&@CQ/`7/UZUb%%j:!/KEMhR??=r\A^_b!.)3F;0":G;W4~> -endstream -endobj -8 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 7 0 R ->> -endobj -9 0 obj -<< /Length 71 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Garg^iGoCd.c`?]8EV`b1=.gR0K1`91K?+0ZOMGdU/Zh'Y!=Te%#&:?HH*JE! -endstream -endobj -10 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 9 0 R ->> -endobj -11 0 obj -<< /Length 1795 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/l:NN$a(rl%A.6)Io_&N"O">fEg:?,+'9J^Oom@icqYk"4h#$21hrU#LG]4`5/\eE,Gh8d8-O9&"0pQ9^n830u!St.ZmLcGp8`Pp&B<\r`[oe1:fSU4*C7.Z63cJm"Bqd^;Rc_Tls;Bb1b:UkID>jP_0..U9ujk=kVE>CdjYP'!reShGE]Ql$$\ffqiS-[QUQH]"pHsM3l.PFf,XHG=jo"((]JM,J31k,a]5bNNn37g])-+]j89Q]Pe/bN7Ob3gI3o2QO/F9rKVYouE^@mU5"3[,KnM88G!i^Ij0e[R;.Gl[jI#]p'r`]rd[?M&Nm`W)QMfPT"H$aDrA8Lo3JO%7MD1qN[*hHMpa]Ea:=!e6hbo\=]!"]Dm'u?Q/amhJDij+#b2,?o@qB->_.Pr\'`3M&1/QJ7C>l>7c/0kK(HB+bAbN4Kn>C?9"=a!J(`QL=O,LSXrus2Kj%oD\N`goH4HKdH;.j)FDo#?,h/a'-GGNG8paS0F`dt[2br+ah1bKDOr6IW;[B-Ba+hGH8IVfqW360IaC=1;D"B'+H3(b#D!AVL=O,H%%`AM-"FW#%'*#dTHg:!]jQt6k57ll+5C]?iHKPjQ-9oJY`oNS/jQ)WUXg-ccn\8.]TGe9c7QJuCX2CY0akrKH@?Fh)l)@U>;1Df#aK.[UY5SH_gE$Z:hb/F&5[^bB3`UHhGJrb?#pP_1d,Rg-0u^cpm-F"/1V@()dj3j&.%n^$/mu#=m@e/XjaT$Zf4o-[6%uWU9PXA!_n<%6]>1q^t2"pD1':Yk`l@'5YjnW4XeqJ]#iD[pSrX8$Z67LkdN6*k/XHC(@Y*%0-Ml-lSBQ)Hi(e--JpBY0I,Y_`&.j-tsnCUgGfBb>NSSb02i,Oc]WpNh,klLZ!>.1Pr6UJrc5DW@_;r,`>[8Ys+&m>6b4h)F"8gh/TAP?FZ&aHk>Krj3OXtDTK(%I!T7L15u?d%[6U>/%5q)V7M)@`+(opncdI0hZGiuZmY5>g@F(m4[?"ZTSlh@=>?5AOWm!9mHg=1EqH7PciMK_!Ed)%8lQmN&hSi0-/Cc:tSN4dELdHK+H+OHIu:B)Y``/Ag4JSYMmbqq?(]EWp68AcSk=Y@.l=^g[#c*N7igLY7*)1<'0_DE7oTsubuQSOcZ.*&3(+OGf+hC(>E,.NiI1UHW(*>SbZIC\W2Xm3Q(bl4/Yc>'6*OL=Fo1A;f,fW.S8k@4/>ltg\9`dlB -endstream -endobj -12 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 11 0 R -/Annots 13 0 R ->> -endobj -13 0 obj -[ -14 0 R -16 0 R -18 0 R -20 0 R -22 0 R -24 0 R -26 0 R -28 0 R -30 0 R -32 0 R -34 0 R -36 0 R -38 0 R -40 0 R -42 0 R -44 0 R -46 0 R -48 0 R -50 0 R -52 0 R -54 0 R -56 0 R -58 0 R -60 0 R -62 0 R -64 0 R -66 0 R -68 0 R -70 0 R -72 0 R -74 0 R -76 0 R -78 0 R -80 0 R -82 0 R -84 0 R -86 0 R -88 0 R -90 0 R -92 0 R -94 0 R -96 0 R -98 0 R -100 0 R -102 0 R -104 0 R -106 0 R -108 0 R -110 0 R -112 0 R -114 0 R -116 0 R -118 0 R -] -endobj -14 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 655.001 179.44 645.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 15 0 R -/H /I ->> -endobj -16 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 644.001 184.15 634.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 17 0 R -/H /I ->> -endobj -18 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 633.001 211.48 623.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 19 0 R -/H /I ->> -endobj -20 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 622.001 209.1 612.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 21 0 R -/H /I ->> -endobj -22 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 611.001 209.1 601.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 23 0 R -/H /I ->> -endobj -24 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 600.001 207.43 590.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 25 0 R -/H /I ->> -endobj -26 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 589.001 219.38 579.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 27 0 R -/H /I ->> -endobj -28 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 578.001 198.55 568.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 29 0 R -/H /I ->> -endobj -30 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 567.001 211.34 557.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 31 0 R -/H /I ->> -endobj -32 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 556.001 233.7 546.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 33 0 R -/H /I ->> -endobj -34 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 545.001 196.32 535.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 35 0 R -/H /I ->> -endobj -36 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 534.001 188.56 524.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 37 0 R -/H /I ->> -endobj -38 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 523.001 192.45 513.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 39 0 R -/H /I ->> -endobj -40 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 512.001 185.78 502.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 41 0 R -/H /I ->> -endobj -42 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 501.001 187.45 491.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 43 0 R -/H /I ->> -endobj -44 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 490.001 190.77 480.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 45 0 R -/H /I ->> -endobj -46 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 479.001 191.32 469.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 47 0 R -/H /I ->> -endobj -48 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 468.001 203.56 458.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 49 0 R -/H /I ->> -endobj -50 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 457.001 189.67 447.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 51 0 R -/H /I ->> -endobj -52 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 446.001 224.94 436.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 53 0 R -/H /I ->> -endobj -54 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 435.001 207.98 425.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 55 0 R -/H /I ->> -endobj -56 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 424.001 203.54 414.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 57 0 R -/H /I ->> -endobj -58 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 413.001 196.32 403.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 59 0 R -/H /I ->> -endobj -60 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 402.001 238.24 392.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 61 0 R -/H /I ->> -endobj -62 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 391.001 218.72 381.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 63 0 R -/H /I ->> -endobj -64 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 380.001 206.32 370.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 65 0 R -/H /I ->> -endobj -66 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 369.001 187.89 359.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 67 0 R -/H /I ->> -endobj -68 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 358.001 191.89 348.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 69 0 R -/H /I ->> -endobj -70 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 347.001 268.01 337.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 71 0 R -/H /I ->> -endobj -72 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 336.001 193.0 326.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 73 0 R -/H /I ->> -endobj -74 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 325.001 190.21 315.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 75 0 R -/H /I ->> -endobj -76 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 314.001 202.44 304.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 77 0 R -/H /I ->> -endobj -78 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 303.001 191.88 293.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 79 0 R -/H /I ->> -endobj -80 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 292.001 188.0 282.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 81 0 R -/H /I ->> -endobj -82 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 281.001 276.3 271.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 83 0 R -/H /I ->> -endobj -84 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 270.001 250.49 260.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 85 0 R -/H /I ->> -endobj -86 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 259.001 236.6 249.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 87 0 R -/H /I ->> -endobj -88 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 248.001 202.99 238.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 89 0 R -/H /I ->> -endobj -90 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 237.001 191.33 227.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 91 0 R -/H /I ->> -endobj -92 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 226.001 189.11 216.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 93 0 R -/H /I ->> -endobj -94 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 215.001 190.22 205.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 95 0 R -/H /I ->> -endobj -96 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 204.001 251.6 194.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 97 0 R -/H /I ->> -endobj -98 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 193.001 192.33 183.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 99 0 R -/H /I ->> -endobj -100 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 182.001 290.1 172.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 101 0 R -/H /I ->> -endobj -102 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 171.001 207.43 161.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 103 0 R -/H /I ->> -endobj -104 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 160.001 238.26 150.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 105 0 R -/H /I ->> -endobj -106 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 149.001 189.66 139.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 107 0 R -/H /I ->> -endobj -108 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 138.001 238.81 128.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 109 0 R -/H /I ->> -endobj -110 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 127.001 170.66 117.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 111 0 R -/H /I ->> -endobj -112 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 116.001 219.67 106.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 113 0 R -/H /I ->> -endobj -114 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 105.001 218.83 95.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 115 0 R -/H /I ->> -endobj -116 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 94.001 218.84 84.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 117 0 R -/H /I ->> -endobj -118 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 83.001 171.21 73.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 119 0 R -/H /I ->> -endobj -120 0 obj -<< /Length 2042 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/l?#SIU(kqGW.ss4m(\L1YPcWVMBoui;=R0i@_dLh(D$uUW=!).g?U&tlU_>cR\datmP5rQ8eT.J$kNF4;8D_W^5JH8i@SNupHo84LlOb"=jYn%j`l`odZ)>M\cf=O;2m3VNk@(*janV.GH2536dh91p!eETGfsPhT&8s?'F$0J*)i?GP%)jF:%&NZ]qYWVTO[qofOE#=+RfS)cMdD^Aj&n%VcPKGX4l*(>iIO5rTiTT"l'A^Bm3R0"WZY8VX_;.A>H5^t9iNZDXq0ZOnR@J._])j,l9>:4&uk&(?2hJ5=T9T)ARKmHjd0g6Z`J#%Em("WjVJr[NIa@X5W]##h#cZ?/eq;6[JV(7)N&)ORo0ho#7tPke0A\ilm4e2@AG3?9#!p'[bHM[:44'(&Els=oVnYPist0t8`)r\bF5?7Fn3][JO&Bf8'Rp1+)H+62No@12jBm2:-bIFV]N5YH;(H7b&X3R\lRb-4nX5R5hAOgrArd2[<2--6#C-Nes`./jh6*-9*^#5h^uJ/`F/&p=K>r7<`3SWRX8Dm51_)dDn'YZh(6.q=&M7H-'F8d]e7/JPBAoFEDAe'3J3X41*Z\0"J:!*]OfTlsLr2e\.`pER%=6hqTRS)qB;s@W-#;h&g3f)V;0QbRf/rY:K0Z+$TVE:O4P,E"VL?MqAjGL*a'k@V#QbHhG)G_5[<"urf7'(GUDEJ`\WWq._e[IbOU_G`"mm#M3Yft'*I%BP7WQ1L#)HYP$O"%]g:7IWG)mNhF!/gEe'9)Ie+Cl7BtQk]X!Nk[$ser;&Ent'F9hFUf87/Z\onYM@]9bI#kVsD_K:fWU#bAf9'W5i;29ZeQUO&45]r`=&]gnn!_+n4#m+B\olu(j_hea5"I1(%mh,c7G3\T,_Mt/3@Tf6oXJo9M\O3n0&-t*Xn$$nQEY0,9PQ69;PBu$$0k-[Kf<%_Ie_+&X"U)D9lELJ(j>-[Y4/o*2,*rT;>p]0R"Z8'&eVW5D^b#]sL^Z[ugo6If+EHUcdGD"_seRLpCP!.iF^H?;BH#8=j^))#Q)S]7r11'f]r3i_B>\F&SNib]8sq5[=dp++Xq$K^`cLERLRl@L*eDXZqWrV_<:ELZdo`usIs\6lF-pm/_WW3^iJc:#P4R88MFQ;ZYepWu6W@82I=?[DQYQqS_&Ief4"ncQcd0Zu]($8q-s8I._!/b4f*tW*.e>$i_@pJVb;>le,Z2\fA/KTO=GX*BJT:aWD1;YTKB*BD0s;;*=EU"Mb$f!r^kWPG4Ji>8Yu.sQ_]H@J:dNSfe.F_BJc9<$dVd$-3X'\.%icV^SJgJ1R@f5gC7'iu/:dd&%@CJQ]Vk@(G9T'tptb<#l3N\i#(b'PG2d/*ih,K%fNfsqDA;;hp@#S0!-'b*BR$nJ4DuNq59G:l=l]1RRB>^/1?E"HZW0mQa/dUkUYGV$)lbii]R8])L$1Fc')f^0\WWpk^>U/PKds+1(:l-7.Gt0E/"dY0O)m?nmI,PSDtGsi6\[T~> -endstream -endobj -121 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 120 0 R -/Annots 122 0 R ->> -endobj -122 0 obj -[ -123 0 R -125 0 R -127 0 R -129 0 R -131 0 R -133 0 R -135 0 R -137 0 R -139 0 R -141 0 R -143 0 R -145 0 R -147 0 R -149 0 R -151 0 R -153 0 R -155 0 R -157 0 R -159 0 R -161 0 R -163 0 R -165 0 R -167 0 R -169 0 R -171 0 R -173 0 R -175 0 R -177 0 R -179 0 R -181 0 R -183 0 R -185 0 R -187 0 R -189 0 R -191 0 R -193 0 R -195 0 R -197 0 R -199 0 R -201 0 R -203 0 R -205 0 R -207 0 R -209 0 R -211 0 R -213 0 R -215 0 R -217 0 R -219 0 R -221 0 R -223 0 R -225 0 R -227 0 R -229 0 R -231 0 R -233 0 R -235 0 R -237 0 R -] -endobj -123 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 719.0 183.45 709.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 124 0 R -/H /I ->> -endobj -125 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 708.0 250.49 698.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 126 0 R -/H /I ->> -endobj -127 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 697.0 224.39 687.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 128 0 R -/H /I ->> -endobj -129 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 686.0 318.27 676.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 130 0 R -/H /I ->> -endobj -131 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 675.0 249.93 665.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 132 0 R -/H /I ->> -endobj -133 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 664.0 224.37 654.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 134 0 R -/H /I ->> -endobj -135 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 653.0 223.82 643.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 136 0 R -/H /I ->> -endobj -137 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 642.0 174.0 632.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 138 0 R -/H /I ->> -endobj -139 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 631.0 236.6 621.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 140 0 R -/H /I ->> -endobj -141 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 620.0 228.83 610.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 142 0 R -/H /I ->> -endobj -143 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 609.0 212.98 599.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 144 0 R -/H /I ->> -endobj -145 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 598.0 222.44 588.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 146 0 R -/H /I ->> -endobj -147 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 587.0 187.87 577.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 148 0 R -/H /I ->> -endobj -149 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 576.0 251.78 566.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 150 0 R -/H /I ->> -endobj -151 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 565.0 207.45 555.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 152 0 R -/H /I ->> -endobj -153 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 554.0 223.55 544.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 154 0 R -/H /I ->> -endobj -155 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 543.0 254.94 533.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 156 0 R -/H /I ->> -endobj -157 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 532.0 176.21 522.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 158 0 R -/H /I ->> -endobj -159 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 521.0 223.27 511.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 160 0 R -/H /I ->> -endobj -161 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 510.0 214.24 500.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 162 0 R -/H /I ->> -endobj -163 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 499.0 187.88 489.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 164 0 R -/H /I ->> -endobj -165 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 488.0 198.44 478.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 166 0 R -/H /I ->> -endobj -167 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 477.0 184.11 467.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 168 0 R -/H /I ->> -endobj -169 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 466.0 185.22 456.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 170 0 R -/H /I ->> -endobj -171 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 455.0 204.11 445.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 172 0 R -/H /I ->> -endobj -173 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 444.0 199.67 434.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 174 0 R -/H /I ->> -endobj -175 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 433.0 187.44 423.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 176 0 R -/H /I ->> -endobj -177 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 422.0 186.89 412.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 178 0 R -/H /I ->> -endobj -179 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 411.0 188.56 401.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 180 0 R -/H /I ->> -endobj -181 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 400.0 185.78 390.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 182 0 R -/H /I ->> -endobj -183 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 389.0 203.56 379.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 184 0 R -/H /I ->> -endobj -185 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 378.0 190.78 368.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 186 0 R -/H /I ->> -endobj -187 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 367.0 198.55 357.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 188 0 R -/H /I ->> -endobj -189 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 356.0 190.22 346.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 190 0 R -/H /I ->> -endobj -191 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 345.0 187.44 335.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 192 0 R -/H /I ->> -endobj -193 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 334.0 199.66 324.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 194 0 R -/H /I ->> -endobj -195 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 323.0 193.0 313.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 196 0 R -/H /I ->> -endobj -197 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 312.0 203.56 302.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 198 0 R -/H /I ->> -endobj -199 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 301.0 208.55 291.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 200 0 R -/H /I ->> -endobj -201 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 290.0 222.43 280.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 202 0 R -/H /I ->> -endobj -203 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 279.0 214.84 269.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 204 0 R -/H /I ->> -endobj -205 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 268.0 231.06 258.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 206 0 R -/H /I ->> -endobj -207 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 257.0 237.7 247.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 208 0 R -/H /I ->> -endobj -209 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 246.0 210.83 236.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 210 0 R -/H /I ->> -endobj -211 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 235.0 232.04 225.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 212 0 R -/H /I ->> -endobj -213 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 224.0 177.88 214.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 214 0 R -/H /I ->> -endobj -215 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 213.0 271.76 203.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 216 0 R -/H /I ->> -endobj -217 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 202.0 222.04 192.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 218 0 R -/H /I ->> -endobj -219 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 191.0 281.49 181.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 220 0 R -/H /I ->> -endobj -221 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 180.0 215.93 170.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 222 0 R -/H /I ->> -endobj -223 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 169.0 222.61 159.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 224 0 R -/H /I ->> -endobj -225 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 158.0 184.27 148.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 226 0 R -/H /I ->> -endobj -227 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 147.0 223.27 137.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 228 0 R -/H /I ->> -endobj -229 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 136.0 245.5 126.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 230 0 R -/H /I ->> -endobj -231 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 125.0 237.88 115.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 232 0 R -/H /I ->> -endobj -233 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 114.0 218.45 104.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 234 0 R -/H /I ->> -endobj -235 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 103.0 216.22 93.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 236 0 R -/H /I ->> -endobj -237 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 92.0 222.04 82.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 238 0 R -/H /I ->> -endobj -239 0 obj -<< /Length 907 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/k:Qq5$(rl#n$BBE\,pWLRTPG[bPYn'-"6YRU^H\!MLMD*_gi>Df"`"^;hL(fNXPd""N8UApT`G1b(KFq')Tih02`K"*OiKPW=O_HJb.-c*u5X7U7aTXB#?!s2+2^7?]]nuM<_ZKrACA!dVAS[pfIWAf"jP-?1.;h%KQ?Qa0WY6_M%g3.Dkc_oHHHkG>\/,+hlmkj=U]*[P.Xoce6[>M3l!]F<5WSuQW(hSeZh-?nN>f,[4^;Jgf-_"1"E[dg1nppo!^MP)U]tMY@1j8t4W#<7CS[_]LWulO1c"$rdD"O15.C)*>:p(P`QpS?*RV$F!sE_6F=cF6f3J(!^]_XEfQSRgr+,eD:U#9&or*CkY(rUs0Jt;oG>-<7dLKXHBrZiVQZqNsjSXOYSdErQ%[ps'_RAs:Yf"'aecPt7%r.GYRFJ(cAEkMpSGsEk[1*6AoF.\lY3IHg2f\'a#&e82GQBb>-VGdcMnc*h<=Pr7/b%G"#4Fp"2%eU2UD2ru~> -endstream -endobj -240 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 239 0 R -/Annots 241 0 R ->> -endobj -241 0 obj -[ -242 0 R -244 0 R -246 0 R -248 0 R -250 0 R -252 0 R -254 0 R -256 0 R -258 0 R -260 0 R -262 0 R -264 0 R -266 0 R -268 0 R -270 0 R -272 0 R -274 0 R -] -endobj -242 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 719.0 269.81 709.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 243 0 R -/H /I ->> -endobj -244 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 708.0 250.64 698.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 245 0 R -/H /I ->> -endobj -246 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 697.0 214.54 687.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 247 0 R -/H /I ->> -endobj -248 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 686.0 398.68 676.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 249 0 R -/H /I ->> -endobj -250 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 675.0 208.69 665.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 251 0 R -/H /I ->> -endobj -252 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 664.0 189.14 654.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 253 0 R -/H /I ->> -endobj -254 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 653.0 209.82 643.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 255 0 R -/H /I ->> -endobj -256 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 642.0 181.78 632.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 257 0 R -/H /I ->> -endobj -258 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 631.0 212.6 621.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 259 0 R -/H /I ->> -endobj -260 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 620.0 259.81 610.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 261 0 R -/H /I ->> -endobj -262 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 609.0 164.56 599.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 263 0 R -/H /I ->> -endobj -264 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 598.0 229.83 588.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 265 0 R -/H /I ->> -endobj -266 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 587.0 233.15 577.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 267 0 R -/H /I ->> -endobj -268 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 576.0 226.77 566.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 269 0 R -/H /I ->> -endobj -270 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 565.0 217.59 555.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 271 0 R -/H /I ->> -endobj -272 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 554.0 208.14 544.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 273 0 R -/H /I ->> -endobj -274 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 543.0 142.77 533.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 275 0 R -/H /I ->> -endobj -276 0 obj -<< /Length 726 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GarnUa_oie&A@B[G]]$LeRgDR-:i[\&erluk^f$h'G2r)76,M*^=3orJdV[t]]Y^AbjZ&`9CL%sN2"8:o,*aP(Eh^k-nrCIAW\(-1b\b`a\^+,YJX:s3t:Hb*MY1WM``CcF9qgsr[,"8oh]?P`?"f7b4"JO'++i*c()"M9Xe&2d'@SZspI@s151\p$6mJ`H'sV)ou[_OOOjS5:cXJ-e>?WeR)X!OZLG[.YAT(=^G::sIotd8u3KH?5I>Ot?dh%H/#U+m9^-EM05Z%u[1'd@m8Fh_J/IZ#3uCo^qV%P='?J;I-ce)2n?Df"0]5)L>%)_!J!KLHRfW(iU&`$>$QefQE-RGgs[WPL6jFN^%mOWKr;'gKXg!o>VGLG7J/l_'91H4EF)E-L!L9$Vt=\I5XRD#jj9*0F-ouns[1p?IQ%ZYW,Ao6#rI-i^pKK\!ap\,G&Z3GfXn[\;KkGNDO1.srTF3.qt`_q=*mt^X>mN'P^(uOsiRuW-RnE.8`?f]S*p^\5kD&i~> -endstream -endobj -277 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 276 0 R ->> -endobj -278 0 obj -<< /Length 1542 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasap>Ar7S'Roe[:]iOGPF0o!OsRrqT`MG&.u*k6BkG^)AJ(1V=/+]abP'[\M3N:]aE-=,F!8lkj5EN(_eeoCehLtWKqW##dYVZh-^J1uT4J-`1(?I,ORECnCh5`!rg_q)-fmF"C'Ocs68S1l;]GE&=[r7B*4'49QbrT4b^L-14i9$DBT]GjA_E'ZpK_;5Oj#]+B[t&k)UIXdQX";pWb!g38L5hFH:8ZQRZK!Ol%2l]G#V\cn[$e$97W5-0]P!m^*@dP-/,aUE&CMNGd(&%WT,2Op=Tm.4&PJ&8X!VO_]4e)lL,`3DC(mFK'.+ca8FXR'/D0J5G!'s1WsD9M8kNKA?1O$P3o+pPJ\[+q>mlQ^LMA9KY6rA/HKZCj:7Uk//L*6asW##@'uehs5E'&'H^i)$9ioBFg^\:^hI'A5_qlpBT[@A%DkHg2HQHh64Cf!7Q4%A:W)lnT\dVoLkc9@7^X^VX8g(m%$UbS3_WV#%&!9="J3U`D_6.7^G,fBK.[+PM10"lLm\jV2K&f=0T)qLrYe^6R?'N[]7Uq.`'4I(L_g,ZW2c7WSWsD^idAGeD9E2.$D0Y>h"G#?fc3@M0JoGW5^@Uq^=jmBu"9!O.]`g)L#3l*gndCQZ"nKn -endstream -endobj -279 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 278 0 R ->> -endobj -280 0 obj -<< /Length 1625 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D=`<=Y&:XAW&@)geZ8G!Ae5`0WAf#5*MkWHKUG$U.BUO$se_s'i-3krg:O'MWdoq0[EiH`r5PtBclHIN%^0Yj]%"6&Vb=-(5`["V;03u&^l*5P'QSUU28g_PYo"lP[+K&Da]\PFKIGiR=d1SNMBD6+tgs5nR*o^JNlHhO7L6kK'NTR0/i:PSN#oDIE6k!m+69h&qs:a7[KJ%0O3K#V(_F#V)JtOEB$MU>WD.3E4BqPHB(,uK`C)BpugS>Q%,Yba'mVqnJJaWPUh\Pf!nR&0L%4Qa$EO^5fb`H+G'7giV5AFE]/pZ9=u2N:O.,'CF5^iV+hIsbGGAHMuuJjmV8/0qi:73dnp*0AA/+hPCET>ks#ssk6OssP1M$bE*Rs0QH;nek048Iid.F5L:'%#E7S_"X%h%&>!JE&'OT1'K6bE+EP?]uMK7pH5&^&[99phYXX9@/M;:G'"%GE(@_8TX)(>*9C"Oh1KW%`5;SJffnkj'^WG1$SEV!SGC:7iB9;H@25H5'[g_Y";O4A]C+f2e5gZAP;kLF\(;,n#cMT?Af^laF4IN?'U)m[-f$eRq$=dc7sKPlj27%.^6>],jBUEYkL7)M?YXX-j!Kmom#f8A]gi!C)s--.i&H%(FB6A+>oKTZaj$#R9JZF57q8_ZE8THZ4Tl`3t[j`"[-Y"L=D74a>:C.u'QO*DC[W.:iA?;408/US8C#g7C_DMai6NjIn0gb!+1MU\G8;oklM9LGd-fk*deU+P>m_K`h5hY*8&b%J,]Ssj,6W<8RuLR%bZisp-W)`;5t%EB]"4mT8Rm-=FH^jVib#6N%L/^ko.0#_U0MAMM\`K>O"6m@CBmcKSB>IF?KqA2aE+m'I%49o#2^dEP0fI]nP5]5=b<")B$!Too\#o!3XaI23Ju55ZpFtc5.=":YA2mHh@5dD"r4,1e2:5XdKdeKpO1niU@aJ"[P>n%J`M1YKte/I:;>pT0*RT9ITZ_0FPEgN#R%msdE6QPbX&],+[3Cs7V'C!]o\bEU^GGAP..Dgb7*h\?@CM?~> -endstream -endobj -281 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 280 0 R ->> -endobj -282 0 obj -<< /Length 1836 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D=c_;q&:WMD+o#VmOUYC$jT5IGoDm]>GY*$9ql@sqV>4T:LgJPUZ3]tNsLh+ci'n3?DoE*t;NO9A3ph0=G,XXc$m]shE*/DR5McF:1=2-3a3ZsFoMQ\ak6FtTD5/d/4,LUVI+kAR!lH7ROF7]0h:C:%7^K("sMpYJ-kqH*/5o"aa+PRROb^+;Y(RV)%JeujCtFjENiQ:nO+@XmXudC,Q$I\M_F3U3sn:)QbA[lJ&7Z6WSCBMEt!#?M3<^d2\te5"1c9,h3a\is9ZTWke6:"rrLGKb)^hn%;JQ84DXAhVY'@W&=KC.A+9hbh-MV@<&0X2nC>B=g7Gqn3;jALQInlE"9'+^D8XZNNo/X>8]%Pc\OXq@Xf$[BJH"[-:>I9S,V[>;5#/JD*+K3B'X;.:+eC+A+j?PiL@//4l5BIQW'K'(^?3Bp>d7K-X)\m&0^,#P>+D![`Y0HbgtC(!82Z:88B2a76%O?&-AZ9IV;HpF&,m?-A>ID;XDJ=Edi59MZ;\B?'STK3&@7;ZCR#RD-#V+H.lApfOhR2o@)bN@&X3_U'ksG7+):I6S"Br/*YdYNgY:M,LgC_Q@=9?j0i0/r:&OP5&qBV,R$RnJ7$8.OpN;?-07(?bFV(.Lri2?\ULb2>Udl_TXs8lN=.eqXje/HD;P&'pc2p+MW;N/B33aS1WR%pb!]'o9SAY+_g.(Q+uo^(r]QRO4"d5e'Jf71%S\)4bDTu%C5=)7`S#.9K-[NDkWFq=Igl92_7'ls<0=3!!=7Yb#H)K)8En64<[&dY5;LqRYO?deq6h0RhZE@cWGnj0n,=kLV\fI%G/]hObcKgp_Z`2eq]&m?2oqS)C(c:SK(Mqm)>F@[@5/NR68[(GO*76+g2=jT;e5dIk:CkB`;U[K//DDpcgZ_9'n(bH-sirEQsA$^_N$Q-?,Hl12mW(^PeAXJ($GcmrrIpWNC0RJ4YF76itE#%)$T:*b$`b(0dOG#f.m9-riH-e*0c*-6!S$S[MIa>)?=4Ni4IPIauJpq=9Q]0NOVV_6pBW*D\=&of>TmJ<5qd(@qdEO[]+M"/i!XgT,WKG_1ff`SDib_QejXbDFeRQRktn`dK%mQ#H-ai(VX'(gmpgKV2V-4\*P2Td*`mCA*HV[CM0k%:JJA`qcs6g/;D`0g(#]-OOK05QOJP%AN=St3[0^PL+M7f.Z<-A6IW3e3W$&'$9<&Rn2'SnTV42fQ4n&VEc$M=R;qG5.P@Sb./!"H>4oFQ6lAGD:jj`eI]g2l21[BTi$t/*%nL%A!e5#eFf-SjjOe<*c7[t^^;jS,#rgbXAt_>Dq"_OrPg9[o$Z@3*,n5gp.+p09nMMQpS=tTWW9Is(NNO)f8@mq_sD*O6mKq\J[.K?=R59]Gi5Ro[>*2;Ob5"VUk_GR8stbJaO^`9X`WX.)OFBM2U!LTae.4lbhdM?uO09?l<"W1V[#:\mGMrdY6A3e?0"_]4'p"S9&\^YaED]3CodG?1*HW=44K6\/a^5e3,U0o;F3-M`cG!C)E3CkTi0d(^5#e8#~> -endstream -endobj -283 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 282 0 R ->> -endobj -284 0 obj -<< /Length 1506 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasap95iQE&AJ$C#e@mi-EJW\M8G%DfE/[?"W$SZaapm7Rp1_k.6*4Sg,@Ha>"WUL#3"8\NE20\nZTIW,ON_Ob7BPEED_s\19jYCgFj#Es"kW[39e,EkeW*PoTNK1'r-F1fupE;7/4;e'\ipSZ[*aFpoge,O4UP4*jWmS8B6O>nD-Ub,1mI@ME;;9.l29@j1P]$ZmP"TL!nr;Bs=NP_O0fi^q;YW=`,1i1SJ2U(Tj2"l=W,X1-T5C?h`%c^%a5iJ9XF"'\Z*cl0f5@Q\hsXo.ts,G;E37N>dHNtF`?%jF/X,<2H!Hh3)FJodWkkpe/5pT?*BBHpkWIsG`B5p_C_fU5@6"40I8+V'&+So._c\F`g+o$*+oDQJ?--3g^n$Gf::Q\l*/U#$`8Fi0+Kum9P]:*"1Fm*j\R!&nf'Z?EZ&A^2f(l)g1;o0miWZPLaQ^IEP;/B0q*Wdq2b#u&hEWa>g%@'7onqc-k_9"Lp<)LT[O)<8#8c=UPrlRFDlk4Ic\3V)-pMWplK+I2rAT,fe<8!7?B\%qpORULl&..YhVr)"nh^7&I5@fq,b<2MFPX>:+.m/+&VLZ>?X=9#P50(4-ebS;u/58u97burDFYCRX%1MMT%%=8=\2,tRO+@#O:ZrODNP^bhRK.6q"3&*+ZDuR="DXMGAW;\:=DI,g8)48F&ZZ.e%`H*n]-PU&(+(>sdci36^4pS:CRn\E#Pf-_"pXLVReSN#=7PTbr=uC])GK!iS1k\F+Sl=_f>(ZERQ9^`D\!ClTDoaRB3WB:OF"2?'\mt6^-38QYV3%Nse3V3IU.)o;m\2`*b`7NpnDB:YO3RIfi7Q3dHQ.p??3fm1+Q_7Tf0M]so<%tg"<%&F$4@\SZ!o.-.;!I+kiqkoohb,P20P.hT_5->j_eB3(ok?@-3gOV1*SjF3eE?k'lYFK'04*kUP/lC-T\:c3f)X%rJiIfWg2A?;0XoT-+>hQHI9/7@lB\QsQ8WSQf.c#)`uN/7XB7@T[eo_FYpEGpXgp-Rad^IWQL0%$-_d`ZnY;Q8%HP@:`mOIB!?cjV!7AH`TrKpEEN -endstream -endobj -285 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 284 0 R ->> -endobj -286 0 obj -<< /Length 2391 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat$:?#SIUn3+NQfLljMAbBb//bZDlmEbk9[aj[bRUVpA3n>L5/gVn8^E:EVMFU*q3s5h6-f4S68\\P;]_[]n;96U^\[_uugP[Hcoj8D$nUSj$Qpl;)g]_&fhDMt3Y(N'\=g00]WnX]>m91&8=2FuR-$V'mLKGS=8)?(FHV6o5KMe4oMN)>5"B!J(K'#WG&+$Wi'oNLqrutX?GV@T'fnEVK--MKc6=r*]5#oHiC_#jDY@TfKf5Gs'A"6g]O9Ft]h-RH"14jtRqsBXBPd8o;3[Cqj^-'u@W@fP&ZkNF2FGJ[OBVQFp+*DYTM2>JZd`_G/7tl#^nY:s#c1Ul4B"G(lGQFUiF[B*@k@`hA/IE8[nW`>#d!lDW@lfC\:]dk9jGJ=@R>bpPTi)nLTQUmUQaL]IWk5fb\4UT&(*&/nO)Bq3"(3XkT'3H:2nFBl,U0T#ZD5lo8/Z3rdQsM>*GRGRK.P3:99a*p1#6nNS#5CG2clUS.6$NX^pqn1cbH4kr_I3MOd-+$rc5&p9Q`P'iIVeI6>;80Xs-4daFGCU(_4*jfBKFGL!l.p,NXAFkk\U^%\Vl2@cQ&!;619qi*HtD9d^s'f?+?HcT#c`;FsU(@"[(Ar&XPNThg9nTK2`C;6V1ZaQKdqliu9g]dETl,6A(Q/CY,2euL#]q[cVC'AS8_E5U[MA)iW\lesfM9aDY"T.I&f_<[J3ZO?i`&=G#Ju]=rk4KWOFj^B#0tdlRV'i$4UGQQZ]dge6NIbki(QRQ0mSpFNGXpEOJCb.2PY)=M_rq`^QZ7U*hPM;JJ!b,S7,:K;DFX&iQrm(a4R'9QDm=&SQkiQps=>?:]`HMlnEMu4dsrGA:rl'Z6)0NGB"8_IBDOD`uJi''';[4ets80`&5qtNR9$p0M,cQCuG@<&2?dLc$B([8;<^MU1uDUb/@J!H(q\P)Y_P!hFlsgL4du,cNd`GiWPlClABU)mI?"4`;H9!(8Z)85+KO#8X#*E_mgk*;u[-)A9Du*oEk_/A2/i>59\t*&s6\o>>[d$V^h%fH!-?%HTjD-:+V4$B2U%lA/-)bS!0%"qb?tuE$s4u*OH]RI`Da\Jm@ae7-:74hn#X[:"2=6HT_>=B9p(.;PMD2kN'\U(6UHX,sboOf15k'+F]7U`t'0S0C86c#g1Zlem_3ToN:J569S6+^oGm4)hd.9U[II,o%QBR0aDN[Q@2M=T(Gh_JkTc4P3RhGkV-/El/%`e)'0Fc'2arG$XOmE5$`Z@dF=OCjW28[1PV,aTUong,Z;eu"sYYQ++3S2;c`9`E5&l4$tO\K/Y*27qE'?"l$GC>7`K$)l$*dJB;kdpFqoA$!,o>4#0p2Q*9*r:_2B%&95'L,@d%P=>`545OTo0YGkppQX[hkNN'LI9_;cJet2MVi0`6&N9U?PXe0&-TI.,#8D^&SF_NM+Bs?n6n$&`P^1/[HlB@:P/f@2@BSH3@I0H!1K0o/!A'u9[E-qONbV7^/AI"S&ti+FUsrN[P'lVOdL#WeF@fGOE+OAXmJ7@f2L"8Zce#$2D;S`Omn\TT`M]iulkS1^gU"N8_W.q@AFCVU>~> -endstream -endobj -287 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 286 0 R -/Annots 288 0 R ->> -endobj -288 0 obj -[ -289 0 R -291 0 R -292 0 R -294 0 R -296 0 R -298 0 R -] -endobj -289 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 505.14 636.561 540.12 626.561 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 290 0 R -/H /I ->> -endobj -291 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 625.561 132.22 615.561 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 290 0 R -/H /I ->> -endobj -292 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 191.92 564.122 298.56 554.122 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 293 0 R -/H /I ->> -endobj -294 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 161.11 452.244 231.35 442.244 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 295 0 R -/H /I ->> -endobj -296 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 262.228 364.919 301.678 354.919 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 297 0 R -/H /I ->> -endobj -298 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 305.57 298.919 343.89 288.919 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 299 0 R -/H /I ->> -endobj -300 0 obj -<< /Length 1278 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3c*,SU&ARtCLq()u$RUnoI!!=2Bj#/H4fml8Kd,TT:2^>eOc!OY=%\abK;1Lt`p@`PPPiB[)HU3ep;/_j1e/oHuIkAH@L,>=%':o9Q73l\5slaEor)sN"\2"a]W)t@j5-c3)NO_>hV?NF)*X.?r@rpS<&Z&bgmm&WTXCEL!cRBr$:U=>]5]P\GQ?T\6XaS;n/Ph<4TheY$Ig!iLe+Gp474j/(M9in``erl[\/E`&Lc!6knAtW2Z^KJZT-T[p8>ffg?S>=ad)9$>FjY._G+)[%!@9n;_&RYm_XbmG*W,BbZG%tYAJmnN!m7MJ=od4SeWJ4J;(^QXe;pWfT#:l]4ZHig&("t-?2(ks(ebTPrCscnX;:HEDO)]=JGoKLCH.3mm7p%TBH(98WUAjCkkbs5+4o&rM9JT:nPE&\0qiK1Pn7ZSOG2'Ld*bH+Rlg@rDoV'W4aGhS?&,>VK6L_heZV2A7lc%%Cbn^@`rWB.`mP"G;nWE:9pU"`:Gl85S6(T$)jU&9\1hg!N[$d1#3Z.Ru2%I,O@TUN@/g`CG(\:csoAc90QomL70?%'X1CpfQ5Y2bR]j\@*3!DOTECD_[q%S8NTlP9Eq/UGE!"hLC#>.J`RPJm7:1>+9>ph1OF%*qb,>DuEH;,5juqSD/?mcB@V(9]ZLko`_tWh49NQlp32@07IB@-+(jLD^1kLr`Tp6jH.DWq0V`a%k"m.Z82>~> -endstream -endobj -301 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 300 0 R ->> -endobj -302 0 obj -<< /Length 1782 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat$9bAQ&on=Hfp\d-t\_W^qhO9O?GF6II(r,Ce*/XJF#FI`.PNB/\'O\\1V6@?(o9$DbWJd?I1EOB=qhhDi=eX-f'@.gHWD)$:njSpjPc])EJ?1&k,0FS&`e_N`VPms.T0[?ZC?;UjRo2ku/S6BL>10NAPdOdqFL']i3(#BHDHO;7(f?s^]r5HpX66&e2TeQ%)e&E]g)Bf')-q/`kkjFYo%t_=X3$DGa_t;%:J',ELoktDpust=bo3"o@&RTO=GlL+9"NpdVZ^1Ad)Nur,Me[`c!iZ7edYn@FEp&u\9YTs]X!p.oS"LYi@hfTC.S]QB=CFE\h;U"f'$j*![BA'g7qpI;id`I&EUR=Z7lWI%T.38MTA5_Uu3"c/(lIR,?pEAY*BX)j:0hE`KhZr9s)>LZSV$S-sf*2")fLG.jV;R^+^\3>T0)>?D=/>2md1_q\RcA1NRO"3moK9[OInjIj"&-e5%)*>H[d>:?*UM]@CmIm'pRjf4`/@AP7hYtgZTeiL"2g9_(/>(bO?`Ek.3bDKFn8@sVX[6Qq.)RAcD`rJp%m8_5-D)"[eT=A=K$JKH1&S6OEr['m!Qkg%FES6;[]5U>Vq>m3di*'$$OE?as3%SZh0a&.uB91G%4hQqr0*Nlq'EmsT5bL54+mj8KtPiI8*d=kno)Ea,PBG$6ee,B+gjnql>s\Xk'mi4Y[q7\$0qlJN"dc+DA(]BBZOXs&ic?e()OkIhcZ#rGmCVEEK4%d5J76>-..9)Kb##GXd#KuEF-.+CB>/8WLs*[>tA(gIm,#2"f:=UJa+lj2DFLh4_R!s(oGi759"F;acoW4Cf%WCNAfs'=i6'N\m?>'oSD("=!*q_<+Mus_Ghp=@Dq8@KS)d6Hrg>tX,cJ":g&F+,QneU%.8Uh^Pe4\Q[%)TAq"2Q6nJPt1/m`\MM-+^a(35;blRmX_fCs=6>Y;8L@6@]>.LoLK4NUlkc-4uV)*no\F)5A;t@5^5(*_:_u=V=o3\cWtNRg(qCL%5Gu\3ZrGL=peB0eN;G,EUQ1qmq;<*Ka2ei(5X_nf&b:a1s&3q^f?ffN'B3L``E<8C3i6co]AO231#;-RHi.cg%#?6MF4H:omYkm:Z-#ejrMDW#H'$D'Gt5_])^cTP=',DHU:HR4\9A9>,fOQ:tXmIFB.Q7bg%d]4K.]R%p@NY;brnFlJa4okL:^Nf01b&e_864\B;fWJL^8`g^'s'C)@TBI!)&J?l#H[;Phb]1l!Dp7ap@S#8$]6aI-)ZX2ofJ(NJbNOEbD+R"~> -endstream -endobj -303 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 302 0 R ->> -endobj -304 0 obj -<< /Length 1410 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasapfl#P('Rf^W#^rt;2CoYA9;`Z#"ZjHkD#h?$`IPCr=H-""Znr5Lr;0;7.:1]5@g!'^Y3o&V9D\6ppAQ]\O:\ZR%9D-j#7iU'@/WTIQm*Ng3'ie7@!)ah/Y;Z]+d^%>@.dOS&Zp_oMDfN&KQ_qqM%D&.Z)J\iI(3MfG7j8W/`sa13=r8.!6JSP+lZs\q'ELe,AZ\!o%o/kbKcY@8C_sIXj=gq&&>VQ]=c6Yj[D1Kgf1CD6[%^jlj-*1Ze8olg009?6Chl_]O%Q0dX!sZ`Y$(m[JkTS&r'SDV\,Z+r1_u(_L!*nplB,6]jH_R@#rnInZgDLY^LjocA\No1QEXnZ*?#D0>Qf:c&"(h?rXuKV65>2lOq#fO\I.@j+U0/N3Fg"geB&1WhhEoWE";5Cc!Lo@dHKo9U$,\_O)K5A#$dhhquM=O:r=kj8r,#jk8>%SO8[Dld=*8<-j6\+XIE+KLY$Z;rAkT\I09LPPbNgW2q-4mnJ%g>i_J)/*N[:fEc!Y;&0o?"b-B)hUWN3&c$HMKXI%C8@1;JnDG;HJJ-iCYF'$nMYK2]d57,?I7(>Q.)XBE%LulNQhJDqiPDJKtj+r!oq=l0q)1R`(RPZtZ47hA$aa$6VLf/%6caTX'N9oK;A#CDDh,"`,DCA"7"9m<(dIbsT'!(_C^6=suMe7EjJ'8M"d/Wj^>pLjhTki`ejn3=R3(MKKs*%7tL_#iR=_\!rZIYQm$.YVVF'69V^85u%Z@o^h%AItjAWF,!$I4S=a6#@C>ToD~> -endstream -endobj -305 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 304 0 R ->> -endobj -306 0 obj -<< /Length 1371 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%#95iiK&AJ$C#enq\'Sb+qid,ZK?jj@*V1Xb]"WQQd+mU2r>bmH*O\IB@o5gLkF5"EN"Ys6ZIqA.!.@;k@sa);4Po^kLnPd@Di6.1T'8[1(fKXN<:Dh(1ejZe/#,D!!2(n+:9R7ZoR5Qn`nT`b.3S;?<]#r`<&_s-($j;>ZTk_oF*XZiVK^upUA^b^)JUN/$Q1A&P%sbSIsg<)nZGFXUSXp`U6V1jfEe^XGOG-!mYZum*(@b0YRTJZrs\t7;a7TG4&q1MR%FootnQ-P\4W[3ht=BUV\uW!=QN?9U']^Slu*_8%duVM>DGj8'Oj77a.]+A/D8X)[?7iS:SCV0Qd2pA1UYeFPRaDKZoMYu$Gs,Cqo#oQF+O"#ql<.DTqVJMam&6%8\MQ\(iXl"\@]USm@"9JXFZ4QqI6[=[/>D4sMIlQ%TII$n%"=\4Kdam3TK#lOjL)I18CF:c9MrMEo-l0(s]qjo[2io0&u-$4#B7BcCp:.eN\jpPe8JOt^6'!!@r2,#SY[W8KKR4Og$tQ]WSc"0_N%9/^)W-q%+%#JA^S.bJMiN<`Fdm@l&R@aGR8>\a]GaUoBHKm;oe1LW83Zc2ItaU,.6Hb0lSl8_MD>2npCt[KE*#]kLGj*ZhSt]WcqVl^Ds_WZu`"e(bKiHf+Q8!_S2A&`R3!#FK=sqAh&nNksLe`,1uR9fD"*O\7*V:0R=da%8j:u=g)3Z9=]Or?QipM@kISC^?9"'?3I?2F6Br,+6Rj*nSUN=M`opQk1=!RF\mJ2V>_XjZCeF;OF#5rc<66E>%nH!%C)-He9?=EPh*[P?_XWrh^rg9f=8OZ&;Yf;$Q8;r/H%;M_p\2\BmL'E)Oem83O^4%o5%\9?`a'L:M]A-NN!Fj>s?`C%>=mqut?T?Ha-'J;";.0BF2qSqb_lQN3VOG`?8?S\pa_-es?B:MSX\]T8WHDO2/U;O%^pgR\0]&q3sL;9YJ(b#ikJW%SVd3/)G%?g;@8VZg[&2d'ts[5nqgYeVftr39fe5fp>FrISY@n1+uTg@mju`l'dYQSf]T_+N=pgReSi;I9dc@qcgas%6;7jl$lo@HN*~> -endstream -endobj -307 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 306 0 R ->> -endobj -308 0 obj -<< /Length 1300 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3997gc&AJ$Ckb^5#0VTiXZ.lr;fG#clV?M&i@/Ia)Bs1>r>Y9n*IJii$+si6`\_8lB?pP98^7"dV1R-cCX1'1,KcT5Va^O:5`tc$&nV8^_8n$qn#_uGY=IYekTa`MSg!j\PmB#@r@I%&U6uF90Hc+2FG!Y>e-m6ZoZ_ljG@"Y#diRh9u>i^XlGe:Xr>AjR5Sdch@I`%aQ])e+#K6/i*HH>0($%"<2O:UjQI`Tfj)TI]:']L%P+9m1)C"m/5J>j#[FOQQI&c/1Q;ec.&a@aHd;fQkJb<:A<8Mut"QYH*"c@;"`TOPuFa+.I7@GU(*frJN2R[.P;W"l>?n;<1o,>]GT)Jp_BC>br0RYL45=SFWhaZ7Oc(it1&C1"DprfX4WG2<,2R3dg1Youf-J4lCU&%ulH/rBS'XKt&GHYSkaKt]H#(#)^(Lih'k=&pGu7pmcaYb7%;FBi.0MR2E9,iV#p!gVmoA,1Sa-&E_=3-7kfRKeGiWR8G^2[PKVl*7]V2$6GKfJ=fJmf_D]h@&7#+Q+V-m)EaNCU[CS$RqOoaX,Q]:st#+?082d;T^jIUThgtTB`F:,S"^@/ugLqPNG*l\fn18RF=Se$(E8A/(%l1XNjZiTL`@Q(,6/&>?m&Gt$YHFu:Z>25*t!=jJ%l39`,S/E8uAUGC>*JTO$W@#o'0#3Ai6P8WRZ5_h4b3QJ'CpeO&QgojaSt?j4,Lq_*4jhU&;Pg%14fcY[*e&V=n8%UbdkA1"7a3^WlQ$'!8S]Jsj0V>d3/s6eeX>gf\VNSi"U.ipORX4tX3kE2N69g.H%>K>YH!fNnG#W'H6bmbW1sptgECE>qt/aUUH`/Vn'sSXY,A8o^'*sn7/A5oED_qS)nK>4/^>/.pk\l>)1F:.f)H^:D@dsUp2r+lY+u5J_*"u@Ddg-DkGO).7.GU&r5Y&X^Uj,3ICoX$gDb*$q6>ZeCN-/*f"rPME?ssO#F]\1^ULq[Q]dn*n`U+A?Ni!Cs$!@RGKbOf8]@M*;CES(QhJUhB&<\o7#sU5n*HUurW?spf50fErI*$UHfJ02qG-,qDc?0/gL&]XDJ"b9q[j/A\PdOK,Ti]H`Gdq5,%f/\R'^p<+;=WjHfElkA7oC*6;ai?Dp8/R42f*he95?_GZrl$f3YQ.80f"7D_0Bjl+Tb3P1?2i=-i]*j^U\0^KWd/`L1jNrO.$=Qq5+#`@_akdI94KJY/)c/WVJHZ?Z\,(%4BW4\*5:`'_6Ca4MM_!NBa4kP~> -endstream -endobj -309 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 308 0 R -/Annots 310 0 R ->> -endobj -310 0 obj -[ -311 0 R -] -endobj -311 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 138.6 526.402 182.47 516.402 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 290 0 R -/H /I ->> -endobj -312 0 obj -<< /Length 1256 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK95iQE&AJ$CkZ$;%_MY-78k!f7G>k/m]e!okLSb1jE;9q1Ne.[f9T(#)[8"mCQGi'9:naq!q9GNPi0EE10J0MJ$s1M@gu2H(V/["_-c33F"3&9C#H91,8[Zid.8-n@+Pu:-r<$$4"aR4/-qgF&54(.!AKMC6aiCeOjV5XJ?g&0%4c]_^%I:.EQ;b!LBjIIpA"b!MN?c,4J2)1'm8LF71UTT4%.,J-f=b-"!TSJiUP&G/#65-;YrT8t=(?1cdE4VR/$NS"g?a^,PEGfMf*X*0)Td?X,j-%9?h((Q#9=f[S:jbhG&VLc;r&D45"PkrlWtM524f1X:A.t,E/.`;PmoFd*"=Z:T2I9)WgaT=#CJbU\GGV#SS03)FQrV*CVKcL[;bQj8+!nq,^&h\(E1_@uA9sk*5+qekKGM)#;fZ6Bs#HNIp$4V%lS=:E/&:>\_qs/b-a@IMlC%n)!qQ>0Y*KI\r%Q'=cLd*ZmoPtDfNP<,ShVmW$)Kn^hLGZd,EOWIBBtmruIQ"sF**QdBgS#ECfaJCpOPY0Sa6_gnmbQZ)_EtRb- -endstream -endobj -313 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 312 0 R -/Annots 314 0 R ->> -endobj -314 0 obj -[ -315 0 R -317 0 R -] -endobj -315 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 218.85 467.243 326.63 457.243 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 316 0 R -/H /I ->> -endobj -317 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 240.51 337.644 348.29 327.644 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 316 0 R -/H /I ->> -endobj -318 0 obj -<< /Length 1687 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau/Y?#SIUn3+NQ.o7LoD+<$aP,LeNX?["!`AV3Zb>9lNm0Jh#Q]gCihiACAh,1H;4=p!Fh3%I1_38eL-g+i8LUtEHB$1k>=e/C0Ps=P1Y9h2k7q1c-f$6Km/>MXpaSFGUr?f(lT$-8P@ZU;=UKibJW>E#8Zf[h]ntG,+_!7Y/4oiaj3a\.f?8eT\QQB$@;Nc]:SJ2[HSVX".J2\eAX/.hA!'mXL"5]YO`_/IY7N_H"O1o\*.qK>9bjP(;e@de,MX:UmRT!=&rh:1)IJXe?mK1O,bRn.^'6=06fi&cD6*dJ3J,(DjZ)1Z9EeuX,03dc_&`(P&UAJr'SR.u=QCVF_s?qhq^bSCaS9jdIF&TOR2nU7r]Q,bUNr@j5%?;;[PL#:;,m\(]ZiYAJE%4U/NoF8[?5sslG2Pe70uEte\]oid?0t)fnR]IP2k*G'QKflq*S#-S-RKK7TJ5GoTiFq0L,>J%4@S`e"J6p<,uX8q!;p,k,Hu/;4[%?rQ6Z((W2nO?S6,%@hI.#C&Akh`F'L!C91?ET)eY@K2YiS3cEkX5lun'J#X(%j3>]?!&-pJsr5Erb:+@,'@%0o08!c_Q,X2T,(i,br3:ecs]'dV4Hs--MoCFT)]$s\RBV]6UKJ@Rc-YoJm^jXYmOA8,P7)m6%X9_1VRKPa\T's9*7"kF*AuZpbcc#,uHQ(A.?07u(4Iau/(N"g#/g[2s24CnQ_ujE42(Y+9BnlSQ\1ugGa,4(Ie4rU>'r@5kr`+]ba.-NTE<(%t*o%rPJ.>il7QFqG1EO[5Au^00C-b5P!]E^S%lf;^38douaV/UD40?,W_FsD/'jeAf8Bc#Xmb"#Xm`\ZFs7'UB!uSF.r#ZPU7XmN,:ur]\//Tn4%4+K,VAuj;o=Dj2tUr@[D+:6.^6"CBVFr+%Fitq/XT2=r;Rfm/OD0?arEE_UXN6/b2V").Khe>9!=o^B;-NEVESei9AVlMWt7!.IYKYgU=rhE-oj1D1T9>/n;8ooGoVr\Wt;!Ds0gYafV1).OtG=qC^O-kLufS]lVZQpT^H8aKBqV]N(NLH!a'5ii#X6-O>[qm$c?Vcp8I)'>X6@e&*j=FXqrb>j;6mq?Qfu[%_O-e!ecn8*[#J1T]gf^6HEH3l$Zg#F88\IsW9F-W[s,-GU(p_l)CrQ-!OQ4Z: -endstream -endobj -319 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 318 0 R -/Annots 320 0 R ->> -endobj -320 0 obj -[ -321 0 R -] -endobj -321 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 385.406 628.28 412.066 618.28 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 322 0 R -/H /I ->> -endobj -323 0 obj -<< /Length 1343 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm;95iTD&AIV:;"bITJ4#5*4d][de3FDKkbZDXZ8p8i,n"!O)i:'&8FkY2M<&\FdpBX<$lCe,SC]^;)qOL#?Jm*ZIlP8T'G`,`\4G1pabS@;/9sUg;0pqqT)Q]mX-KS94Xo)(a8e#uP-sYiT^JXQ:nV^bq;W(b$j&\,ai@rjLX(u.Qm'WJR%qj.+Sno@'Sm<8o)#boRqo8lB]8R`bT)k;ALPlld?7j\g1R!P52WM*4o:r-"[>[E!ja^N"[?VmjOHiG'J/;"CrS8q;&86V;!N50(TQd+=;=WHs0Q_@?31;X9@(9DjQkEhrr1a&YG/R>"nP$^D^U`/7Ec"t--!6a2lBlPJJ%/7g73GsQYPEeK,:ol/N@VD`mP26X."K6^hR6FmpleO9jmQ4`2mifs.pUo'4K+T%J%(dQbn)r'*h,O2ukf?KLROg;40E!$j1K*&lSs$cZ$2t]n+FI+C6:snJ^NiNaX(jp2gIOTQnpbQ0`-Rh3BnR!D+4E7.QJ]ef?IqG=SXMVqr!_(!_9QIZSVqb%!)HNcR]22$2ZhM+in"1%2!iC'g_ja'Oa3#h&Ur(q[HYFI9<-nlQWR78KLu]`e%UYn1!VD24J7,5fFgt.]%r?$e;[A;pjR;MY8CIUPD^Inguu@fQa4APM-bElFPO:pQI[W=A+tCECJ\'"h':10VKQjeTNDEYS.OEDi-me:4Qi.GWe5Emgbkp2M)*Ae>GQccF*@*fB\7P2BlM5=o4(t[&b!#,U1khqTt/AX!?eb%i/)"-JH%:U7,!legm>ekmMWWek\m./B6HMqn,>]+iA*hYc(eQg@SFQ+Q&ceQgf`tcb[@p\7f-R*MS%o<+P#96K!.YtL:dpCSEQbcgnAr,J"0'o(Onro5LQd`s146%_3a-Md@hC)Veg_1PkA+2YX_@%6W+FaeY1l&'bLrdBT&.E^4^j:Zjt6N6U++#J~> -endstream -endobj -324 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 323 0 R ->> -endobj -325 0 obj -<< /Length 1643 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,99Z,/&AJ$CY_UFI`Yp*6O57'>[8k/I-aS$5dca^^1s3PiLrPRhXTG5+"5C'P1ic:mCTDBa?sCY'aQR<>(X6YpOl;7&Dek1_(]I=B6\eVUObPgp)'EkJJtuNX+f"%rR8FFa?)c:\N3g4VFYk/_J/+FLo%)oZ&1OS3ZrJk>]D2)jQKuVClS\NM:VDeW1!OQf/L$^kp72]mkf;Hqld+IBgIAf]AXuMRn$DkNZe@VtP#NG2"&dq$]<>,.Q!W0l,%nS5MP)_gKT$0d*)=Q?p\hRX)sg=KV5Fr#i^9DWK3UqL'a`NAjTNk#(;#+=,Y%LBPAo2:FfiQh+I.N'79bMpfNcm8rM[X:?q1K0.?NTWQ)+3U3pW]Ti$ga].6/(<"84L&UU=__1C16Lhd)U:8$iCo5/OsUo5&QJuZe\e:PcnH6KHH_!0g-p2U!dT_`)j/Y&d+u#/C?(FiEHtnjiWQj8::ZU%aB!AGG]/[$2tA\=D+LTA27%n5Cq['6TlYA;^2A7:rer`XQ4f%CC"XZ%pS^Nh1PP7fPrLe'!pu9pdk&sG&g+?,N;@:U9[IOrq=0OOJZI%TP??I""@F]CGYcrno9LcB`oC)EsZEZL"rLa\2mOLs):g$1dTAG-VMYTD>B;1QXDiMnV1.>Z_5m,K[kkV.J+^m0[&5tQ-3ZN?8;Y.$L:oLLRg*mA;AjF:BRe'#]X>C.oSY1KNSgcRj^M4UD"Z4tf#tsK@9OXbX!XjVk[m&J!PhS4k)0Uhm:gIR6,R[&XXhX.3%3"QrN3i%.%l,Qo%KAk(t\6ddpMu*mnKs13:bpkjqu^aVsf$p\**I$I^\/V*ASH/VLp+rS5D_FHD+(=He&-,e:5BXC&@`h8o,q,*d+5pLSo[,nC?knSWH75r%q^!G?OrSgALsS@.L -endstream -endobj -326 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 325 0 R ->> -endobj -327 0 obj -<< /Length 1006 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0B95g:b&AJ$C+CFK6mWotj66[M7Wfc"&X/\]R3#pL-Yu*6O)!@SLs1PbCGS^V_3)l3j5/oDMIJ`EUh?:O^/\r4=#[>,n%pR3uYqZ*37AsJPQm,;,?u8Vn`?r]ac%Yi<`H#a=3RQm!TeWF/`!c@gk1ZWA'Kn\Eakru[<.6l%j]6VtpU^er/mXO6EHkoGLP.P6P:]n_+C2Xlp(\7W4Ph)/"?_m$QXfktpI90&@ql.EpqOr/]dk^\q>`M;dQ4bbSjni8JnP@Vhip>61[6;6&;,NgJ;0d$5:+XJm?!EL\;P44PC%k*LTQa0PT8%HCH+1'1e]TS]9/D^]8*j=Ve'.BV@RHq4X -endstream -endobj -328 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 327 0 R ->> -endobj -329 0 obj -<< /Length 1416 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3?]Us?&:`$(TKFMuf"o@ZY\G8kf3>4%[8jVsqQO+n]\k('&tHl#ZK^VfHNu70Ts1Utjb4S!rr$Fk1V$^c(AEB44leWhmDO'h'C9u5_[\">1\:siTsHpBO4+>r`I-h'@'U-tB_q5[,k@J'(<]4>71!N;8#__t:2L/g["sCU.Eh*gAm]+dd?>3rcD!Ndr:.BfW_6Bsf?I97>A.C!ba^%nrM^Ik1;_WcMrX26EB^#B=hKP8:BX$?h^qH8;&\-3:qr%;1HP6+<>(PokuO[\4P/G)Q?H;-.MKiI05e2O`I2jQ8&p9)TiFpY87g";i0RcHj4/PVA3RbN4nVCGL.!GIC,N.bgfl"Rk5u>.S$++nG2TffHS;3W+9ultNJW#+7GJNo`#fPCF,IA-_03teH?AUXm`sXLr5F*LbsW+g.*sYr^Od@4J/UZcLdn/>=.L'9`Vl'u4=^iDWn6B[,fe%i%aBiA_T.i[@)u+<^QTXfG-!D48[%&;Z3*'4)SRuY]s;Q%SHA`'#.2Nu^[\#YdhQChf34U>?Kpu(T^Wqf@CHMi#D\,:Ct-AF.%pon3p8Pg)8D&:D]hp,_^K1@k-)g0bJ+K0\5EDN`3A4OBKc28oV+hBLYA"48puAf-sAnUjnVs>#M%t:4Y&%ec&CcSdcSVfRq?NCC9mHVPrr\b/U>B3b#HD'OfCDn(lX6_4'ffM60S^6Go_652TZ*)2UC6p&I1T*DY(stNM)..jL(-I)-nYVBdg)^keB?=^M#s^h!%%COKj^nTVoklZrGYZcI@.#N6^;@-S>gT6NSPt!!'W?U&%:Ht.V0@&V*rnL4HaAl/u\n%@W^Ce-)gR(\e'":-"2V(!7MF(@q1>A,pJ^]a,l]Ih1>4N*_)303>JQ=C>X?;DiIF>JcYbgl3DP<"h3c_%6UJ%QCuV?#fF)G,H[IRpO9c[]XQ[&/E3]8R`.$tl5ku)`B($h*XND,!"m!9TbM4SbKLODer.0VYl/=[$"GC9.8Mj&aXM/qNNF7BXT\0+Q"u^@71gSl%F8>,#Sqo/kDrF1Dr9H5A$ZJT;MV(tC>k`S"0Ba>48a(]q,76tXT)*p=IW^W._fE@F)p\b-\"nZf"K0Ji -endstream -endobj -330 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 329 0 R -/Annots 331 0 R ->> -endobj -331 0 obj -[ -332 0 R -334 0 R -] -endobj -332 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 237.19 355.941 281.07 345.941 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 333 0 R -/H /I ->> -endobj -334 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 404.65 334.941 459.09 324.941 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 335 0 R -/H /I ->> -endobj -336 0 obj -<< /Length 1472 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasap95iiM%)1n+(qHFGVQ(rW-e#uY5(MJD@WS$_6#i.=W$5e`-YY<&s#u;d7C:+<(Bm^!,,pV;8^X/3ZcBhTJ:o>/P$k\eKu&4mK2DU,+p:^e?phXg/M_#/>[#n-("a;e`"U&JVf+uTse;MBa*V[cECU-gZ+^m'0'HL=&R>;Xd[FFID>E5gIq"/$YAj.PaV.4OGapXFZRKlP[7n\MQ?R^:VT-,g/F6O0<$Ssf01NmX!A,cQi!F&FU6#\/OGU<"?SaPa_Skb\U;BV(JOm@X:"Wcu<;QHLn=SXJ]BojBInY*9XPF$Fbj0&#ien9iRDL@TVVH`!f`(\=6=FX%XUIM`Q%SG;T]Srk:71XdurC,=.slamrV0*6q22'lh_dp1e*>Lc4Ec4J*+fscqb`ApP,U\J,P\l#BRUrl*;8;[Ph@G5W9(750-9?!js!#FAWH>a3Ml?)8U8Hg>91Ea#M8&`R,:Bi"7F+cnsr:uDC?tL9+&fb*tr`<4](_pasbl"p*-HG3U]nQ(fW,/d=(X;Y*2uo.EZWRA0E#4Ep>[@Bo0gn)GTLY+T3j2jT/q@[L;B70@ePfQH[L[VSDoaOe.A3]s8C"e>1XoIB=qIuL?XFT$XME\hiW.fsf*_*!>`<6dIeM7C"[\NW]4ks6IJWqQ14A1>6;_V0XA%q*#tjhO+?>c)P@p3#.ffc(HqTas<.iHh)7F;oA+L[CeqWkY)gJ`LY,)7aR.nIZ$_<8YJV@aipcEc"grA68Po)O0QHqh!``)Ei62TD^nk2ZNGk.T'*2>X'p08%9j\^FU9?+C^-P8fS7WCVPnC'`@ic5s4IL-=c(9dBnJUlf).\'<,$iW27q#'U"_,KLM/E$e&9=FHQOIYQCQ>!n^Eq4e./u'gA,7h_8aQbl!3#qNf7jX(7@u%`=5D#qSXY<9r[aR!qTuK,6,%pP/)\tSqUpiVA2>'UD=GF-A^&;M?,f\[2KFUH"E;@G/`SDS;Ghl2/.)78F?gIhX)s3[h(In.Y!f4^!26'O"XloY@'\H8_9(];`WdcHRG`,)-#\,TVg$iBSud5s8MY\O1dEQ"\_Nl40Qa;R>`17sipT[MN_Yf%*C^lIjHF6`qL2a8]Dh^6u1`(1%bdh9Fu'*U8o!_/Au8m.4trP_f;?/kD_EoI/@;")SZi.eY7$B>]M$\j$Upjm5J\DMJtf?>,jU90WHVJ\Ga~> -endstream -endobj -337 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 336 0 R -/Annots 338 0 R ->> -endobj -338 0 obj -[ -339 0 R -] -endobj -339 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 331.6 602.236 401.86 592.236 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 340 0 R -/H /I ->> -endobj -341 0 obj -<< /Length 1270 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=+95iiK&AJ$C#WXnYb_Xafh*(*W]"n#9TO$I7*%74uLm9EEU=)aPrU1auPW>&+\1Iab1F(1thg@f>+4lGJc[j,aOp$oVhCX+n^S%//J(.+.n\$ml#Yi#*_0]:5d$h`#\)*mhrY>>TO8?'^]ESnh>!j:*,YKBJUMdbF^d8ZZ9A]M,;e#8:@E9(7TuDH!UA!>>Pi+.Ra'9n*^p>0&H'@ogtXshrk;T=43L?joO^-Q!dKLP;UB2./B_q6c:AWLHp`D`&3qNiXi2K?ik>f.cph%Cfs]9%f&SAFkB`O,,T1^3Sc=K_1aGK[[SjtVN\EgS-e?..=&U'ZcS[1\f;PFG^7N?:`=@q<`'kZk)d/Vp6juSj3dl)8#`DKbZ]cra@M2*f`TL)Uo:66)3J]?$<\-fKD35Q.fh#HgV\US^dF-LkAbArM6b_u=ZA&_.4`tbuY.I&mIenC;(YGk<@Z,:eg$lYm9?YK-GGmJ_d\kg,C`W!XY#gh#$tFTMCnP&BmEMpf4n6r4Zg%`X&B_^4Yo7J_`fAui3mLqAM3$CYE("24&fFQ!3*]\9=qV4WD7hRoW(W72JI6)H@3I+0$=n93&Y/!!:%kUJM(%V5N?PPg*I2s&gOW_$A.m;LrZd%()b&F;T5c//>p!o$WBRrCT!'t44/gRXIhBk5*dYuQ*#5BoZ&r,e:"?&)e3K;1'BP9^l!-'#<#.W(1/iQS]T_AqF=M\+W.1OaXYcOu/7C/5SnL;&N8W/S_a1KlkXI.W]"lt(2:#m]F8&P@e*!PD*qQH$V%$?'%=AJV.gdKCN8M>jA9O?M;s39C7H4itKkp;ZjU\NRa8_W&YUPA]P?9ItsR//*PKbo0iaZ`7!Ge:r`Mi[0qGhYkJ@hEt%AX`7Bf6D2l.^00V<3eJ/_.9\l5"nuNc6T(m:,<^N+(172h>~> -endstream -endobj -342 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 341 0 R -/Annots 343 0 R ->> -endobj -343 0 obj -[ -344 0 R -] -endobj -344 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 138.6 533.515 207.77 523.515 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 345 0 R -/H /I ->> -endobj -346 0 obj -<< /Length 1041 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%"a_oie&A@rkFK:&6[(&\:g)^m63>@CqZfp9C@g"(>$/K=]A_Mj&o[0^lYjZck^kGcU^1qp10Na:AbjnmRPpi'[?Z2Cg%(b,2!6'0.QA$:m2ns1@!orK#6Ts]$WP<":=]F#6_>#nEfpadX))uFo$E%]/#6Nt+o,t\4VklUE"Q?r3qMjkn#nh>phk43P8);JL+(lM*:GmecJ1Nps+cK?1Mf(n.(6g#sAA;A-,]4T'9kiYuM-ClF>2H/cY(e0/MOZ#9+-g4B_g<;GR8&f*a^$AE''F>&H>qN-Jr2St;;OX)Ur,Z`K6)]9rI^,3*i'4TUGSG#:jnoh,Xsa]YZ"_5NpO)3<'.NK_NPr`Jg3nbf:G;n&/E'pCVY!Fk87XUfRHp@=[^eNFC")LL\W\)/lVQgF-U?-LBsRpnm#3Wq["NB;\cu%VFc]BTaG>3(H_Gob^"5"V\q^1.]Q/G%G-VG*WPtQ=KU83qB]Dg428^gR%;0@kb&`#cJ#fE%p!)nEQqf.[F>ZtLZY%6J#?_O-njc3Wpm"9%^kN'AFC9i@Uc91GH'OE:3+%h*`Wbh6FFNIM>->*iMO]>LGab2OQ`=1c5)$Qnf1qP(2g1r7k'!L,)"R&0bjIB(eT$jMOn,Hi_2?^i^6l)N<=F(X1phA&JKCV?&oRbZ0EV[j*tts$@@&0c,f0be__.o0E1=;rk,@`FW![(@[1b^PU^H)q_>_Q2;qdN$,XLk/kPZ+pcE!(75E^8EiXosP],?QIqn$7gPmE.3%)0.oH3j]Vca~> -endstream -endobj -347 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 346 0 R ->> -endobj -348 0 obj -<< /Length 1875 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4997gc&AIV:0RS]nX"^:)g9ub@8C6L"`'=i1d*a[dZ&kdk-*>cIqVOr'PW4mRDh)5H"_TY3c@#6Ad-nGfmllIVllpY]4l!TKiuMI:iX`5s-^c^_&<9iHe*>-=M:8>1FbT6bDnStrh/!I6#l6;I(`mJ.pLdBIUnrFU,->#>Y%lXH$LM2%gJ>[=It\!cVl@%>YU]@"BU$HVo6b-"a0*QhI:aIoe.:#Q[5kS%YW:$_1U8O1c)nS+NcLUj+)Le1E,lS7o4Bi(5\@nK`;rTk5[!gV>K8_$jVr`d6!F_!3<=@>j;B'ID,qWdYG.;aC>IW9V4F%08bd;ni9YnXG[c!_)q0;EC_3&<(!XdD:\0`g(uj?TKR:IH(!tJHS-%mIFUM/[S%fP%R26%[rHuVl_dE]==l'IJt02rU93DBs[m\1#AjT##!O.D=FL\hOQ?^tp@mmJ)(hUsPaejNL->_a^FR@+$_Z)k+c]8)P=J4d@R2m7cr@)kQ?[Fq2aUcYkMC"$Z5ip7XfbP/?Z$H99LY>tK^'oRY.cSW513>7.I"N7^H')s2o5(+$9e]`>5"IDcj."m1M5WE3_qp`h*=q60+"fS1B2]@uM.I8<,nbGN(qW/-U$H2_RsAD_g:?`r[ru!]4.bIoJJ1),'0D&U^)ph&Y``890Raq7e4o+=Qk8S1_b;'&>pqs&p5tD'V+?PQNr[Qjjn'[?L6Hm(cMIQq-NrKN3"`_XTdFnpS').j)2NHLjc$m]H6ku$d:5]1*uDsg1_c!_+5Gb/sq)Fa8J*a@b,mP+C3Y="u/bdS;sLC42i(Q2-+WPh0oT??p+s>cNHQ%kr1AXD]HY3JhnooHIfLj"=P4Z,R31?,;DgWKk)t.IU>3_j@`4kp.Dk8EX,>="&'C-Qi~> -endstream -endobj -349 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 348 0 R ->> -endobj -350 0 obj -<< /Length 1935 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D997gc&AIV:&C?&R;2::4GLA(k'O;hM;4rGj*o\/QRBkA>6q*@,21ki%;BdEIAD'^]'FQI(7\&G]2\2(#^UedjjBIY(Cho-$HTGi)Km_0Uf`(V-tkA*a,]ebcVIhG9HaifI0QaD"M45AYRCCa[AQb\&dO$i\r1@Or\A=)Q&;J'hdNbJZ?O7)j&s'M4kc@QEu<5c`AP:mTQJW'4@b?`/_7c@C.X^XW`T2#+0:ikV2NFpTEOpq3R"R917dSR-PlJQh++8IYr`eE\@/U4/"'S[og4At`d\;I/jU.#,_]?kjBDUR]DZU5tf7](KF$$9iIA3Red'O&h5O'-d;?bUeCc+ekJEt'*Vn#A4&ECt!%"$1^R"EdC(?RE`GTB22u_-7m>B^W>7I6B3$?fF#n3[d-as3p4Pp7AZaKk09Zp([i,i=l0=a)b;Ln2-fVN(3E#![uKr&FGq#'7'7PD""'OE85q*R`fT1*LFnY[2?C*qf*qr/WpWaVk9`in]*YD>>FK0C]P0(?HV8]`)_R6_8fWAFWft_Vb_dF9df@]T80JZ!#+66ZFqVDH7_pd824%3=lN*a`$-t'q0$!VXAD!Ykr^U*luY8Vp3\qd,=kgs',%sXfD"S91qti,bg(PB9nR<9d!.pKlS?./5+J8dMd@AHfrf&l`fgo*^fJaQ<#9+208?R,XRP4]r,3&CpMDJJ&37G5+ItNJH(SDF)F8Q9Yi-#n"h10a6#sjC7IE9/Z:8IMqM:L+dU,K"IqOV)_5Fck!`m>&]d<+X)Jtlq=^UYH[q>IEf8VIlT59%T)B5(?kti4ZQ=E4p>TpZ-).CJqptJR2[+NaGp4tgu'SG^3bUmIk:US^uGX_a\+Y5Z4qr_CABe0?-i@![k?86p&[$(\\.+)j4m!sG6f">gJE<'.@/(WJ\5-;e_JNiOPi[tGWM[(25cH2*#o,/Hh(U^]cXX1c?O&X'U:Z-l&4R2>5Xq&jh,DbYSnCeKm.ppUd5a2!UaTml!XAS`&Bu%g*o=JC3icY+hbC?qVf@NX2bt0bURUM!<#O@C.W/kRM**d?,A$&9m]qAtpL^F!C9G$Y,l1![dH'"Jq508J(k(;hVKm&=rP$[O^su4P7)DU$J;AIe$=;'Tdnc6emd\HHnBKj?:1n@Y$!i1PNkgZPBHf]2UpHgVOIBK4H?gtP1#rn_=:]NK-H4*L+@C%u$^t0lY/-Z1%-V6siJhj:d5-A--S/J[+oeQC<^-ZiEnK`=$q/O92f9iWR$3N\`m`?%8B]T7jSrPk,'iFu60P>kqWGU=l=+jjC?"VakRL"!@t!nE2[@fH8]^]-$)uS56jiR5]'5`[L7@"Yo[O3mNMu@n&PGn)7(nJ!mJ/g)jiL(Z@R12fHhg/*+7:>T+*3?WMBCePDe%LGr#C,V?3pjibcGW0Q64)8dPTif%R6SB@,Vcpo)0iIA,m]&4T=l:HIG-BlhD`d?5_F:%SNj5k]&&gdY9E~> -endstream -endobj -351 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 350 0 R ->> -endobj -352 0 obj -<< /Length 1785 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasI)bAQ>un=HfpEesl[N%!tZ`>7YQ%F@8GW,Lubcn]0R,>24'8n&M3miB*cOY+U-?uq(?H#mT]0?]j*kJX&HELgZaj#Yp6lF?>W%eY687]o6*l7D\T\![l+LN6g,Ip\Eds^%:&_I^KEoAiECG&dR7/?TlBgF)Vh9661:r836%n6%To[&h6n!(#N4`apSS*_)E,ZQ!M-RBnQZ#?"Q^%NE<8.?g!"\'k@f6L_jP1,Hjtk$NT#;ZfEl[Qp_NX!pV_5Up\XV/?Tp!rhKQXiBp0j@PXUP[VKcIHXV*Z`kkkkHO!MT)9MLJ?r9D`63GVA(>DE8;kf1A8edD=cBO+tF"fq#"&,=@%ae;38%pAkH4J0Qpl[$kCYA=W:?(5.+Z\+?q6Kh?/0h1B![8]cZ@k8mW:_hIcTuJ$cRHM62=4oK_4$An&<$)Q$]@Fr(fPNN^tFX9q\M8^H%H6g=i19!)CAu!b*jn_Kbbp&0slnpM,gUjG[7r)u"7W#Ec@Y4gR@bOVODuI%4V+M[T_e:"E7u&c[qYZh.lq7ge&s[u6*0K8F:X@9F[/"E@3D[gooJ5/;j'dYHN(57!ISFVn;2p/$$ZtSCC_!H"ZV."i-[*=>0Td\QdjO8KW44[6AoV$tTI!+*<"Dg?503P0iTA%+4KiicA7+@(J.@4sc?K++JZ3@A5KV:0[%]a;H:D4@lfsWu4-o,e=X1gqLVE;]Rt=2C'!n;W3]e6CWVXqQjIV]@Ee(ZJ,OgGRLtg@7@m!st<%n=.bo7-[5;"NZj>X8O^Knaak:#;"2uhZ\=\a,S07lLE$fFuXB[:p[X4f7<9ab_tpnY!B5BCQ9(a)1f4_?_Q%trtCLB~> -endstream -endobj -353 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 352 0 R ->> -endobj -354 0 obj -<< /Length 1360 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasap8WVUa'YaHG#eneX*0.OCESMi\$rj<<>e17N>N.$0$0%Z7*qh6b:H70l8L8@V,)GBISeU![BHGB,:H\XhNZgmDK_U/@8L^oHZ(IFZ&r;Q?7YOsk,R?W$oIFL;n$DL9/KclB\9m:f\W+8i9Bd7B)1f4RrKjV4:/q@K=0!]h>$.c;;=)5j:EmWT7P%pP(QR*R++rF.(X$dY3&;2tg&-``:MKl8BQ.I$qCn_JnQp(bYW\)CAM!AmsM$ZETG>/]Q8?;S]&F&L;?><>MgplC(0W=$[QE2gNUgb,mY:SdUkFe#:)X":jb2QND]Cq16(9!3e.5&7n(Y))1Q,OR2oXV=$%0)ElLiWUrD.TJ`M=e%7-P`.k^FE4aSf.<7a.>/*M=47p;&oJMs-hAF-TaE%&I"D<7//u@;+bWs^HY$;i'@Sg(K,Sdgjrs/_h)_I\Ii;#Zf$oF'&R.6XDWE9QZrD:QYVpF8jIXmJmq&3$scj.]D+@ZclE^q^j!'8&.tW:5%1XKDJ'6:!dqVg4pAk>A1rKX$:="bnkj/rq`_Ld]h\!EDn,YHPh_R^_+mNej='F-%16'$DAW&D*`s%53'i2-20,Jp#Cqct-q.l7=`364%D^744"VZk!#cf`%MjbB*)jobZ/aK$JiD$(4H+n14hp,R:[JufJ1@:2Un/"]b;s%toP/#6A;6I*cB"#h_2\DX-K9QPi2OGgPqKE\^WQ'!&T5;?M%i_=%G34QSjk$/?B"hd4oYf:0$jqi#.G^tU^5]Nb@F2K9(+Q%'G]$Z>_A[k4PoD(gcWOHjc`q60>%:nV`gK+or4\9;!/MGFV>-7/3ip:02oAi!n^GIG7.mQ/K55h\0qEf5?[Hhlsqe_>]sKjb*neV&]'Rb@:?r`GJf3jn=mmDdYFNNKW9rRcmR_`Y\5LhKLI!.0B\;#~> -endstream -endobj -355 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 354 0 R ->> -endobj -356 0 obj -<< /Length 2193 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatqnF!L\Sj%m+hq5gXZiP@k9AM\(K[d2E90)4r-=>^C="uXL3OYqPDp_n=K%54]SB?)(X2cI5#`.(V%$kWr^T+>u+NF=nJ,a379GqjZgG:[[[(jb*0!p#7idD:mK&:u,@"b&,dDbbPF8^/t^r@j5%Rr>)O#oMK)^.,(G:nk[IA^f#kL%J_SlFJTK[n%mf[Q>I2_^EOQ(ld;!rO.ci`f10H)uoW;\:Jch\KfAK_NMB,euG5/D(0t1['l*mW[Y%D0+-S]^k*CEjuN9jl#1]AA!b7'c4=i_^-QJ$lCd1!g'^-+NZlesQr4t?UpJ-'i0L@`S?bE(Ra:nq;PiVS?XpcgU01&)0LWBaUF@12-%ub41^<)%7K\St81O(';QZ:SmDDnuqoIdY(kM$afZCE%s`i,t>#dq;qMHO(J&u!Zi<>0sdPfTGj-@;b`q,nfCCY%iDV%LV7\3B/=^!J/oEAH0*(8hK14=f2oMX??E(hMotNEkr9KN<^`=)!%2(d%CWhKfaOaAl+:nbR:8#s9q[W,D3UD!5B8+e1LQ[c>]t2?DGG%+k'!lmfa8Tk#^fm*S;EIVY+R/^))b0L6XiS7=5JM[;i0TO^bTY\t?=ooI?cfO+_?ARf7DYk2pu'0bC842Pi.7VWmISS7FpRa5Kq5bH-i^RFd4b7-TF[&2)qFn]><)VlauW`4Kl?Hs#A)+$m36R"&-c5q]*6e)9.o2QX\&_+A[#R\Xhd@qj&OE$"US^G)geT6>^aiUhs]Imc,SPMqNMbFiNaQ0]XpSAe?%fG]Bm$9c@,FK=KL,I=X9)'e;O_1hk*ue29r8=iqt(gbq^!s84+/=M6Ub?fm$td#1J.(pegWp?S0>HpgN;gDhWqfKuHO3^C.31L@fYS?KW?(j%pek&-56(HgAOLn,GbQ1Jm+>uMb\e@$OR(Wt'L+LVA2N,0HIT=[>?o2-@E2FfuqQm(%O;-a3p+%3c[-tFe:FI/E`fR4MkF4\X//@C\euOMCqiEXE^8EQ`K#4SjB@uo7A&M\FbH%fL(g1.NY7379;`AJKB,JDW(;m@GSiH_O*I?Y,qDHC!+qrB/.:j2ao0scBc#8>;,&i*uL&iD>um4YQKj@D:G@/[^iZjbW[XmD`EVkGoN]a_P7scG%s%50S;S$`P-9G,5nbg*u3/CFqA0ih6S)%!h-;`ShKFM*qkS`f28.X.a=@TQtM'lq[jH``De)F,8&4E.@d-7T+*4XLaQXJ;U`U^K8)So'3jelP?U8^ofL@dTV9(5DSN;p!?ro)_^pe2=52&jj's0S=m._mG -endstream -endobj -357 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 356 0 R -/Annots 358 0 R ->> -endobj -358 0 obj -[ -359 0 R -] -endobj -359 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 340.168 141.254 409.338 131.254 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 345 0 R -/H /I ->> -endobj -360 0 obj -<< /Length 1932 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatTIgMYb(oK?QTAIjc_PS$JmXR$"q_ZHnM)n$[;6er"#Tkq0Cj@YZmXOt;V:aAJ%QCK'bJ:QhH>^5[lI_3,"]h^cW,Mu^9(V[Ah^n)'dfY^*$A"TD2H]+Hhi@6?.QEI^?Wu]rs=ES[Uo9o>6ng3*,0C8MK/=3]2pX*3X)i0CbK'&a>pMEG5bpC?!THmAKGB`qA(W%T5^0E:KbN8)GEQ4@i9GM&DY2-^d6<"Ul&OdsG9KZNc/R)E%q,>TfZsc:MkGq(Vg0ADRPK"NHmi7Xfa`I42cshSOH&%KU@-D'KEu=YRe:6I_/L[8?S8^*;!_G[,MMBC[YDUM=IXO4kp>tu<8j)NER9ALkI"]rE,;4pSmZ\X:,rr*R4aTPDS&%M&aM9$3q@'hGXs*Ls0EZ)=j.cC)WkX\_Ji`>1[^<'#uC,E?O:GMmQTm\e>d$,rne[!skRnb$lll6N%H-mqSu$C9Urk@VapFGd1fpG;1s:Yc98g_irc[E+OrLQ*XO%CW99"<"?m0MsUZ="4&`'0egp"8;2b@9eQ3)BC9=mLJ2#l/1<]ihPntpPXrXk`P1eNlQR.1(4F,9a92)`fE:DKh`N@?=>7N#W.s#+eG;/l.gK!kdu"Tk#)H4DCJcs)*Apo0p4T5"peP0%h"5nL,QTb"/gSl/Oq4QcB"bE]W(7;4bP\&WkaZ^>/1^emVdVHg#[LTEL8'kM+tt3g9)=lPOV0bk]I_>B+=.U,JuI#NeBGI/eeDmG`F+R$ZuV^1^9P^2DmZ35cCC?+1XYaGj1*.mf\R.Y@*X[))_BP>m*TE^$`_uL(@d=.c5+cLd@S2T,%Ab#Sdo.G5(e1EhrqD_dSr?$i[B%f^F-Qg_m*cg7X-7u.UN!rI7EEkS\RGmUeWo`U,l;+hdLZU9mU'6q'eMq"-3]e9VP(@2S8h15paD#P^@Z`tei_tUUP]A#"(+2bFZWFTaTnE;.t3A4S6UAN.mWb\$S/Dp?sW3NeI415:]`U,::$P7[Oe?NI5?Kd/=YB5qDJ\E;9u]+?DJONO[uYZ^g9uOa_ni!^W8.4t"P8_-;Yk_hc=N7&Lu>OI3:?hAbA!R*470"lYe[mCi3]P5t3q>DB:rP2Tmoi^OV,iR'UJj\;J8ILfV//MV(8]3dhK!d!H134(8Cn\#*.(>Adq#<_B;u\Lgp([9VftEcJ=.j(ggY;)\?*pGo%7;.pE6mrH%W**I@9M4.FQPD34l2uTo.r5U.'Z:D<`Za,an5L'6J$oOl2qTG:#'au*>LgT"JPRn\1&UmT8;>5a*`SoJcK0d;#o!b6W"J.;,rZ=kuf>Y]Fojalq&Q -endstream -endobj -361 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 360 0 R ->> -endobj -362 0 obj -<< /Length 1921 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,h2gPR&:`TP,.\RU@_HbFae&@UCV/"qC8H*9qG@#r^d*2hjrC_oWp9Uj-Q^rG7RK;7t'BDo?EipD==Fdl[REZiCl%+59MEJk'QRCE?SAaR!A@^?Z.#>h=g`#CMA>SX??*4b4$]]@W$eid(rYstIh-odqk.oB>>*`ktTdF@^:NaK/[CC+%AS>fa9#K;8;*p]%,"`iq-`*Vo2I<;QjuO:`(EPdfIN+L0Zis1/upGp0WuI-5llc7#I[OJBS:hm7Y>H;qDpIPs/:aOMF.2.VV"p&1lhqjOK-df8&irI35FP5A'O.Zpm!V-D^:LH(Q'6a*#SY6o\AaL]HnS7RSs>WG+nG;`^.G,?Db6PP56RIUV7B]u*\6gH.G/?jP9B(i0YKB`@(;%/5tGF)L`KtS\5)#r$+H;qNL#tps3]gS,i+-I&$#\UKp`3[?$`:gi]+(&_Lo"B;0lO.lX8%!Na'GDbn^'R&^jklq]!tDKfc0^Gm%#2L\LpOa9%$X)%$U^PQk_%qgk55s0<]_ajgDslKJ`SU>e316@2tPWtlLOK^75Gbn5+k%LJt-rD.im&m\EcI#]U;4[.i(G)rhL/$MG>XB?mGkaSuD)Jc"erNC3-f<1CUC0G+H&n#Gg<$H_.EGt]6;)QN4NP1b^3k1noLXdtTTsu9jC9m%8TqK`#H8bu?qB6F`G^'h,UB&GhP%8Wj[f=\=7l_(j0#En:T6jZ?;-hYG!JFSa,/LKX&/^t)`/1Vh60-(-&56n#=7X7?g>+SjFuWIjNS:-BEE*(31LX!Fnn'Y&mg.6R_Q!"_*3<6jT\@%EQUX\CPZ[kFbj[+ahn617l[1-;\_?HHMpbqLen2"br/:\A$Dp4dTUTVjE[Wap"9qh=H7?#Zd6p`=@>ok[*rI9uTDqj4'qOA>q;okg)CO)DF!SK?:t&.H'W_ohm*?:=bHO7q*4#a^dDa(D?lc87\bS"mY1>RQacm8F5=UQYH%r9fL=ag$C>N@9XQ!FM>E/'5KLh/@M0k/4<,qiL(*@2`k@dXeZt@-.+'[X?_0&s7.[ -endstream -endobj -363 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 362 0 R -/Annots 364 0 R ->> -endobj -364 0 obj -[ -365 0 R -] -endobj -365 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 240.6 363.66 309.77 353.66 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 345 0 R -/H /I ->> -endobj -366 0 obj -<< /Length 1596 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm<95ilL%)1n+(jegUC_Y(`1IVi![R#*J"c<`86`10KXVnb:Z"@Q-fq@PYY<7uMa(UtG-isMu78i1oP+q)fF`I:T">BseYhEE:_fDUEq'`mft\#1ITOuY=H!2>dttR\/d8A\t.t4%j\uI$r^&GHU^\<-4J93pg$/Dm(uPn?CHJi3Z#o*K9ToqeO"k'L&tBg#*A,8S1CFXC(D""*tmEh+WI^ic?__m#qFAS?V4:K,@El_W:ZNd>\+'Prt*QP)Ca(.-m^;^n9-5EcnjfHq>('lc@j'40/1Okm`5G]b8q>f1s/Fn;@!G>!0`To;cRCldeT:pdLd:HgA5Q4IGS'/e'T!FOf>4,GB[Fha4FB75%!`cU4c5Q,AJ=Of0B$nM_^A096Wo.1QWh-EFRuW&f3QYcjS.Z+?G:3&GaUC=1o-Z36smd6GC.@EaJ!)H0%uMEe'&I$2dnm9[Mil.@Oqb!;e;G.?d=5;O(F\&o_)r0iqOu%W](H"Vm;FW5sECH8ZXMP_1/_8qo;T5Zk[ATKj\SVUTn0HeGS9J7NS,6gJ^\iR#9)LDsam_onsVUUM?H^*h_Cq;"jPo+q6)GNrEGmmVr\%W'M[PfD";jqs3pKjZU-_'3N:aC?bVXhTS=]Ub_?F67i`SrO-"GL+Ck4cPh<9?sAmVH&OEE,GcF)iN='eLb],aq8]]HDX&S$m?63b`VQ7PYVVZg@'M7\Y5DE!aW7(,_QurP^MWmk58&!%_CQO0QFr!$]fJ&6a`g9PJLT,QWf)A1EJ&MCL@7Y+2R.oqUtdbW*rC/!q)n)Q_0)@i@7*I8+eJkpVV;6%0kn]kXB(LMX&I!bVtI<0udBc-WiqVD6:t[uIT^@g'bTa,G44p_]iiB0MjF4E:""mk7LJ;Mb5u=-IW&VkAt^SAkeA\G(`!%!<$X7_-/969Y$ODK@_3`'a!L8ITs8=]([VW+2jI:QD"F5fs;?2H.8e377JUk0pafVg$_9I9$kXbo(GVkmCSe=M<0MHg!EeRkAi::soc@,^Dr!qY#+&fTGZF]fXIh=_ZOMqbV@Q5=A6h/,dYeBi1idR_n]"#K^0g]M^CkS4S`O351% -endstream -endobj -367 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 366 0 R ->> -endobj -368 0 obj -<< /Length 1586 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm<95iiK&AJ$C#eAI$H5Vjp_fF-+h/*8\!dc?Hk[hF5BT'=L8>8aSNh)pE]d&@hWE<%rT^[Xkik2uC%Yt%fSD;rt%X+!#/@Q;EfhJ^2_@J_q<6W]8#`$\\F1t@u\TQb-f0c,cc+)Jcf[+)Cf$#\sXPeieUoYsqP3(7iCEGb]dU\Q?oPAbDIM@juZFE*m>(!)T0pg#0gE6;UUDORPhEUs##Y#jVpAL1iSF.'0)#5)WJQQ09!Y*?])#F4(+k^oti,>/8Iu[CU7WbK&fb+iaqNL`_4E/uq-pK/Pa8[aK^/#l_9arGHn%MWdkSf/`RlML7Ot_l"oq,]+bd;qsu,1Wu:Q)'[01`U]"B@GO)MlD`+(7o?(79Z;a_?*/kXkuqLK(6)AS+bJH.lBGL]]HR%J>-Wj]:420Y)$&DIi;A'G&lB[l7t"2s*$Jd![ob1U`KMI7fJKi^$RN+>RH\bAloJ/6(+p=pXH0GBn;SpoGB^CrO[qhT4Cboo2MJh3lFTnL16'3K?F2/Y-?=WO"Zkt]'EH*I(IW>"[@coA1rRFYmgO2t@OG[G3XsZ_M*=%\T4B)Fg/X>+_iJQO4Keo7?$iXYMaF,0WS)6s8;E!JF983/XBH9U@WP(8L2koq2WC-51BeMO?Js%g?#m\a,FDI,JILF)ne&&t?/J%NQ0WN(q>T/Q/9S%n[NCqSqsR'1uX`\iQO2X:jh`p$oSO@tinn2@Q-99-g_,92ib[]=HP;`E;7.?qn63!?P#Scdl?)>s46#!0V^?4g;)bf)k[jUU]Olg8h?Sg/&5bbMjn8*E$ZKZ*,+3VE0ACB&26.L1]#70%Od`//XSn>/kX6ftmRD*.cK.4VZ,PO]JkSJrLSlY=)]hXU0);(_qD\Ys4n7KVYd\>f;UufO""c!JMlD8oQXV#RsJ*ciMKU_IMUTNkf6G8?uMqO%eu%.-5_uLABN6T]tZZ'3$V#4Eoc'U=Gi]YPHo!2u!3m.pa_3>sqo8c6E\cO9.BX?AmG,L]VV!TKrbhacD2=W_7kGe]>[(uRF6O6>56FoSn?r71_7d/8e%%m;#S\S;Re4-D\[amYE(bMKQqi9Wo%WX3+fC7iC:qp;5lhj&#uqi*mEcsBqCNXDI\mg8&hjWlUMrWV1G"&o~> -endstream -endobj -369 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 368 0 R -/Annots 370 0 R ->> -endobj -370 0 obj -[ -371 0 R -] -endobj -371 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 154.932 320.761 209.372 310.761 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 335 0 R -/H /I ->> -endobj -372 0 obj -<< /Length 2236 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%%95bb.&AJ$C#enfCAS+O%1Th5pckO`u5Z+48<(4'T-u#.c=5AXKVr+:4^D%;'mC=uR7V+4t#@l3jK+GUeM%)+oLpNrSj>,02Y_#o8N00HrK1!t0UY^@mHQ.E.+gDP$T])_*d>OZu2_T.FMWe/KB-Wi.Tj59ACK\CW%nGiQ6=ts-*u6jK]&EX_:0_)QllK\;+G6X`!$mY+25%rObntfYJ3b&.eDJboqiA2WhO`LIDfIE\nd]7;uoP,njO_&C3-\_n>9dm`c&:tD-(f%Ec*nRSdj(hc&m!GP7ec8K+,2m?'EFWSJ\kpLX8"8L.Vf*+Go+Mm3XWGoPrt4$?ZQ-kb8f)16pnKc)b!<83?ePj-%^FXj)"CY$%!3q6:Dnr4r=m+"B"Sd]4'7feY;5.kHR`\=lM49Buu/5i&_lbYIhAc0msYd%_AI7O#)?I!u'mlKI2[#4QI(#q3c^#(8-2LMmB\oLT[`hd/;M\[-F?X@)u.dltIX#>Z;5VWS3K1=-bf-rmfTqktopsdX7pd5m%gV.N2?5W94`eEE_5g1U!scT3_(&oUdj2)"oLg2C$U'OY+W"Zf2Q]']2.GLZ7_6:[Nt)DAZaqk`k>d>0B^uCVh^K?kiL3s4`p\(raGnf%`R2*bEQ7?s\@."YeUUZ!Y>j)3GI_#JD'RrQC[sa.[WZf#@/V[!JR_gqed]_OFO&pP*<0Kl@P[iDb6U[E$Rm6.&D]j'a%%@pSKer,D(GoYp]"AJ2KaWK&e.L4qlB66/YWB7XI23c``r!l7V'G!eJ%]KB(tk`MJ@VV"/G)uEbl4QL^Eb"H>JDO(!A,XoL/rEAQ-.\MRbQ+-pc>/jV?K,W_jYT1k,\E9ej<5#&kCeOc+]D]frm9JK`(_Jp)(>6hZb2h:1>reXh9PAeBVZ2hZhX(VX9JVIFUr1.1@IkWji2,fSfG%Ie>j#%TS(Zs1NMDT@'X,RfLQWIE;+E8T!b1$@2`(qbrg0#g!PM^gZT^E@@36C"rpY*+q%g'_WKSQ&jof_?BGk@$;!S<@nH'gdULNSASk_Pa]$PDgTm9iD_i+R^G\rP[Sf8^$:8:;Ynd"A0m(76Fo.`KWOqAeW%RX@aX.NU&X/HJR)jidQd! -endstream -endobj -373 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 372 0 R ->> -endobj -374 0 obj -<< /Length 1502 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL997gc&AJ$C#W]8]@[ATC005"4RNMdf6\$Ap2*K;AD6oqUIO!C,M_[BKe5f-SXPJebl(k>pVmSoqp7$k5:)p5DWfhRsW[0t(b,&e,F,8%C1t!A=+\]FJo$MH4lS4j#ZOe;XHtg[!`BWmRMLSHQ`6iTP.aQ^Pmh7e-Y]*s<>?Q^SVca*r&M@>+>mQbN=ar.PM.ORcr/YNQ?[6#jjE/YbjM5JZ@icY%N?8OaS+nP\F.Jaua=-=n`"[*%!FEmn[S*ClRgCn,JFE/ag$Rhs^PnkOL2CQ&*;9]SjV)isr<.,&`W_XOEq/er+t2Uq6NZkqP>OXmS.k(I)QW[SF2dM'mXP4U7b0m`;r+3`e[gq8EMaH1]H2\:h&P0@f=sM^dDE1?Ve#8Q]iOauL>cbLra>QmpA31"f^7><\Z\_3<$OO$j[P7jBbVIuD_or0a#?_mV(;SnQ!if&4'5oY4$qW@@fASEi>\S3#3D&i4Km=*0gX"\q]1)MHq*uf\bL47VF:@kIA_QPf:%%KKdrN6CMun$r"`c_$So[d<&T+AXXZ,.U:?U:d:,p9QYh=C32k-oQC:bX$_#=#Xj,:qNM*483Y7%i=j(e,7s.=gG<2>ahp;67ZfLeV&gVn)hpFCWjgLMj -endstream -endobj -375 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 374 0 R ->> -endobj -376 0 obj -<< /Length 2595 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=-h/D>`&V&,6@I-WG7De7mf&lh5=6uV^TN;g:=qmfbR?N'e!1jsec\kTir_oI7NrH@MbDqD$s$8J\OQN6A],C-/o_05g!#bDXsQb;*>XMHi'Yip%%kVoiWG@@9V(1-\/Jh7ck3/:85W=)72e,\02uX+*&amXBs^Hd-1"Ya85\Es(48ctDmkg@cQ5]IS&Yo8:#1F"Q[::s9Lmp-b='f*'4_Z;Dd@XI6Y>F_H%6h!92>BL?B\m6PI1%WXu"1S2RlK.*u9Y2ibJ76mD0DlU)u<8BBXU6577]$+#JOqP5ea_'aj`p7jQ>RG7U3e))e31X>o<^/[FFb_q5.IOV>?Tm"`iq;O)HNXkD*\`%XN,s06T/W@ct#mbC;M$`4OtcZ&!D/6L@qdif`$l]B)J&bX0fQ>=li3b3b:OJXR]0E`37::(fN?Bf[co$-Rk`>p$@ID_4!bLT%>'iVtV-1'<,o4^h@#ZI,6qG:5P[O^[s`3%s'Y6:=ms4LAl.A^iAYnO.NR?I+>\01COP'em%cC67k1D?i$O?SpX(;hnZi#/Z;#M'JTE\o2u[,'Q"Np[qX-gAY1oq7$RNg;Rk1nOqO-!s(1#SQ73DoieT!(VfNA7$&]meJZ09"*Ld\eqS(hMHiAXF3IeJs4t5Qmj)ZS`9\*$QXOb1*emJL=utEl83j"BCe]^X]Z(#@A:#-XQ(7?O1[V`;7s,r\U>Rn<.;`%8[Z!j-Nc%n*H.K]K@jh9kBXd9g4\sfInVTP,RTN#BTPhubO?Vd!Xa.CO3[(K,0ZN^\@tJs[TtuXW<=kX2PiU-ok3?^b_HR8@_)7/1W`b)c=Su,M8Z;gM-Z0B*&Z@"^/W:05ia;Q[h@Bpl^4e_@:3R*IS0LBRE\#Z4+b#q$0?j_VZ`R$jucCB0Si)^7F=e0.5)TYaJs%65?Wg*g$Ob*R1M84l"aGS\rffhh[Cm&9r\/Vr<;Uk8UlZpYm9QtBBnd_3oNsiG4R>SaH),11RTiK/(sCbqK+9R7s>b1=#@B/JR$C"LSj3\EK%Np::O?$)Hk!m4.!CqAXm&1$)!]:h+$*RXP"]O>^MdunD#HjBbmQu3iol#4qg4:=TdEeWt.HnR1Pk"eCD'G"ABPQ?n)``ZNeB!ur5sA]ZpM*bfU.'8Co&k46jD[[mE[pe&Y[;L&+!sbIiGEX<$&:S`>AaR\h]>1toY6@;-Xj1V*@<>E5P+s%fJ5W_J4U?bfhhAF7\GDb"4Y_>JeZYYUDVUj,]Ek'-P@Iu[6M5j*%ej=nJ'0'$eKbITK63S11EcA'im?#^2JUQiOFHC(_3V[(+Qr-'(:c\>rX:N't,HOBs9&K&R_)950.?jj!241R"nIi\/Xj(1RnHEDB,c(CpuOqW!&hoFO*+"/nIgLR+ZEe$?SZco:jPNKk*Xtk.[olS0t8#7akao#".A`eYpBM$nY=S3PesKiFZ]l#%Ja&*A]8>E==^Rir>8iSP@UTl2Er-23F/WZo(+<^.@`?,f9MYTsjAr\4Pc-1Ee=i#r`e'-`km7Y=>3\(-(ai1uDL13POgOAXE@K<35.'Wo&u^H>bL`P4.tn&oCc(m,kd0N)Af^&$@2pCFEp:"Lp(@[O] -endstream -endobj -377 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 376 0 R ->> -endobj -378 0 obj -<< /Length 1908 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL997gc&AIV:&:C`!]?:p\ac\R'+TWK(]bPK^F]$4@5DB;#5O%2m^hI:ilHb16bq=*EN,ae$hI`UMokUd;$DmNg:XOu?T%jHm5'(Wi-2>^"BS,1_5h-9dcW^;dDYR<9*/R3CL3@Ke27l:[\ks6Y;`k>MY.1=]\fr0lFJ;pkjmAYUe?aX%n4Cj/2CtiFTA0m@3$["d3Qfm&`mIUifQdsFLhPl8+9#eoY8e7q!'q*WP>_G?)2Z3DMRoP`r]1makG`j?Bd&rY2`F^N#AXAR])<.O+^rVfV!#_+R3bjDTEqQ>6f?;hrb:ai@W>G3=e?-mpfC9TA;nJ:F*P7<3>To+m!HRh8H*Ra7cCdcACKXBpc/EG2-1T,57Q*2KXR?j_L8irnO^0+Xgl(44t*]QCd3b'*?qIaJ%UD91G=t'1;mAU9Xm#\)hDmVb&1Y+LJea&q]%P;O_WnRUk9b_as98WoW3i*DgOX?i#5jg*II>_B^(Si,iT;6oiMeDO7\D8V[LO.1`u5)CoJSR>c2nmb+2qPC%iJQFLX'LINErbDES0o0i*:a.+]!AR-]AF_<,aDp$&YYb=L(qc&fF@)-gh]:iY^X7I,eO4j`N\!#;1-:\a=M2GLsCS<*]D+d'/1@s"^K^HmDMpYEpDS;nCQdaV+F9od"gur9J[Db1-EadhpZk)*T4]DDB2e-N&B#P8uQ*;PJ6.!7"hT&ctH^KG$.$/M6l`eR=kiJaG8$TBe\g1D_*M4';KnNe#-1,%Tslj5$iIi3KVGoI9hE:2WHge/gWOW(\6kfYo5V+%de-F%=!0c`AgOCmT'jR4QkV[[i"]uK^9#[KAXPJ4pY8\I"UL9,/ECNMCX\hp)h;[ccg$kDFE];ue1<)9dVAUpgu-/5~> -endstream -endobj -379 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 378 0 R ->> -endobj -380 0 obj -<< /Length 1951 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,;/b2I&:Vs/&H%[o9c-_A,qJ4$>*W9DdoCRAFd#`ps@XAam],MZAn4s-)[E9bQaIEKn6h'>XHRdVsYKHb#0aZTqGE!5-dcK7cs%e,*\3@SNnHh7O3p!V,n4:5Dofn@M83HM"!5JS6\R:9d7HZ[-!'P+BueKM;dS(]YSqrH=rP2NFeX&lD=b>9O6]+hbr>hrJV\7"M!O?5gJ;WoFik*bR$W7qk+TcT!-qmf])57URf]0QRoU)ES+FRIq6acZ,H/ct%iRn4mogctQ-5@Q3BnJkH'"jY5p%6WN^'S_^g=*O?_-:;=Z^4g4'koed6,5+Q+JYqIG7LP]5:E64i_LE74"05D/=2G`!>A#h9032RX"!qB2"'ACMmXF*8OnMe[n_,^qM,JhdIYR:;e.6K"f'oTcFM;uj6ME>6N(YX_iJN43'GD$4'$LLK#2hjt)+VEpVHUl]q,TZJJW/6?8BIuPWD@30MmA7)J((aqDSWuC>QM"(_kGK'99%L)/>b!r3Ch,=&)NC:mWiHM>BZ*99g7VgnU,6hF.WgJVEDk=QW4Zt[036n"j]J_Q\1N*(n*738XtG;r95*0>UR#!;qc_kFra%g@#7O?)L4n1*VchVjbT:AU"TI&h!3/c,R=4cjJG0Q^[=bA)CdT,E'4&SJSQ*nE3ru[dAS4LaS_".u#KK37r"^=!V@&\l:<.q"c+pA2mZW;h9VY/85+V"8#i%WSJjL77Nr22^1"i)&/e6,%sZR0C(;Z<]":2c27DQos*e+L;*jVckBR36h\+:5[hR1olfku+XN8]%"=A;&Mm#LgZ%?Grj:B2:1FY.O1TB;UKRlVS%ii)/A0XMV/qecSP!Cj^?L1&0^M,j]9Cl=^G@95bj3I)B<[Zp-S5sHj".X)rWaN0>'p~> -endstream -endobj -381 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 380 0 R ->> -endobj -382 0 obj -<< /Length 1468 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU395iQE&AJ$C#X'J!_MA`9d`l3YVV(@fQ='&g`^HC_m@t#\Qh[oD"'Xd>-iCiDUH+&;7kT?\H75!J=5K_#U31R6Um_&hFR0?T3K&=a:tAj*#X4ASH*N-aHkSb;RMpS/P:Pp1A!l-uko;DeN!Ar3"]u=s\R,Cl74iE^j;R0c.h-D=DbRr-_1,#Y-WWn]K%G5)>s,Vji:)bY#(O.'-B>9n=&:[8+C;`l,cmCujJ4(FL@sUYaed@gBlP&_D^m%rY&7=M,8Lbs!`806-)edL7&pdLDm\:8`qq"^=Tli;N)aOtQt5<5eXi4XY6r#&WhmQLNQq^Sjsu%sdEfAJ!-L&.bkBIue#Kuo(s^Yhhj%K,),80G.;C#JYupOM8l!tA]5nJUQYFHqP)LmB#'E'WO&cf17(QEVL0^]7C2(Y+.&5YH3:(M:jca!Lpi!S\UGrBZ1(Vm3tY8F3'(bX36hLi#4`uhfM90`U:eW/-4rKkma$=Weo3'@HTQ26[NX0q<=.=^Bf,b7G;ZGSNn/_\5//dsZso@>.gg"B:!Mab.V^hhM&9Ys?^uboY);NDVp:`5%=YRBq*Ft[#;H1(@8(K4"rj7S__slgVKQ)LH(`.0;ef)K8D4h^mJcBeh6NQ;]I.aHM;59"MJ]k=C<^k7\<%2.DN`f^He7B(SekU=j^Dsd$"sseWoJ"ME7^kX&Bi_/s!d2`fs+q:WgQI4q[YIki8FWG-n3h"S)ir#6HV>B@>Y(,!pQ5%d`#!G[l<7'bVWUb=?BRI/[fCR_9`Wt.0[.!c!nXb4V@>Jc_GXK=ZQuebZa7l9_?5nN=@uuYa>b$GlO$72p,u2m&*1]T-kE9n+80f(A64A;#H+E_$J!9W!Ift?O+Pf*./'3Bjn]0Y,El:;uSI@r5B0(JiH?h)U\SLDhbo;HF^_cOGrh+!2E^1$mN\&WY;J51J~> -endstream -endobj -383 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 382 0 R ->> -endobj -384 0 obj -<< /Length 1501 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3>DqN"'RnB30_7+'4'GdQ-+gKdkUp.S@35iMI;$cr3(iP>0<(di3\C6dHfUYQNgs6#JKPsRI7H>bn&QS/X1+_L+N+NjS&5R_>F87KobHQ$mF.a^k$@Y^5mE`!XQZ6GhImHBjIo;(/A#:MYah,M?X65N@5`Qc4rOf]CQZRFpgSFH0X:AU"LpZp#e!0TRVeP,;:84AEs=r!S7,;SD:QUPQljUrB!1=\T1Y6f]q'B!)mSa+Md>QIT>4.&\$o:2gtB*4[H">&at^>k+D@/M2lteBHh/;&`$r%\BQd`Vib]jU`Z0hT+1qNVWXHii<9M`0BtGW2,Y_Q.gDR96l:&)i_FG`"8le%,^3M9p>df?Pk/=tYo%5#R;s,>;-RchKPMfL@/ZM_c5tC^7bBbM'Bq3^Id)rZ;TJ!JiH#o.1>"u&0@]72t8UqOf7^n&(lS\U(g#e^ZCq31Vok'4J47FnqB/_Bag!R-2Aq.H-'o,jeLPk_XJPdA@>WAu&04GB1G&t]ao>920Qb&_T""C(QdCAU!X%nlMHFSTkJW1muO=!1c\:-U.m,(GfgT%3KZ^a+@0fc=G-hW[fon%W75r<_\FJ15(,XNr>]j3I1.WCOO>5pYp#W3#,L[^oERuOVac#t@F/(sXd3+1("W(8de_JGRNeIKpl>d%X"ua\lEK:QNX9_K:ODHaabLm^$oto`r4:\T&Hi#bIV#;D$DgWKkhpcd$R^m%ql,i&^\iX*#J;&?jK0j',oI`Q-*r(\pY=A"dQN#SJ;ttCK~> -endstream -endobj -385 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 384 0 R ->> -endobj -386 0 obj -<< /Length 1302 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/'9p;&+&A@sBE:_:#d0L%ME(s>Qf\9I&[baWu7bI'8E.f'@rr!0IOMER2U\;"$2&CB[[CT`>Hf4_0gH9o(6-'%`K3bp:_.aPe;#c4M6N@9##G.f"7L>YT6173PE29gTrJ4>4P'f4!rk/knM!Ct2Zh[n3u%;/@VV<44fNL9T#^7"^_:YPK4K6P-`gF6+t@QI!G&FlRVTp%Drs;l7i&1s1k-7Y^QZgW8XuAe!FX._g4(Kp7k(pCG;2nC"q;k=$W7rXh-ImVHL/0;9kp>J6-FEnqh#:#r]pmGY\Q*>L">U\SmE=mu>BJ]WjOlH>DHMYrnV%R1C;+d[TDYTnrm@Iss'?Rul9roH3'O_$hRt/b8dLq)uc8kNO\-7OHXTCe3cGhhZTDqZMWR;.d@GMHa@clhlfG$popAptrp7oD]<5qC(s9LR417W98NMds:k6L0hO07mEW\<:N=!epA#A"t7BI4gEB#>8"Y/i;S8t0&h\/;u0/YXA,-Q!%(8mE5ZhijZ3o*Uu:M'fI=PrFf00'f4"8?CrN4c3T$`s><-m>lIr03T7H)d3-YPtZQ$ck`$aaIuj>3t9S6p#.A?2/L;$8S2(,`oden@CN"tNW'@P';kYu>'FDIk$GE@'9:OrG/.c7LDr]NbrpXb2Q`QD67ilY%f[VY#fF?$0GV(,?>*s!+m2X;2bp&O;`/'W]>KkNX(Z58*"*>~> -endstream -endobj -387 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 386 0 R ->> -endobj -388 0 obj -<< /Length 1090 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm:a_oie&A@rkGU_PN.3i`)<5^d"BFhckd&ec+`hmSs''3k"PJ8cYR8e$(D@m_iamj39%;3c&A9%?t!5p%@5dFSs@)"rL0HUEWL&p35K2K]TP(W5HF^AmRXLJ9q5k$dP&SGgfb+^%_N,?dC[.W*J@9o4Cus7k-h7"\J;NV,,(R3RnQeA]$aS1oVV:86RG;BM;jab.EOJo&FPs-q>tMWMa!D@Fm8Q1/U\?rU0(D_3(l?n`mcuo*(fL3+5.e"Y^eBARSIc:C$_,#Ne)d*Lmj6351W[j^+7F"ui0<`QruWOVi*C8;n]!.0uU*P*rLOK&,G@i\>FP]9&d7lKj+ZW_EtIRbT7a&=c1d'6bHa*d@8#Sami'#Nt`ebkV81&B!pE&ah9i("B"84K3>%?-@qE.kkaggn0OFaFGj?7/L$>u=5!3ESRJ'ZX@J&LM*,F"bi[:$M4NaqqI6F]e>l()'%jGD7+m_h`ol_eQ$;G"@R$A<.n_5c(@WG,#hO9/fDVQ4M6$8L^=mG/oB<"fUR"dKM_DdHbZ/XlmmUcHKP.bZVoPc^nTD#>hq`p1"CoZ7Ad$N>0l]92'7/Pl]t>=-UlbN)57(0\nq;+(:*T#g2eI=HC]~> -endstream -endobj -389 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 388 0 R ->> -endobj -390 0 obj -<< /Length 1567 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasaq95iiK&AJ$CW2D[A_UXR=FN>an>I:j@^9&1Z>,#kW-.,@`8^h$R;NsRIQ7X>3UD\+or8oHCm5A=#:P&k'3"L2Q9c0BY;%TbB-pTKm!u+(`B/%sq_:S'uab8`^4Zru+K&'d+'F%F5:+=:^.Z-).b@?'caGA7;Sc'\];t(Ep%&C`5j%NWLFMueijL,U([;.^07uJFBMi;'W3F3*90rO,G'>:!BS\dWb0j8AB3Yi,Ht*7h(l(oa/7"h+kEH)GmJb4)GbK=(+$>;jLs\)'=kKdBBjSt:opLl`RSHE>$R`7?XlGo2s--aJd0h=RZuX;@_e7"/!3j@*Um,8-c`%qgDIAS,Qt8Y@d.U-mPoAYICI&Yd1l8CC-]^Ml'LcnXTCED)4T`10*D,N+tQiX(#@"AYD../?EMX5&BBRY^t=KJOp=Y']1I)$*O4B99mbW:(m(^]tc<,E7?tQOEXrRA@YXc;p./"eh]Kii5?KOU8kBQOQJh'WadL%6'NWr)/m_@9iEkO_<'A;Dasat=%#?u?"(>""Ju;CRN8Fm24/GZZ^)_J6hX=A!DF.016gQ&i.T<\q,`].T6p("D(qT]&@rsK%n&8a<@gULoN'F]kL;hOa5SDqo,M'!fE\No9=On+HP:PlRnB?9>Dg0arW'F*>^i`Am6i28,G/HnsG)4,bdA]msb50TY^@`9=Z=]ikpD1]`/;,','fgB61LiZC>Q+Br6'S-$I0eq@]`Y8iZ0l(c=P`6o=M72tC1qs)qgn9nMd\_Lo;/0JruYQ/iT.'`->*cj&&Z^ig,a0-=)u8BOd>JScR`,Z\R`s=HM1=\!D=??/H*bmI5WtHT+mT28'C5a@Oj"(H%Aag19aG^pp])AVtk&&(IY6c<%VB?X,7EI$'(Li2fCdUQ)Q&nL?bSgD:-53;<.B"i=f?PTO(oe]D?[-e#s*$*L%q*eau)++%oT~> -endstream -endobj -391 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 390 0 R ->> -endobj -392 0 obj -<< /Length 1267 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`S>E@5o&:X)OLj7UU`+F(/ZA8aI37:+PiCF\:"ut_Gg]<1K)hUI2Y#Fkq<"0)S[[A(ofnl)H`lOJX-Ml7=2*_:5Mtu5,ttV[of(1ik^6S&0kZ_kNcklWfD4O)o@_g2QO;_L_9(ih+#c"""XDj"EtuW.DTr^E%[:9RV(C7BXj6;0pq[t*AEPYfV#uHiidcJ/n06)LL-OV50R,rWT^PIh>)$s2._7"p04;gn@<`/P\t=dsS8B%][o`K?!ZWQo$kIGgBnYM+?4u4(ET4H\GRhLjJq@\.%Wre(4C@.GFpTgN3:>i47dg;p7(UG`d\nUR+[Krcsp9=\Dn4J5%!X=b>12sE3M$u$:/o&CF"!e&N>7S4'FEVFG823h?oOM+U$YYG32iY53%5!ZnQ$C<0hW[qUH[S6GMjkZLeTq.gW"G;Ur)3N#)4N!sU;Y;3D/>uM`DNG$qN>aLr#sWrk-o,Q0sVtC`6RJ4^pL[?Zo6KRs<^@0e7!+5B=XBZl'^G8kfaqVjkJArW;SXO.q;*i?PC9YVck."AC&#/HbL7?34RU\(/7N*[h*c-Se;>(GE*)'("b#fIG'I2=g\gb8SO+JJ_D&dLBAGm3I&;F&%=FBB=61?:i60cHmQDJ'oX8iCR$7CD4@`,SgJ,mJe-Y(0C_l8+345a"Zi'7<^IQBc=?RLUga6!s!V9p)O%oT0_g#n9qA>c-WTh;HR$BT9N-Zk1`8pB[)mmW*qMlC)!(s_%rI2OVCI]]-M>c;ABYgRNut9m#$$&rSELath-GOkBk..N$*RerD[[L@5>X'p'Q<6FadG1EHGgeCq>,u>'Y8_kIRjA45aU(8rDTKM7kZUF.&ZORLc7fE"Tt\Kr[mG:nH,VpeE/B't$KsYK.aWu2#&GKNb;0+]h9E:5b'JohmG`W%pt^,d?%9*Q.lNOY`psnEhEC\SYZ%\'>J8k<1*(1/2[a**bMMs$OP0o$^$&+#c<-gd\iEuIrm:8epI".67X=&t9g8X>p'&5~> -endstream -endobj -393 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 392 0 R ->> -endobj -394 0 obj -<< /Length 1452 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`T9lK&M&A@sB#e=aQlnTdXIE8+oaT=*A/rI0Pe3uXGPbV9VZ6Y]O>4fRr1+.-uoT+6pAnC*0*Mf\6<-ec91G[grdn!ntU<"P/3NXPX]7JpJ"*=k\'\ua6:3k)!/U>H^cBLh3_I3s/T;a5C"??gLi4'5V"=O^QE7AisRcT;1gZ*$kID*0n^>$OH::*n**SSK.&lBDg@[6_84G1#aUGPA)2Ondc3U/D71cs,og#+CSbZ`RC%T.%q[6l$jV1c,$bSkaO"QKh/?08g*fDH-RS/l9C[0b:7P]+C"22l=2^fV@.E)P*]O4i0o23[s/6\g(?V4)sMWIC3u%@t&#^@iJ.k]"[rWCCh5%c1/"l45G84"s?S5gE]cUL82U^,5lE37_0/&)G8h7]t>lk(H$kLtE(PH!NWh5uma)^hL4\]AEJ2EjaJ^7GTA?^"[4HAA3JEI]6(_%hl^=qr*qLWboPdIN.:Y3L3$\iT6.=P#[D3/(e*i1FT8`too5ue'-L$,%B,L9$=LT4Q*YMk4:-C_>%j'?$%7QH39aM4)YSY1I"Ggh`]u8.UjBL7fkHI4&ckM96>mm!.8"^]EYr_$c'>Ts+`oe(,l9HV$%@-L=O2Pd*=M]hR++!Yg<*k&-;CShL/)e!,M.\p3]6*4qbPD3'4"O;>:2NgZg?isQ_2"IhG)S/+GTWF_-:9;+aO.=n3N7&;fb:FRWgX,acB3gM0'U\QD=7D2B?KqFZ"%7d#*T71BOj2PnQkF\[BnSF`BCKmMoq4"uZ@QW+pXU\0Ua.`7:E5m\5*W#n1u11:W:i@!=7n#6P)6Y7VfAA)ZC7Q,mqbpf[FMQm[$)WCGk1D=URGm/\R;^@VR+[Ve!enC,&NM).Y:2nP*23Uh,F-)l5t$#)+\N7+j0]O_7`W^B^J,UeRifG<%qmE?OJeB-_b`L1R7n%RoMaWP$Zc*GhU,X[Wp[GY^D'3hL#d&T5WnN(b`kA:E0dk2&WO&V,t*L^2f[,X!ELYb=h5E@5G#gK/%fNfjd$;Au;HV\;"h+p:L?9U63NHD``&g_lGe17)6qf+V/omWdPJYl^[-!=4V19:@=aGs.+ld* -endstream -endobj -395 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 394 0 R ->> -endobj -396 0 obj -<< /Length 833 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#[9on!^&A@Zc,#08gY/b_FpkmQaoN!iYh)uTo!bt97`b`'_^(,_HU#`8dLPe_[najtO@m?G_1AgVb!l,'H8NOaT2M2"a*s=j/+NFTc&!B&@K7!56_UiFPM%Y.[ka#jf;4N]u873.:p67qF#jfOi"u8F7*1aL#.))+D>:GB=)`GZ>J4C+E?>iu=D.0`X5R8d8:tP3sEX3)@$\1M9i`'E.\cBMeiplk.8i60q9nSLg;??`6IoZ)CZkn~> -endstream -endobj -397 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 396 0 R ->> -endobj -398 0 obj -<< /Length 1575 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL99Z,/&AJ$CE8-f'/BcM0@lBUS8oCX!D7g)k)I$>qH*NaW^Q4HZh:OFDZDkC5)tiN4ou$BD]DD(MotnKT]PY%`]Yc5k!rWp]@FR$<0_3-*gRc(@LI-k7B[l.kq]+_&^\/_u&WjN$L5Q00..PN8JcdjN@%p&`!S')[kiKte>p(TBMG(d#jIBAj:8"Q*4hD8<$:a+NeB9W^]])aO&T\\,Cec3&rX#PF^$jhOmq]:^E'S1me;:$X;.YLiapHLBhO/2ZhEKb53-HpH(>+kAL4B\1:;J]4UuMsS6VLYk1@.c,[Ol-DuDNtO`]9a"N`:5E%d_p6c-*oQc0VMKA_aJM/[VKAU?JOP=SkSFK^\VRWC7?X>/He04:]CZ:6u?K.+JfE&Pth.;(LsFq;tA048$OL90n2JoWf**'#<5Tn(b\M`roqOCo'aG1FYI]rpB>2W]mGY_fj-cIPQ_E`(>'$0CT;R/O(S28Vkt+.2me=``gg)*m79[U<$`K?_LL>a4_Ia:"RIWccOKQ+WBg?X^UQd2mr`cCoBZBPaP&jr[uCe6UhO'7-WM#4c"LN&k"&ZU(s;<2%\ZqUXs!$@VMcQg4C6[d3:H[)LO9\tS:oInu2LpFX@L5,@1c<]\a'88T*'AE/!i'R(*LK.I$=iRUW)-csFDuIbNMhtku[]V!_8N&OuD&7/0gUrX4qJb9/!>0BJ(XR#BQ#ig?UR2U[=hA^s#-K?\o.Z%Gno2*"b*Lh7e%(e5UZ#BCD>'$nc/"!u$:h=**%Xn>kp=\ip)pML4(R=n_kuc+(RUu;JN7bu=f5+3'r-ePH(G2u?CH,kP"g1$:fo)XscW5HD!B_*jOPP)`Fg':6NeSJ=!qLR&rgg491=*.OnO%`3,>O8[!G:L_iG+,_W"o`~> -endstream -endobj -399 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 398 0 R ->> -endobj -400 0 obj -<< /Length 1300 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!;d9on$e&A@sB#eARq33#MtpXTg"\!$X_G6$lsF(hYKlQ[AK),f'>"AVFu>OZ?&BH],7aD'L7"\.BkGLLX_E'VAk@"s5(a;nplcbq4!7+]OJq2`,a&O7d15(anJ$2%D&f"YE!.ml*'.8P\'g,p)[^RM(5r(^P@3!ea[>2)&4NeWl>d?V/YDI!K$M+n>lt3(?mmtPBq7%"J6:l+Zq[Ns<5><;X(oq.4*4m'b*Jn.gRf*+`Z9[MD)@)g)5t``1!oGq+O2Y!LF*Ru4A.&X!*F*_[6Y'(pZom_uITV-o;`$@;!o51C-j5KkNe&nhGiaO^o)$2LocqdjXr;;g-6&aF*a+^Ebk+WrPE4g1po'1X2sbipMTih\m7X?Vg,X8NbD;j\Bi?3k/j'k/7I9[]4k[XOSj$J6!'1&.2s:7bU;VDV&''7G5M';aVUA#5j+gi(j0D/35:-p\MfYuIe(WR*.JfY./9p'U!8I^'1FScBINe,4(%YS"`J+/Jl\+hfmJ07gnBqaYYWJ%&c?SlH6e;NY.4/^bNn_a3-@4BQ1$&nckgZZn`$5Pn$8N(b)(0.M9Y)=)Y5%^cH:_ejSG)_1pP"5%;jo[3Elm5Q'"Q17>V8's6d@*K]fJ"'rRS-=?[\.MJ*RQS]D!3=%(_8rFs3'$(\eUh.qPZk<13X`XJN<;<6h0%h;E'i+6q@a)"Ids%SX1u7G`3_HF#KR>h!Bp/+W2<=uqIB24BBDd"d(9+mJ~> -endstream -endobj -401 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 400 0 R ->> -endobj -402 0 obj -<< /Length 1701 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHLhfGPN&:X@\_;%]MBoW6!)qsUPk;p<%orT7L`A]_2Q5qh"E<;Z+Sc8'm>+o4`32R5Rj<=AcAUit!Q->$6jP,`P(C#?HX`foDgJ:-hd!q`*7\+K97Xhl>^op"9Mg_QI6#ua(3^s6g%EXWq5Y6pK&6%"A:tc'[TSB_]8L"OgEq+L.c$b#?khd;r_EQ0-(S7nnZ7+Qq2503.DH/UTFUu?LS%M@:Xolp2iRMN%[5#EEs;1k?#h@LP^qh/juj`W>h_'gH/_Z`sgZ]Le1cU>>D-H:H\=g0JeE:.!jE7N@2]niWDR,2-_Y"?^St'7i$DF&q@=_&>:A6,q";JsZAs*q;2!KH2COGIY*W^\!9foTK4t;B:aXkgOgI6`!I$=%Yb_kg3$YEZ=7%)B+BEnujVq8AE8d]a%\F5>(*1kQ6.mlp:0tW;/0/K>C#u;p6jURu"FoY'?B+&IHS(+1b$6A>"usa&Z>%8fn;5;M_XNEXF1fJ5O7'f&u/oN_DJ_b(ctim*54UUBOE]]\lJC$Tt,hq]Lrif"NObA0Dk?+Gt%Z?0'GAi$05m#?ItOdn2Zg3at9r38n^Z+\p.h*Np(m2FunTOnFd`1PgT\Ef1I*cRG&'*LfG$Hrf7j?Y9#(StiiiRgPDPRfUKPLmpQeOj^?dEUSXM#n[;N/e3m@i,$#Uij.5MiXrQBmX,H`9F,u8rMh0kmLK;bO%lJ?l?0Dd^r_F/cm6D%.0a7Ko+b$V_"mKiq_JO0jNWF[-WTIJ!";FM@:X@A-iTo.>[A7UVQDP^>h3Db);K7..-hNikge0#Sac"Y#cW?/u,eO$WYtfZ/dAj^u@&a"637o!W*tCFp(sbN(hQ7gKcRc/c+)8;>[uM>G_@ZUJ?>PaR@+cga$A(D*cbOGl\I[b!*[RpJ[sILe[S,ifAhb(0G2B#b);,Jp?bQ7RNjl$\su21]WABT#KN@"5Eh9r;d+5Gh.^L1r<#6`$L:[4gdY'kb1/L/F)Du!Sn4mg"%S!\%Q7gnqU/#q8m3Qm@"&kB7B5fo28BU7J4\j6MA:2T\jg1g?(>U+bZI/#2EZ%)0s.?+_a!DK5(3B;T9*Y9mW8>9A7QMaOT[RrtB*ML2tWDj(\^=57JWqH9%rc.%/[>1)k;Y]AX,4WejOM#I.Mp?+_T4pq(i2'+,YkoWd,nYQ~> -endstream -endobj -403 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 402 0 R ->> -endobj -404 0 obj -<< /Length 1937 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/(9on$e&A@P90QQ\9i$]3a=]TlBd4O'N>8ZQI%K]h2D)O02OHR*MmmCh@8n,)e6]>o"/Kg@\&n*e-Hi@^RQqHl(;L_452$)27E50Z:HMl&%XLY5mpB0hdFq.b*Q$bnCSMs(^F8Y:E.[J+[_`1]BkZ=r3,am)>&jU:B!o*'InO6^cIT`>'+dW]!l3VO%YH_L6_`CR6rEPJpeklRP.Y%5j+QSX5/1)2Uk_Kl+dSH<)_A+(L%;1[,H>e`E-M)''EgIU,[d2;&Vin9b(+,F22\J!A;ce%H,)p\e&u4?Z(KCpJ-b8KUi3:Qh5"B[s5-\)N"-SAA0(F=-iUNC=@#,3_f:'Z:?OS_Ik5]li@12*-ful$S<;S%!4A4Y+uCBai1)+VP:J'\a&04%O"a,I[dDCG5]%n]VjkBXuP`im]`(+O+E7S!N-hmcV`@e"&(!9+m%73X0>M/iH@D/VL]'$erP.:+>Fj+A*6X%CgliM57,_T)?m0Y4#:nG=`W^[OpFDjFU7nYgNg"+0b,@!4H27FIB?Eg1"T!kA,kQm*e0W];np>g\fp64.6D5!8gRO@:'p4@0)gDo6;i4m`n\o?0)`$b[i;r77e'R3KADTbW8HkKZ(+aZ*4$T8PW;3aKl"MRENS3rfb($W!/Fk[38t)6b8I4no^mf_Sk79P4#7cR>`$*MO:nm=UDi1WpS]FW&OGi6AVo%r,7P^X'HhWmN-[;1-,rZ=6FK2%EV+,UY-d^hC;8S+KWq>@_B"n$^VM;6KSKL_rg)@#.=U5)Xj*3eSU?!gH[D(e\Ejk`]5f2<\BX!.%@.S-7(da/Gn\)De\_Z;6%F,$8(qR?2FJ;,hkTL;-DKB):eI&mkr_kN*8^df;r+<8!Pi0DXf2tmSPCAQFoDhj`\>eibUVQCAKgP%OV691E\t:f\pAEX?\Tj.1f7@'9([D!oV3LE5M;62U\=-k?;;RULb&k;\[:O$5CC_/G->FFB=j^H#!GX#<0K5RUQP&=ZWq_esc=;>$"F7@WI)Kp/fYV1teXL0)JCeUhY8^mFlg>`+e5j@D&4G)p,fN>iNnsRlnuO7#Ql/Sl#)'r.l3!;VYTcYB9i%&`J1;$Uj'&$g99tdJ"DAnK<,PU'9P<"T:&i!GVWcl!(s_^'-'bon4f.!=M^3FJ:X_QPSPH(.c"R"+i>W!dMa[m+WP0(8A^M?]@S+q"'JUkghM<.+8-=.e^Uor4>=Z,j5a-`9:jUp:B4c1BWK]l&'ub!Gg&9<%Gq`\C^C%$@LI(-dlq$U'!ih>#pn8]p`i^>FpRH)LJN_*&(RDOO67@:ID\Y4hTnX6-$p;oACDEUZg83ghaa7l;eErLsWTmd4-afF"$]Fr4Kc@!e7_2^DA.mOQslBq%!(aA@)6j+*[2*UX##rG8X!F.eii$)Ojl-EG4QeNGk][,9G[Adr3MZrEbJ9`%"QK:=E:cNHb^~> -endstream -endobj -405 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 404 0 R ->> -endobj -406 0 obj -<< /Length 1766 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatmO9&DBjR$oMHfOt(k`0A;n8Zhf[N$MXQ7PRGp\iZF@9E^jfN)+^:(t;6#'einft3X4lt,_b1.Rj#IH&LR*"GhP#Xe\GsMSK=]ReD$V>TG!27fG:Yt(Ijc$9b7d#ReLf'J7"'7$97`G/J%sip3WQ:Z'g-S[78AX$4Z.ZW63.35^/X]\)82/kFg2^M%;-8\i0B?,8H3JBoQ!i"fNg6r5V*:/`6+J62"B:@tI1G&8/Cje10l@rA.`qVF/??a,`_6_4k`"IIAIPn@)++e)SJ0:A0Xh+ae=tccA'M[IZ7:bG+:>QNP3j\ZP>Z#AERo&SX*"-6'[(33<%]Fs&uE9N7:fbEYW`)\S's(09c.Mj$_XOhX$(/`#&UHa)Rr4kg^mbEB5l&?5bLnq!CXG,!W.6R"&`2S]T).LQ_!HE/-B_K23N1b940+@Ai=I[NPWI,NCbTbINUND5*+p`f@>F9D.\KcS?Y`\BZiF_76fTqeV?iZ!s#$)JE?d26;&![MY!RC:MuSAINtX::9igPO:S-@]_A$S$O))=@m@CHrbU,sAPT?i#Xmu*^)6(&^/(ble+@FekqJWirT:rJblu>-P?Cu2B'h95R'Bed,oR]VF9*X_B]^\U],q)6LfB:O[$OJcPEhi3t;NO`%eo9Bi8)4`8g,&1K-Xs]u7$7&h2ntC8!^bKc#WU31T+,*8AQD9hnA0f'96D,P=3=O4aO2kk(gt`\/Nm6sO6:_1GUOG2"_Ds@l+l10DSGD>Fo"apl4IJYC<+%, -endstream -endobj -407 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 406 0 R ->> -endobj -408 0 obj -<< /Length 1408 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/'?Z4[W&:aGP&GkAhE)haX/?=gP[\A0hi3tZoBT'=,fT[a\Fn=ujR2#*\bEaml!t#`.&Dg9.]Ka0C,P,V0q=$o:Kn1=jbO$SEG*C8\jA4unUh-D(n\`j\*keJ,MOo#cX<(^#lg"#fHhNb4V0$1BD97&=)G*d@XFBfuPGI#[&1+ES7Na*1^XGQfJD=2e&LlA-Xnkj<'e;Vfej)P-0[GI*QOWeK*D_I][GX,Sjm9d+<"pW;Y%>(IRg1o$[1:>Qg,p]9EFu#CBH*9d8H#c69,$#2:"aDuB'\"Wkq7?S]X@0">X_(;E)\Y%U>c:HbBB,pH-).h*,i)(7?'I&_6OX)_S\[[dtqM?0JQfW/8Qe*"j?l''Xe6["e;-Em'pYmal;ZD$;o@"Z_qptV"^AA&U@*V\WtbW1s[hJ?d/I"#QeIS$]GS-^iAiO)`l[H[$dAfeNr3B#3ED5O<,5(7PMmFkp7%m!U4'/e#/)RN'"`gr-S8!lG)oLS&n0=lB=YG_L,mGb27W8?dK[f/HunMeQSj](e"mL;5k2Ue/f2BO;4U"BQU!;A;XNM8>KO^I)E*KLNQUl.#td0C(rfuIZ6*aQH/n%TVet#lF6mfiX#:os/LetdU,A@jC_W(0R*Uf=$scCC'Z`/)S2]ge<$dBeIZQ\.R4ECL4HICaM0t?nH#5;=h"rCY!F:!TJ:uCEb%5p@TM:q%K_h6:oug^EbTJDCK,),j"5mu:![3MT[,Z['\2+5ND\!CI#8c@$_^2uIg*^S-lT1L(WLogAJhR*BRpuCN_`3A,4jQ?egba?T1)>;8i*sc(Z2I5@Z'?2T;Aej,]?)?SaDB$;eG=9[2;qKML6R8\%o47f:*9.7RPUBL/;-#T!>4AN9=Z;B'Y5Wshh8lg1s(me)0J]Bu!n<_XIAtkB'Z?al]`W9HA8%50-.T>Z?)k*sh-o9S>lQ*k0u=/N#?+#nbAPXMj.$Ag,^K8Ij>JC/b\u="IJjM^:"5B9ZoD1$nLB.Z3tk/5KinKcKH?mtLp4(9pm=Dg3pu1`@+&TCK`g@Ub&QNA!a6Tr.\PanY=rN.dl"Eqdh'F5D[mh?QI+KK_3Kp#:PhLN9u(l,$-gp(#W3)t0I?mmcsKGZS'G:V1a(gO\=\N,#H7mP#`b;MhE.o=!lq'$mYM3+k'drur++qhr%b:Q3J4B1iXlP>L*^N:UtU(nkKtNnXLo1"$I]knt>Q0.27Ms1525j3UT_*NEBME`Fi448EsgC"_f'8``>dM3NUAL+KTl#Kh6"h6Hssjq?agB6F'G+M9hYr)bJ1(SL"72X8aC~> -endstream -endobj -409 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 408 0 R ->> -endobj -410 0 obj -<< /Length 1111 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`S95g=S&AIV:5^Nef,nr%oV,At/g-]e\NSl*71qucPJl'=h?sH>hC9hFt'niKsXg>A%Xi"3G"^,0iTHrcR)$5YC3$%Bra7k])jRC4s5)r7W)#nmJ;&D8a*(ZV/=&iusNg&m#`GeR,5[(E)R#AMNKo0F!:Si<+X%uHq1,"K(]#G^S'<"4'S."st%-`G;86`"cSKqN\Fh]7Rf/kq=-PZe[B\@7)BroFRKrF65`[jP6j(m\"QB>?-PPV?r-)7uuOtgOs+r6V/Q'H@eJJ^+"AfTIm-jN]B:ls7)bh8CCo:M=\2l^i[`$Tl5mZY%dZN;]qP6^!>I%jE_I3Ci=qHR]855#:YpR^n.$:):/RTr_'8$=cC%Am*-!>(2.]KC@%)"8AqCYi^qG9,6$-ciMKq+P8'H>NJftDEl>NSCYW?;7m7'o\?n&=8k8Z5XU@(3JBH'YXeWmomka,4]:\%JOOl3,Vh_aqJ2q&>-sug44Dh]k?F-Wu)NNt>b?>BS@Q<^>IR%j$n^a'.[$FogV*L**d""Fb-Q?P:),5<**]=:TH!e7hI].gY!H(`$`0U@-&,jp-^j;(%rQrE(=4)d\B.+4;7rdU7,@3u3j5obX(,JJ2]iCSJDj@7XSFlEU?s61,\CM(*qtIn!R/^*,-[b1*oJUdY8=Jd[i5^[,Rc*NC3A+Z=+84rtoH(C3@JV"e(o3q5`I`]YaR)"?P?I7.R:n1Y`k1f%l0S\f3E/"6%:@?/@SV%eXKk\roJkS7V22L+rhqcNE%H.H4G`ZT3IfVUF64!~> -endstream -endobj -411 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 410 0 R ->> -endobj -412 0 obj -<< /Length 2885 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%%968iI'#+6Ek[p_>iUA9oPEY&"VS)$2-Lp0&hJtn-,[j"O$p_t_rqZfO+M0qgEQ5`NqhRb;]@#Gb52;e.rm,6i`a4s"Mu1bU^Y#+\$fCjeM_t)(`A1YCb;`e_mhc!a]@aC"iTe\I?'qMG.e?`b`ED94pi=.373S\597Qco$Di"CB(=ctrP-R^b=1?Y"jE^YJjJ$$b@U#DkmCJ(h[/,`P6>4WqgPb/dl_Q%XB`'h3`fe8-[g40aX%ki@c#5l;CEo(`FM7m>t?o<%Wu'7S9:R?Fh_1kY[l:mAR"T.h^\G$nmY3eQ(`FMm;r`l/pem?'UqLhfX<9>dLE6bD"mn0)3isPR]-LRgsCKi_4FXY/%s?3a\-6*6KXJ(?b]ucD(Ha@=@\[[gXZ.sn=^iTj!`"C,N!T(J!s=Yig5NHpTFb!q7aC3B=fkLBcI(Hf<^8JH]Kp_Ic)O<1o4*%IrF$PV$\DgN6Oih6>21t1@k2G[u`PWY5N(d%uZ+%a[#^t23h]j3/g4T@622fLl]gpMH++E/5/M_tGI4)tW)(g_bmhg?Te!tj"JULWf1(q(4Bl(E[+\I;_U6!pk)sp>Y^OG1T7_!#E4X?nraCSMClmmq91cn0i6r)??PEDS#aD[S",tZ./)snBs]H2Y9ojC+Z,*Obh6B\jSem_oGK%!9@M(SE(ags^bJ':LrB)tV4:-i@/"T]#O@WLaF-M)uJ<]7$2)jec[[1V.oNG$l=UkN]nbDJlpcPJ4:bB>Xm\T"o1G-H-2$+0@r;0rr_Xj'"qJ%#$T"@=i.ga]b)C,JUEXen9se[eHjH6cJj)@fFOL7EgRrr-R7[),%tg%4$L[^u`?F(LC$Sp\L(ft*FMAp"m4O*O=.'Wi:*bB$O1](]`hHfmVU@-3pJq>:dgXMf?iYg9YA$Q/d9$`=,1Len9$XJb^.`>(K"face:p9toa`sLd=O>c?cQ.iZ=UISJNM?K&bW=$DI,JT6DDZ]SO4kNJR:G1cWK+KalOWKa]Fku!LK=)e+510V6Q5iH=QeX"@9Lg'$2IaCn]h%'[2!lO0Tj)Y!SoB#=7VO(8(n)5:fG"pkI5u2iX(`Prrl_H0q:UE>>5179Q#]$(:Wq"BZTf_XN+0r=?i:bF!CjToqA$CU1m=oJO=Ue=Yf,]DidN7dghc!(>3d:hqLFoLh["A`KSoC.*>7h@3Vbma3(WqZamLF+!/X4?fg1#B4PQOkf[(D!Pk_j%]AFqm9C\:37f_U&\hRB*k)bMd[V"9@PXr;c[EOHH=d881Rs#m!br)`o(Fh-88BjM79LIeg@0:QZ3!/Sehr(Vfp'TN9j4/32>9?@%,C?D7I;9"(;b/9<"*c01^79B%&c9)Qp!BOSb-;JR+`rc/'pHg);G?FC"bhK4Y$2Q+=J:P$(8qWSPZ85LYi;2T5`991ts@WL#obUXhsAq"[rP%fnP<8I.ec3\&h?i^]#JU@^;Z='UOlqhN$>8(BZq.)%E$eB8P3KtDiD9>H]+Urb5QtW"JNM)Hg87WP#Znn=AJiH&=F:*C\4/]Lu(gh=[#cD4Fh,/bK0NV@:qBjY?omnj&nF?GQlJq9VjmE#GLEA]"SRLPg78M8raM&3PK.+a1Tef4$AeNa_2;=.rBe(2(;!C5l8/)iIU+?SYIK:R<@Cg%J2^XrA*(j-pp8mK"CZt`PU?8V;8BRen7'%)p#*X.Q9]]+L\B5F^m]dVG:sj-pUKBBDG5m:T:GAM2$KWHg<=kU.klKh18c#hK%G,5H2&6$SBD`uM8%_gq<&PM,Kn@-p%@,E;Iags,ZQp_=cdkgMZ#Xaf;A=)bfeuK[WX0jT,(o7!)nQH_gjJT`#dbJ/aAu-3VdK0pAg^=)YtD*ju2(!C/(QE;I9rNGlqF[FCa;qOGWZ)8'RMeNjj]Xru7TbXOKY<2(rOK*J3;4rQ09YD7TCme5Y#@,4=4A;n1hFc,llI&,4P5B!,gUhk8'3&,OmuDto/MnSu\N"!^Zr(B~> -endstream -endobj -413 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 412 0 R ->> -endobj -414 0 obj -<< /Length 2143 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%$968iG&AJ$Ckg\7E:%S>!)%$Q4l-j\Lp:>15f:6_b@>9"f+o*/T>A+r06AGpCojW*9=K;^(aB\jEikpNML-I\P3pAf*d8DN4P0$a_!>JEHRZ_SD&9fqjG'25rEtnm]]Z%QNjNL3$+URY"bZi?Z7Y@g2(ZC4lsG\)l3A5t2_63aX;@]J$>Ih3)EA2\[mX0m7rrf>m&CNp=C^(LIaXZ*,VJ9RRM8BDR0G&L>(*3D/[k%YCMNa#9hFbEC5XAQ:/E[)r'DQ8+<3aBR"J1_%VrAhl/"YT^"(V2=#7hq`am\a?XAQ%fsckZ9,hn=cm1<(gKlCc$(G0@IJB\GoU7YWf/>!Cn*5OL[9kG\EgJ[F=a]1^NPT0*j`:2DAq/=YZE6hOX1WiQ?1K)+s)oZT>oWLTS;ImY0'^QE'IQD[pQ(,f/8DXP)B0*KK,D.t&*ne44`o9372F4,hARAc@_/>0)\+Ri[]2EEY+(4._eI1K4<;"@T@KUro8'hl\1P%:t$8ii-.O$kYQ*:G*+D;O?6l7.[FPXlA;lQndG"@Gk^TTFYuqK>P329@]UYn!X/9-_H]I_\--GA,Oe@H^(1pRY=7WRr^tI4jg0!mc3Q817!IQQahD:EL+reDW3Xpn$7:"chKS_rs%*po3M&TbVg4H>BNp/@7!!4tPbn&HVZtM;W7[liA:GX:dq*Hlu;59TF?9;Icic41#'dRO3>TO:=#rpM-@F1$7^N+BCE8%'Hp1D"[tJ9pZCGliu1g):*C'J-,m7PpXm3"i$!'97/iL$bZ]m]7rA;*SnnGL0Hg'n%_ok[qcp`JkiVHl_?DFhB"V/A&SIf`r0hr;jcO19B-iL_$b%O-M/nY=Y6641s\R'mn-%,BM&4)G[bk,~> -endstream -endobj -415 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 414 0 R ->> -endobj -416 0 obj -<< /Length 1792 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D95iQE&AI=/#X(2+=qrJ`&+n?S$(?:9C#$D'(PQ\SNj,hMLm!tiYMYHjM^+^Ulie0=:ulTXRr=&!Tl4OE+7>Oc*8@`1lRU$0>S5/1+0c*R-Nf.X,d:lbld*\C;KcnO$"ZIqHb!6FYp+/d3f:B:E@6Z1BkqTPG-BGC$HGe6Vrid?p[&qEi4?rui\B?4i`*1-F.__'mPf%4,P7LO_DVT''PoBXtg]@k_mbY.1+AN&Ub,O*"Bi7@bin`j_@"A&_(bRId=YT@K=BM^2sQ]m0#got3OZ3.%Jf,Ngq2qAMTRqq[B6EMU#>K\:ena/@UggL!]X$9JZ\*C*FQ$;/Wu)_&;"#&XZ#3ek/f73YAm5:<;#j)or5EtpqVd<*P.5oXs-c":6mlBuJma35UA(qKrR#oehu'\!@C1'Eb+S3/8u]IUN@hjGZ+HEH@\@Q9H^!0.Uu>q#5Sd#SqHlkq"t&ht.OXD1AiF`l4SpGNA-BV-#m7de,1"C>.DM2?].X%48nIiN4!TO,]'K'F9,QOJh9O#0S1M07r%b/XeT;Xd$0=_Lo;Xcg=?Y]60\aCPbXU$);)@7[akm37EdfnG5sWM8OrA.>I/h]p=F\;ZP^fu*.8p@M6/7D[HJ`_YJ?H]X?3;_pgS*s(T-gB;eakp^U(^1%'Eb;%2@eh*dJ;3R%AQnP`:V/X3gX]QA,^XZ$,lbsO6'EHTS]_@T"=A8`'P/"$1/?:!c92L@kOlMQ^*\kro&7h*[A"SR]A9>,SJ;SMg7LnLNHJPY9qaNj"]obE,F?%k@pHG,YSaf<1p.8Sac$:WT)netQ'5e9,h9de[PF4'"o(+_1;ZmmCY$n1&40FbuT+QS\mt2!jWf8#*>fC*iL&M9(N%1f5YHlI&1k/6*NNT1spH08G/A%`0a)0\k&ED#<:9'p275>GEiA@p6^A@Aqk@S7Z3F)1Aj$(#YtFLpQe*R>%"8;X02bColqBmB'DDb/X$rVX"4h?t=j8L^RA38mi0!kIhMfK^Sb8hr63b'=mb)RbrR>T44!L\Qf)AD/frin8=/)8^:rBoqCJ?MT[f%!MM1mt~> -endstream -endobj -417 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 416 0 R ->> -endobj -418 0 obj -<< /Length 1823 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatmD&S?Q+msCN^&lDIfFVE<:1c,jMkkdnBXQRe?$u>AhU)`PkZYX0d^AJ-U$:p9Tc%HR*0*^#)-X])rYj-h>$PjH9W._@fT^YJ;k-M(Te(@X)$-S$QWYZC1oFGjFGHYi:mcX@f)F7[h\\,P6$@k&0nAS/<0'"EZhZtZciJ%XsBY(6^E\VB>f!,9E3'D]/jUT**OB[W"JC/P0:@!2e'I7DkUd@?3)mOifp:9ouGS8g&C[8B"$OVHKJe1Ya]'4HFD4HC1o85m`PH-7"@N7&u=?;0X$C9QH$!Le)$erq6t:SWOC%mhek.H@h#0UJam\ZHnfYEW-Tf2`T"M;jqW#cCjso,"%Bm"*;C(cK!6W`H6FLrh%Eoi*?mpir*uea-@4TiFMYbP%+H/)H;;1LAn)C=@>IMerTc6iUFdBV$#IcS;aB;BG&f'bku_V+]&U9JlrZ]nN8q:qL2aZWR\WV>_%`AIl=IMO/IF@FS2OHCF&MM81Po$R-i=Q>8X_XIunu.pBO660u5H='R:a$Q6UW-26(t;OpG,t^6XZIXuA.8U41Er)s)+%V-dE,'8Cfn=C+X)Wf6[bdA6B(/=(sLb`%n?i*t9C//Ph@bre'4:>\\O*_U#/N@[SB_+Hgq1HbrajW;8oVs0dkF9F_XejnEo&VN$9?.+.^a3%QA3qrPU$"h#YTd$88:pLh'io28BLJh"O]^6b!LoY4j*#+k7#dXFkhZ.WFH#5VF:[!,9k@*/K#10lC,M&igD=\)bS7_:i[5QJ3([s-)2T\dVp=R9Aj+pGW@G<.asLM5g^K@l\'GBAlWQ-Xtms8J"O8V+CuHj&4,.VE,?o(-J-b;E5#e@mSu2eN[:*oihrpbL'er+OU!0@9gEdmQpj'5mVnl$.VO4)%Mk&O;"DP9p+gI,9Gr\`>jUsDeFj11lmfD4f*I<&fe%_C6;hsd:F*("N@qeYo.86N(YH=%=/hE?+q;^BGr?%qUU9'E2W>h(e#`p;@A:m7oY:0Q"K#>ap/ureRP&Y'Hr2?7)f'1QP*E$UJGWclE6p"SaB!?E4YUjG;fHF:%,bcQK\J,;K5_@e.GOGmO\*Sg?$NCg;";#i!AiRkog06gCmY/hf\-)XLO=]l(7Xnn>U>Z6I -endstream -endobj -419 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 418 0 R ->> -endobj -420 0 obj -<< /Length 1862 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat$9CN%rcn9]V<4q4sZd\>T%ciJ"GTH;NO*+p3E%g=1TYqT=&,WSRWm(\Sq.Ij3):58m"mrWcd2t-ZnF1/Re%;[6;fHb+,EIW]PPQ/N)[KP"d/JP_7AoIT%\[c$"Df2a:;r`jMMN?%c;6XLk4]`FO0&>(Z4l[Ojq6mqXQ#eB,Qf8hq*eaiG]]X:,afT(_lTl+_;K!`T'"2>mM)?W_=ph8h`m/dG>58P70/Zj1@`3&&7*0Z7&%;m?1O4,CiSd;4\/!*K0j&9W1ht'MK0g/rrjtTq)UrRDV.p[6s@<_q'7A?oa;0el>mdLH6esSsDGVUHp>H&EjHq1m`)R!%50-k8GX6T`E%C"-+^H'`9Q-1(E%?hSW4SW*o`Y\9U'276pr%aK`bEHpjs>,10brm8UfNSR/5"7=0,>#C3!j*V"tdoMfam*3P"NL8/X(%e`?&2pG'JFWRM]$FgoPZ%e:?HWe-4S;$;Yn;IQZ_Mg*.n$Ol^r7Gd68'^c`YAKTrYXI1d(,]:4`/9"[0:@tUFj?.cb7i9qRbQi,;[EC;rM552.Z8CAId(VFm^&$pMXY.1DdJ4(V%gbXN;>`rnNRKK/WNGk"A/s@BOH("Y+)5iJ&dlF"<-^Um7,oCd5dmWo>7aUcT;n,-2K@?(FQmceKhS'K'W6_)bN(8-:(Hg.=(.M?bf7/QI9O82%OR#nTIn`[tQb?P+)i0ni'm&;(B%S7[8H344fE"H-@s-,nakMIhBYL#of?ALh3Q7QaX2iDT4Pg0,(F2<;;E%22=i_#lFRs8\hTIHsTG'N7?PLdJRC?AZ!Tg+B54@3b5E[F)-*7n%Tsf4s*D6Z#@_QCsD_rU_$0FU!q#Bp/2YhN(pV`(N;N(F\NVdWU>)u.]LB>p]ominOE(JI1KVVc(6a7[Al%8#B/MdS+aO7C4i`q:ilMD$(_nl:rP96823##,qR6l[o]1l48p0f-h(NDJA/=KHK0(?2SLK%i=W@8V9B*E?Q&&(-k%*E=+cV>HNc/GL;62eNZlQ`o-+^)52lj1.mOMR7p~> -endstream -endobj -421 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 420 0 R ->> -endobj -422 0 obj -<< /Length 1995 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,h/D%+&:`#5iO:k#UPP)3NtrS:"pp`,9p*B]*p0/h,q@ImM_6;%m=.>uUr8H@a^1*bnBSZWhYh\CeGJpljUGN=gThX]oZUW(SY:`hrm1^,Or;o4Kn@9i^\DS9MWB/)iC&^a0<6*F$l+sgn,6jSZnC>f@pjBRmAo#\):!P7i$F$0&*tuYl9I>^du*_En9RhOl>eg,b@sst@.TfI2>B1)#BG;If"V`)j[Z8-"lan&Cn4(8@`T<`V=5SqP=&j#Cr!R/#jH0$pC$:Roo$<'8Q#b$I'PrX7V$Nc97mpkDbQeca'5bMd8%Yur+Tr$7=^mZi\]-^]sMED@M$WHMDnru:rL`&1^\B:K]`=o^M6p)b2SS+CVq*+X>nk=J]RoSIT+Vs1E0ADqu(e!uOI\,pl<@Q(OiR=on:N`16LV-#uA1b"\tQ/^Zcnc":(-(U8.OVNG?ZUZt63U4-(>/2t4cA^]L3\c@F.0par8ul:bH(Puu;3(g*j8TSSio3I;?H269:kcT)0\3bA[]H?$3?LSOGl0A@,]o_)3pi]V]\0/<^hBg.o&[dJ05-!..ljk70ScSII^p)H4IB&$\R=FKF1UgcN&/j!.pju.aGb_?"QU"i%ajF33-0Sj$;KC7BC-3bP&?I;C%s8\Wr6M\#R$U3r4a_*1u]&f!h:>2WpRkLWB;<[gs#$Ish':$FJX)Zi&CI*Y,Dmq83uOGSsVI_Q7sUP2nl/hefcU8gTkYfJJO?+/-\b6HkAsMXErgH+1(3>+M8U+M(.jK:X6J]b-48^2&>>l^X8Za7m-)fdDXc('Y=J?pLAOVGe=X"[<_%:f3'PlNrHVq\Bf5RO8PJ1teP3rFoJu$u@5%=jRsP8:^"QX#ZgUCCUVcb>CX[CY`'5;?nNLc<#bL"JBfdVI`?oO7<=OZ9B$E0/V&goj8[lc<4:k1#"R6V]2_\Z<-17d$ZJ_Yk;YZ]*T3%Y*0O7CUNQi78[9^8rdXC!ChtRRq5%JJ$&7N3.Zq0TDD7t@*@q:-j'7A3!tsd/]1>IeV%aKIS39o0&3q"ERg3dfmDm1(/%GH;4$.%]p3mG*cXY5_CS(2:0]pBRh3#pD$1Nm9?E%PC.HEd$gmPm`Sd`B!'V.>[)6Ps67B_5r&6;9NYN!bY2U$g%?Z4dD>5'Eo1b@YS@!$6fscUXEjL-`>cioc\,r:23f\jNKmn0Y+V6;JmYfm_M&bORO"j^6"=-`pHtOkc"5@o*o^B5^etStmJ$s<0Gq7J+=`T?MHUZ#D5CAON:0>Uk["a&jrJ7.fo"r=1K:b,'r8Xb[Ou8l'a3aAp;\08,L8\Os!T6^?6I2n_nN?MA8<-U-r%Y`4R1TBXr\E$23PNpXH>@:m7c;FjRq&nH7$ZG]lkOQn*\)Nq\'bVnFF.Q:&7C#"qbsmE;P4W -endstream -endobj -423 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 422 0 R ->> -endobj -424 0 obj -<< /Length 1331 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasb[CN#t;'SaC"=.i*L'(,CG\MHtOJYXRWX_TjRfrD'QLtH4XWX[5Raf_ZCpC=ofK:/sLA.:56k*\$o).'J_cMj0LQ)D^YHfMp!CNO)OOjldDNjEV01q1R'aH;XIADF_d$bUZ5sgg?W7Q]cf9EGGSh]oDe7u!*VH%t_OG8s[nRfm;5q)iCbBWlpaaPV3=#`(.Kh^OX]tro]B\P\:K%Qm9aG8>H6p?1GiHJ8C,3qdK4ln1H(#!_?VlEKi%]%RQH9f@@S'=TTC)gC&Zg!Sg]u[m<4qqVf51]FcVYe;Ik?@\ohNYodq<#k6OUKjaM`YSBbRbMNQDiG2pj*h[hi'ZsZ.`<#lHSa-;j0,cB)TXLT*meNVT1DfaI@.fDF/>G&0&n0aMBJ10e9l2kkD843lF^D>HaA^S7YV\Yoe4X8jMc4Jr'VH/!<*us4:[uA&6"pBY?N7bsYP;X_(2+G:AXWem8U6Q)-L3W`bQ>ZXtU2Aa)+\b&SN;Z&@;!:0s4:Ks,k!BTi-'/JeX%CE;YQF].goRm@;1.lrKc^/!1hW:`V=KfiL!g]&0D,4aO;D-D5k[ks4YR`FHu+f2dOgat[c=n4ULT6@)DA,S;$rp9cF0%G+*[2luplWqA7^pBC'.khJj`=f%3c>CDK3lfGt#9aZ+3VrY7saHER*eU3KkS':>2 -endstream -endobj -425 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 424 0 R ->> -endobj -426 0 obj -<< /Length 1272 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK>Ar7S'Roe[csngj1au9\oP#0U1dfm2Z-ntN#\]].KZ]HF8aa/us*^[kRE)'Cs*nR0-+Le[GG2je,Rm"?$TSbu),9mAf/KjEXn6A]c)Jp5bPYqN(F^,0nT@U(g07b;7W$U?NC14R>)Lp()p7rcsdk74!2,G`&E/51t6AS#lg+,rZNMQLZ_[8n)!OH.K1LFV#iqCQ[bU;L.@Pi)s7Q6&V^p>h?KTn'jAG0iO5CZS.r%``Xm6*C(XAenek%SEGd3T!BK(GB:>,P(#VSZZIL=EJ0Q%c_[2Gq)`[P:Z8OEAIMh'@iL@J!JKBTfDKSBn(XpjIX)pSj&Ieg&[k2)E^V)@:/]CAGrt_?fu]LBM/YORB4^(S@S`AJf`5G?CFS@bW:JCNWRs,J2L,J>bcKM(HXn7)oG)_dn9L,CjN[Qek#pRj"[+p/*Itmh,-mu_IE6fEXu@"+P%>qhBQt"YMSPHSKWM)3Ndi2ETRUU$FZ/A=!Z2kDWXhOmqRfUML'CoT_YBki_Gb+qo$dafhjI_!@\4g?PQU@W*d#d`^$Hms -endstream -endobj -427 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 426 0 R ->> -endobj -428 0 obj -<< /Length 2156 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0Dh/h=/%"HT1iQ%a\-l++3f(,'4mPS3qD&R&6R!1^IU*DP$kj$'g\(gpHn4SFF`QkpXq9DJq,RF;J![)EY-^Sb(JNIt.KB_r;3-[Q*#=J9s".':*3$aM'%]6;Cn#'*52Rjl\@%TWgaqE262`.S'-'ndBTm8X:(BrVtOr&:HdK,d?Em"$=CrJ$T:K7FgBPu@)n:pk*WZCJ;uS/?pjq0"jU^la&.Y7N:CsE=.qln.!^$*h:Db/S3e5?OTifRmpE*kSpt,DW@g22-JUOF-6eL%f*@H5m5XF>1=g@&,1T+G#$ShG*;/H/MjG\0l?='f#19kHZG`@ZJ0"Efq6SfBi<_p7$@H_K3.>e%CAjsY6o*D"p1c.EH[q;qV7p$9`\c/d-n\oMk@6"XchpPbc=j(cX4eXb[r@Klg(!X"@ddcbr7,(3)e:kC$^r1ZcOa%-2UJUf,Vlds?"3WT;JYD'MT`hQZENo]N3,HFl\:t$%u"sLsWd0G3h]#c;0%_V9qdXM&)Ig1^cK!#^R5pP+;*/^3.\)%+n$,$>ZHUqPE#PB;YWJqulq`+:^+SBOY--Mdt"!"BdDs[7,7UH<)%A%\:BU[oZ4PC(1piUF\U<$ks\M,GH#!PG)"+%RCUu+I"`RFAU:#?`r'+?)B1@N?o54aBlYfkX`_3JRgNheHN#=+tq\Eg*YEG/0Lf>X-Qe[N`XV6`bF4?cKjSt.nSn6Zr5FQ]U=Y&bM_uqCf.TcBmsSi=jb4;jZ&+l4-7XS1cu[3Zdk$cRBPOOC>"&_0G*_3n/,D<1e#^,OOXQ>9*D9_n@>tYaj=!M9;+Q60):Aj9$&0%JJ+fd!D;Mu&cm5O@T8"@9T$.7Y%SR_`EIF6@YH?\k,V+S%]>1t\@0s*K,qD=nRVk6M7F!r9cAr0f\*OthA)a<.lI<0bHBGJBs&S9QF9H\)%O'l"Y2&PdFSfV-Q:Q8eIt[9EQiKYoeXj,T>K3PDUGml!-=qJFlDO:6l4ke.u7g$QH2kBr&Vs'/OBDoSmC,p3HC-P9e0Bg*Cj!=oPleKuicQi!qSEcV8R\prb`iZ<$W6Rej9tkA>lIPM5:MDCW2jtdbW]k+uD.f=[7Eai6P"eR*f-fb#8m^jGVO[Cl%dHW*VAGCX6abcS>kJ99M`C%a*EB*&)E+jj8]m&<3X40jR2)@CetCgrGhFV5?Z66*32g,[FTLPIG9^.a#geh2g!"`UZ_DuMdU?Ir<(:tjt-~> -endstream -endobj -429 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 428 0 R ->> -endobj -430 0 obj -<< /Length 2135 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%$h/h=/%"HT1Tr21:f;SP3Fa70=FR?MC^YHNH],iQO2HO%%7*9602n;eINr!Hs\gcAn>-.9Sp?$0:[N^jmQS=)f1T&-4A^*I;S^\MZU72?EZfSI6FrX#A0Gm/Ln`/ebP]\+2>Jeo]c(q^YY[BnHEktl@YD>M8SW";1!JTb/i"r>sG;bncG.3p-t0$E<[[OK7$FjFcUieCOP85s3ScJZZ1XbqU+g.3spVL#\^P$=99.-?lQM"k%1hmQ$Osm\sM:#tIIe&G'YgE)s'c2iZa;`GmP4(G=.ZnZ#+QP@#6[:#+hVkcUFK.C=sdn@N7SGW1"Z1/)=gP&!mn#Ve;C-^j^]Es'W`b'>Q]Iu!EW8rm&Go]HE+2e-5c-+?GfdEgETprp1:L3roTj6P%V(^`EY>.%LJ^&caK,lj+eNp:mUU>HUWe_;GYLB/W1M-t;=Zuie(H]U+u^"k8(-qKr2GAIXLoJW!%g"8hD#:Z;2K#qC>ppjP9^M493"bi%H$Z06S-Cm]8nKg5@aU8o>o)=IF:YKhb?f3CO<`?f5I+(5KWoR,&oCcqf@4\2FJZ/V.T=kl"/&nKs%*C&nuE*qXNJDAAQ8h:;nqL=pC,'_')(W3[(nFX*hF/4U30=b8')gr#8nHebSJ3kILs$+,;qfZmD@%$(JW(;3ISf80/+9c].>j?J--NAuZpXDQ8h2fKr?!+?a*fFKS9<-Iu]/&m@S[e7;-V6"gm5MAe%bL+BO,&2lMFeu$gFA5fQXoR3sLc+LgN)#`"#;s\0u`EBZbFC,GPmmN3?p_#$t3?dh)!X;J/cJ#MI_dSXXj5E]&:<8rVT!HHp)fJ^)`oidm'1#[AR\IR`Z485t"^.e&M(StVq'V%j4E]&0=h'aJ=#@tN&F4Q37)k2`aRs&<*O=Z$lecW!QC&%Gf@;FR0EYE#k4XO&Y,paFMdO%GG(FsG^4bjO"=qH@*4^CqL9P)LB+2pJN-B#aO,kqH"(UeW)Jlp82rBa"kg'YrV@RcXh9mWgc2g)X&ddbXP$f>Q)F8.hTPZ5$kJ4q[;9EiKe"m4HT)`Kt1^>?SeS5hD0f<8KKi5=Jc+FB36pWl:k0jDSmAUbD!i`"bF[FFXr#D4,nqKpBcs5U6/D[Bi'mV%=4]:j'1iY\U]QhEIm<2_phfetQL?25*<^H)aMf@0L6&;GaW*j:6s"Z<=rZ,HDB0sjN3';6[e2)FI2`T6>7B9"281dL%Qm.E)"h1fq6,B?FM61nN8i;N@e!=Ml)pZ#!UR7^Cmh(/m)a(LhNGB=&O5/]ZWYoPjTSIYs+q&u)E`6ml=4c>K_GgRdV;%LX=[<\\X!pHhh)tip:lHhFhh`QUNe953q/eUW$D&c?]`jpbD?rE"FCe?Y@f(S@L<=]MHE;c\4`e-Lh:=a9G:BXB.qA`LVT(LIIPLTX/!E-0cBc'q6i.bTVcZtWIJ0QnqN,?kSlIOFmB@FST?LI!`FJk;-%km\$Ql[n@#bl+1l`,Z%#c*85EgM"R`fd+FWfP3$A_']5QQfB]31>H*+/km9Z"Op#P[]'hD;p@f2fmf2.g`2i@GK-q_[X!$FA&ut"WaZV:MN8*+Kfq&->XT(=O5.o[GIbaTU% -endstream -endobj -431 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 430 0 R ->> -endobj -432 0 obj -<< /Length 1381 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!Skh/D%+&:aF]+o%nZjtMrHl6ASlX?_ZRkR+,*[thO#BSj0RaHTE@p4B"i]*1P6K4P32;FkV&mN)1:t-'^09"[7kX_\"X0mNr,jRLGu>i.5nm<3=WZTs8$J)0?e6@Ue;N)?Q9DR%c\?Z"('=g^fP.VKYmgT=5/eJSe98IKq@L/&A[^7?1/>5_1IX&428A=q#Qdf`4iRZQnuo?#\!jn=&]&**d2_,!^M$Lh0H69+/i><-=c"RXN'lbY@dYTa@/6LTbC]dDY\nC2S?d/n)Le'$]PkF3e\9(P5I`h4,/Vgf'^Q"B!O&I=*+5I7fIQM;*l'?elD8nBZrj='P&aS*^6sq8"g/qF:is9GQ>QTq"_Z/5:>QYb7;ma*8^jIn36mjGp#3uefP@,^bA+<5d"RK#hZ-m^3)Vta@3muD2Fa+W-PGud[mD>\n=]8)7V1hglJ0XZpniT7J]Wn)`,m@REtu+la7/c#O@=uhCa6?`lPFrEKDmO-)VOK)Ln.s'<'-&*><]@qSW#+1G/4k,-5:`f;rB?<-8\?WH17#MMIO$aI:BQJ*l/K`2M*%+#Y+3>D#!P)71Ms9RA"QmiQ]*3'RHkSq"ke9)r]If\MC,X5T]6)D[c6@U:6B+jf:9d4mYGJRcDE!mk&Z)d@;)RYIM$Y4/re[$S&S,tF44s>>19Jn.?802ME5!l9i=tcMBkliSX:QtA(t693?t*H&@t`&Wiknh5%GY]]<%1-b@P.<+AbGA/uM:A6;B**'T-4@<16j+_RZ9K2V!kJf5,`-93KStJ\m:25'6\]']g1=4N(h#c/ppl-qAUBR!o<~> -endstream -endobj -433 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 432 0 R ->> -endobj -434 0 obj -<< /Length 1042 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#[bAs(+']&X:[)=c&U)+*hQ8\^bWmSVW3XJk<="V4\+M[+'mYu5T"TK$N/E[Jb99NUja/"!YKBV%m#XOrtYI;Xu=*K'lj^H'@*<7,0p9*KC.i?pQPDrCXD+sP+-SOI?bZYbMc=%%BBA\&D\[53OsYjR,)-B'EUfDb!9aB:N&k/;u+AUrl<#hhNNYSoZ`/q"1d4nZ\."?HmYJZtor#,KLaVZW#lp_%9JIrXKLS1SM\`['FtFs47rZ0138H+AouC4?[J1UT@b;QiL&a5KZs:lGpUgBT&GkJi`K[qiCU^-=g*-aVM!mF.V@L4_6#l[:Me>!'#!Hcsh8S1DFB\,)T]"tA\_9PHA!\%md&*YUj2:h31A,SJdjoq=F4rSO,gX29D%:4$Q(eB@O-"l(%Pb(WOR?\UEM1k[j^)pLd^l'KWsuO14:U>L=c$3M>cknfU#@g_/J_Y#+be1`_FfL.)>TeYF=4sSc,)*7`HX*q2Minee/LN,8sF+WB2Y_j@i1Ilkqfs++-l\8k#'\AWElT_+gc]oYu/_+KDJ/TQY&@Nhqg7eU"7:5mVDVFd)P70d(?@t#0h0S0ntRl6f`hIp%Ot"E\R]"KWgK8aTY*M3c4l!@O]0:ZqI7#Q\;utiO*"9'-ZhFVY-kk@U7_5dEHWN&G[Pk6#7@#b0d:l0$Pc3H1ZDaTUtp_%ijh_6@<[i&$.^U_"uK.]@^G]$ZR_]:t5>K.cDS,0p/pq5'9ch@B#SNF0n)9sjc]n9F7^G&3<\>JgV]=UsCI1SHL$2GAbA4BD~> -endstream -endobj -435 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 434 0 R ->> -endobj -436 0 obj -<< /Length 1000 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK?#SFN'Rf.Gj:S34=:V!4ar`G_g-;r<"JB=N)rp[3lO/3['/&:FOn$K]IS).J95k2ZR!c^9$M`ZO@5`,]na4f]aLGX?*\_sp3TpJIZ:TZm=`Fa:1kd9j=Rr9!hp\H-p"C:;-!p(O-ULu1"`a%'I-=Z,D6sf7Y`o8fFfiSF52^OTM-"DJuSfF\lA!$>m!T(We]FX!]D^Y&7Q*='ij.!Vm;IhV^!O;`7*Y!G[_gg6>Zj)o:H@E:#**d#fuKCh+:_p[-AH;3DQ@)ODgHj)g,2Dk'0h+I$=d_"*5uDpP_En]D[G22DBB0>hWN[!e`J%2R/q;FrSZpI2t,'uEMKEC3()$.C3JQ%upFfR8uSb3/$UmX"6F7kG(%$j$ZV;(.ZM:J_:MFpQ<5B7Zs0'N4a6(XM6Mbl]-p5hp/H:nd:@Zl97W)u+J4%VXS3_Hf'[IN(^Z:oU?Pn\YO^X4jl%64Wa?7Y`Ps> -endstream -endobj -437 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 436 0 R ->> -endobj -438 0 obj -<< /Length 1342 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=+>B?8p&:XAW@/A;^-<8HI>L$//EDPD)1JLR>d[\DjOCM%&8-O/mrUgml8-00+3kT.Fm^K7ImO.7I4F-f)\dih5lbn^Bn3s#F>*/[)/:Ob$U%8WE1=1[PH=Dp3_>Z`0p5(Zl%u4aj1Hm&AXTVX'PKKb@2J$?3dtcW,kNN/*JCoRcaas!Np?qd'G5^l`*A;AKGk8QCfBMtYoP0%e#kigFNaWcV3<,*c.-:e(l+9qXNFW=c6)a[1?#K%86!V,/?E:Oeo5$(dGXIBQZ8J'V%;\Kn-)4IgTgc"W`DT(B@)Hk3cX)X*VP`j=%-Mn7/a4*.Q&ksoe7d1(*`7;;X1ZbdYB_\&m0qRPXNCuF%9`>"B#4+p(@tu0mb%s6U&iEq2()IBqqc2qOj,e*<.Y:3nU>_*U:::FT+:+#O>JsNuMPlRg66:q>,o6,S]jrtAX:9r0.\b!^TB!kJ:cL/9Gd2sXh4_k4qsoGu,$_@B(>3kZ@E^U:qSp)N(h!EL/B:%6(RtbpQ)Ll9s%SR5@i-="8@Xm;W>:02O*6'.qjneu-#93f^pN,SH9Ka6HePa;pW+G1+Zq,Pe_YYK0>m6&B+9?)<@4Zl:bE/LFc8jO2bZY=Wd-t2CI3sR=7+kY1'2qFfaIf;lB9bho#'$WeB%BX`PF$IrYJh'P@itC8'T>mg8tu2b,Q.X[J(N*~> -endstream -endobj -439 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 438 0 R ->> -endobj -440 0 obj -<< /Length 1228 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm;9lnc;&A@7.G^;smW7I;P_26IaTa[KcD;[_t7S/iu1pL7X.?n2#/3B0a.]LlP\QG?WIB1oQ-i8!@3]Wr9$pb_(QD6.D)8RHF58ZXb)<28/(^H7In9nOK[41^Va2&_30[YB1\UI#Tnf-I$=ft/,%B=B=;dgKQph^i)0#2Jr,FElDiC4,qE7_b8Pm/([YR3I?e-d6@J:d;X/GWnSXJ&+!(1g>k`Fg^APY(a';dP?8?2r2L\g,\5$i>=lV0'VbPB*(V;RrqV?OP[.?u6Q9YN\Qd"Y?ZW&;P*1)XI_p``Nk4=4pKMCb<6LAn14SmeG#n"C+;7+.eEgDrs"*S+m[YlN&;Xc^p[S+NlhT)]LX-^IN:4k+KMMUcl32>3Hpo3R%rTU5I!p:C(#m5H6kl*hB6g@0^+uLGfj?HsIb,pCSt2;jkc)Bmd^c6T'%.i",=iiCa`c_JqI1pZiqJYha/s,aB']cR\XX=2ceLCgbfh2r8PJ3dBu`bh;>C(i6Y>,'F+(NqP?EldeUZVjDF(-oi=2S+Y"=@barU.*Lk[[uH'oIXlN1+Z14Y=Sdg/8F.-&c]6^CttJJ.g:'d4&/enj]SGo_9hpOr2-Z&;m7J'eL:gnH"XZG3sMk`DITWetl_&DY2a`543#CU'*/n#g;%[4YU3:a8H.E+aWhX5hQ.3Dp/$Me4(Uii.k,J-8t@Ie94d'LtWCr^sEX-6UUo?"/nAuZ,*R`&$g>(_YrFGL>%h)qJnKG8_,Bc=s.8?OCn7sGC6m0K&Om]7!f?q3S9X0&CoRGKF@?(?(g+d -endstream -endobj -441 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 440 0 R ->> -endobj -442 0 obj -<< /Length 1273 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4gMYb*&:O:SkcHSDAk@lEW9huVd9om0BeF.,l=*%@FA12M>`(Gd^Fq1\&h2:iPTi@XNon?L3JWb^UndZc1dDVf+C0q6n1m<21k-o=GV>"!"t0u0Fn"d-_\HMd/Q?^M%_`24-Y&'BA)%nJOV(!_2>lq5rp06p_oL)!2re9Y_7d\(Y44f=>[U#^0(`$Y;bTh_c..a!m=+N4o^spZrN$K+-6IpMd"%?rBN@_.Mp_Le6Y\'E`&rip=KA*CmN+M`8r'V8eU^@V?f:Z[a`5-N/o;G]lI-M5s"B%sk?4K9T<1M04L[0[U``-l_(M)#D,8Mu#hl[G&]0kV-;hg.HD77bn_[uj>,=q2"_$e2PAc>eNSNr@RF5NU;#/gkB[9#=q>?$0,C?kjfg?sc27K+,Z!K^q$WcknGt";&#\aWOn\:t@B$'1e3=#))gq0jsLQM-f;_<`uH5C=a?TE[T-\o?753nN)9O2Uc[u-=uRJEEu#kmhLf8,7afRaBHJ?K#r2`%npm/+f113&o4Y!lk?!&"OU)5r&(`oC=TRkE[<:5Rf0Ms5mj+8So+m"cpNaWbk_<&1bHME#LIfGf!-aE@6b>8!f;QG7BV;kaYqi`F3GIlOs)Ng/P^sYIIGk/Va15_]/ItCU$crhl*AXCGghEQE+Ig,l;3O!oHFQ-#U+*JWYO$=E.sc.Z6d^2m[h&F\PSa]KW6XCULE]OSn19PVPs03>e<\rNB$6=psQ4<]+tA;L+ZBO2DK>]O[+:Zl%nX\)KnV[bg`#(4&2IU)@:C26[uZi\).(ppnsBq&6_48*A3G9KpP1:c>74J\G2AZCRe77Rpb295Z&cZnFamChEB@]g%[@X:[2BL\m/j1>O.a#?gdtXCG=h_oNaMk.eg0)eJ<@fOf3nO@-+W).(qL9`'Ah,c)$&p-EIZ=-cm^bj]K3/C*bftCl7gS_JG1M.F^,FCNOP5%L>>N!7MY%7J~> -endstream -endobj -443 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 442 0 R ->> -endobj -444 0 obj -<< /Length 1627 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4968iG&AII3BQCC?2GEVboTWnQM-J"r3L?b0JL*kH=<\FjZK$FAO8shX"j'_"^?dKH%IAP*5E?"](XWe@a;^.O")g.@i1VOun.>J^0_'ODPMp14r9&lQ`-NYgLSoT#I6QU&U/Itsf63`^6PNRaJ:ZD)sAntXc!]>1!EBah>X15rQA_D2$b?lW$IU5J:-n`AgNW5q4QGeeme6YNH?A\%rT1Cj[8P#4;''$">hc@34>4Wh;bZ&o*X!b:6/X+=PRa(&5e.U8#3`Y@7^EG5=V\=&)";MCG]i-A2pG"d[%s62Fag"'Z&cQ$pf4g%(>i0[hIi'@1bJ%F7OsT5%T0DIAEt@9D!MUc9C?#'Y^G,G6G8QEQ(9"?D7aH5m,7F(T6mG1B-!fsd!jP^?.u&!E$a*b2=-:.(&/&ITbM&.%"&afn-s:.*7+gVXZE[$f[XiL"&7X-5Zd/P_h4Z+:W&3NIaHWUN^4YX3:&F,5q&(/fOGP?.-fGWnZZ.%U&_$lRp*t>VpcOD1nPS"_4?>q8h@@C__i]7Q?*"q]DRn5@`Hg/WqBPFSMJ[$:%M[lQZ()U"tjOZWB`MKHk,PP8[pA0oc1gu28"XM@9J<;SLN@BWr;>.Bls$59E%^7h6Cp!Z[sXDeEJ-.g$bnW#0eI(Sdj>.3Z\_V3Vk_s&2V$N*7'ljl+*KQ@rO_h2Ag]@G!4c0V'(5TnD0Af$+XW;.p)biXDD/-`HTIpl(),sC&;M[dlT_?JR3A%?C@?.Y4oGW-gYT[~> -endstream -endobj -445 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 444 0 R ->> -endobj -446 0 obj -<< /Length 1355 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK>Ar7S'Roe[csmNlW[L^\Y>7mOU=hSLM;@Q-/csV$/Kp;@;Nd5OfRMcj7>mC(3H>H8IQ=4MPs"7,`2i"\m76&#NpTrlmDQ8Q'4a,m6Pa_.c-UHI'O&](qYSg7E0AV3o&?"8p!$\>$F\#iNEa;'!#n5"$pQ=]^0]^Rc9M@)qp]p*346T'6gMWSET&oTcUA^M0QheP=q\QEV-;JgT?S`KXg>tUj>()d5CN@uRn>)@m/HgN1cJ&jVoHXJsLO0GYZV-#uqA$^Y4bi-!+o`A>7""jX!K=[39:HEfq4bak,$C>K[C@-ACmQ_!^GVD*5`n+/n7^R=/mb;0)@u2n$7+I'5]2c=g2]ja3p_+(4%V0".M=t70i!p<0&s*B4S;hl4kEb<9ik87AM>%Cat<`mhbf+]"B"!o:P1'UODtG00TB\.gj%L+..sg_Ck0]74DTkM48TG^aM[Ke)gOq_\HY7R$*ooH,dHV%OPS;SP3l1/N'$1>L9+YU=o(oi_o;;e\<%OsqD`3J20<*ff[^E3g:f-7?S`-7$oI%*TcrItBt,C$BS<+=h'e_$GGtfJ=,+&I(`pa]XnDk@K+N!Q2kG<3^2f%<4dSBKA-OG/EEmApmiQtT)8+JqoNT!C#$"$1!$][dT+Pr0W8Sr,An.#c*MY*kY.@UfM-G6F9L.<+aa%9$CF%_9*%6RG@b6nCkH_;4`:ZqJ%>V#i`FA"WJGKR_u(S4E8rHj,TC+>S,K2?ji%sV+@l2~> -endstream -endobj -447 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 446 0 R ->> -endobj -448 0 obj -<< /Length 1876 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatTIfl#S7m+l$B8%W^Sh+.($U^iP3.:RX&'W?pt/<.;/?:T/91rLo>a]t3"t74aao7cb9a2*.b9W:#MpUdLcoKKjGq)pY?s03%S[PJm44cd609nkLmYK0,5aE$-Ae<-BM3lMYHtBJC;`6"],a68Arcr0j!3;UR>#=S'b,$#Z7eU8S\mT#CmX!6[eHo`G69q3cH?^DXMqMf82"_27uK3+1]d\3#elBNS'R$AfhsDK_&pjtDg1**XnL5klF(X*]ZtdtEe,RW@k#!\m1<."Cg5KG4s&TIg2#UAtD,!RSQ![k"OiDu_f4!O+#%T^pdAVk"[^)]3.VbfFjX.'1@;J'7[;[n;i1dYa%n+U,np]Vo%h4#n(pYh*QV1l/G.Yr*=&S#1Umm+]qQ]k5f)c==!cT[5b`7T[!Ybj>!U@+fGrdZF7#[-min-F$&:iJu)GjLhZ`1NjXEd-geTdAdbkK-Sn@?MZgT5fPa]\,p2\lT]WFiI#fE70Jfhn38=@NlWYm/U&p3kPsI#>$%[[Uao&#?U\7Ne`khl;u.nR]CC^Q1N\k).Gm;]!/s*k\MIH$=^]@38%e'1M+m#Lt\*:(ts*e.6Zi6@!KfY&6J;hdD37QBVsX+jH#!PGEcrb"eU@^2Bs!.2*B)Xu9p"oj"9!#QBfQTbSusYsV0'X#R^THaP#mDCRjRZCFFJF>IDnYL#1C26&t7FL?&3FKSZ@Pk4.*=u<%OI"q(oasK1R^&FM56'ZQsdFp".I=bMV0(qVsHm"_Th=P@@]J4uR!.*Tj'0VOtGCk^hS6fVY>.0CbPi[<`AahHmtR1.(gF*o!P.)6`.HHV*JRR`XC)M]\06YV;AgDCbp7[[>j/^72hNJs/7.(X7T&[9o$<>`eQQ(M=WKGtVncR2Hc431*!8GFOG0:ZO6>ik-G$onm-7JM+]]?Uf/0_b[BG^.1/4IYUac9k=1j-,N=(M+,lm*iDGm+15l.8^.j(Y6M]aj]+JHU206lkd1s)dK\eCh@h4<08`U3H1R4)IGC/gb2B%g?:mu'is:h`7g-CA&E#?p^h3YH7VWcCgJU?3Zc,A&'h7fEMe1#&H;e6OPg,VZ6C\(F]L[a-\Qk]9>]pYsB"@`1Y:U,Kiik`,.C#&&-2FcI=f9SQZai9*/QUZenYM[_5`.n]I*UL8eU=bS1W3sX##\)*S0s8WU56;uZ6^lgom@e1`mFSsF$8B\S[NF3qroM7P)hsp?b>j-:"],:HF&Kc0%U'Z(/?#MA#R[%0'.5'jhdeApHjJB-uEf_n%#=EeMfKjc1M@_(W)P45XS3X#q"6%Sn#I/Y]hJ@AMmu(Xl%>k8>?ILY_*T""EplYs`hg5+g*@BVPQ\p$YnRZ9ogg1b=iG(@u@HcGH8<4CJoIh^":nn~> -endstream -endobj -449 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 448 0 R ->> -endobj -450 0 obj -<< /Length 1636 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D=`<(R&:WMDTsq**>7l!.5p#=.79u]SD/]:!/IJYHg*NJ'9hA+8?XHDN`=Z0u,q&g>RN^kP*8c^']9p;/-*`PA44YUF3S%es/;O6m(32KKKNpT*etTDJRQiqthE?;d[(*F@[MHVt6%fHa5q5?Y<;l_j=qs,fP?")`KFQAOT!0/&L@B6_ldNc7qo?ah:Oi@mA_eKTl"&p0f76DmZ>K[@o^MGfZaYH`?]U69b8]]"nQj$6^aaJSS%-BoG4^Z8R^b%(c0CAKLnXBLpQ&f4CBl/B(NE_S>`CI/l=f^e=F&>3Dq]"OSAm+T0q;hhaC\ie$B;3E3029044IVpTE,Th)OXP,@5N0tQaMPI`i;H3"*bS,j30P8bWTGteJ2GFK\pSi^M[In^eBsqQrODeGEqGKe,L(.t;-#:]2TiF+@r@gQ*==M"*is'pPKRHGA%8O[je+14/aR:gD/85Bjhs50"p@F]*SY3"ea5nqsj5ig'GeIH\`Q6p@ZOLV*h5NR!:QQip^*X1-QM3u&TJiklfi>Cqq@6Gq%K+]K.;.a9RuUBRlT_,Z)s"FMLoG+33^,6gHJi"m7Hl0!RRbemQRJ@q2\6&$iXR>j'&,)n63=+WC[;dfgJYXH0Vmlpiqa-D%\25rpMA>'(@/11PnVkKD#$61X4Lh!b%;0jgBG*D&q8ab*/!;N%dH_`>R^O*b8D+MD0^-Dp='_7>dkLVm6n^VA*f)^#qrgu/[K2t*5'A!P=15><-3P1bn!L)K171(r?+#:bsai"HiASm=dV9`@J0cK%\t6kokmLimf*A`e%\243@tPR23.J9Q?=UD)c@;\nDK`ZlODM,;dd0g4e=q#m6uAtk@h\ipII7:%2D+?8%SVB6)ABYGpiQA.O[\a0nU0lpWDdmOss"E5B#03$F'0mU],Fe;GfZo->fX/fc@+@9VC_R\dIq$eIWf7B`lRe3!c!*,BsYn_=q#ok6KqhjbT,1kJ3M/^%C,:i9ZD\d^HZ1)4\64A31]Dph6JVCH)((V.A1HXIbA6i^JO59-=[9*&TPZCU%ZRpg7I3RsC-?!N`9R$s'8@h[W++#L-psi##^h`2EfsLCVOMq'43+S@f-P&CQ0fM.TT'#7_FiF(Jf2oX&1._M=C[bl!1(ae/Nd#N'I:nqi0YArg^9DN)3d1o%%;YW'->2SNZUs"dF+0';0oOCoj@FfDf6]3(u$GO$@hp4?74Znn4f:7.@E(*qL#h8VVg^UP`L)sC(Cu[ks&gcl4a~> -endstream -endobj -451 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 450 0 R ->> -endobj -452 0 obj -<< /Length 1377 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3>Ar7S'Roe[csm-!Z:L+hFA71g!@Q2+'LNkV3QR;M+/.=fEK4.@$0Nj0@;ga6Q&*ten[Gdu"3TRao$[&b0#s_dP?LplfJ;aOAJtbQ\A>7S>65ZV!f1\:8s*,hLbkj:6'D,0JLW1Ok`!,FU_gXqsWjq!u;L,%R<3NuVf?_38o!j8+7tj6<\L5lq%mL/Q:'!\8it%`?e.L3KMpSS)+cum#6-G:-.^!fs[E2RE(6C^H?n7c0%$0olrQ!h4s-lE;oFtg\o1=Zb)_&c$Xt)LPtBdnlP4;pCq;ei#XcC2J,g[d:q0:&T&`-Bc!ZjF`MfVG$1c0USkPj'CBo]'L=2u3H/o1`7Aq'C5MlU_0Q(OBuu?"H3"Y3Bl,gJjqX;>iN="_>3:(@)N357!(Psg,@B(*06+QCH1r[i\^g?WL&OSY3C;WEfH"SXXJe`VX0DZkk_Nk@";SC6Z-,X'p(.J[p!"XM%!@3ib_]9c5%\l,753cc9ku(eNi'Prs!6W>l?PD5(ieQ1lpnOeCksk:c^`?IqX7^=U8CT_=h&-epSYF"ieF+(9/t&jK41UB.ndrf^4h-M3Rd3Y9_B>>?`Fq*2@d^rEl9n'%6DaM9GCmE'KEAkPEcs/>e`Gm9St,*F&8=Xa+e3)';urL&*,>FjLqCTP,`=S`QtguG^~> -endstream -endobj -453 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 452 0 R ->> -endobj -454 0 obj -<< /Length 981 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C?#Q2d'Re<2i%^KT(Oq%KVc@K>:7JW!fj<6D,)qej238_(gA_$ZU"Bp?QrF_P`ghDDotC+Pk&N4<^SV#?5o<;XUG,f/?kDT."q[&`;2>42K#oM;5*eNPA9Mr.]HnO2rGe?7Z3)27U(.+Gr.FqB2,#`3a0XGLCCn$jf@p\bP%o25%%of6ca5:OGO'qNuF>Xq!n!6m(K^emuA*lZZi/"FfQq)**]DK:aeRi&@jkJd&=Fh.9^;=2dc9L/f*Y\fuWC=)c6K_r]pCXF>L`Y,Vh`gA5Z`m(!p5KsIhqg2,:etZ^8Z["M'Y9+rqVgdHj-)OT?\Je8^pQsT;O@eqmInD3B'(jUH#uO1(QF:AQ,mJ^P`Wk:['sZ^TSl\&Gja&s\rkESHT]i>aQ2,>Otk"c8!q4b0s/*H7B08^'KUP*,$l-t*P&FGN>%M_;Ih+r$3#J@4hdE*1.i!WfdAC/Z[SoF%N=OR.DT!_4h[gAB@LQ$HJPG\"_Zq@9OL`PW4%MAh[4#*Q@am:aQ?l7FLh8Z1Y_30D@[:u&E/t*Rkcn&prWM@ZgYuATo#;:8ga,4IISaaQ0+Ka%m,rXGI!Q3#ON4fYrcs#YS^+r/0fT:\:;115EW[&?k&'a?d8=PD@H--QjY@K8)\VfhP(POit1KoqF?Lolk)'JrrC?u@/9~> -endstream -endobj -455 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 454 0 R ->> -endobj -456 0 obj -<< /Length 1458 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4h/f>L&:aF]_;%\IR7)g`pi-,[S&nCR\^!'hmp;GX#D96pZ#Bh*D?'GG+J^k1rlC)tTTs\M]<#&J'ms--hLEJHK3dP!MeqN:Wu6(cq83]6#BDSe'8/_cZ#TcQH@!*a2-VeTmG%n`CN>]kNiujq#SPMs7*\^X/T-F&R?s0QXAe23Y$_W==EZsp7V1RHL=S.!p!M7e>N]TCnj7aYY#8tI5F>a^<OrN!^e@%sH]eXajaVIhG=_ftr;'J&U=aGTQ]*O:GkM%4MEMfq1LW.$Q.gc[b[*LHZA(tt&70eP\@fH]`D(+TS+\qN9bO,GmJ'I0-.#_33Sdc>aX*b?*0mcThWdP*(l,Ikt\/Y.61Zr\J5*K`GV!Yj"&g'T,C@mM.D@/\2f[`gWdZN)73m$f[0&f;@UAhCUI9frn,$bB.(c_h&(=$7FiSO\g^^A84e]2=\q1LQCU_BDJWfTUFR=Y?`C"lU&&8>&WQ(:Z4TBJsR6mnR=$nnNBmV3"N^7.k[N&@!)/5A\;!;<-IZHrJtino'idXXQ[0Lq9;8GJSB.0sa7-dh?LW;flm,7Qs5'(%onae.Nap\Pt^d5Nc]0pIb$4![<;lJ/FSS[Me0gCS_Y8og.MCHEZ-\4)eV>,4E>8D,_cfO3Smn*+;5>:YTpEOiKRN\?,cf/p6:JE[JqgO]9J8en22AP@>4d3srp'gbd2X&#?MQGO[<%p>1?l":Fmdk(-fGq8Vj-L[j3f,74n4)o$J[Li^=QN'l-.a%#SB`=lT1F -endstream -endobj -457 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 456 0 R ->> -endobj -458 0 obj -<< /Length 1303 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4969,O%)2U?kSC)&bD7A8C/;t$RAQ271lf#2VULZ=3`]`h=c#aos*\Up#gnkg]Aj8""!7OTr':-+RU"[[(:K?B7B;8^]hGYAb7D%cZW$_/KO/J,c:")lT.d=m1aH%L3K<.SEHcTTVoSW"l0Eb>C&Mm;^M>6(J-!eNcXLMp$9+c:1`Ot"m^dr$"PI3##-ob(?WJU@D78`QFnYo*ZAAr0=nLe`)=g4'op->l8@,u@Nbg$e9O:S'([4DZI2i^DS8>3.]p6RJ\sfiGHApP3I`2`?jp%VCO5:UhF#*R$:?V3akOFiEQLC3:m8861nAAOu\O8HHHgF#t3!%PPHLZkPIpmk5G-FKs_70S'\+K38!(=trloX.;eGq\rTf.mC(UL\pRc]E%.62F]1&cU!ZGW4!@TfQ\JeUr,OI,s0oCL?2?7UZf'"i.Yog%AC5)7!Y._gs"o-'>)Oe&geq7?!MmTomR*K]afAtmp^QgIKNM3Pg<`Dd!+k%]sZ#A/aqOCm?<';([tUn7EStrYe"Cm/?Sh4/K!Q.lL\hh[M7jJg7c[g'XA45hoT+t..&7 -endstream -endobj -459 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 458 0 R ->> -endobj -460 0 obj -<< /Length 1273 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!;d968Q9&AI=/pdc9AXbRuJ-TZo(9Ztd>j['j)8X74],.Fl,_S8ULAS^Z]M,W?JjunaQD;@\Q_SPJKV/^(lSC\@t>RZ):'S47g;=i-YS/&Q=2S$u$;Q`6':edfSU7>\1F.ZPbrTcaF>ij&.7D"23maiVS5iZW3H2,Yu?@[787KM&W0MD-MQfM1E&%KX@M^bDsh?*!RGNgEMbt7cX%.ile1?TuU5HCqi[rJK'^t$c2:$ijF3$!HB@!ZIj^0M(A"()6^@eaF!RAP4Q^rB"'.+p8#BFKbBaK9j5\m5P!#DUY)pe4Iq,*;7OZsjT+j$s8+6\+-Ur\K(e=^>luoK-4cS69"om&;')uXO"eGq[Z$hkLH1&DUM*GWI8!Ob"sI/dOiL@rVO87)#Q7N,<.c4;j-;h/U;PgV7/"3lKAFFP-#`_;9%Wc6<>pNJ)V`qpG^$r2OY6hfJn0g/OLr><=`hHlXDD:Yd4Vn0P:#c1C)Q4%Q)A0#C9M/n._>jM3tCu?MLFADGOR"WFR2kLU%KgK690E1^uYN<(guO?�DgR/o4P&/%j:#4QH]*IOuDfMSu7N8qrABV"JWS>H3#-K;Rm:mk!jk[IJST2eeni02e-*/MLhJ!-+"FBV,o+2Gklr]8i0K#86c=9@\.A9^ad57TKrSo2Vk,_&QW`008T&HW0F^aj*7Mu:C_VqJA8jpu&:`KVi8W_4T%V1uIfRFEBk5r&7\S_trs;1?MHko5E&:J#M;fQrh*Y#nXosgGBV[WAZZ2m:e(buo`KuB#bL'.%Q^uqP%CQ3b7n8[\OtK1-Ei\cbAD2.EHXu1QJ]%QL50]7ZZ$g[JqL34bARh[EdJh)bL6iN!(c>YKhL6L`n1gPV -endstream -endobj -461 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 460 0 R ->> -endobj -462 0 obj -<< /Length 1267 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`T>>O!-'RoMSa;ZgM-GJRsSj3A)$)Bl1?FFQ'WRFoNh.>14;RqrsQGm"OUbbs%b&5HX/d@12JV\2Nt"Z/KrMn94Bl1k'hb^AE)'Apn^dXhj7;NBoW;a=)#PU^WV,(gp_"lN]Ml+#(r3Bk4J]6uuDY]51lI!Wp@J8)'Wp95C-r:UKX.BWhFB1qQ2Y>W+Gbalse$5an,lD=9^%VaEg>DQ)url^hCk?<2.*EkS6U_'%TVij\_bs@MJRhAN:-a^t_J:l:_[s(#ga],?[HjGW2Z7(Y2taZAK..)KfmNbjI4sLfA&g89[berdZl%978Q>OaaqMV3&Pc)!k*NWA?+]W)S47YKMlc'Mhp#QdO`][(s/"fr0Ml+2keCKJXd"uA;"[%^[OJb3!s/^gHaAp@#Q!VDlgKQc:UKYhP8jVWlE[OuY@%$9EAPETQFYufH8_'9/jYP)'fRuE?H>DT%*Yb*i9.h^U5>f/Y!QrtULr)^7(=j;A!d]<$^IYs:ihVXs]2T]SBU&TEO#F$%T]%sHBK>=\:ps)BXG.A>sB%lq7R8'HH@.)'[$_*ZPMs4t3_3`bI*]U6roRiMbe`B3U0EKO*,LdZHd6M^pkfi&(~> -endstream -endobj -463 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 462 0 R ->> -endobj -464 0 obj -<< /Length 1526 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0DgMZ%0&:O:SkV4M!XXI&Up*i;@fG$o^Z(8Tc76t.b-,c+^PjI6(I4:='8$_4!##0Vu1ZBAq%Yn\mgs8H^55Q+9Cr_tr7ujtq+j8iZa?je3$m!qhTf(S,Ip[%!,9'f`?>I5!Q?`%e"/BqmortXe`d2:.*9F9!ZM4Am?!f8<_?!RW%d6l^f[CSnOA]]j2mSu0EW/=ZJL/ZqN7H-U$G+8D@,VK*fr1>?F-K**(qtljnrL!]TJ`bBG0g"kDel1XF)CnDl^>YaF%On>FV&@?J*CWdW4"K-o.+roL/C29O:4+V#-ZVBfA;i.[+"f*H@DWc*k\G-::W,$tRSoYujeAaT6qTHr4Vol!@'P"Yn:*SXMWpeJt_.VoGtRDj2ST$BaaJ==oXR/i*"(1gNX78&8oM/IgZ@mAOk\YuuGcNIS0gY<'Y+?nT80T%^>`P#"9!>,9@DtDuX(fOOr-RhEa]:WeQ#K?GD/PT5l:PmUghf/LDVUg/=^upNRLU`0#1K=%+M/$lfnM4DCptr$HGoO>_;jNS/=nei:NFP'@0+lgILVg"+KmFK"f2+QAX0<0o$EM1NA,&rVQh3pMl]&(J+g&3"dN?#`_="ocZQ-Uhb%ib^=7pb0H@<\:A_Ybm0jQ^pKm-,/F<)$>q:?b/*Jb5M9G@XKm..>G_$<;STOYFaNHElS$=*k.dqp7+qb'Mdo!)eLUpV>se'fr6_As?2"Xk>,hF[g$*)su(jHgoW^)b^)Z:^%nf\['#h3^XFIKpCi.Q*MO?4&#PiDi@5o>8Tc['Yh]c4%*c.@Y7BATU]K6C"ic[fQr#mWM%p`(9@*&Pp`lJtON9A]RYU3GpZKR7cM(-,6)6=DF?]$4sLp%tommF]I12_K)ld;#b.$'KkSUf@_r4RGDJsCdAS8[n'$Mk]H1%k)h_'?Kg"5nR"]09B1Oo=0@:i[-"0[`\Ie%*/&m@AL28L13lbQJ1K\LN>'I?etRr8Glh.*p:kI!(_(l/l^+OGh94glbs*]G^-7p21ndRb.*lu7!WfaCU\LFj;SHdRKcUF&ks#nkbD?~> -endstream -endobj -465 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 464 0 R ->> -endobj -466 0 obj -<< /Length 1398 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D>?BiC&:Vs/n0@R9KdFpOmF,q`S>BdiJaC+8Sin8p&spN@8_JgsqT?6_N?+E4clO7taE,hSVbc?#S;^4g64`t7pEoKomk%#]oCX4!E#Ru[fI$sFhIQ$PGpFL,<#p>S86Dl6AbhLI9X/ufm@r77\4"Bo?f'kqdHP36=SjB*b:#tZkgA\Kf2%!Fo?l+Pirgdi<547+^o60H#DZVV.u-4Z9]/Oh(&6i@D)^?iS<1l?5uFuYa);?g"CH-qq6DF:c2Oe5'dX,_N,+?@X6\5mdgnC8T.VdH1YO3h(iKR&54+aJ"`pLYpefB6p?9uMeX,lC*WGA;h3Q-cg@BZ.T5UmXF2\r#fVNEXFF3q,)^ogXUtQt%;.'Ii*2RMa>!`YI\_Dga(QDD<#OF@3M]#H0CmV"L-7+>8m,>&XK?=U1oq@J8b).1KRQWsO""EJRdsL.lGF6ac(_9>-B[Ae]@q0^H^]f?Zc=_On1:sTG8aBOK2&#^qM;M1sj2tkgV'&<+dWdT8EVFZO8"=U3<9$H?S3r8ka+anMWd8%91)GMF:SH06d`iT'b@'I)TF2iYbIWpVP_NA2KOJ("r&@lKB-C*%)DY9QWP*FZtDQ6c]p&-tllWqP&Q;@8%0n#k+RN`$$D9pi3;(jM?&3,DhehNINnG&.Bf85^-0kYq!O]OUiI52nmAAMY$/05;7'T$g%1f>g^e]8/hFt0T-*=N4cL9$b\EVhZNuK\dT)hQd*&c6Xk]@J907\;^rN;Go%$7s;`uWc['LCN%B<)G/guKqh%:kjt-W'4[>HQ\**]UGg-6dGgiaa,H,S<B\H4nXCSTaD%<6RV.g%*Xs+7bZ%CHE+gr/o:[GPH"II!k6$UT6o+"#[iH4-VSkZ%E;BQs?*M.2>MLiJe>7o,Opqm!?,N3hI\.p(O!KM;*kt:LWZ>qgor[Gl,&fm&g^gt?E+BDb3JBg:Dn[DL`N?IJ:>sR=Ili?o*O'ng.ah)pqH=jq^it_L*PFC[\2j;HUgP^5$`lZS`VSmBcJd#?Oft@YoV9dq5g7a+8lCKs?cXr8Jj%;^@Ws=T`tbKEs5nP-F-b.R!"Olh.7qJJ3=mQU&G@R^%rV>?ZTSNd/nJ$g*DdY8r1Hesj[TNYko)?Y^*P&A".q#^M.5WgBa=&3d6K3/m8$Y&r]%CDYIPto?;[?dB.3`Gr1a4aJjQF!5N=neXf$XL51tC?~> -endstream -endobj -467 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 466 0 R ->> -endobj -468 0 obj -<< /Length 990 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#[9lnc;'YNU1pt0aT[6AHDWFaeW9GpC\EhNp%-;%`ocbMD"KoXrjLkJ?(#(d&:5B0Lje"g5a&#LjpmZR_X\iQMMD_7:&/)2.g]KKpk+/3$7B_4A*AE/q7>5/$"eb[(O\!q/[5"!*1ocJsG#:2oZL4^((!T8Rf^-;cliG.ouQ#7[1>@17Cb!0;o1Mt,&7:]aEG+]N"eb;WRi&pf$B&Q*'MDi`b9LGr;0dDbdFO2oO]fhf[Kg:YiLj5F".MRc9bGL?%cLJ1b=3c.^M/],H?>KVIlMt/5CP/BnKgZ,cCGIkKPJrCQi,rs_bUa)>W_trn3(!1ogqF/!DSen,-<"i1SBa[aT=4^eLBs`c*5KBl0_T>S]T7]eeank?5&?UnQRd>aG<@Gq7uU6">aI'+MU9!G6!r:$fJ1(DWW]_52]BNc#f)(E,$C++V\nP,F:Q&YUh*%\P/AV1io(!Z-9XTR5I=A>\OP6R5\D\Q66M_h\!2A)82KX^IhYQM:tP)Pf6s'm%(G<]8"8?.>oWU@_G^Klpm97M^aQ=Z;'b_fB>&NZ[I50$'QdM>;i#'SuCssQ&(H\iTFS6\!Edo*JGipl;>FS'Re,YWZ+!D_SYXfT3WkD=:To&t0(=i*lTEYM1UnpKan%ZW7SiT -endstream -endobj -469 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 468 0 R ->> -endobj -470 0 obj -<< /Length 1303 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL;0/3d&:XAWi9fl+U*:ic\j!MXkqnr9Vb*D*WB3%r/]Y4.\3SL)hk'n"((^N0k5$F,GJ@E8bP)=X>L(N[ZQD!T\XR$R7BXNf8%q@6[B!?-FLJO!ffSDR$PsRVm=La0=T!PM!fm-A`20(Xna#r)_1d0FXo'4$iEun;?5^cq$_6=lo4=NlpubE7q9qXlibm_&Fd=,#GF=.>']@.2qXWq$!b$n""EiKnJTuVIZBJZp\"P]*gB#X]p7#=MX8.AtI3Wb5IS%e1]bah[=r;n5c2*N4;'%$gZ)GZm9g"LubJj<>Z8]r!Rq!L-.dj-JC%eHm#e/\5?Au-2R_\Vqe\-EZVT"5:%Rdq.,#p3RqZ:rJ*_%)&3't3FZ;G-)!!iUp*,jp!2G^99&l<:XP3Zl[,&chO[e>R%j/\!%c>TG^P?Gr;E=AE$rE"G]r&_Ijpu1-k3S=Q6H_YR!$,B\UJQsOb.U?\B-dt0Z)ND$9JPaYq[ft($_o:<'BO/@@\4t)a!fi5>nj=E)R!_,J8K)QX\A$(ji$G$os030Qo"0n3#R=U1O1uN<0:VF#fo&(rWci3>EOJ,;pl%m"m`;7f/pOBBqchIPU[R^VoU&.(jY'C?(BiOF'"B3b1K``Wq`(\:pCH!g852j`;)-n(a.CeZ6ljA,/]tuXtFa,A5TNRV.l,/`Pu=['<+V:-9Y'cS=&t[3gue9,U=c\2?eLP5OBPcS.=e"?XFt7[9Qr$BbAr5kUH&8k0QW_.3U&-KmF(Lrj/1/N#Su;l7%D]+8+.D/uWl.J.JDd6bKls21ac?etc?$C/X`9Wk6t!'A3'1@Tr/60a5qM!4V)a(E)_>aElhhm2s9q4qX7jh=JN/\i9:?!`=js&f`+>3=fO?J[%8W=#q?edb\%kmKWhl9H]/g9,lW#QE=b%Kl-"'Z#QoqhrqV+@PS3)VGXOdE\"Cu@+]i\7;lT3Vp&p6\aKtZ;r.aalQ^gMU\3]s-$s6G-~> -endstream -endobj -471 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 470 0 R ->> -endobj -472 0 obj -<< /Length 1292 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU49lo&I&A@C2n9/]5h'Qr6c5i3XXSa-[C$rUNTG*tn4A]B]=jf&21&`dZ7/gMa8%\+['](UElFVTdp_Oi(,]Cs4+XC'[S6,miub9fno`Ua@Y`^uZlQg:/=WaBmC61A]Q]OUU%b!:-h+7jCts_FS;i'dl"7smB=%$1q'ee$iQ569j5h3t7P[Z+3,0USYAZ%3n(oWQb2m++<>AmL';Z:s!n*+&*,ubTZg6;`_Jtg.U**&h(Y!95a"JVgi))_0\FoG>IXRJ%SokmY0bK67R`3n)-2U.lVuM&:-]16P+Q^5=MNt:hFGLtI,7`+LXMT.;DVV.PmQJ$h:HOEmJ+i-nf,rM>?5!eLesVhod@(AgcH_PFlH[%GKJCZ8;q3t7FtnmN`5WedK?3Q:;GJ=%C]a.hGS?:j#+dAq@0QrJc^$d.6N]5e?H3@4)#aDKUH>O!8%*\^DLD\^_QQB%%Y1R@Q+udE/DZ[eBm_*8'p/fn5J^4[tPOn(e?Na8m]?Tp2QWF`VEm8i+MijUt$*3;D1SL4N;_bW,$N)_JA8%R1R2FYnT@?ONin9bAP)q\[A&Ud?)f>RK\Dd]fLVfBASQr_D.PXcdF8X@j3BDkVp#@@GFEgYEFsF%g.mb*[Mo+@&`V;j4l_A863<`M5Q[1cM*(mnl$sKe%%-_eTp\sPhrmuL0[])XGX*J0enh2V]+*C];;u[G-k+&\>j^QBWJHu;`G&NDXktO4J1S%!NIlhI2>F_G;>SLMkqi)!5[ZSC7,Kp[d.Zs15b?+-4`jbUXRP!jkITJ)L?HW9(c8#KNP3ODQme$Mm[$_qfBpq8"ksUi#s,5:s8eM5XV.48TUd*'TndTAA#tsDV&2s[f,Q-]XC-I@PdHE$d8DaGUIJBu~> -endstream -endobj -473 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 472 0 R ->> -endobj -474 0 obj -<< /Length 1253 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK9lK&M&A@sBka2>Z,?!#mHYSEIR\JWoA=[%qU7c)O-K7j^,hmHkI4:$d-SfO3-rB\*dPGfr_`*Y+h/m[aO*qQ9aS2QiM=3#Df^mW(HT7#7@[%LY@rM5+rGhN%\&\C/cTb,G^3mZgDBci=\lro]G4#7m9n-#:@>E@,"N9c&0]bqomCUJoXE\.iWn`VcSRe#m(gZ*nnZIE;Vc>ld$^10TW3H5$E[r4'iCqd.6)UQbDZs^3t041k;-LLXjJ[M%!nEkXM>\HI2:Q-JrTCVq6anJfKEO.H:><@Th758[rGIa*qA&QFO@Gg)^h3A`&>D.GY2/Ss-St8.EqYP2s!kXfb+3pCjaZ-.G0K<4O=iF#m5PZ@>\4Nq]PB0"aD7P68U&ngiP\L@5b)0c6mY]GcbAY9*p;U)kQ/>s:O-!I6GBqK`L*X,2nKH_G'h]&1:0l2Ud/po&(8^d2m`V8iffV+*fMFt*q`\o@]eR;!i:_Foip7!;r6^0FP@>7KtQq?$PXdO&:1[1@Gb]S!6@gOhi!'rOKZLdU]TD%RtC+="DtN2P%VEY=`L[("^eNT-03K,m8s4MOIWqub&q$U&GUZ($4`k)J:Cp;^'?q@85h<1^pXiS'R`TfHU8%P1A;T~> -endstream -endobj -475 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 474 0 R ->> -endobj -476 0 obj -<< /Length 860 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatn%gQ'uA&;KY!$=>D`CZ8:PZr]\"<2rtKOS5PNb.%I/5u15=+e<p:J/Z*)l.P%!;.p@,69!cLi51FE96g\"JhJY6%iqT+sdSl6t[-)G'euQb@N)Ho%=$@^Yd;(`W`>LDu63_,.G2t+b?oqPNVL]M=I/+#2LKTA)]Hr:l7LR&h\>jK[B.?$3q;$,-\B&Z`>BM]LrKY.s2N%+7)5`HL!^0KeTB!hq3bHm,BC-+[]ZCsBI;+Q(.hheLXlY\0ZBkgNp%\JM`i+2*66JS-gfBI(!gh#)6sXO5\Y#KMR2!if/?N&pNr(I9_\u3oB6m(ML>C2#9EmMCF<%[p]uo_nt2\;2`5iFr<8u;+rtARg:$1;.Q1MN#;3c+b8hq?$.B_`B3@1fBBTX&,?Vh^DFZ5dq*_5UQ`2$73oFI$P,N8;3cANMRnH]MQK02ZBC8cL6sbfZ,I.Ga-Dq5\7$';b6qg$`6p1s*-^Oho-h1jYr+F=hCL+<8\Dd;J+u'+*F+K(8At$iR#B'0+N@S$IH$pZ$3t:AcEU:D$bd)\G5~> -endstream -endobj -477 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 476 0 R ->> -endobj -478 0 obj -<< /Length 1270 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3gMWKG&:O:Sn7Yl4AT&F>Vl"Ue<(W?7:1'Hi,50_[[;j@Ko^_Z\@+cRi&jTHmLqtl[/j",d3F@_OI0^kS\Xp-0O$%&26B3GnOFqNOEf.(_7F#B2HlYEliml!Cjt&\f,DL*r9(#7\lRn]0CR]8QK4G5:67igfgNDDHZeBqCZH6tAd"]m7)H;Brq1O5_Hb]1=]kiBVJ)PP`H@*?I::X=/cE@[F%_nuT?_&@ff,*1=hsfh.8Ci)Au#MO+=pJLc3n%:H64B/\/RqpiYk#IP@Sc]"C&>F=X5gO5^0A9Mks,)"^,;#\Ho!jT5hI;mS0A@E@-u(W&29QkF/FFmc+LB&NB?>j=70n$alHhle>iqj;=c[Gik6mr>6MU_Irt-i):u2Bl77I[+DFN[!<4)J0&LkRclX8u^FUC;>T'AnPS[pr>J.:I_B[Q+`9(jfLR.h_Mq7?dEf!DMc5P?7<)BbBP:?&EFDqOq)3bdVm.M]>.+oG&k0c\Epp]TTkq3u](#&?;OmYCj6SMqF2[lb)REod>/f2ioXW.FJZa)WsNiXdCh6]2JLgW$FPlNaMoe'SLL+3htC3F_`S"JAT`5G)4%E.#Imk8>3Skt0tLB6t*3[N=)iA#7%.QNZVo<04-U>:qNELe0E7Of?Y$#9#g7^<*1nI34R)1X\Kh(Eo6!#C>(=N_X^PUqCK4l8JCTM_hs;qRsZFiK[tpDpa;'b6?YQL#/S)C8EaDS)&"R0jIu4A:ann1-#c%>b%]4=hAD!jg\;AG^Pj"!HOH-;IV>GQ/2+)GSd9Y&,[\ohnkO-k'M.b5lDsYKgr-=>Y;`gd.UE48%^IQ0+/mebCT>NbMBr7mfT^qn'[q%7Wgt^>EQB+;D?0n$*=J-n=,Niim9MjIBZ\M7P\&j%@7>>:Lr&<-UH7+V<8/=ge(1mY$*JXA=!@o>+0u6>\*KGL]Fg.e\!-R>Fu%VY.JN__o'!E<9)7 -endstream -endobj -479 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 478 0 R ->> -endobj -480 0 obj -<< /Length 1373 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C95iTD&AIV:cn,Q#bG*j.:CU^,/lEh#jn@%8"hip`$IMHQagL1,qGJL`%^k(_)l)mk*7'$(jN#sJq)QHLR.[$eWg'&6Z&TR]jrO]4Q2/TqXb'cn:l`[)5Z>;MEVMY;'%VouHUN.c3t6e]6j9n"9mcW@:-P-TcH[*.i:V[D`jKM&d(\\#KMnE1n1Ds[.GT14e'#U0gjCI/jUE(m_DPcTM.M^QX[c/5uh@Z7ep+KK1uip1DC&-CIfJd(sbDn$CfW:Tkl55(>BKM@*D[^Bp0a!CXjNe]s83-/d8'P>QJbj=kR'/2k:r1mlP:jj1Q*&+phBoBiAFA3'+crs,s7@46e5N3U?rq>dFro$5I:p0B>(\qZ9(kg\c$2\X:Hr8m>qanY]eL<_k./bE_=FWAOTmtMJp)E_ih(RZR5*]B;\q+nO2D#b#$jkjs!ctoGc$n?:__mfX2QUmR5!UM5:3L!9iM7MWgD+QBKl7!I2kBVW"`RM45o@$Bn.T*(F(dT+[,K]Fm&/eFimkCUV""_62D**s+N/qj:NgLlWk&Pg=pIn]i`esQ?HPlk0.qR\KU)[80Q=OPQPLu!hbru,AdS[#V?UN=]>C8LdLo9NJpGCWk5@4t1Q:ZkOj4Z+o2d`dnUo[;e0ue:GCX5k=FeS[S\B)B/qLXZ\Us://hp[dW&gBJXd5dTYOqiI4RCtnAg9o^l>[7R0Fp]E<(F+%YmFfRD4D,e&W!s"_9Ws-Tt,9o;FE3Y*VE]X2U.4-_d2t>$MA\Q:Z=9;mj>`*FB#f8H1==p#D%7kT/=fiGF"[=WG#(eX)j7e1IJI)_1J:e4BT?r46kH~> -endstream -endobj -481 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 480 0 R ->> -endobj -482 0 obj -<< /Length 2268 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU5h/D=3%"I_Q&a\W5U%N6FG3f\4co^$+h0OilRi=&__nf'37&XVYCo8BPlR.Or6p#ER0]YYe8u*ku+t;^2m,4dKZUs)%ra`H"n0b8h@,f@:0F:'7S-GZG%48F+jR:!eMouW4?dE@TPCFpch^)bD(f%t+9t[FFeU7DJn@$PFEQ@62ea.$Wjr82kA:$(6&.N/T++Cl6pj.+/q;M7t:IgV41f>l[GK4lSF`CHjI)Tko&rR"#?s]*mMn9JEk_EI_G@u<M/@Xl+DN@4?&!m8e"SWM&@US9HjpM@+950MsI'k5+TDaA1Qp7DVIs&X2Q3--?7Tb;P2qCbsCq6?0q-oq.-kbRDrYYGG6&?8k+'$gmE'FI"=Eh_Oo/,$p;A-a!W*]nm"O"mF_'onp3o/$[Fb';qfA7W1J*UBCH4IAdEK0)1(L!5]Y^HV.9Wk^\XoT@H/o>44adl?%M&"$M,d,.a\"G6tj%jl@QM]HL4=*T%EoL:d%ibS%7W]MH/NPS&$NAIS,rBdF0;aG8HbGGmME8*8cE3f,]_Aan]d?S[R8Di-V]6"+>5l:nl`MSLPs9=r@TZ,eY@,>B1j6hm=k\0RMYNn>[s,j;;iibYYI;9TedUkj&EcdZ@@VaXJ=dfWZh+/i>L&0;^h/u+,*K6"H3d2kc9V-K(h"jqikb3*i[D4s]+jlUPN19H\[>S=bcX!VDslLPCXM[Bfijab[C0A[%.U!#:/eL3cI]kH"BV8,J:ac@pEnj0uHM3NhP]>M[4Ni#JKTT"oo"-T=&HbAUJp&O.q2]s'=kl'\c9q?g13b-6-$EaBJ)0.(QWq,bHVZk?S5(*.g"g@h@[lL8?BrIQGq3e/XlT,GD8fb7"MoF!;+hXl]g06L;\F!K8TeUimoimeY_!`+rnXc$9;7TG6I2Ma"bY)@%nGlNF!mpm\*jf>V`$HACL(G(WS(_F^c<"'Xipg31)-DCMSpqrp2Mha/U(2UE\_O:3ZTZ>&JLqA6I#X3Q)?[Zn[b0Z_+M<2h4hQ(d3#=h?hYMqfA]oAB-^T1U4Pikn0oG-pk`%4F$';df+en92knOdeI87NXmmgL"@'d)Wqf\=4hPUq!hpQ^OQPcK6\BSCG48LI)X5R65[!cHH74: -endstream -endobj -483 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 482 0 R ->> -endobj -484 0 obj -<< /Length 2021 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasaqh/D%+&:`#5@H=,*#+*`HV=(<7;D_Ue2Mnc,Gpm?o[Y;es/(."JFoV=eOqLPIPnjB%*VmAhLOk4Ycgub9KHKpkop=fFEf+<(-!XXko";.4@q900/AU75N'`/t/@#@-440bHb(QBB/smj)n49C_X?T*%sroK[CU<,r28'JnkhVrn`P)IQgX=\!"j2,:B"S5q*nPub8qT),h+.\mdm6g`W5sQj@r=gTeWqVA>ljZ+=W'%h'%LF"P\&YPfB0[QMe9jl?lS296of%X$r"Cij'9Vp);0(=;pebjMHjQ=*KXsc"iMh7JDs6L0<'4E:%%R"63,f2Pp.[5'krEcFar[j6GW,W;:\6^@8;3>.[^@:Et:LO9koN&[>737n_OtcU81m(e'TuNA90U](RL]U&rA1+b*0Y2Z%_TnL>_B<_CY/sU>QA2Cf2hWYgp"`TFZpH[4^7Lu``$q)%2D+(^6e4tTICnJa5\[=hQ^?bNmptU)GS%mrate[`]=I?AS]"Hm&]TliaiD#_qs3"kX&"6D@J1`Y(N,@t#YM$`rbE[/W6+`m'URd[58(u2eN\raOgBPNG(aHLrA6i8fj`KkurpZ!8^$nQJ'Y`<#jT'o$ieR]Z]@/>`ing+kT@`YH[o7eui^+'=)is:@pi?]h-,&.=,,21or:W?_?_GK:B.j:U)@QKU%XMF-6&FkTA]D%6*q12Q/Mi0mM@rWN#6Qs%0T7'Z,@bGH_nK(Gh;'ZHD9P-."Xj:n1hTZ)LDaq/XSY7a"(r&r.!6.k\jX5RN[g'EcS*M21J>1E(&-bUgH8EHU.CEB4(-N?2p!H"P@b'9WU(0u%&2Ai.4cU[+XpZXK4H%t.55Zg,pW!sZYS4K]`TjuE&JD8'hHc\b*L)IKEM,,[j6+b'RfmOY2TYuL&$[C5)+rYt6o_]sotqs(KitkUEnnbqP^5hZpj-js[FDoW2$q<p>e;rqs+tsFG[3@gUk+Ak78q%[RF+KLA[&Vt -endstream -endobj -485 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 484 0 R ->> -endobj -486 0 obj -<< /Length 1301 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C9lK&M&A@sBkZ0'%)"Bs8m[b',_5?&-DA$k@FV2tYmAQ/dKTt8h7K7]`M%U\oEo[uD>t!u&S)J>]L:Wh50!6QCoRZJUeg'),N1f@7#C:>%WlZqa+:c';f)'T;EI-W8LOP(#kHA^@en0;ZH^!Q-_h=GHO&,4_n"u_SQhSsi?bZG#5FF%S2p'!>Sg^g&Eu<$[0/c&j?m\W%:;#Jsfh^G664>!>j)WL_?QTDD)3sRIOn5K2@tT-rO2:3A^]6g2gV5fU6qE.W(_F3LYSFVen1Dg*PAFa+*gpC@(9P,%#(bV>_=Bp'`WUa0#E1>B-ah&\)DReB?L"X^V.gM:+::80%=A_3JpH\0mHA:s+lPh;#_E&LYen2=g]7gS7JT,DqlYK&hsEH9.Y49(-@3GgbCa>NrqaiZ]'6B/VSs.76qqgZ:%,iFRVC^!22#h[[oRM#b2pN).IG+XEQ<)`rht_Ak"\qU0;$eoW/.G_g7;@K]BYiqAG,+i86`@^mRr.Gu&PA@7)j1,pWp9I`Z(lA]V%F:4EX1.3q'@LgHZbo?`5^2'Cb[nEE0rPZh`JuuKCI)1*nc4Gp7dS4>oPLVtT%([3[DPq+CUgqs*bg;NsrX4GrbSG.t\SZ\lH!Lj+6DWnT\`mr,[;\XbJpdmcZ7%BMHtG=;9Xidu]Wm8GfITrHKog9=oWkKkuA%4TX.>b^?^sn;ehhmA4g=%[XJr\6ribrISmcG`n=c66B6bXP1Gc1Oq&e4fI,M)(3kFBAE>Kc"jX$#Mlu4QHau\B9k[70p0X#KD'9LDk-RtU!"_uX831[U(jSLd24WmnPBjH(^28L@OWWGU2#17)?d9J,&)[JECq$J=Gk,QJqaO2I6+W;gM)g#L.-r -endstream -endobj -487 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 486 0 R ->> -endobj -488 0 obj -<< /Length 1547 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4>>sQ?'RnB3n0=>%@p?Z":Se.l3nnA"CgT)k*TJR+i`JLPe(oL\h/")nE^H)N`CDu`bBFZ'(UM<>aRMFFEu+)0k<.(:>5Xc0`?E`i)FdH-H(:,sMR53#a)S;+Fb&<>j;=(AspTs/h@.Z7(&b1/q(10I@iJU%%n0jne/GX+:05n2qIu8?OIQ#Ndf5Q<[,C;J>e[%>kt#i2_rb)5"XC#.7,+9%DgNQWk>qml5mN.+MmOW`Q>,9O^?1lGd<8L6kJpCC+KNjAY?F1@bd$Y'!)b0_J2C,!aN6n6#E6G`?82L]m)\L'E.(m#"-*im+^Qefh8$Y#9,\DPL3U7VkA3kk+e&>.Op3eG&5X$/Pr!A\ei],,JF(O=bZ;cgfiE?MCO"?65m:2M7F!U"",*a7E2m7WSLA2&E;]o-)%kPaTPVf4n!j5oP8*!^"IsiXj-OC)fF[H$^1ISR"KJC$XNOd"RVOpmDh]t=bQs`E)8b#3ro@[A.R(K_6Bq/cIW@50'd)6?UF^b+YF4CIV)?Tg7@9cfe-M-0%l]PV4th4hOi%nZ."^;&![LX5\pgYYrgHn'Z`bVgMJdgn;F3\1VO[>S>'^^W2Qo,:>>5D!DO>%Q+=%bLe**TT7,sU'!)m?,l04C)V=fg3gTOC3>@l\LEO8#*)C3[aFL2W8=7QWj?I.bLaG#IYS;aBr;@8&,Dmob];P.ErWW),Wh!O&4AXJPEo9s&e##GN6qPI':I&15Ej8\c#C5k8Gr&euJPpb4N.?>QuOYXu7=EMoIu]%oKbeH1ljUs"3O#\`&FKmJ.e$c>ab(riM\A;;4c@A'BK51(,forpORY8#FmIo&l=S.\q>kl+.s!g4YJ8/r\l83^n1ZNBg@X<@&.8S.#=ORO_YT-sFb%]k[4UUU0LmA\[9"e`lM_a$0s=fDIL:*tj,>k7aiND5QTs?E"TI>tCFF&#iQ_W?"(=''UDuA_iBrGWo*5alt=>HGkO-094%HW_U!5b7'Z:8/3k@*)?a)[.J7B4Bp+Wc'<<7'..=>TIOkijbp#OcZs,_o_`C&-B01?TOcf=%:?hY/:Z -endstream -endobj -489 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 488 0 R ->> -endobj -490 0 obj -<< /Length 1397 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4hfGPN&:X@\_5#gX#X[P&or6P7VWh>u)TV)8IFF(ZWWK4+7mT8Q+:un@@*6'h$C8aW0DD!A9FVY6G2f+M_&u_J;QL_/,`qiQ_WY(;ZV0J7CI_55CW"rt)fs2)EVAmF'*(iQL`p8j!,hQ?4CbT_PCd%*A7.(Yg\s#!t5SY0!?rgRUG8D77 -endstream -endobj -491 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 490 0 R ->> -endobj -492 0 obj -<< /Length 1335 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4hf##E&:WNOK"`P/f"hR^j/P:"VaPBea38oe*ma#;jDqf@\Af##Ja4l=$eO&_T]>SbkeK19S"Y`?%%ZM*q>]g1_p&WMGJ6&[%u[LMi`iID)VZBj!-WapG57"mB>(f\>V7m&)"S7=p,Wr@^g$H80*"f5FcM0Ic1/bq/C,WgKTNEp5gZ($r:ZE'P#dgPJot^)g;8Jt5mU]^6]nN4V2K*pTAsG1_M2ue%&(bHr-\5+rq>=Lh;-W+Iim"-=+T+nS/jec^Qpk3E^C?=`5(\XKR7Tt6u6MdQ7=%&V=pmHYntl:`9NGiW[=.ffTB^6k*eb>W-)EZR5M6/nn!o0_T8n%;YdfEYP\6>U*alQ%.-&9Os%]V%Nu$hWsIJDl"XUC"crKJ^n4NpfYmje'2!_*@ct@'S6,?MDb#GSXEW0?07FUe#e-8s[s(pJ%l_\,73DA\Q&._3n@I.P_7rt8qqK;gaHXn^FWf?l"d50NeFaO0pd#15/8,?pBX^XG&=&pSl!qn/8!ZC2QlM+0ncDHWb7L$dfl5YZ$Mm3Dk?gc$\FGNoB-*-9$B%M0s$npRdRVD6D^+Ql>VECfGBne`:h9G/Q.5#[.4ueluo-%oFFA=Y0OV86m!8F$V<20AKW$SM9.W*8]DtK$_'8n-8=fLI^c-h!7H.hJk5A3r=amSQJ7T"@q#G/W5&sC4b8lk7eF:cs_;JC3Yj,[Y,Ifu`B%8:))?lfUZ_ji@sQ-nmEo^:5Z]0t*st@H7T4UU$4oJMKH<*=Z1Hd$cKg%;^[JGm;:UsIho>sdjSL'[kOq3tb3$Uq$SaCf-hP9OaMmWq45W8,_Natb>&s@9\fX7&^jY:N&lfKg+Gf&;P#\88qUna585cFhp,tNiUB!dt11O67,=6O>Z/@&LolO9]3sBUQ)H5B/).)HU:gI2a^(AaqbDKD\0\mFTEHmpgb%l+/jk#Xki],)oc@X,fd7JZ`DD"?+EV@4>!Ict)2a;TC/7`#heW[,ac]4.tpj+Wo5tXr,:\iOo-`]u%OZCW^=^:qMABDrd\gSsWe;+58jKfMtJW! -endstream -endobj -493 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 492 0 R ->> -endobj -494 0 obj -<< /Length 1335 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHLac>C>&A@rkFE@V!N_#:9P#DSK5rtC+j(37W\WgIg4`L6?oZqk5EA>YNmm!mHWT=1qd>HmSXLHuq:hI2dmVdg2ZZKL),>J-8uW6a>W%=H=f(O/=+;0>0h>]M5+>77Am[aJQ/[Qp&GD-1WrtLb?70?D#?+#ga7OBLgMHHBIQG1>r7<#L_/11#-KCH5RpUI]EZ@C^30$;#E2p4DKfL=gO>%)?0W+R;Kl6Y/(9MkmZR*l9;5kMGI!.oZEBN?Bj12mS\tufE_Dj3ZK3DMFH-(?DuXDFk15VnKJ$csBnMg<3;AmJXnQ0RLpgHFNXuhWhi'18D=cY\OBTmsFDCJbSfi(@E4!j%DGEttbP'G1r(4))PP_(_*P3at^3U_R5HuUC4F$,rW6<#'.`cHk1loaU%njmH#/OCFmebsl>8d'1+tk?7i=-UGR]-mM.-3%$/EB7`o-#(&une&]!&.e7q?)i`JV><3'T?(k<.(_MuQl^mIXg,O!\X+>BeeU6!7s>lmR@d,n:>lC]%"FNAt9?Y9n/7]Y'3l`r>?e-#5R45g/hq+l:/#(&5kul[;bnN8@^83!*5t70+VIF\mij1SXX!^RXdQoK1T`%ILVQ/@TZr2V, -endstream -endobj -495 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 494 0 R ->> -endobj -496 0 obj -<< /Length 990 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK>>O!-'RnB3aCC?eM='=KhO]H))ACTN2XG!K;[+jRcifkXgTR65VQjp,2?AC*@`RYZkPi$K:V=A.k2QFFIPUKrs2)[&TRPP6V"to3"Q@Et(B1M"'T5ps'd%Yt?,-JAVk`_6oon)Bb2P3XdtKd9ZJMNPKCZ2cYofl@8No?p(lO^,g?u4!r\XU7!QZKM/<*7-eld..SjTfhWOi_OX'r-tWQP/rgKGdrH@Hnm$i"]$]ks=>m"<6)g_-o/q!ena5L+VQfgbb%$MD-&Cj//-k82lNtWc(\n3223s:)_Hs6fi8/)TRf0\:"ie>"-3:H-^u@R,HQ;5o2dD0.Y!X?2u=jX"Su_BX(mbrs$>ed_@ZR&`A]DXe(=[!EF_kqqD&Ij%+eu`(W^aSI)cVlA;_WT@Q]7?G"RWF/"fr"7KZoOT~> -endstream -endobj -497 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 496 0 R ->> -endobj -498 0 obj -<< /Length 1122 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C>>O!-'RoMSakhKl(@)UM8&_Aj't`ndeqaE90SK+:*>FBOUj%)>8!3SBn])[E`'iJ=Im4Pst`JWV+FQI?n,56WMT3gMbIFrj:`hc6nd03/XToW+Y?oO7PA6#_`QaRbVdN6Eis"tY[/4Cj_,DTMXnKVhW5"[i]o+UIVj[p\.!Nj;hTMb.`]]WjS7^qfI0uuLr)-mXcef0rDlK(r0`J%)b\7l$1`&k05IsB3t6+SnQ601p0ro@\8CTgaerSIp1?"gqXW[ImaC8S4Z5-:1jQVnID;P4X0"+..'C1W$Ee*fA>;lbB`s_Cj)E5)3HH#roT,[O(L4C:d=6<0m*3%>]s9m*c.h-\2<(qX`L>fITpY@TcO8I?nT]4EB$U,LGQ:0s9__6cEGUEAitU'`=WWSFN$lJU!"Sp/;.\Ab/DES#TEJ'oC't<2;;`X\VKVfdse -endstream -endobj -499 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 498 0 R ->> -endobj -500 0 obj -<< /Length 1365 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHLD/[lW&H:NnOcPtg6Cdec-RK9W";9Gr?Pl+4j0W6/ga22kr]PGkfGESTBgHR`e?eV848[=tgj2/V]mc"^$TYY*c1@?5/SE.FkV'5<'%4`QEGZCmo?>aAR@e^T`fj@fgg",lgjK&W(FU*kf`P"aLN,XBYl*pq6U0,Rb%Fe^o/TW8$/Gk",ZG>e8:t7,1Q_Q]gbID:3I^ojq(mB#gY%7'.*gU1r*7`2D/iL;ep'PJjOk.1F$7#9=s<**+-Ea0R=(BrEs#LM]H+!F1\KF+I^c4nG>t4p=Q%l(E3pdX7c`8tk`8?L&F].I[U3T-%3Eu=MharN:"I2s"f\ljC/767H<4iSU`R[:12RpM-Ir#1HG%u2L,9&EcW#P2.oXtUQYA,P$n.//'OI!:PS)\!WIe@L\S/fc!OeSWZ;f6m5j*9^g#c3VU^AfXdku#_h7VFuIf2YP*_?SJiihU^NuSIL,TT.+A*EuZl>^XuH\m^@&2qm3:^g1OBmnl\0ZZOBY"*NY_XZEsNr.I^n?]u-U*R\bXU8)H/!?m>mV!s=rX+=Gi=[eX!SY='5a/3q;:6,OJ\k+j[K.f6gD,(^_o)(LE$BT&Hs80fbAfc`?uHM'Q@p(@I=U)eeH2Q3OZnR%!+cEt:u\p7H%"mpn+Pi9'Ga$ai\^O@VJ_Ic:$>C3DD-f_jA-oe$&ZSY=$2GU^!O)q7BJ,]46YFo&]MS[oF7or5/uh+=rpDq",1e_8gSDac&-Q-'S?)C?U#A?4K[#&/GVe%ls/`lRS0AhE'Z7c5iA`f"b&UEL4WgCeFb^.D!uoOU7E!UluO?b@&6t)@WK'H^$e#<),SQ%`T/<87fNdQd_/XX/_.]fh/%&\QjM6$@[5;-#h'6IiSfHX3#]_B';k(a''sSSjRE5+s%/Ti:.:YC3gK6gmQVK&i%nS.99.!/WImiLns'Kig7")Y]bqA(*V#DDE"f0,`Xu-0c#]$.,C15VV,aZXQ4q>LZ!NP%T8pJ;=Y&p"Nh8cPrAR6?N)([q`3[HJI+j3eA7+/+o`_6*_\=]"Oaa/Cdtlf/?tG8C.$[YP'MkEDjS6/&:S@:cMS_;R4H.PtmAYr:g?sM1dMUHIS/b/]^h<^bUi3'>q$6qIC\JMkYh(&F'42p]#,Ml_jT~> -endstream -endobj -501 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 500 0 R ->> -endobj -502 0 obj -<< /Length 1313 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`SD/\/e&H;*)Tl4e!<"UES0AWN@8@ApIYU&YNX@5G0[&[=_.4(nb^E4b"]!G'fZEp82'(D:#kO*T8kGYl]g#Y)4M!'*0Hp.(kc&=WRqB6@=S'B%G>nT0hh"g-p6hsQlEaJWOm)I=D%a2!,KL0J.=m1Dm/pT'a+fdOkp[XbtIDpQN,]!l<)#eu6qu5aGmcrWcIk%@if/e?H1"[(k+4C8/6+f(AVMn\r@%WC5,X'fYm7gH9NK=]G>GA%T5nIb8'&Og`E]nHM_bd%bVUWOf&f/N9(fJjF=f?ARVFf.QW*Ci#])Fdhc9Ph9jB(i6Q\)2?RGtT6uJG^_`E;/ms<)anP"J)4o6mXqGcoC[Rp;NqL57="HF20KVDA&9:XJ,;1sZ@8>KH$\[&:qUO(:lL+>qI.g"8ZECt2]?Hu9g/BLNSFu5lp3)H1FH'(rIc-]\d(i9;Ge2*+h4e(KTlf@j3W\B\In_MRAX8;BYh'cU]10s6]EE(j3R)Xt%Om]Y">Q_qWjOd0p#?E'eCbbe6d,g#pb.E23SV',=qW0dqA9&%k2_^8@'=Am&C:(i;Bn\`mf[;<^rXI%^`[c_*/!=6Fl,(^cj5Nhb48giT!dDOegNCF33)gaW)Sli'%GjmjkrIH9K#R\^)2ORb+F,R$,%%]70lkJ/qQf@F`?*S;#YA5OFP0igkbj&>j4Am&WF$%(rr[HfFEb?\Dq6.qUr[P\e!sm`KXsd73-t%oeQ4SMFsXKXlb2Qo,Nk[;Vgbg9_/cU#L\ZYi(eN*g%O5DTkkH1YD!6JT\g46aIjq@=/j$PYLqics_uWgh -endstream -endobj -503 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 502 0 R ->> -endobj -504 0 obj -<< /Length 1286 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL>>O!-'RoMSM"WSb6&6OCQgJ?knR!LefL^aVk*13X3G1s;XI[Dl]?JL&mW@h`o7;SXc?M\enLEU5#qL7,[Fr=,hDSaHUg)aE^XQWS57F+IR74-XrcaZO'9%j/QjOEk%'gjWUUe:1;q<>l^m-NrsgLkKj3JGrZg'1h=JHO=Ud>0_k@a;ABjCU?jj#XTQo@$R,nMqC8R\EWJimCFNi[KBDdF!-9*=_Gk,\)mK(tN[5SukBhrRiEh9+&H_'Bc9+8*:[9OgK-C%IQhfQY&?p;i;?*#?HF\Zbbna0[^)$#TkIs6r72mK,c1k_2WK`E?St8]RLp([hIdgLYA?D3PG:r24j@bT[YXG_$;d4q)oB!G.BFCO%Z\tcr+Geqaqh"[O0tqB(@)f*sGPZeT8)>('2"g>&!8.>3j=Jft)4[OOO"sC8RHR.Pofj/=poem74EbbPY&jeU3[SbXjmJ)PCu.[a(/a#i!GqE@m2"f7l@_]O7H.:A\9)2EFjKU\NX`-.-Sl?ck=FR%RJ=q -endstream -endobj -505 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 504 0 R ->> -endobj -506 0 obj -<< /Length 1398 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4gMYb*&:O:Sk\V7]<^_eUE;S.X#r[\o:rhk81rVeiWC4-G\ItI/J%l[HM'JIHAHr5;%69pdkO8oElZdGmlW_H8*@jl4NqG@tQG``aL"pu.FBfc=)GV%gl&n[5X7,gRrVu(kp#?.(%S*EnnH,6)Xr"/o;i*W"0eZ%K=M'p(!6'JQ`D#4t`h[]Z9WKg4jPNs&6,/P^TQS^1j0"+'la26b3]uI>(1HE1\-&2bIh0KO69@.Ksp$9@DkF(kgf$H+9"X,rq/KV*R@\YW9%Qsrt[`7CE'Ut#'D[us5n_rKf)b3._NPMQnp@ll"081a'OP$BTij`l!KKBs;MRmT@Smac;Zc,Ac.sFISU4j]6K"TY;MiIO.3=/sK1L$DsVNRnh\4h$el'k&a4hCO>GR!XrYe2&M+eeS*+g7jAF&'AIL5'[n5E?9U5"J]-L]IE`UrbJ9@\JSBUdW8$25+KB!E'E2#g1TThq$IPdDFr.-3VtYAoBI;U74KAEks4le"L^0A.pNa]?`$8.b),c:*H!5^\^\X&X!@nC,s"8dReq61g_![p`Ai7/lMD9$1r@X[m&f:?Jg_a?)*Z:KtN6l=tNXudaN5f*7GkZC'HHhL76LV;Y!N0h`leR`G9R2=/%6Soq&.SH'oCsO&`rG](:@7#Rp&fs0N)QH`o[V[i"C->7V8bP&Q)4K]T[%7M~> -endstream -endobj -507 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 506 0 R ->> -endobj -508 0 obj -<< /Length 1863 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL9lK&M&A@7.ka2?Q%'"Wt`mmrGtL[bm/?G?%/*Bk(/^r,lCd_cUX7C"ncQQp"`'180[#7j,f7c6F%(:hj%?*$cGV.*D?=\0OH3L$kK)CAt*JL6QI7<%T#s)JZj[A&>"5]c?:8VTj]MX1.,+BfB!Fm`%'#.S!bbM5VZJdS[8].*kN6[Oqu.qCgWKSbAM[Ka^aNRkn%^2H.TX?[;@a:t]b+HDhI%%1F&.$q8]]C!LC-V$]-.f:i@a"_cU*ASIti5bBouFEEQ@UZ+2/!(fOY[%g@mdB:0%^N/pcmhf8!rt9XQpnKrn+9qZ*8FoNkfQu2FnV"FRo<6g,nGnB>RSto\m*O7mTu'\j=rYLP29I[..do9:FBB)AP[H6V;:9AeP=B@!8sXVJ=p;1'\goA9k\<^/A/1;>!Ba(&=VYabOG66Fh5<8me!S.VZMk])^r(CL`N(jimmFG#)Yn&u6B*Z@o%Oq]0)?H';BjOsDK1"GkhGkNg,*Ete@l2bh;M%'S["`5"cfgP:X\KRscWq?\''HWtc[9I>E!=U/2RKi&4Ashq^k+Ia.L_(bM\[[PkT\@&AGUIinQd49,"Y?AU2^ek63tseBP=W[\A,PA!)&jRL1ED53"\'Yn&&Wp8d+3p6e/Y&o_%UH%QK>lV_gdZA/qeDGP74G7G6m04p/KQk[$"h`WpqK9kI.o.S5l!7!8-5h(Ie4Pt!1NgRS1BX&B@[96f1On?f"4N>*)aOFgmq;NtCj[KGD]6[%(S0>/#L\&Nk9ZClg1.h,X$_?TNhh1>?Z%^6i,?3&d"\se':QNs-DSP+TsU-&k%W'BBZ^4is^,oMTj=s!E=A(+sf/o\jGa'djC/0+jJJ"N6%3[`\lD0A:sN4@:&+ns+3+1c&=+G)I8kDF05d3F/hARo"e9E0s(,;UQ4mWn`[e<;G@7qlLN.\Yu4_+M"fI[^4K>i!(gI_`QYShOqsE@0HL:gF"`7p1"+W6Z.Y+jeZg6jYm8/EpGTrc_OO[)9ALWO3Q=-ilf_U165h[h>YU%T"Y6D^SQ830/o0Y_[/Y,,rCD\aokVHJ]=+Fh?6Jt:lR=cKiKQa#PR`]a_iM8D",p\rWE>*bmri,t\304!TW_U-u4CH.A+?df'-7BKM7:Y*J1186Hg30nt%YE&Rd`OFl+BHQAFV[DKD3R3*F_jTFfp/>="UnjTMph"jo/`[6sD:0VCSi-p^Hckr?sia?RCht^dd+b':+a`<%,c5/!]n:*W(3Lb/[i;SK!frIiS.DP>igb;)TQ1=kMjj&HB=H_h4@%;1"qA+N2*`Y\"E@LNBZUd:\'7[V-~> -endstream -endobj -509 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 508 0 R ->> -endobj -510 0 obj -<< /Length 1455 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0DD/\/e&H;*)ToT\FZD'b#Yktd-.@-[Fk1JLVV'olDEjWoN9?D>Imn8e-G`jMjF;TT4]]7ghI(?kEb2$OtrZcS,llt%aU_DA59X*Q7+7*AR$=uakKHk-7FoIfSB6RpTh`1'k\$;Rnp=8d/6n#c/Mr+\7d,D>K*d%])=Xs?_OcMK%NR*DR6Hh!$Y5/0n)Lp?:0+pW]VpUGWecNS'O8_4?hVOqYLeei88ItGWpI&C:7R+W3Z*^e'0NndU-oBoT?FR_7$tgI*7D,WOk%2fr!N1dZrUH\#`?CmrQ%BlkLRdfN`XLdmS!0eH_;XmW"i>?(b>iQbHYttlFuqC)p7GV$KZK$.HNe&NK%6DqWlZP5B>o\%/d':^&44!?>gmd".&(PqP\n9E.LC`=9:YuajDP7e:l8tk$+T20R56OpCK1b4-Z<:&%@XIr#n"d#D;UC&_W6<_It=;RXUME!r4^7(\C[,VG1a+fZ:Q=b&c3_@EH"AHO(6#Qd*!KLao]u;GK9iW9+29:!j%&U-VC(N141e>h$"WmWabX.;G3.aFgel79me%XJG.X6([8'n=:YRngfc)Z2buL[;m-kY=;BYU-ns>_[8oMo['Ts$'a&%S>Z>##Cq6a#XfQn5+VED/WDF'np)'KKar.0SLe7ij/NHC2Pp]Q8k7RcZ_9bI)@mst.),U]M_#Oim_fX,,\"@fb^d8Af`Eokhb[k0SjalfH?.tk<'"$d9B8LjUgBk28`%Igg+\XOCNn4rAI)A=-s%JfO+*CuC';eqDJG<9aPl,PJ?_5tOo;P%C?\#_+S_k3uaM:"%Z\ACcK6[O/Z+!sUaumV2DIH -endstream -endobj -511 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 510 0 R ->> -endobj -512 0 obj -<< /Length 1412 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`TgMYb*&:O:SkV3)N7FYW!V\Vh-??C`miqB2t(:6fhg;oF-d:rRRV0F$&<+dP1uT!'c;CHq)*?$n+8_]^rjQYn$`[pO97V:\QO8#9D%hH,k5QAu5`u]I'U+rAE#X8b'&9LW?e.ahl!Y4)'^)9`)Bs>YTBgp.$1a\Z#q;^je!(9[9aUaK^*(9O)W:g'QZ2eoBNGRZog\OO:/CS#aK^P:d]oMD4$b@0.Y^q&3J%0q)oPnJ58Q()E_9I&E@??7h>[<;>(V2>Z\LR>CqHbsVps?)kSsKRB_poA*9nW1GPpo.aK:Vr(;TO(46C+_$i1^@abZ.>*=W1uaYdV/e9gBC]2/q8F%53tp:AR\_>2scaq'MP0UbE)0a9h[rA#k>Dq;d"q@0R-;`Z@MrPpWHI\(F+m#COuq3p(TDa#A4q@K$(P\&T$7=<6\]^MR&:[^'<.O"('9aWBY7fcD!Di,V>HQoF]X8@!i$+Igsi\0XjU2]I)`4EF,nRAlY28l^jqe8n&eK(ZQiM`qQAG$5_l>08%J1S)Hj9+9$reE$H?[Kr#KGU?W[LgObP+A4QDR;;mIr^XC&i`LtU5$J.u"AfT\JrSfnT)CY9MJ.S:1mX;pbu-$kQhm*e=e7qcrS*4V[JQ8QNKMBcDT??lZ)5CR'5lQ6388ulR:%uso.""\*e+gl-4?)YeHq\6Qb]gG+!E_t8B<7OkV_SY82<)Wu1!.f(Drhg#9\`I8NDNISC`I_lkF55s$@RTA>)ibree],K/*Xc__^=`?1i?Y^)u9XQ.\N&;3:9V),()!NH>J3X8Ea6=jD3FFAGM[hp6_X^gZpJJot(6=:GXqP=B4kX(B'L#9>&^[uKWdl<_C_Il#LPSY`W5?ebpOmc<9gJ->U%+lou42LfDVC%?7,UX&#(*h+6G#>RAdeHu!I2]HOOm'mX%+J'+`bL/~> -endstream -endobj -513 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 512 0 R ->> -endobj -514 0 obj -<< /Length 1196 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK95iQ=%)1n+pt,SK-HYgGgM$gPXMY5nBtDJK$q`([?n!U+D:E+r&hNY9Jr$OBHQ]M:SMBXHOV3XZuEL+rNn:_?NmSR6O+t8^8db?k;gjgMsjR[[#6K4rQhP7JpjbmS'Wm0)K^!9o0\7N^gk.fHJL`=XTUc3K":dH937X:`I;&TU1Ie`YtEo//%]VJfY*44Pr&:Q6O5)We%OR:Z8G:1$n(&X'[Qs"8RegYC,f5PeidpQJ$@`\dTij\:%4ITMI(%LWg)F#(YV4ZXSGoj1A;RDH:01!_Bp=rg0tgK#cFRi;`r?2QH(*M0e?;B3OYP>NZ&Cc!L(KJI)KGlY*gAGMM'&/)G"eGJFTX/VXsFhi6P/)Cn:NgJ&7>EV!=HB"GWH`bCt*X?<':H)eD*e9h'[5D3$7$D,7\fCcD-XT._p&M:oV2.1WmoH!$Vs87G\dX'JFg/V;6"6)pAq1B_F,X-[l<7k."->X0>!o/6PH(O)V_?H`(Qap-nrrK,&._u~> -endstream -endobj -515 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 514 0 R ->> -endobj -516 0 obj -<< /Length 1503 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm<>>sQ?'RnB3n0<$?k[lnoT9_'&g"C5/&DDofkpVBT>_8NS*>nY=.pK<%,Qp]m%PKlcGE.^/m?9Q&Nm97[6nq;:*)2bE*8QZHK[h0$;MoFX@YQRtVN9-n8*;ObSH^6gG^92X8%[BE[ra=5.\g@o]P('XpLF]Oe/TqgV4$7:F1\tEraG:V%YV5g-Oc,D]s"!0UlmHiZRd%cl7/o;GK9-SE5`tk%]3@<)k1]XP-qog2m1r%/X2`FirPGe@-&D52e)c*Z3sWLX1>^+H`h5O/tu`d+d[Ht(V]::gto6kNDCK[04JD(INtbXg8)sB>u2(JVo6G1U(WNmO]D@nX`F>#lWMu3E==\[3]5IZoM4L%9RRj,\oFY&M!A;)[+lF<4Z`nVQ"[8kS?LOFRRt-:Ml6,3!`QEABETHM*kd4Fn(#W&]O,KU]XS2DKctW:4PCf^SrI0'LRI-3N1JpMbh2Cp*X\!O'.5$LJFa^Wf=HZp?>8"hbZ@h[>9o/KU=&_$Q>?U)4iq^J1l.(M6j1%qdB/I2i3SWMl8:K/L.5N(:JSG.QcP!aMR(SRIIkcW=-_Y1TWPCdIUnFprp&3:`e#sS&?I+pr!a5#/7M7k"n-[)Tl^RTebpc,Zchq@+ggkV39WX-h*b"5EAT\bt"ZBE0HncF&M$G`4@Cp_u_N3#jcA5Z0!pk^oI,umCQ'Mprn;si_&Y?0 -endstream -endobj -517 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 516 0 R ->> -endobj -518 0 obj -<< /Length 1187 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C968f@&AI`dHn0:O`Hq=0SsiD09r=HcE-`t(NWC$QJ5'jDV#S071"KfECcCa#Oi?at%t2&??+R_-CI?!#dP]YFl.Vke2-p-aL.SgfklbEfF4].?rl0l02,ALf]GkNK2"t&7@_G_n'cg4hR'oul1`kN2N(-m@^O6u5kGFh"oUe_ais:5rH3GKuEhQ*a>W)36"]+6(#2A@&M4m.@05n$X]$d(WEk.$q4Tf)]-jW7:J9R,\H_F\7dpIJ,]O#pCI$H/C`ie+Rj"C@WhG%f06Y#pq(TWp=IW*lNFFbQX`#kj9TUcA6_GnSo/-g!U.h(T].`3(Sc>d_.a`T.F(?n@2Iu:QEZ)58p4S9IYG_`@UCkaLR;]$$8=6'2(Xuo$uCrTp!XVruF+,NuT3GDkdF=,Uk\d=Gdb!S@Y/j,L0hOi_#&\#jn/Y!C?-\+#Yr8,In;TB$,P0;L)Y,>@FI3/!!`[C_eLg]YI5ViIhSZTOMR1,2RUaRfXmSs2jQAQ.)5*7bG=9\"4Q.lVkR6sS^X\Z\d#)ETriab"RUj2Ii^mhJL9pQiVml=LPjB%L60s@?R9iWsreb1W84Pe#N39PAF:fcO\V.;))U>8A)[22%Q3=OKDoRmiUoTm5+%;0AdKlZ?:'(YVB>9smV1J!l'.gV?g'DtT:f^n5$^ljL6T,>O[8WLJ*Zl'q>33.[32n9riLf5W%(3#AL!JNc2&o][Q/HSeRp3A]'ni9Uo$gJSMA8MMT[<7.*Mi#hJYcteSlo$YuD'8_KR>ZeWMmd&oA/-s.ZAl.<_^&?;I"!;TB)ufEG]XL+=4EMd1Ea -endstream -endobj -519 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 518 0 R ->> -endobj -520 0 obj -<< /Length 1068 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL>>O!-'RoMSaCCWknL]dGSlS6:d%md#HQ(@tZ38=u"HkIGIm<+2a#GB!K)/rKSGVjN3R,d?*6hao5l_oiRR$%^JfH1ga?d3W@%o1!RSp+\Rh+S3nb3Pn0dD>[t7mRk>KnVp"O9quc,[j.B+BrQ0KTY&_Ds#HgFp23b-mFJ?ld1@m@l,if'iP"#U0\Zk;.ZuYrC?5'isZNWO]Mlpqt1TkOR?qnoArNCGS;VNLSAm%:[6Z*ibKlMj[I)RNqG]!5jPN-%IR'>W#bF]UXFW0##WV:JYNI%iMIGn3JYpd`[9(SO_:0CR%)(!C?R0eOYUf:i5Lqg>1X/IaB.5O]lO5+q#GLS^hS%:\t!r#h$$rc$&^L\O&^8[du$P='O7LDTBjjip0[n1B6WT$OZ@+R8[YR^iC\$?jEFiIg<([/li/a[*%I[-i&sE3M-VY"#&q]gi!01T3"65\LaZb`].Ln_Rbe%_\RB"V@Dt3;L?3k<:8M=_Nkfn'i;8(q9(lsTgBlq/.)T,=>^,lg+=E=@e,T\$se$LnF2pL\tX;p>i[eo#3/6U:6,]->I3[P:6:U*?4mU!W)EaR"2nm0/_5^2dB,^+D[>J%5iWkNWa,K-&%0W^~> -endstream -endobj -521 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 520 0 R ->> -endobj -522 0 obj -<< /Length 1131 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK966RV&AJ$CE,46C'I:Vt4k6*6RS;GT$0e;SFGMMX)@Wd%mHMBhGSg`i[NV&\HkG[mZ28sMAJ>Qu/o1WY^bgXV?lG(.BUJ]&%>Y@bCE`aa,?PdI:6m%4(F1Am]cS.WNSo]K6F/Ca%"3m=*)@E#^)MP@?(HHPL;p3&(@!8c`Gq;'hWu7qa>XiHb:HD6%br,YV1"qlF-qi+p@+PFF7D@'dofQcQGM:Yl.E3H5fk4G:W5De@VEWqoJ2THc,or%Z])-\N?k/B,*\m%aX.]lQI@gA'[LdB11/Fn$,P6jlYB=0Ii]$t<8FS&LG#e?>b4Z=U;Vilj2!.*'VWkQE-OGp'j*:aUM&W8iDI9LE2f`CI!4K;+p4Oe`W]+CC\Hp-04CHS(njZ62>sdC$sZofgl:d5p.\2L!tjs1a2El"rc#Gj/a+YWPG:sG$pP^sF8[j("r?!GXm#UQVliJ8#+f+7YHrIsM!`Pi/Tgu7R3CW?Q6jlG05kdTYJ5Q!W*R.OB+;S#TJ#lGHlM!):m#*D,WDBb$/*5RSh+R5QHB>FTpt0&oLV7`/3^P3`;@a^$O]=M@1Q'7%kB89q;riK,gs:?DNEq4/3+eH+-5S0\Mu]n'\4DY#Hl[4Z&"_cGo[aV6*ZGU.J@7&EdZdQ7T#>1O:a'0&9`TmDf=l;Q6cbBlQF/Ya1\(HWnI!rgABSna8ra,g_\XI5Mn?I5GHi*(K:#)K7%WS'BmD"kR,6,r$u\qfu8mF#Al$To9fgpN>1JciV>'Q!,kqnGWWRmWLX@5KP-H#N7B")i"b&BsSZJ3Wo80R);Y3:kPb_>Fp[S>D\hmjTlq64X*i&UjB>g[=N?pELQM@d7+*,3/-q5;;Bs1ZP82S\Won'JFqX+/1!^3f~> -endstream -endobj -523 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 522 0 R ->> -endobj -524 0 obj -<< /Length 1258 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!ks96[-h']/^gY]P1P)?`C"G*Skp1ikEHj*8/7HZEXA@ld_:"Ct:(lRRXI"Ap.O]'N2dEo2pRk[H97/LFgP^6_Q%huhlSKRh-2lKl]X@,>L92n?-r@4QpCUdZDl#DZQ;PegG_ZstEFEr>n=nR0OHCcZi;8pJ^86(miU^p1B$H%/SiY7H4bX=dS(ZZU]YrT,Up>2m[6`ZU#,pg]_i>3Pni#^[r47Pr\83j@X+W!4C`W@k*`hV[-qI%4IpcFeARD\]-6R,bncT)IGKN1L:'Ko[nn[7(g%[@HAAYB*n.s01UQZko[>Vj*\B+l!15V*$>s!:C31W->MEK'lac7.l`mPlEj(d^D%X7e*lkO!GVTIq3A&k$5o6iigNajloGp_T8b/_+]U);6op?0PJ8bC>DFG-<3!"+]A$UEg$lM>H==G<'8jr#L2UZL:Y`!.jl#V_,suO_<:.[I!5,%-aOSLV]Yt+ZHibCU>bguD66sabRATP[HYHZ*GZ,gWuLT'3Ss+'p:Q_2>B@[bj(mE&e%/r\+Ib01ocECgjQa\n4'#\_O6^]k)@Er0;,A;,[ASno&PB3eTUZE#[>iY#nlj78!89>44S0FrgCWX%o:[#h!>C[j"j$j;Wjb=.4f3>g9g^)D)(re]?c"HdCD\bhD-q7^Sj8N:LLG0Paq(FE983@:L#_oPo:lcP9@DPd\(r/tgd\tM)qki)Qb5Q(FKqM4rbkVWAX.$3+fIhGDjk\*9b>_=U@SjlCdp2\hXWS#hqKcYs]QA?Y$;HY;:-o6JS/E]CetA\]b2JD9k)G8O+fT4B>2OR)1TH&WSAfYZ=oVO4XmHte<_2Lg7\@/kfGc;OX!Z$$Z>,\J'tEO[!`P0JMK&TJ#1?[.pa5Kc`7"QYn/pr^VEHThbXs[?4hMnJ_DEWcu75p>\"3nef1Z*j)[#NY^Lf-]q]BU6[L -endstream -endobj -525 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 524 0 R ->> -endobj -526 0 obj -<< /Length 1718 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,=`<=Y&:Vs/d$pRM;03o);g4@s.<^8:icH92U7c)?-6e?T-$^(:rU6RR8fYtFdCsTiF*nsJ%dMO&ibic+Ic4Dp$eKH9a,85SS(KW?N,@ooZm5]Bgfa-L5M_V)!V<:Djh[#4,bWt!31BgXcAq)Bo'Q671%ja[nGUMm?e-=K!gE5,5-C7Ibh4dCKcId*bmP)K+nJ'Vk*&8=t3X*Da)@GTXD/1(gTnA/aBRi`Z#u1hI)4L%^+mEnN'5>Y)LSe[a\s"D);p%/hjV#m&_%H>fRS'9S/3dgNOXXZfYK)?&D_chQ/41A2PK0_Z=5X<"_P2TWA#fZ(YfI*Bj)ffmg'LjOW7O*%RH9NQjuXsAPC55V4\5dQjge2$!6\jlp*%MhFmGBWT_BT3P;e]FB%AY8Sh1FroTum/"GoD.8r[a%9ajRXFF$mGX5Ctr02,;(_U.ibe=O/['.@km;FlBk%;[l`Sib$8@)W\!Wn@`WS=4.YB(sa\[U,5C/([(!fji*I/l0]!?grXqes,u:Ufk?Bb!LnfO<\'GV'+CI=D+,i1\2K9d^KiGq&W>R*oEKcLY!G'/%f]M)bT"H\`h#HmAXUQ;6i5D*f!Z'ZNoN,*)(LQZZ/2WShm6iTf5ZY's2"N9SZe%Q_4[X7aC3u;gk-17s.X2.D[Ce!;iPm;LgE0TZJf)[O/b-E,!7(:]nGs&IL<"]#0Ksl2tNmIV>HbGXotr#;:%O.+5OV5/;CNkNuuSQebDbP?lQefPROp_5ruUTmed0"Cbca/mI$/$q`nR9K)a].B+Um,;iX?G\-;;*ku[9s*4UTWE/rC%j4Z\M4odt*^F6%DO:q1L(X/GN'.3V'l!k^/,<;o/3026RdkYrSg\!@0fc;3M:NgE3gO=dc.HC>p])p!EV0ba>_VA-Y;"8o.QOCK(67\0\7;~> -endstream -endobj -527 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 526 0 R ->> -endobj -528 0 obj -<< /Length 1160 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU2968Q9&AI=/pstaF?-AO@E2#^mJO7JRoKX9`9pA$Za%g1lSc4!.YV"P5'+0q]G.me?\#\%sXsUj*O0Jj.gT`*sSms?u^iK2\=MPZo&@clhXNB2mH+M2?m*,<;9g3VG!%P1p_f'k^:VUtp;T-Wdcg]t#6Y]=XKn4&^Andr=Z#36JX>q*2Q&^ka[S$_)Q'h9IZB<_\T(%>1cZa,M=tN?95lj*&;8VbL1f+=i!SX,#D96jH-G'A`_$=T?A-R=(7QYqY]aKk,-$f(V0e1R3[WT*_eSVUW3M`lur6\W2.0o'Wj+-1k2QQgY)%]=EJ05Bufq]4OA&=j#/#pR5./H`B?dq^`MUt`"cD;1H8.O5cIU9>,A(lo5-O"7!)*qM>]-.0I^/[UcLDZVRCL*7+6)(0L4-X\.$@,2tgX>^^X3:(rm@!`8PtC`A-0[$dl.=[^oUaQM;SD2'FoX*B"ip<3Hmc9%PVtcpD_^mXKKO-S`)_V0Z.g$4E5_qNq*L!uQ,n2q`"hX(8>*$F`aO6-A[`5.!YAi#PR--=[X:d%+V_gMs;]^C+hkC49!-(MAd'+]pHA[XME&/.G,?"42T&A3IHs3]P^b9@'DCjZm8]<`T%(1]M1k?Q?)dhI);.qU,]2rTS,eq6CTdBSao@09eXGl<"-sm4KFr0pI;u\5Oaip_<,ZM7aHeN1ZLi/0(@MGNL*MfW/bR46GUWPgV>ZGog=cZ7Q(NP_"Z^k3ku$I0u`Ak[g*0]0>TsP3"ij=ZXJCpS4H$G!Nge[6N~> -endstream -endobj -529 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 528 0 R ->> -endobj -530 0 obj -<< /Length 1687 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=m>Ar7S'Z],&.J26mS'%ca",:7;>$u[pL?37m$6^]it+pd*4r;@/JF-Z@dGk_1^:RF\2JgZVK4-FFKBL:X4-94^jOqhPsM*-(=-%E],X^17rpW5YAj6m55MH#PaM#\P=16ODA"TE`'X\:O@&XcGs9+Z,#,4`)lNX3Bq^1VIkp$P8^%dpOCloN[4pV:m^=4[$$\OVl[VL3Z\S`P@tiEHGP4:?P>Sl@r(s67i8'/YN]rLC,eA!C9?&am0?>tE)#3U0bb*_j7s.d.&dmWU2;#MH.aQSM>CVamGQ@h+hlUj4\s6jRd'eS*K'&HUR.7eBcoA7m)>*4)U`X$&OIONDOepf>7bbT'KhKC3T(B0nYVd;9l]-nKPAMr,=R>rgNKK!qruptTC/sM(9>gkWc#Z+;grJW"Ir!B2,f%ZYlE$hAeH8*a413]8rG0>?U/EB]CYrQl)UN]R?aaeGK7OonT3L)'$rd1oC-/LqtRAa)*&d+s]Lu&r@ISKS#=%Kj/*4U#BMEZ65Cp(kQY/[se>g@p+PkbB+%h;E?:h/p$6$G).&\p)^0e(J%+K%Om+"P#!=^07sa3A8D@1ZAH$P6u*#T8"G=1/>3jhqRG]@IDebR"^^ob@g[c%uc1o`[aE,J?'(;hU[A,Uu-L@2p.H]D!R%G,k5+/gflZmXnQ"iiDiNpeW^r&S,'nX3FCqF?s"HaT'D#UdDSpU1W/O\(r8U8qo')[sK.#J$\'GVtUX6kXX01DcHXK%h`3=o4e#(=l_I;gA.!ZHjIQNJ8Y"&SqfGpC&p\_"3p_0-h,mXj-T;bP9M;hlC]5nVroAMcM=hP[qaIW[9i70Fh9B;3o<=mDaX/GpJ&KAF,j5rhFj%_@EUH]R'4*TO*C$:ee[+VO\iQjE(R<0#;8Gs-hN^G#SPQ(6KE7oE[oPtoUXRR\-!oGA3MS0N.JgZ`?r`3'87d,-$/Q@J;5gF5]"Rc2bet2DDT3JKGlLr4jX>'`)Tkn+^kaudTES76'r?]Y`n1I73/X,AkuBDO1>P9OU+dH#Di_uoR1RA1EAJ3D"gHpYk_[WN#H85pGQ/_u`]q*AjT<()m2$ZPN1D`gFgARToBtRW[LUG"%k]p[_@kW+P>HT%?N;CKZhQa$TQ36~> -endstream -endobj -531 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 530 0 R -/Annots 532 0 R ->> -endobj -532 0 obj -[ -] -endobj -533 0 obj -<< /Length 1648 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=l?#SIU'Sc)J.s.0ZX!<'l^oe$G6bBJVsh%cf)J%A;0@Fc[4.(`.O9pVDHPb^I-U(aq8AI/[%63PW_'9VU'W>a;_'q4Cd"%a&0d!iZH)Yg8If`GY?M#;Q;m<7[[N&/,f`&N(DCMd]@9lOq`_3&$XWU9bq6tHoSWP^dGG"khPitTWUorQ\RUGpet@5"Sglif#(U`kb0_Vd1-?qcaE?J2ld:PV5'hi]f<(Im+f]f9s<5"%F`ZbQ6N'aa3;PD=0P.6'k16eeuB0!A`S>\n?>;4?Aj=s(D8*hlPda"88A<*(+!@\5@1A:iJ,gM$Y2ZMg-C$K8%Vme]hPXrgPk12Tt[HTN9#=_V4CeCJ8-jD1X&HkG\P2[>!f7P0B(qLW5*30DLo7b+n&GQs?$H-[5nM^70Qd>/GG\eu`ZN\BkTRVmEKnWV?0og_4YKs)f6fmM%FLGUTbQ`XUUXRW)ToPm@@-Z8>cM]D[TA=m@(GVHZh-L87H?Spn7FQ/@(*+*I8]2kt]p(Sak!gn5+-M-6;lSnf/:kg-$!H!2=[8&.+XU6o[S,;sQOU@0WE?+"(kI*Kf*b=ILkVT9MU@G`!+O#(YT8_LP#S)#L*NJZ3-*`uKV!pRsAnPs-B>QCjon\Y3ja]=lAe9VU,1%;^"i:3*Yh-SUYVZ!*Lk?1['dA6pJKJ0pPjV99q+>?Dkfhf8@ff]Y*n[sVTAP(/K;E9c4\$5^4dBp:BU+@AkEUbUqL>fk?fDHK4uZG0m7NH>_UXk>lClfm8NG#'T!c!:h".\)7<_-UjBDGQd2c)2@ns^cD\L@$3`hpi_fUjKmf%EX3f73iDfg9kB$o0DNZ]VRC:/i:L9*Jd2@HV4MnH;a$(O>=ma-JS8*JWXi[ND^cBA;))N>#b`-(?gmc/=u"npSRY7B*Zdba_4_mQP!2n=qmi/q.?;VWTmK?0)C`;uHp3U)_4.f77cj1k9%bheUDRp^)b0T%[JaGZ0Y8M!>S8<:YT(EFndLb1L5N]b5K]"6TR.oh6e\W;QoW"j,.=s`O>aUg#&"K"AH.IAiR1&J_;L@l>9<6"a"LC"(#);1Qo4#SS=l)YO__FT3L;;>JZghr.-(Ol.ZaNlAdr0/J\FFO"&]4WuilA@hgO<\4T1%6hle*iZ;b>Sh=ZR>HPuC4reul+bG23^B5s,fZHDUOT)Wi;0j,>ESL\&^[k54[alf%/E)dnt.CO<1PrEl=`c-9TSn!C2BA[\]cAk+mtr6a)GQ_9r;HR'd_mH9EZkbs23lBM8M$NNhW~> -endstream -endobj -534 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 533 0 R -/Annots 535 0 R ->> -endobj -535 0 obj -[ -] -endobj -536 0 obj -<< /Length 1681 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%e9on$e&;KZQ'fm[,]+t"@COcP$DZtM=MLr;$O01#`Uh&rff9c+ZM<NHQ2LbU'3dX1I_`RAW4JaT=o-GQ7B?Sa,Rt$qnee4R)&KASEmAE!Q;P]9*nl'ghlK.I)4,p&WjC:&dke>)b"@*H5`k?#MI:31da-G[*ubKQt8m^n_OW@7M$inp&/;\rpV[XatkH"I?rg;ukX,F?fk#P^rGR%TI8h:Z?udeB9$bl5WBs+oEXD.Kbc(cG6#_9$nFf)7GEYJnddLQfG,bUgNhqo6nqa"pLLH+t)sOn$1_`h2hug2Pq[VB-d2,+Z-02ke-9h_4mC7ZaV*r`oW0@CS6L:G-**Sd[_T4O57,d>3b=@Jl5,Cj/a6LYJR6=l3>tTndmc1&&J4joK%TR;L*6M'\?i8cD!)Re5LW4ePkFB0Tsp]H#bO/&51iDBA9+oM'H.JqC`JO;2D6Tt>HE?&Kj'%o*.SnA'-?*e*<$(/mV8@OVp_:W/2Ib073K/B]!\h#^%^rG3UlNU4(A%9"`.9=8>;c+D/!L3las^p\!]^cdas_J12t^k0V_J.U@&5tJF.G0H%O4T:e,s9f#eR>RVFJ_E!u\h+p7rJHA&c#!LXt;/rX9YYgmkr(.L?[l[\gLT6*b][[i:k:fAP.B=a%Lpa?-V%G+=a*#;C$=S=1iF)Hg'f_#Z(JEII4,NA;$<]H)S`%R'r%XrcnJ0+=Hmi3BAUSF)%E=H<2.BV_WRZL$?uFEQNK^1GC`i1WqB;/X&,&'tXJ/hfa.0jc$qAK6+BfN#Da*:^?`>'E.Qj(2U]j!=NNFlhnTXG$V@'20-uZlMJ^_'b&k"S\;![TBBV@B$N%DA8:!=q\913Fn<(7VC>LfY10l8jg2!TCVi^"g,Sq3;?*S+]:2HshJ;7;D`;#FIi`t6gK#YmngJSQ`\$HSB2j!.r42X1rP",lD2$'eDuL$_n*NESYj3%W;nB2 -endstream -endobj -537 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 536 0 R -/Annots 538 0 R ->> -endobj -538 0 obj -[ -] -endobj -539 0 obj -<< /Length 975 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%c9okbt&;KZL'c_FoQMB4s\l)UEDjAaOH[M&rc#%Pu1V:Nb;a/+\Z+kD/S>Ajaa*L_/X/K/S'^l[sVU3/BK1"@#h$18u82/,$k9`KjT@uQ#q$s5Yd;;d"UDqE?H*(KFI`d&_b[]ufe_R.Z;38!g>7OoM3-h4e&:'K)T=JW-)"&a?sG2K`bCFJkE`ak`u``,$b'%UC>%d8!hFM0=oJdm5;i$n8*le_s5jhOAT?Is.OZ66uNG62V?.3>OeD#61ako)Fs'c8*\m2)WRE71+<8Rf[qi_C(+aXV@G:qs+g^0pfL:R\8>SF=&,e=h^#TN:.?.pU3)tXWH=*H#=dF)RNXcMO,+?ilgYldGp_M+eVcYF:ZT7AGV/?Vn3=U.VChHpI_ig] -endstream -endobj -540 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 539 0 R -/Annots 541 0 R ->> -endobj -541 0 obj -[ -] -endobj -544 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\63\0\56\0\61\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\40\0\115\0\141\0\156\0\165\0\141\0\154) - /Parent 542 0 R - /Next 546 0 R - /A 543 0 R ->> endobj -546 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163) - /Parent 542 0 R - /Prev 544 0 R - /Next 547 0 R - /A 545 0 R ->> endobj -547 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\61\0\56\0\240\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) - /Parent 542 0 R - /Prev 546 0 R - /Next 548 0 R - /A 15 0 R ->> endobj -548 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\62\0\56\0\240\0\124\0\150\0\145\0\40\0\154\0\141\0\156\0\147\0\165\0\141\0\147\0\145) - /Parent 542 0 R - /First 549 0 R - /Last 688 0 R - /Prev 547 0 R - /Next 715 0 R - /Count -130 - /A 17 0 R ->> endobj -549 0 obj -<< - /Title (\376\377\0\114\0\145\0\170\0\151\0\143\0\141\0\154\0\40\0\163\0\164\0\162\0\165\0\143\0\164\0\165\0\162\0\145) - /Parent 548 0 R - /First 550 0 R - /Last 555 0 R - /Next 556 0 R - /Count -6 - /A 19 0 R ->> endobj -550 0 obj -<< - /Title (\376\377\0\111\0\144\0\145\0\156\0\164\0\151\0\146\0\151\0\145\0\162\0\163) - /Parent 549 0 R - /Next 551 0 R - /A 21 0 R ->> endobj -551 0 obj -<< - /Title (\376\377\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\163) - /Parent 549 0 R - /Prev 550 0 R - /Next 552 0 R - /A 23 0 R ->> endobj -552 0 obj -<< - /Title (\376\377\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162\0\163) - /Parent 549 0 R - /Prev 551 0 R - /Next 553 0 R - /A 25 0 R ->> endobj -553 0 obj -<< - /Title (\376\377\0\117\0\164\0\150\0\145\0\162\0\40\0\164\0\157\0\153\0\145\0\156\0\163) - /Parent 549 0 R - /Prev 552 0 R - /Next 554 0 R - /A 27 0 R ->> endobj -554 0 obj -<< - /Title (\376\377\0\114\0\151\0\164\0\145\0\162\0\141\0\154\0\163) - /Parent 549 0 R - /Prev 553 0 R - /Next 555 0 R - /A 29 0 R ->> endobj -555 0 obj -<< - /Title (\376\377\0\103\0\157\0\155\0\155\0\145\0\156\0\164\0\163) - /Parent 549 0 R - /Prev 554 0 R - /A 31 0 R ->> endobj -556 0 obj -<< - /Title (\376\377\0\126\0\141\0\154\0\165\0\145\0\163\0\40\0\141\0\156\0\144\0\40\0\104\0\141\0\164\0\141\0\40\0\164\0\171\0\160\0\145\0\163) - /Parent 548 0 R - /First 557 0 R - /Last 570 0 R - /Prev 549 0 R - /Next 571 0 R - /Count -14 - /A 33 0 R ->> endobj -557 0 obj -<< - /Title (\376\377\0\111\0\156\0\164\0\145\0\147\0\145\0\162) - /Parent 556 0 R - /Next 558 0 R - /A 35 0 R ->> endobj -558 0 obj -<< - /Title (\376\377\0\106\0\154\0\157\0\141\0\164) - /Parent 556 0 R - /Prev 557 0 R - /Next 559 0 R - /A 37 0 R ->> endobj -559 0 obj -<< - /Title (\376\377\0\123\0\164\0\162\0\151\0\156\0\147) - /Parent 556 0 R - /Prev 558 0 R - /Next 560 0 R - /A 39 0 R ->> endobj -560 0 obj -<< - /Title (\376\377\0\116\0\165\0\154\0\154) - /Parent 556 0 R - /Prev 559 0 R - /Next 561 0 R - /A 41 0 R ->> endobj -561 0 obj -<< - /Title (\376\377\0\102\0\157\0\157\0\154) - /Parent 556 0 R - /Prev 560 0 R - /Next 562 0 R - /A 43 0 R ->> endobj -562 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145) - /Parent 556 0 R - /Prev 561 0 R - /Next 563 0 R - /A 45 0 R ->> endobj -563 0 obj -<< - /Title (\376\377\0\101\0\162\0\162\0\141\0\171) - /Parent 556 0 R - /Prev 562 0 R - /Next 564 0 R - /A 47 0 R ->> endobj -564 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 556 0 R - /Prev 563 0 R - /Next 565 0 R - /A 49 0 R ->> endobj -565 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163) - /Parent 556 0 R - /Prev 564 0 R - /Next 566 0 R - /A 51 0 R ->> endobj -566 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\151\0\156\0\163\0\164\0\141\0\156\0\143\0\145) - /Parent 556 0 R - /Prev 565 0 R - /Next 567 0 R - /A 53 0 R ->> endobj -567 0 obj -<< - /Title (\376\377\0\107\0\145\0\156\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 556 0 R - /Prev 566 0 R - /Next 568 0 R - /A 55 0 R ->> endobj -568 0 obj -<< - /Title (\376\377\0\125\0\163\0\145\0\162\0\144\0\141\0\164\0\141) - /Parent 556 0 R - /Prev 567 0 R - /Next 569 0 R - /A 57 0 R ->> endobj -569 0 obj -<< - /Title (\376\377\0\124\0\150\0\162\0\145\0\141\0\144) - /Parent 556 0 R - /Prev 568 0 R - /Next 570 0 R - /A 59 0 R ->> endobj -570 0 obj -<< - /Title (\376\377\0\127\0\145\0\141\0\153\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163) - /Parent 556 0 R - /Prev 569 0 R - /A 61 0 R ->> endobj -571 0 obj -<< - /Title (\376\377\0\105\0\170\0\145\0\143\0\165\0\164\0\151\0\157\0\156\0\40\0\103\0\157\0\156\0\164\0\145\0\170\0\164) - /Parent 548 0 R - /First 572 0 R - /Last 572 0 R - /Prev 556 0 R - /Next 573 0 R - /Count -1 - /A 63 0 R ->> endobj -572 0 obj -<< - /Title (\376\377\0\126\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163) - /Parent 571 0 R - /A 65 0 R ->> endobj -573 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\164\0\145\0\155\0\145\0\156\0\164\0\163) - /Parent 548 0 R - /First 574 0 R - /Last 602 0 R - /Prev 571 0 R - /Next 603 0 R - /Count -22 - /A 67 0 R ->> endobj -574 0 obj -<< - /Title (\376\377\0\102\0\154\0\157\0\143\0\153) - /Parent 573 0 R - /Next 575 0 R - /A 69 0 R ->> endobj -575 0 obj -<< - /Title (\376\377\0\103\0\157\0\156\0\164\0\162\0\157\0\154\0\40\0\106\0\154\0\157\0\167\0\40\0\123\0\164\0\141\0\164\0\145\0\155\0\145\0\156\0\164\0\163) - /Parent 573 0 R - /First 577 0 R - /Last 585 0 R - /Prev 574 0 R - /Next 586 0 R - /Count -5 - /A 71 0 R ->> endobj -577 0 obj -<< - /Title (\376\377\0\164\0\162\0\165\0\145\0\40\0\141\0\156\0\144\0\40\0\146\0\141\0\154\0\163\0\145) - /Parent 575 0 R - /Next 579 0 R - /A 576 0 R ->> endobj -579 0 obj -<< - /Title (\376\377\0\151\0\146\0\57\0\145\0\154\0\163\0\145) - /Parent 575 0 R - /Prev 577 0 R - /Next 581 0 R - /A 578 0 R ->> endobj -581 0 obj -<< - /Title (\376\377\0\167\0\150\0\151\0\154\0\145) - /Parent 575 0 R - /Prev 579 0 R - /Next 583 0 R - /A 580 0 R ->> endobj -583 0 obj -<< - /Title (\376\377\0\144\0\157\0\57\0\167\0\150\0\151\0\154\0\145) - /Parent 575 0 R - /Prev 581 0 R - /Next 585 0 R - /A 582 0 R ->> endobj -585 0 obj -<< - /Title (\376\377\0\163\0\167\0\151\0\164\0\143\0\150) - /Parent 575 0 R - /Prev 583 0 R - /A 584 0 R ->> endobj -586 0 obj -<< - /Title (\376\377\0\114\0\157\0\157\0\160\0\163) - /Parent 573 0 R - /First 588 0 R - /Last 590 0 R - /Prev 575 0 R - /Next 591 0 R - /Count -2 - /A 73 0 R ->> endobj -588 0 obj -<< - /Title (\376\377\0\146\0\157\0\162) - /Parent 586 0 R - /Next 590 0 R - /A 587 0 R ->> endobj -590 0 obj -<< - /Title (\376\377\0\146\0\157\0\162\0\145\0\141\0\143\0\150) - /Parent 586 0 R - /Prev 588 0 R - /A 589 0 R ->> endobj -591 0 obj -<< - /Title (\376\377\0\142\0\162\0\145\0\141\0\153) - /Parent 573 0 R - /Prev 586 0 R - /Next 592 0 R - /A 75 0 R ->> endobj -592 0 obj -<< - /Title (\376\377\0\143\0\157\0\156\0\164\0\151\0\156\0\165\0\145) - /Parent 573 0 R - /Prev 591 0 R - /Next 593 0 R - /A 77 0 R ->> endobj -593 0 obj -<< - /Title (\376\377\0\162\0\145\0\164\0\165\0\162\0\156) - /Parent 573 0 R - /Prev 592 0 R - /Next 594 0 R - /A 79 0 R ->> endobj -594 0 obj -<< - /Title (\376\377\0\171\0\151\0\145\0\154\0\144) - /Parent 573 0 R - /Prev 593 0 R - /Next 595 0 R - /A 81 0 R ->> endobj -595 0 obj -<< - /Title (\376\377\0\114\0\157\0\143\0\141\0\154\0\40\0\166\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 573 0 R - /Prev 594 0 R - /Next 596 0 R - /A 83 0 R ->> endobj -596 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 573 0 R - /Prev 595 0 R - /Next 597 0 R - /A 85 0 R ->> endobj -597 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 573 0 R - /Prev 596 0 R - /Next 598 0 R - /A 87 0 R ->> endobj -598 0 obj -<< - /Title (\376\377\0\164\0\162\0\171\0\57\0\143\0\141\0\164\0\143\0\150) - /Parent 573 0 R - /Prev 597 0 R - /Next 599 0 R - /A 89 0 R ->> endobj -599 0 obj -<< - /Title (\376\377\0\164\0\150\0\162\0\157\0\167) - /Parent 573 0 R - /Prev 598 0 R - /Next 600 0 R - /A 91 0 R ->> endobj -600 0 obj -<< - /Title (\376\377\0\143\0\157\0\156\0\163\0\164) - /Parent 573 0 R - /Prev 599 0 R - /Next 601 0 R - /A 93 0 R ->> endobj -601 0 obj -<< - /Title (\376\377\0\145\0\156\0\165\0\155) - /Parent 573 0 R - /Prev 600 0 R - /Next 602 0 R - /A 95 0 R ->> endobj -602 0 obj -<< - /Title (\376\377\0\145\0\170\0\160\0\162\0\145\0\163\0\163\0\151\0\157\0\156\0\40\0\163\0\164\0\141\0\164\0\145\0\155\0\145\0\156\0\164) - /Parent 573 0 R - /Prev 601 0 R - /A 97 0 R ->> endobj -603 0 obj -<< - /Title (\376\377\0\105\0\170\0\160\0\162\0\145\0\163\0\163\0\151\0\157\0\156\0\163) - /Parent 548 0 R - /First 604 0 R - /Last 632 0 R - /Prev 573 0 R - /Next 633 0 R - /Count -17 - /A 99 0 R ->> endobj -604 0 obj -<< - /Title (\376\377\0\101\0\163\0\163\0\151\0\147\0\156\0\155\0\145\0\156\0\164\0\50\0\75\0\51\0\40\0\46\0\40\0\156\0\145\0\167\0\40\0\163\0\154\0\157\0\164\0\50\0\74\0\55\0\51) - /Parent 603 0 R - /Next 605 0 R - /A 101 0 R ->> endobj -605 0 obj -<< - /Title (\376\377\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162\0\163) - /Parent 603 0 R - /First 607 0 R - /Last 627 0 R - /Prev 604 0 R - /Next 628 0 R - /Count -11 - /A 103 0 R ->> endobj -607 0 obj -<< - /Title (\376\377\0\77\0\72\0\40\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 605 0 R - /Next 609 0 R - /A 606 0 R ->> endobj -609 0 obj -<< - /Title (\376\377\0\101\0\162\0\151\0\164\0\150\0\155\0\145\0\164\0\151\0\143) - /Parent 605 0 R - /Prev 607 0 R - /Next 611 0 R - /A 608 0 R ->> endobj -611 0 obj -<< - /Title (\376\377\0\122\0\145\0\154\0\141\0\164\0\151\0\157\0\156\0\141\0\154) - /Parent 605 0 R - /Prev 609 0 R - /Next 613 0 R - /A 610 0 R ->> endobj -613 0 obj -<< - /Title (\376\377\0\63\0\40\0\167\0\141\0\171\0\163\0\40\0\143\0\157\0\155\0\160\0\141\0\162\0\145) - /Parent 605 0 R - /Prev 611 0 R - /Next 615 0 R - /A 612 0 R ->> endobj -615 0 obj -<< - /Title (\376\377\0\114\0\157\0\147\0\151\0\143\0\141\0\154) - /Parent 605 0 R - /Prev 613 0 R - /Next 617 0 R - /A 614 0 R ->> endobj -617 0 obj -<< - /Title (\376\377\0\151\0\156\0\40\0\157\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 605 0 R - /Prev 615 0 R - /Next 619 0 R - /A 616 0 R ->> endobj -619 0 obj -<< - /Title (\376\377\0\151\0\156\0\163\0\164\0\141\0\156\0\143\0\145\0\157\0\146\0\40\0\157\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 605 0 R - /Prev 617 0 R - /Next 621 0 R - /A 618 0 R ->> endobj -621 0 obj -<< - /Title (\376\377\0\164\0\171\0\160\0\145\0\157\0\146\0\40\0\157\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 605 0 R - /Prev 619 0 R - /Next 623 0 R - /A 620 0 R ->> endobj -623 0 obj -<< - /Title (\376\377\0\143\0\157\0\155\0\155\0\141\0\40\0\157\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 605 0 R - /Prev 621 0 R - /Next 625 0 R - /A 622 0 R ->> endobj -625 0 obj -<< - /Title (\376\377\0\102\0\151\0\164\0\167\0\151\0\163\0\145\0\40\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162\0\163) - /Parent 605 0 R - /Prev 623 0 R - /Next 627 0 R - /A 624 0 R ->> endobj -627 0 obj -<< - /Title (\376\377\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162\0\163\0\40\0\160\0\162\0\145\0\143\0\145\0\144\0\145\0\156\0\143\0\145) - /Parent 605 0 R - /Prev 625 0 R - /A 626 0 R ->> endobj -628 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\143\0\157\0\156\0\163\0\164\0\162\0\165\0\143\0\164\0\157\0\162) - /Parent 603 0 R - /First 630 0 R - /Last 630 0 R - /Prev 605 0 R - /Next 631 0 R - /Count -1 - /A 105 0 R ->> endobj -630 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\167\0\151\0\164\0\150\0\40\0\112\0\123\0\117\0\116\0\40\0\163\0\171\0\156\0\164\0\141\0\170) - /Parent 628 0 R - /A 629 0 R ->> endobj -631 0 obj -<< - /Title (\376\377\0\143\0\154\0\157\0\156\0\145) - /Parent 603 0 R - /Prev 628 0 R - /Next 632 0 R - /A 107 0 R ->> endobj -632 0 obj -<< - /Title (\376\377\0\101\0\162\0\162\0\141\0\171\0\40\0\143\0\157\0\156\0\163\0\164\0\162\0\165\0\143\0\164\0\157\0\162) - /Parent 603 0 R - /Prev 631 0 R - /A 109 0 R ->> endobj -633 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\163) - /Parent 548 0 R - /First 634 0 R - /Last 636 0 R - /Prev 603 0 R - /Next 637 0 R - /Count -3 - /A 111 0 R ->> endobj -634 0 obj -<< - /Title (\376\377\0\103\0\157\0\156\0\163\0\164\0\162\0\165\0\143\0\164\0\151\0\157\0\156) - /Parent 633 0 R - /Next 635 0 R - /A 113 0 R ->> endobj -635 0 obj -<< - /Title (\376\377\0\123\0\154\0\157\0\164\0\40\0\143\0\162\0\145\0\141\0\164\0\151\0\157\0\156) - /Parent 633 0 R - /Prev 634 0 R - /Next 636 0 R - /A 115 0 R ->> endobj -636 0 obj -<< - /Title (\376\377\0\123\0\154\0\157\0\164\0\40\0\144\0\145\0\154\0\145\0\164\0\151\0\157\0\156) - /Parent 633 0 R - /Prev 635 0 R - /A 117 0 R ->> endobj -637 0 obj -<< - /Title (\376\377\0\101\0\162\0\162\0\141\0\171\0\163) - /Parent 548 0 R - /Prev 633 0 R - /Next 638 0 R - /A 119 0 R ->> endobj -638 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\163) - /Parent 548 0 R - /First 639 0 R - /Last 648 0 R - /Prev 637 0 R - /Next 649 0 R - /Count -8 - /A 124 0 R ->> endobj -639 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 638 0 R - /First 641 0 R - /Last 643 0 R - /Next 644 0 R - /Count -2 - /A 126 0 R ->> endobj -641 0 obj -<< - /Title (\376\377\0\104\0\145\0\146\0\141\0\165\0\154\0\164\0\40\0\120\0\141\0\162\0\141\0\155\0\141\0\164\0\145\0\162\0\163) - /Parent 639 0 R - /Next 643 0 R - /A 640 0 R ->> endobj -643 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\167\0\151\0\164\0\150\0\40\0\166\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\40\0\156\0\165\0\155\0\142\0\145\0\162\0\40\0\157\0\146\0\40\0\160\0\141\0\162\0\141\0\155\0\141\0\164\0\145\0\162\0\163) - /Parent 639 0 R - /Prev 641 0 R - /A 642 0 R ->> endobj -644 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\143\0\141\0\154\0\154\0\163) - /Parent 638 0 R - /Prev 639 0 R - /Next 645 0 R - /A 128 0 R ->> endobj -645 0 obj -<< - /Title (\376\377\0\102\0\151\0\156\0\144\0\151\0\156\0\147\0\40\0\141\0\156\0\40\0\145\0\156\0\166\0\151\0\162\0\157\0\156\0\155\0\145\0\156\0\164\0\40\0\164\0\157\0\40\0\141\0\40\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 638 0 R - /Prev 644 0 R - /Next 646 0 R - /A 130 0 R ->> endobj -646 0 obj -<< - /Title (\376\377\0\114\0\141\0\155\0\142\0\144\0\141\0\40\0\145\0\170\0\160\0\162\0\145\0\163\0\163\0\151\0\157\0\156\0\163) - /Parent 638 0 R - /Prev 645 0 R - /Next 647 0 R - /A 132 0 R ->> endobj -647 0 obj -<< - /Title (\376\377\0\106\0\162\0\145\0\145\0\40\0\166\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163) - /Parent 638 0 R - /Prev 646 0 R - /Next 648 0 R - /A 134 0 R ->> endobj -648 0 obj -<< - /Title (\376\377\0\124\0\141\0\151\0\154\0\40\0\162\0\145\0\143\0\165\0\162\0\163\0\151\0\157\0\156) - /Parent 638 0 R - /Prev 647 0 R - /A 136 0 R ->> endobj -649 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\145\0\163) - /Parent 548 0 R - /First 650 0 R - /Last 657 0 R - /Prev 638 0 R - /Next 658 0 R - /Count -6 - /A 138 0 R ->> endobj -650 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 649 0 R - /First 652 0 R - /Last 654 0 R - /Next 655 0 R - /Count -2 - /A 140 0 R ->> endobj -652 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\164\0\151\0\143\0\40\0\166\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163) - /Parent 650 0 R - /Next 654 0 R - /A 651 0 R ->> endobj -654 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\141\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\163) - /Parent 650 0 R - /Prev 652 0 R - /A 653 0 R ->> endobj -655 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\151\0\156\0\163\0\164\0\141\0\156\0\143\0\145\0\163) - /Parent 649 0 R - /Prev 650 0 R - /Next 656 0 R - /A 142 0 R ->> endobj -656 0 obj -<< - /Title (\376\377\0\111\0\156\0\150\0\145\0\162\0\151\0\164\0\141\0\156\0\143\0\145) - /Parent 649 0 R - /Prev 655 0 R - /Next 657 0 R - /A 144 0 R ->> endobj -657 0 obj -<< - /Title (\376\377\0\115\0\145\0\164\0\141\0\155\0\145\0\164\0\150\0\157\0\144\0\163) - /Parent 649 0 R - /Prev 656 0 R - /A 146 0 R ->> endobj -658 0 obj -<< - /Title (\376\377\0\107\0\145\0\156\0\145\0\162\0\141\0\164\0\157\0\162\0\163) - /Parent 548 0 R - /Prev 649 0 R - /Next 659 0 R - /A 148 0 R ->> endobj -659 0 obj -<< - /Title (\376\377\0\103\0\157\0\156\0\163\0\164\0\141\0\156\0\164\0\163\0\40\0\46\0\40\0\105\0\156\0\165\0\155\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\163) - /Parent 548 0 R - /First 660 0 R - /Last 662 0 R - /Prev 658 0 R - /Next 663 0 R - /Count -3 - /A 150 0 R ->> endobj -660 0 obj -<< - /Title (\376\377\0\103\0\157\0\156\0\163\0\164\0\141\0\156\0\164\0\163) - /Parent 659 0 R - /Next 661 0 R - /A 152 0 R ->> endobj -661 0 obj -<< - /Title (\376\377\0\105\0\156\0\165\0\155\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\163) - /Parent 659 0 R - /Prev 660 0 R - /Next 662 0 R - /A 154 0 R ->> endobj -662 0 obj -<< - /Title (\376\377\0\111\0\155\0\160\0\154\0\145\0\155\0\145\0\156\0\164\0\141\0\164\0\151\0\157\0\156\0\40\0\156\0\157\0\164\0\145\0\163) - /Parent 659 0 R - /Prev 661 0 R - /A 156 0 R ->> endobj -663 0 obj -<< - /Title (\376\377\0\124\0\150\0\162\0\145\0\141\0\144\0\163) - /Parent 548 0 R - /First 664 0 R - /Last 664 0 R - /Prev 659 0 R - /Next 665 0 R - /Count -1 - /A 158 0 R ->> endobj -664 0 obj -<< - /Title (\376\377\0\125\0\163\0\151\0\156\0\147\0\40\0\164\0\150\0\162\0\145\0\141\0\144\0\163) - /Parent 663 0 R - /A 160 0 R ->> endobj -665 0 obj -<< - /Title (\376\377\0\127\0\145\0\141\0\153\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163) - /Parent 548 0 R - /First 667 0 R - /Last 667 0 R - /Prev 663 0 R - /Next 668 0 R - /Count -1 - /A 162 0 R ->> endobj -667 0 obj -<< - /Title (\376\377\0\110\0\141\0\156\0\144\0\154\0\151\0\156\0\147\0\40\0\167\0\145\0\141\0\153\0\40\0\162\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163\0\40\0\145\0\170\0\160\0\154\0\151\0\143\0\151\0\164\0\154\0\171) - /Parent 665 0 R - /A 666 0 R ->> endobj -668 0 obj -<< - /Title (\376\377\0\104\0\145\0\154\0\145\0\147\0\141\0\164\0\151\0\157\0\156) - /Parent 548 0 R - /Prev 665 0 R - /Next 669 0 R - /A 164 0 R ->> endobj -669 0 obj -<< - /Title (\376\377\0\115\0\145\0\164\0\141\0\155\0\145\0\164\0\150\0\157\0\144\0\163) - /Parent 548 0 R - /First 670 0 R - /Last 687 0 R - /Prev 668 0 R - /Next 688 0 R - /Count -18 - /A 166 0 R ->> endobj -670 0 obj -<< - /Title (\376\377\0\137\0\163\0\145\0\164) - /Parent 669 0 R - /Next 671 0 R - /A 168 0 R ->> endobj -671 0 obj -<< - /Title (\376\377\0\137\0\147\0\145\0\164) - /Parent 669 0 R - /Prev 670 0 R - /Next 672 0 R - /A 170 0 R ->> endobj -672 0 obj -<< - /Title (\376\377\0\137\0\156\0\145\0\167\0\163\0\154\0\157\0\164) - /Parent 669 0 R - /Prev 671 0 R - /Next 673 0 R - /A 172 0 R ->> endobj -673 0 obj -<< - /Title (\376\377\0\137\0\144\0\145\0\154\0\163\0\154\0\157\0\164) - /Parent 669 0 R - /Prev 672 0 R - /Next 674 0 R - /A 174 0 R ->> endobj -674 0 obj -<< - /Title (\376\377\0\137\0\141\0\144\0\144) - /Parent 669 0 R - /Prev 673 0 R - /Next 675 0 R - /A 176 0 R ->> endobj -675 0 obj -<< - /Title (\376\377\0\137\0\163\0\165\0\142) - /Parent 669 0 R - /Prev 674 0 R - /Next 676 0 R - /A 178 0 R ->> endobj -676 0 obj -<< - /Title (\376\377\0\137\0\155\0\165\0\154) - /Parent 669 0 R - /Prev 675 0 R - /Next 677 0 R - /A 180 0 R ->> endobj -677 0 obj -<< - /Title (\376\377\0\137\0\144\0\151\0\166) - /Parent 669 0 R - /Prev 676 0 R - /Next 678 0 R - /A 182 0 R ->> endobj -678 0 obj -<< - /Title (\376\377\0\137\0\155\0\157\0\144\0\165\0\154\0\157) - /Parent 669 0 R - /Prev 677 0 R - /Next 679 0 R - /A 184 0 R ->> endobj -679 0 obj -<< - /Title (\376\377\0\137\0\165\0\156\0\155) - /Parent 669 0 R - /Prev 678 0 R - /Next 680 0 R - /A 186 0 R ->> endobj -680 0 obj -<< - /Title (\376\377\0\137\0\164\0\171\0\160\0\145\0\157\0\146) - /Parent 669 0 R - /Prev 679 0 R - /Next 681 0 R - /A 188 0 R ->> endobj -681 0 obj -<< - /Title (\376\377\0\137\0\143\0\155\0\160) - /Parent 669 0 R - /Prev 680 0 R - /Next 682 0 R - /A 190 0 R ->> endobj -682 0 obj -<< - /Title (\376\377\0\137\0\143\0\141\0\154\0\154) - /Parent 669 0 R - /Prev 681 0 R - /Next 683 0 R - /A 192 0 R ->> endobj -683 0 obj -<< - /Title (\376\377\0\137\0\143\0\154\0\157\0\156\0\145\0\144) - /Parent 669 0 R - /Prev 682 0 R - /Next 684 0 R - /A 194 0 R ->> endobj -684 0 obj -<< - /Title (\376\377\0\137\0\156\0\145\0\170\0\164\0\151) - /Parent 669 0 R - /Prev 683 0 R - /Next 685 0 R - /A 196 0 R ->> endobj -685 0 obj -<< - /Title (\376\377\0\137\0\164\0\157\0\163\0\164\0\162\0\151\0\156\0\147) - /Parent 669 0 R - /Prev 684 0 R - /Next 686 0 R - /A 198 0 R ->> endobj -686 0 obj -<< - /Title (\376\377\0\137\0\151\0\156\0\150\0\145\0\162\0\151\0\164\0\145\0\144) - /Parent 669 0 R - /Prev 685 0 R - /Next 687 0 R - /A 200 0 R ->> endobj -687 0 obj -<< - /Title (\376\377\0\137\0\156\0\145\0\167\0\155\0\145\0\155\0\142\0\145\0\162) - /Parent 669 0 R - /Prev 686 0 R - /A 202 0 R ->> endobj -688 0 obj -<< - /Title (\376\377\0\102\0\165\0\151\0\154\0\164\0\55\0\151\0\156\0\40\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\163) - /Parent 548 0 R - /First 689 0 R - /Last 690 0 R - /Prev 669 0 R - /Count -14 - /A 204 0 R ->> endobj -689 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 688 0 R - /Next 690 0 R - /A 206 0 R ->> endobj -690 0 obj -<< - /Title (\376\377\0\104\0\145\0\146\0\141\0\165\0\154\0\164\0\40\0\144\0\145\0\154\0\145\0\147\0\141\0\164\0\145\0\163) - /Parent 688 0 R - /First 692 0 R - /Last 714 0 R - /Prev 689 0 R - /Count -12 - /A 208 0 R ->> endobj -692 0 obj -<< - /Title (\376\377\0\111\0\156\0\164\0\145\0\147\0\145\0\162) - /Parent 690 0 R - /Next 694 0 R - /A 691 0 R ->> endobj -694 0 obj -<< - /Title (\376\377\0\106\0\154\0\157\0\141\0\164) - /Parent 690 0 R - /Prev 692 0 R - /Next 696 0 R - /A 693 0 R ->> endobj -696 0 obj -<< - /Title (\376\377\0\102\0\157\0\157\0\154) - /Parent 690 0 R - /Prev 694 0 R - /Next 698 0 R - /A 695 0 R ->> endobj -698 0 obj -<< - /Title (\376\377\0\123\0\164\0\162\0\151\0\156\0\147) - /Parent 690 0 R - /Prev 696 0 R - /Next 700 0 R - /A 697 0 R ->> endobj -700 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145) - /Parent 690 0 R - /Prev 698 0 R - /Next 702 0 R - /A 699 0 R ->> endobj -702 0 obj -<< - /Title (\376\377\0\101\0\162\0\162\0\141\0\171) - /Parent 690 0 R - /Prev 700 0 R - /Next 704 0 R - /A 701 0 R ->> endobj -704 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 690 0 R - /Prev 702 0 R - /Next 706 0 R - /A 703 0 R ->> endobj -706 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163) - /Parent 690 0 R - /Prev 704 0 R - /Next 708 0 R - /A 705 0 R ->> endobj -708 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\111\0\156\0\163\0\164\0\141\0\156\0\143\0\145) - /Parent 690 0 R - /Prev 706 0 R - /Next 710 0 R - /A 707 0 R ->> endobj -710 0 obj -<< - /Title (\376\377\0\107\0\145\0\156\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 690 0 R - /Prev 708 0 R - /Next 712 0 R - /A 709 0 R ->> endobj -712 0 obj -<< - /Title (\376\377\0\124\0\150\0\162\0\145\0\141\0\144) - /Parent 690 0 R - /Prev 710 0 R - /Next 714 0 R - /A 711 0 R ->> endobj -714 0 obj -<< - /Title (\376\377\0\127\0\145\0\141\0\153\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145) - /Parent 690 0 R - /Prev 712 0 R - /A 713 0 R ->> endobj -715 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\63\0\56\0\240\0\105\0\155\0\142\0\145\0\144\0\144\0\151\0\156\0\147\0\40\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154) - /Parent 542 0 R - /First 716 0 R - /Last 734 0 R - /Prev 548 0 R - /Next 735 0 R - /Count -19 - /A 210 0 R ->> endobj -716 0 obj -<< - /Title (\376\377\0\115\0\145\0\155\0\157\0\162\0\171\0\40\0\155\0\141\0\156\0\141\0\147\0\145\0\155\0\145\0\156\0\164) - /Parent 715 0 R - /Next 717 0 R - /A 212 0 R ->> endobj -717 0 obj -<< - /Title (\376\377\0\125\0\156\0\151\0\143\0\157\0\144\0\145) - /Parent 715 0 R - /Prev 716 0 R - /Next 718 0 R - /A 214 0 R ->> endobj -718 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\157\0\156\0\40\0\66\0\64\0\40\0\142\0\151\0\164\0\163\0\40\0\141\0\162\0\143\0\150\0\151\0\164\0\145\0\143\0\164\0\165\0\162\0\145\0\163) - /Parent 715 0 R - /Prev 717 0 R - /Next 719 0 R - /A 216 0 R ->> endobj -719 0 obj -<< - /Title (\376\377\0\125\0\163\0\145\0\162\0\144\0\141\0\164\0\141\0\40\0\141\0\154\0\151\0\147\0\156\0\155\0\145\0\156\0\164) - /Parent 715 0 R - /Prev 718 0 R - /Next 720 0 R - /A 218 0 R ->> endobj -720 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\156\0\144\0\55\0\141\0\154\0\157\0\156\0\145\0\40\0\126\0\115\0\40\0\167\0\151\0\164\0\150\0\157\0\165\0\164\0\40\0\143\0\157\0\155\0\160\0\151\0\154\0\145\0\162) - /Parent 715 0 R - /Prev 719 0 R - /Next 721 0 R - /A 220 0 R ->> endobj -721 0 obj -<< - /Title (\376\377\0\105\0\162\0\162\0\157\0\162\0\40\0\143\0\157\0\156\0\166\0\145\0\156\0\164\0\151\0\157\0\156\0\163) - /Parent 715 0 R - /Prev 720 0 R - /Next 722 0 R - /A 222 0 R ->> endobj -722 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\151\0\156\0\147\0\40\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154) - /Parent 715 0 R - /Prev 721 0 R - /Next 723 0 R - /A 224 0 R ->> endobj -723 0 obj -<< - /Title (\376\377\0\124\0\150\0\145\0\40\0\123\0\164\0\141\0\143\0\153) - /Parent 715 0 R - /First 724 0 R - /Last 725 0 R - /Prev 722 0 R - /Next 726 0 R - /Count -2 - /A 226 0 R ->> endobj -724 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\143\0\153\0\40\0\151\0\156\0\144\0\145\0\170\0\145\0\163) - /Parent 723 0 R - /Next 725 0 R - /A 228 0 R ->> endobj -725 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\143\0\153\0\40\0\155\0\141\0\156\0\151\0\160\0\165\0\154\0\141\0\164\0\151\0\157\0\156) - /Parent 723 0 R - /Prev 724 0 R - /A 230 0 R ->> endobj -726 0 obj -<< - /Title (\376\377\0\122\0\165\0\156\0\164\0\151\0\155\0\145\0\40\0\145\0\162\0\162\0\157\0\162\0\40\0\150\0\141\0\156\0\144\0\154\0\151\0\156\0\147) - /Parent 715 0 R - /Prev 723 0 R - /Next 727 0 R - /A 232 0 R ->> endobj -727 0 obj -<< - /Title (\376\377\0\103\0\157\0\155\0\160\0\151\0\154\0\151\0\156\0\147\0\40\0\141\0\40\0\163\0\143\0\162\0\151\0\160\0\164) - /Parent 715 0 R - /Prev 726 0 R - /Next 728 0 R - /A 234 0 R ->> endobj -728 0 obj -<< - /Title (\376\377\0\103\0\141\0\154\0\154\0\151\0\156\0\147\0\40\0\141\0\40\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 715 0 R - /Prev 727 0 R - /Next 729 0 R - /A 236 0 R ->> endobj -729 0 obj -<< - /Title (\376\377\0\103\0\162\0\145\0\141\0\164\0\145\0\40\0\141\0\40\0\103\0\40\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 715 0 R - /Prev 728 0 R - /Next 730 0 R - /A 238 0 R ->> endobj -730 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\163\0\40\0\141\0\156\0\144\0\40\0\141\0\162\0\162\0\141\0\171\0\163\0\40\0\155\0\141\0\156\0\151\0\160\0\165\0\154\0\141\0\164\0\151\0\157\0\156) - /Parent 715 0 R - /Prev 729 0 R - /Next 731 0 R - /A 243 0 R ->> endobj -731 0 obj -<< - /Title (\376\377\0\125\0\163\0\145\0\162\0\144\0\141\0\164\0\141\0\40\0\141\0\156\0\144\0\40\0\125\0\163\0\145\0\162\0\120\0\157\0\151\0\156\0\164\0\145\0\162\0\163) - /Parent 715 0 R - /Prev 730 0 R - /Next 732 0 R - /A 245 0 R ->> endobj -732 0 obj -<< - /Title (\376\377\0\124\0\150\0\145\0\40\0\162\0\145\0\147\0\151\0\163\0\164\0\162\0\171\0\40\0\164\0\141\0\142\0\154\0\145) - /Parent 715 0 R - /Prev 731 0 R - /Next 733 0 R - /A 247 0 R ->> endobj -733 0 obj -<< - /Title (\376\377\0\115\0\141\0\156\0\164\0\141\0\151\0\156\0\151\0\156\0\147\0\40\0\163\0\164\0\162\0\157\0\156\0\147\0\40\0\162\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163\0\40\0\164\0\157\0\40\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\166\0\141\0\154\0\165\0\145\0\163\0\40\0\146\0\162\0\157\0\155\0\40\0\164\0\150\0\145\0\40\0\103\0\40\0\101\0\120\0\111) - /Parent 715 0 R - /Prev 732 0 R - /Next 734 0 R - /A 249 0 R ->> endobj -734 0 obj -<< - /Title (\376\377\0\104\0\145\0\142\0\165\0\147\0\40\0\111\0\156\0\164\0\145\0\162\0\146\0\141\0\143\0\145) - /Parent 715 0 R - /Prev 733 0 R - /A 251 0 R ->> endobj -735 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\64\0\56\0\240\0\101\0\120\0\111\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145) - /Parent 542 0 R - /First 736 0 R - /Last 745 0 R - /Prev 715 0 R - /Next 746 0 R - /Count -10 - /A 253 0 R ->> endobj -736 0 obj -<< - /Title (\376\377\0\126\0\151\0\162\0\164\0\165\0\141\0\154\0\40\0\115\0\141\0\143\0\150\0\151\0\156\0\145) - /Parent 735 0 R - /Next 737 0 R - /A 255 0 R ->> endobj -737 0 obj -<< - /Title (\376\377\0\103\0\157\0\155\0\160\0\151\0\154\0\145\0\162) - /Parent 735 0 R - /Prev 736 0 R - /Next 738 0 R - /A 257 0 R ->> endobj -738 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\143\0\153\0\40\0\117\0\160\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\163) - /Parent 735 0 R - /Prev 737 0 R - /Next 739 0 R - /A 259 0 R ->> endobj -739 0 obj -<< - /Title (\376\377\0\117\0\142\0\152\0\145\0\143\0\164\0\40\0\143\0\162\0\145\0\141\0\164\0\151\0\157\0\156\0\40\0\141\0\156\0\144\0\40\0\150\0\141\0\156\0\144\0\154\0\151\0\156\0\147) - /Parent 735 0 R - /Prev 738 0 R - /Next 740 0 R - /A 261 0 R ->> endobj -740 0 obj -<< - /Title (\376\377\0\103\0\141\0\154\0\154\0\163) - /Parent 735 0 R - /Prev 739 0 R - /Next 741 0 R - /A 263 0 R ->> endobj -741 0 obj -<< - /Title (\376\377\0\117\0\142\0\152\0\145\0\143\0\164\0\163\0\40\0\155\0\141\0\156\0\151\0\160\0\165\0\154\0\141\0\164\0\151\0\157\0\156) - /Parent 735 0 R - /Prev 740 0 R - /Next 742 0 R - /A 265 0 R ->> endobj -742 0 obj -<< - /Title (\376\377\0\102\0\171\0\164\0\145\0\143\0\157\0\144\0\145\0\40\0\163\0\145\0\162\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 735 0 R - /Prev 741 0 R - /Next 743 0 R - /A 267 0 R ->> endobj -743 0 obj -<< - /Title (\376\377\0\122\0\141\0\167\0\40\0\157\0\142\0\152\0\145\0\143\0\164\0\40\0\150\0\141\0\156\0\144\0\154\0\151\0\156\0\147) - /Parent 735 0 R - /Prev 742 0 R - /Next 744 0 R - /A 269 0 R ->> endobj -744 0 obj -<< - /Title (\376\377\0\107\0\141\0\162\0\142\0\141\0\147\0\145\0\40\0\103\0\157\0\154\0\154\0\145\0\143\0\164\0\157\0\162) - /Parent 735 0 R - /Prev 743 0 R - /Next 745 0 R - /A 271 0 R ->> endobj -745 0 obj -<< - /Title (\376\377\0\104\0\145\0\142\0\165\0\147\0\40\0\151\0\156\0\164\0\145\0\162\0\146\0\141\0\143\0\145) - /Parent 735 0 R - /Prev 744 0 R - /A 273 0 R ->> endobj -746 0 obj -<< - /Title (\376\377\0\111\0\156\0\144\0\145\0\170) - /Parent 542 0 R - /Prev 735 0 R - /A 275 0 R ->> endobj -747 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F11 -/BaseFont /Courier-Bold -/Encoding /WinAnsiEncoding >> -endobj -748 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F1 -/BaseFont /Helvetica -/Encoding /WinAnsiEncoding >> -endobj -749 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F10 -/BaseFont /Courier-Oblique -/Encoding /WinAnsiEncoding >> -endobj -750 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F5 -/BaseFont /Times-Roman -/Encoding /WinAnsiEncoding >> -endobj -751 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F3 -/BaseFont /Helvetica-Bold -/Encoding /WinAnsiEncoding >> -endobj -752 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F9 -/BaseFont /Courier -/Encoding /WinAnsiEncoding >> -endobj -753 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F6 -/BaseFont /Times-Italic -/Encoding /WinAnsiEncoding >> -endobj -754 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F7 -/BaseFont /Times-Bold -/Encoding /WinAnsiEncoding >> -endobj -1 0 obj -<< /Type /Pages -/Count 118 -/Kids [6 0 R 8 0 R 10 0 R 12 0 R 121 0 R 240 0 R 277 0 R 279 0 R 281 0 R 283 0 R 285 0 R 287 0 R 301 0 R 303 0 R 305 0 R 307 0 R 309 0 R 313 0 R 319 0 R 324 0 R 326 0 R 328 0 R 330 0 R 337 0 R 342 0 R 347 0 R 349 0 R 351 0 R 353 0 R 355 0 R 357 0 R 361 0 R 363 0 R 367 0 R 369 0 R 373 0 R 375 0 R 377 0 R 379 0 R 381 0 R 383 0 R 385 0 R 387 0 R 389 0 R 391 0 R 393 0 R 395 0 R 397 0 R 399 0 R 401 0 R 403 0 R 405 0 R 407 0 R 409 0 R 411 0 R 413 0 R 415 0 R 417 0 R 419 0 R 421 0 R 423 0 R 425 0 R 427 0 R 429 0 R 431 0 R 433 0 R 435 0 R 437 0 R 439 0 R 441 0 R 443 0 R 445 0 R 447 0 R 449 0 R 451 0 R 453 0 R 455 0 R 457 0 R 459 0 R 461 0 R 463 0 R 465 0 R 467 0 R 469 0 R 471 0 R 473 0 R 475 0 R 477 0 R 479 0 R 481 0 R 483 0 R 485 0 R 487 0 R 489 0 R 491 0 R 493 0 R 495 0 R 497 0 R 499 0 R 501 0 R 503 0 R 505 0 R 507 0 R 509 0 R 511 0 R 513 0 R 515 0 R 517 0 R 519 0 R 521 0 R 523 0 R 525 0 R 527 0 R 529 0 R 531 0 R 534 0 R 537 0 R 540 0 R ] >> -endobj -2 0 obj -<< /Type /Catalog -/Pages 1 0 R - /Outlines 542 0 R - /PageMode /UseOutlines - >> -endobj -3 0 obj -<< -/Font << /F1 748 0 R /F11 747 0 R /F10 749 0 R /F5 750 0 R /F3 751 0 R /F9 752 0 R /F6 753 0 R /F7 754 0 R >> -/ProcSet [ /PDF /ImageC /Text ] >> -endobj -15 0 obj -<< -/S /GoTo -/D [277 0 R /XYZ 115.0 725.0 null] ->> -endobj -17 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 725.0 null] ->> -endobj -19 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 666.009 null] ->> -endobj -21 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 632.684 null] ->> -endobj -23 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 519.385 null] ->> -endobj -25 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 337.946 null] ->> -endobj -27 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 207.507 null] ->> -endobj -29 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 122.068 null] ->> -endobj -31 0 obj -<< -/S /GoTo -/D [281 0 R /XYZ 115.0 433.98 null] ->> -endobj -33 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 714.0 null] ->> -endobj -35 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 637.675 null] ->> -endobj -37 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 508.076 null] ->> -endobj -39 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 398.197 null] ->> -endobj -41 0 obj -<< -/S /GoTo -/D [285 0 R /XYZ 115.0 725.0 null] ->> -endobj -43 0 obj -<< -/S /GoTo -/D [285 0 R /XYZ 115.0 623.981 null] ->> -endobj -45 0 obj -<< -/S /GoTo -/D [285 0 R /XYZ 115.0 512.962 null] ->> -endobj -47 0 obj -<< -/S /GoTo -/D [285 0 R /XYZ 115.0 363.643 null] ->> -endobj -49 0 obj -<< -/S /GoTo -/D [285 0 R /XYZ 115.0 243.904 null] ->> -endobj -51 0 obj -<< -/S /GoTo -/D [285 0 R /XYZ 115.0 182.465 null] ->> -endobj -53 0 obj -<< -/S /GoTo -/D [285 0 R /XYZ 115.0 110.026 null] ->> -endobj -55 0 obj -<< -/S /GoTo -/D [287 0 R /XYZ 115.0 682.0 null] ->> -endobj -57 0 obj -<< -/S /GoTo -/D [287 0 R /XYZ 115.0 620.561 null] ->> -endobj -59 0 obj -<< -/S /GoTo -/D [287 0 R /XYZ 115.0 559.122 null] ->> -endobj -61 0 obj -<< -/S /GoTo -/D [287 0 R /XYZ 115.0 508.683 null] ->> -endobj -63 0 obj -<< -/S /GoTo -/D [287 0 R /XYZ 115.0 447.244 null] ->> -endobj -65 0 obj -<< -/S /GoTo -/D [287 0 R /XYZ 115.0 293.919 null] ->> -endobj -67 0 obj -<< -/S /GoTo -/D [303 0 R /XYZ 115.0 635.98 null] ->> -endobj -69 0 obj -<< -/S /GoTo -/D [303 0 R /XYZ 115.0 486.795 null] ->> -endobj -71 0 obj -<< -/S /GoTo -/D [303 0 R /XYZ 115.0 406.496 null] ->> -endobj -73 0 obj -<< -/S /GoTo -/D [307 0 R /XYZ 115.0 725.0 null] ->> -endobj -75 0 obj -<< -/S /GoTo -/D [307 0 R /XYZ 115.0 252.809 null] ->> -endobj -77 0 obj -<< -/S /GoTo -/D [307 0 R /XYZ 115.0 161.51 null] ->> -endobj -79 0 obj -<< -/S /GoTo -/D [309 0 R /XYZ 115.0 704.0 null] ->> -endobj -81 0 obj -<< -/S /GoTo -/D [309 0 R /XYZ 115.0 601.701 null] ->> -endobj -83 0 obj -<< -/S /GoTo -/D [309 0 R /XYZ 115.0 521.402 null] ->> -endobj -85 0 obj -<< -/S /GoTo -/D [309 0 R /XYZ 115.0 330.083 null] ->> -endobj -87 0 obj -<< -/S /GoTo -/D [309 0 R /XYZ 115.0 220.204 null] ->> -endobj -89 0 obj -<< -/S /GoTo -/D [313 0 R /XYZ 115.0 725.0 null] ->> -endobj -91 0 obj -<< -/S /GoTo -/D [313 0 R /XYZ 115.0 632.701 null] ->> -endobj -93 0 obj -<< -/S /GoTo -/D [313 0 R /XYZ 115.0 552.402 null] ->> -endobj -95 0 obj -<< -/S /GoTo -/D [313 0 R /XYZ 115.0 462.243 null] ->> -endobj -97 0 obj -<< -/S /GoTo -/D [313 0 R /XYZ 115.0 332.644 null] ->> -endobj -99 0 obj -<< -/S /GoTo -/D [313 0 R /XYZ 115.0 241.345 null] ->> -endobj -101 0 obj -<< -/S /GoTo -/D [313 0 R /XYZ 115.0 208.02 null] ->> -endobj -103 0 obj -<< -/S /GoTo -/D [319 0 R /XYZ 115.0 612.28 null] ->> -endobj -105 0 obj -<< -/S /GoTo -/D [326 0 R /XYZ 115.0 138.122 null] ->> -endobj -107 0 obj -<< -/S /GoTo -/D [330 0 R /XYZ 115.0 453.24 null] ->> -endobj -109 0 obj -<< -/S /GoTo -/D [330 0 R /XYZ 115.0 297.941 null] ->> -endobj -111 0 obj -<< -/S /GoTo -/D [337 0 R /XYZ 115.0 725.0 null] ->> -endobj -113 0 obj -<< -/S /GoTo -/D [337 0 R /XYZ 115.0 647.675 null] ->> -endobj -115 0 obj -<< -/S /GoTo -/D [337 0 R /XYZ 115.0 597.236 null] ->> -endobj -117 0 obj -<< -/S /GoTo -/D [337 0 R /XYZ 115.0 263.477 null] ->> -endobj -119 0 obj -<< -/S /GoTo -/D [342 0 R /XYZ 115.0 695.14 null] ->> -endobj -124 0 obj -<< -/S /GoTo -/D [342 0 R /XYZ 115.0 528.515 null] ->> -endobj -126 0 obj -<< -/S /GoTo -/D [342 0 R /XYZ 115.0 452.19 null] ->> -endobj -128 0 obj -<< -/S /GoTo -/D [349 0 R /XYZ 115.0 425.044 null] ->> -endobj -130 0 obj -<< -/S /GoTo -/D [349 0 R /XYZ 115.0 150.585 null] ->> -endobj -132 0 obj -<< -/S /GoTo -/D [351 0 R /XYZ 115.0 644.866 null] ->> -endobj -134 0 obj -<< -/S /GoTo -/D [351 0 R /XYZ 115.0 237.107 null] ->> -endobj -136 0 obj -<< -/S /GoTo -/D [353 0 R /XYZ 115.0 654.42 null] ->> -endobj -138 0 obj -<< -/S /GoTo -/D [353 0 R /XYZ 115.0 442.521 null] ->> -endobj -140 0 obj -<< -/S /GoTo -/D [353 0 R /XYZ 115.0 366.196 null] ->> -endobj -142 0 obj -<< -/S /GoTo -/D [361 0 R /XYZ 115.0 566.96 null] ->> -endobj -144 0 obj -<< -/S /GoTo -/D [363 0 R /XYZ 115.0 191.786 null] ->> -endobj -146 0 obj -<< -/S /GoTo -/D [369 0 R /XYZ 115.0 377.2 null] ->> -endobj -148 0 obj -<< -/S /GoTo -/D [373 0 R /XYZ 115.0 583.12 null] ->> -endobj -150 0 obj -<< -/S /GoTo -/D [375 0 R /XYZ 115.0 714.0 null] ->> -endobj -152 0 obj -<< -/S /GoTo -/D [375 0 R /XYZ 115.0 648.675 null] ->> -endobj -154 0 obj -<< -/S /GoTo -/D [375 0 R /XYZ 115.0 343.916 null] ->> -endobj -156 0 obj -<< -/S /GoTo -/D [377 0 R /XYZ 115.0 512.68 null] ->> -endobj -158 0 obj -<< -/S /GoTo -/D [377 0 R /XYZ 115.0 203.921 null] ->> -endobj -160 0 obj -<< -/S /GoTo -/D [379 0 R /XYZ 115.0 725.0 null] ->> -endobj -162 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 458.5 null] ->> -endobj -164 0 obj -<< -/S /GoTo -/D [383 0 R /XYZ 115.0 401.381 null] ->> -endobj -166 0 obj -<< -/S /GoTo -/D [385 0 R /XYZ 115.0 685.28 null] ->> -endobj -168 0 obj -<< -/S /GoTo -/D [387 0 R /XYZ 115.0 725.0 null] ->> -endobj -170 0 obj -<< -/S /GoTo -/D [387 0 R /XYZ 115.0 632.701 null] ->> -endobj -172 0 obj -<< -/S /GoTo -/D [387 0 R /XYZ 115.0 530.402 null] ->> -endobj -174 0 obj -<< -/S /GoTo -/D [387 0 R /XYZ 115.0 418.103 null] ->> -endobj -176 0 obj -<< -/S /GoTo -/D [387 0 R /XYZ 115.0 316.804 null] ->> -endobj -178 0 obj -<< -/S /GoTo -/D [387 0 R /XYZ 115.0 236.505 null] ->> -endobj -180 0 obj -<< -/S /GoTo -/D [387 0 R /XYZ 115.0 186.066 null] ->> -endobj -182 0 obj -<< -/S /GoTo -/D [387 0 R /XYZ 115.0 135.627 null] ->> -endobj -184 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 725.0 null] ->> -endobj -186 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 684.561 null] ->> -endobj -188 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 604.262 null] ->> -endobj -190 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 523.963 null] ->> -endobj -192 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 357.164 null] ->> -endobj -194 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 276.865 null] ->> -endobj -196 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 196.566 null] ->> -endobj -198 0 obj -<< -/S /GoTo -/D [391 0 R /XYZ 115.0 725.0 null] ->> -endobj -200 0 obj -<< -/S /GoTo -/D [391 0 R /XYZ 115.0 622.701 null] ->> -endobj -202 0 obj -<< -/S /GoTo -/D [391 0 R /XYZ 115.0 510.402 null] ->> -endobj -204 0 obj -<< -/S /GoTo -/D [391 0 R /XYZ 115.0 409.103 null] ->> -endobj -206 0 obj -<< -/S /GoTo -/D [391 0 R /XYZ 115.0 354.778 null] ->> -endobj -208 0 obj -<< -/S /GoTo -/D [395 0 R /XYZ 115.0 270.96 null] ->> -endobj -210 0 obj -<< -/S /GoTo -/D [413 0 R /XYZ 115.0 725.0 null] ->> -endobj -212 0 obj -<< -/S /GoTo -/D [413 0 R /XYZ 115.0 601.009 null] ->> -endobj -214 0 obj -<< -/S /GoTo -/D [413 0 R /XYZ 115.0 343.684 null] ->> -endobj -216 0 obj -<< -/S /GoTo -/D [413 0 R /XYZ 115.0 278.359 null] ->> -endobj -218 0 obj -<< -/S /GoTo -/D [413 0 R /XYZ 115.0 213.034 null] ->> -endobj -220 0 obj -<< -/S /GoTo -/D [415 0 R /XYZ 115.0 714.0 null] ->> -endobj -222 0 obj -<< -/S /GoTo -/D [415 0 R /XYZ 115.0 626.675 null] ->> -endobj -224 0 obj -<< -/S /GoTo -/D [415 0 R /XYZ 115.0 490.91 null] ->> -endobj -226 0 obj -<< -/S /GoTo -/D [415 0 R /XYZ 115.0 276.125 null] ->> -endobj -228 0 obj -<< -/S /GoTo -/D [415 0 R /XYZ 115.0 188.8 null] ->> -endobj -230 0 obj -<< -/S /GoTo -/D [417 0 R /XYZ 115.0 512.0 null] ->> -endobj -232 0 obj -<< -/S /GoTo -/D [419 0 R /XYZ 115.0 331.24 null] ->> -endobj -234 0 obj -<< -/S /GoTo -/D [419 0 R /XYZ 115.0 171.055 null] ->> -endobj -236 0 obj -<< -/S /GoTo -/D [421 0 R /XYZ 115.0 143.206 null] ->> -endobj -238 0 obj -<< -/S /GoTo -/D [423 0 R /XYZ 115.0 481.68 null] ->> -endobj -243 0 obj -<< -/S /GoTo -/D [427 0 R /XYZ 115.0 616.26 null] ->> -endobj -245 0 obj -<< -/S /GoTo -/D [429 0 R /XYZ 115.0 383.52 null] ->> -endobj -247 0 obj -<< -/S /GoTo -/D [431 0 R /XYZ 115.0 674.14 null] ->> -endobj -249 0 obj -<< -/S /GoTo -/D [431 0 R /XYZ 115.0 556.955 null] ->> -endobj -251 0 obj -<< -/S /GoTo -/D [431 0 R /XYZ 115.0 307.985 null] ->> -endobj -253 0 obj -<< -/S /GoTo -/D [435 0 R /XYZ 115.0 725.0 null] ->> -endobj -255 0 obj -<< -/S /GoTo -/D [435 0 R /XYZ 115.0 687.009 null] ->> -endobj -257 0 obj -<< -/S /GoTo -/D [449 0 R /XYZ 115.0 493.0 null] ->> -endobj -259 0 obj -<< -/S /GoTo -/D [453 0 R /XYZ 115.0 460.14 null] ->> -endobj -261 0 obj -<< -/S /GoTo -/D [457 0 R /XYZ 115.0 293.28 null] ->> -endobj -263 0 obj -<< -/S /GoTo -/D [489 0 R /XYZ 115.0 400.14 null] ->> -endobj -265 0 obj -<< -/S /GoTo -/D [495 0 R /XYZ 115.0 534.14 null] ->> -endobj -267 0 obj -<< -/S /GoTo -/D [517 0 R /XYZ 115.0 725.0 null] ->> -endobj -269 0 obj -<< -/S /GoTo -/D [517 0 R /XYZ 115.0 195.235 null] ->> -endobj -271 0 obj -<< -/S /GoTo -/D [525 0 R /XYZ 115.0 556.14 null] ->> -endobj -273 0 obj -<< -/S /GoTo -/D [525 0 R /XYZ 115.0 141.095 null] ->> -endobj -275 0 obj -<< -/S /GoTo -/D [531 0 R /XYZ 67.0 725.0 null] ->> -endobj -290 0 obj -<< -/S /GoTo -/D [373 0 R /XYZ 115.0 549.795 null] ->> -endobj -293 0 obj -<< -/S /GoTo -/D [429 0 R /XYZ 115.0 350.195 null] ->> -endobj -295 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 425.175 null] ->> -endobj -297 0 obj -<< -/S /GoTo -/D [342 0 R /XYZ 115.0 495.19 null] ->> -endobj -299 0 obj -<< -/S /GoTo -/D [287 0 R /XYZ 115.0 264.48 null] ->> -endobj -316 0 obj -<< -/S /GoTo -/D [375 0 R /XYZ 115.0 680.675 null] ->> -endobj -322 0 obj -<< -/S /GoTo -/D [337 0 R /XYZ 115.0 701.675 null] ->> -endobj -333 0 obj -<< -/S /GoTo -/D [383 0 R /XYZ 115.0 368.056 null] ->> -endobj -335 0 obj -<< -/S /GoTo -/D [385 0 R /XYZ 115.0 651.955 null] ->> -endobj -340 0 obj -<< -/S /GoTo -/D [326 0 R /XYZ 115.0 108.683 null] ->> -endobj -345 0 obj -<< -/S /GoTo -/D [391 0 R /XYZ 115.0 375.778 null] ->> -endobj -542 0 obj -<< - /First 544 0 R - /Last 746 0 R ->> endobj -543 0 obj -<< -/S /GoTo -/D [10 0 R /XYZ 115.0 725.0 null] ->> -endobj -545 0 obj -<< -/S /GoTo -/D [12 0 R /XYZ 115.0 715.0 null] ->> -endobj -576 0 obj -<< -/S /GoTo -/D [303 0 R /XYZ 115.0 345.057 null] ->> -endobj -578 0 obj -<< -/S /GoTo -/D [303 0 R /XYZ 115.0 286.861 null] ->> -endobj -580 0 obj -<< -/S /GoTo -/D [305 0 R /XYZ 115.0 725.0 null] ->> -endobj -582 0 obj -<< -/S /GoTo -/D [305 0 R /XYZ 115.0 499.904 null] ->> -endobj -584 0 obj -<< -/S /GoTo -/D [305 0 R /XYZ 115.0 303.108 null] ->> -endobj -587 0 obj -<< -/S /GoTo -/D [307 0 R /XYZ 115.0 705.561 null] ->> -endobj -589 0 obj -<< -/S /GoTo -/D [307 0 R /XYZ 115.0 470.465 null] ->> -endobj -606 0 obj -<< -/S /GoTo -/D [319 0 R /XYZ 115.0 582.841 null] ->> -endobj -608 0 obj -<< -/S /GoTo -/D [319 0 R /XYZ 115.0 505.785 null] ->> -endobj -610 0 obj -<< -/S /GoTo -/D [319 0 R /XYZ 115.0 264.849 null] ->> -endobj -612 0 obj -<< -/S /GoTo -/D [319 0 R /XYZ 115.0 155.793 null] ->> -endobj -614 0 obj -<< -/S /GoTo -/D [324 0 R /XYZ 115.0 704.0 null] ->> -endobj -616 0 obj -<< -/S /GoTo -/D [324 0 R /XYZ 115.0 522.364 null] ->> -endobj -618 0 obj -<< -/S /GoTo -/D [324 0 R /XYZ 115.0 316.848 null] ->> -endobj -620 0 obj -<< -/S /GoTo -/D [324 0 R /XYZ 115.0 228.792 null] ->> -endobj -622 0 obj -<< -/S /GoTo -/D [326 0 R /XYZ 115.0 725.0 null] ->> -endobj -624 0 obj -<< -/S /GoTo -/D [326 0 R /XYZ 115.0 538.204 null] ->> -endobj -626 0 obj -<< -/S /GoTo -/D [326 0 R /XYZ 115.0 398.568 null] ->> -endobj -629 0 obj -<< -/S /GoTo -/D [328 0 R /XYZ 115.0 122.48 null] ->> -endobj -640 0 obj -<< -/S /GoTo -/D [347 0 R /XYZ 115.0 277.9 null] ->> -endobj -642 0 obj -<< -/S /GoTo -/D [349 0 R /XYZ 115.0 714.0 null] ->> -endobj -651 0 obj -<< -/S /GoTo -/D [357 0 R /XYZ 115.0 653.42 null] ->> -endobj -653 0 obj -<< -/S /GoTo -/D [357 0 R /XYZ 115.0 439.49 null] ->> -endobj -666 0 obj -<< -/S /GoTo -/D [383 0 R /XYZ 115.0 653.42 null] ->> -endobj -691 0 obj -<< -/S /GoTo -/D [395 0 R /XYZ 115.0 209.521 null] ->> -endobj -693 0 obj -<< -/S /GoTo -/D [397 0 R /XYZ 115.0 609.0 null] ->> -endobj -695 0 obj -<< -/S /GoTo -/D [397 0 R /XYZ 115.0 372.804 null] ->> -endobj -697 0 obj -<< -/S /GoTo -/D [397 0 R /XYZ 115.0 178.608 null] ->> -endobj -699 0 obj -<< -/S /GoTo -/D [399 0 R /XYZ 115.0 365.0 null] ->> -endobj -701 0 obj -<< -/S /GoTo -/D [401 0 R /XYZ 115.0 504.0 null] ->> -endobj -703 0 obj -<< -/S /GoTo -/D [405 0 R /XYZ 115.0 542.0 null] ->> -endobj -705 0 obj -<< -/S /GoTo -/D [407 0 R /XYZ 115.0 422.94 null] ->> -endobj -707 0 obj -<< -/S /GoTo -/D [409 0 R /XYZ 115.0 523.0 null] ->> -endobj -709 0 obj -<< -/S /GoTo -/D [409 0 R /XYZ 115.0 222.804 null] ->> -endobj -711 0 obj -<< -/S /GoTo -/D [411 0 R /XYZ 115.0 714.0 null] ->> -endobj -713 0 obj -<< -/S /GoTo -/D [411 0 R /XYZ 115.0 360.804 null] ->> -endobj -xref -0 755 -0000000000 65535 f -0000250925 00000 n -0000251917 00000 n -0000252010 00000 n -0000000015 00000 n -0000000071 00000 n -0000000405 00000 n -0000000511 00000 n -0000002005 00000 n -0000002111 00000 n -0000002272 00000 n -0000002379 00000 n -0000004267 00000 n -0000004390 00000 n -0000004791 00000 n -0000252176 00000 n -0000004927 00000 n -0000252242 00000 n -0000005063 00000 n -0000252308 00000 n -0000005199 00000 n -0000252376 00000 n -0000005334 00000 n -0000252444 00000 n -0000005469 00000 n -0000252512 00000 n -0000005605 00000 n -0000252580 00000 n -0000005741 00000 n -0000252648 00000 n -0000005877 00000 n -0000252716 00000 n -0000006013 00000 n -0000252783 00000 n -0000006148 00000 n -0000252849 00000 n -0000006284 00000 n -0000252917 00000 n -0000006420 00000 n -0000252985 00000 n -0000006556 00000 n -0000253053 00000 n -0000006692 00000 n -0000253119 00000 n -0000006828 00000 n -0000253187 00000 n -0000006964 00000 n -0000253255 00000 n -0000007100 00000 n -0000253323 00000 n -0000007236 00000 n -0000253391 00000 n -0000007372 00000 n -0000253459 00000 n -0000007508 00000 n -0000253527 00000 n -0000007644 00000 n -0000253593 00000 n -0000007780 00000 n -0000253661 00000 n -0000007916 00000 n -0000253729 00000 n -0000008052 00000 n -0000253797 00000 n -0000008188 00000 n -0000253865 00000 n -0000008324 00000 n -0000253933 00000 n -0000008460 00000 n -0000254000 00000 n -0000008596 00000 n -0000254068 00000 n -0000008732 00000 n -0000254136 00000 n -0000008867 00000 n -0000254202 00000 n -0000009003 00000 n -0000254270 00000 n -0000009139 00000 n -0000254337 00000 n -0000009275 00000 n -0000254403 00000 n -0000009410 00000 n -0000254471 00000 n -0000009545 00000 n -0000254539 00000 n -0000009681 00000 n -0000254607 00000 n -0000009816 00000 n -0000254675 00000 n -0000009952 00000 n -0000254741 00000 n -0000010088 00000 n -0000254809 00000 n -0000010224 00000 n -0000254877 00000 n -0000010360 00000 n -0000254945 00000 n -0000010495 00000 n -0000255013 00000 n -0000010631 00000 n -0000255081 00000 n -0000010768 00000 n -0000255149 00000 n -0000010906 00000 n -0000255217 00000 n -0000011044 00000 n -0000255286 00000 n -0000011182 00000 n -0000255354 00000 n -0000011320 00000 n -0000255423 00000 n -0000011458 00000 n -0000255490 00000 n -0000011596 00000 n -0000255559 00000 n -0000011733 00000 n -0000255628 00000 n -0000011869 00000 n -0000255697 00000 n -0000012005 00000 n -0000014141 00000 n -0000014267 00000 n -0000014752 00000 n -0000255765 00000 n -0000014886 00000 n -0000255834 00000 n -0000015020 00000 n -0000255902 00000 n -0000015154 00000 n -0000255971 00000 n -0000015288 00000 n -0000256040 00000 n -0000015422 00000 n -0000256109 00000 n -0000015556 00000 n -0000256178 00000 n -0000015690 00000 n -0000256246 00000 n -0000015823 00000 n -0000256315 00000 n -0000015956 00000 n -0000256384 00000 n -0000016090 00000 n -0000256452 00000 n -0000016224 00000 n -0000256521 00000 n -0000016358 00000 n -0000256588 00000 n -0000016492 00000 n -0000256656 00000 n -0000016626 00000 n -0000256723 00000 n -0000016760 00000 n -0000256792 00000 n -0000016894 00000 n -0000256861 00000 n -0000017028 00000 n -0000256929 00000 n -0000017162 00000 n -0000256998 00000 n -0000017296 00000 n -0000257065 00000 n -0000017430 00000 n -0000257132 00000 n -0000017564 00000 n -0000257201 00000 n -0000017698 00000 n -0000257269 00000 n -0000017832 00000 n -0000257336 00000 n -0000017966 00000 n -0000257405 00000 n -0000018100 00000 n -0000257474 00000 n -0000018234 00000 n -0000257543 00000 n -0000018368 00000 n -0000257612 00000 n -0000018502 00000 n -0000257681 00000 n -0000018636 00000 n -0000257750 00000 n -0000018770 00000 n -0000257819 00000 n -0000018904 00000 n -0000257886 00000 n -0000019038 00000 n -0000257955 00000 n -0000019172 00000 n -0000258024 00000 n -0000019306 00000 n -0000258093 00000 n -0000019440 00000 n -0000258162 00000 n -0000019574 00000 n -0000258231 00000 n -0000019707 00000 n -0000258300 00000 n -0000019841 00000 n -0000258367 00000 n -0000019975 00000 n -0000258436 00000 n -0000020109 00000 n -0000258505 00000 n -0000020243 00000 n -0000258574 00000 n -0000020377 00000 n -0000258643 00000 n -0000020510 00000 n -0000258711 00000 n -0000020644 00000 n -0000258778 00000 n -0000020778 00000 n -0000258847 00000 n -0000020912 00000 n -0000258916 00000 n -0000021046 00000 n -0000258985 00000 n -0000021180 00000 n -0000259054 00000 n -0000021314 00000 n -0000259121 00000 n -0000021448 00000 n -0000259190 00000 n -0000021582 00000 n -0000259258 00000 n -0000021716 00000 n -0000259327 00000 n -0000021850 00000 n -0000259394 00000 n -0000021983 00000 n -0000259461 00000 n -0000022117 00000 n -0000259529 00000 n -0000022251 00000 n -0000259598 00000 n -0000022384 00000 n -0000259667 00000 n -0000022516 00000 n -0000023516 00000 n -0000023642 00000 n -0000023799 00000 n -0000259735 00000 n -0000023933 00000 n -0000259803 00000 n -0000024067 00000 n -0000259871 00000 n -0000024201 00000 n -0000259939 00000 n -0000024335 00000 n -0000260008 00000 n -0000024469 00000 n -0000260077 00000 n -0000024603 00000 n -0000260144 00000 n -0000024737 00000 n -0000260213 00000 n -0000024871 00000 n -0000260280 00000 n -0000025004 00000 n -0000260348 00000 n -0000025138 00000 n -0000260416 00000 n -0000025272 00000 n -0000260484 00000 n -0000025406 00000 n -0000260552 00000 n -0000025540 00000 n -0000260619 00000 n -0000025674 00000 n -0000260688 00000 n -0000025808 00000 n -0000260756 00000 n -0000025942 00000 n -0000260825 00000 n -0000026076 00000 n -0000026895 00000 n -0000027005 00000 n -0000028641 00000 n -0000028751 00000 n -0000030470 00000 n -0000030580 00000 n -0000032510 00000 n -0000032620 00000 n -0000034220 00000 n -0000034330 00000 n -0000036815 00000 n -0000036941 00000 n -0000037010 00000 n -0000260891 00000 n -0000037149 00000 n -0000037287 00000 n -0000260960 00000 n -0000037426 00000 n -0000261029 00000 n -0000037565 00000 n -0000261098 00000 n -0000037706 00000 n -0000261166 00000 n -0000037845 00000 n -0000039217 00000 n -0000039327 00000 n -0000041203 00000 n -0000041313 00000 n -0000042817 00000 n -0000042927 00000 n -0000044392 00000 n -0000044502 00000 n -0000045896 00000 n -0000046022 00000 n -0000046051 00000 n -0000046189 00000 n -0000047539 00000 n -0000047665 00000 n -0000047702 00000 n -0000261234 00000 n -0000047841 00000 n -0000047980 00000 n -0000049761 00000 n -0000049887 00000 n -0000049916 00000 n -0000261303 00000 n -0000050055 00000 n -0000051492 00000 n -0000051602 00000 n -0000053339 00000 n -0000053449 00000 n -0000054549 00000 n -0000054659 00000 n -0000056169 00000 n -0000056295 00000 n -0000056332 00000 n -0000261372 00000 n -0000056471 00000 n -0000261441 00000 n -0000056610 00000 n -0000058176 00000 n -0000058302 00000 n -0000058331 00000 n -0000261510 00000 n -0000058469 00000 n -0000059833 00000 n -0000059959 00000 n -0000059988 00000 n -0000261579 00000 n -0000060126 00000 n -0000061261 00000 n -0000061371 00000 n -0000063340 00000 n -0000063450 00000 n -0000065479 00000 n -0000065589 00000 n -0000067468 00000 n -0000067578 00000 n -0000069032 00000 n -0000069142 00000 n -0000071429 00000 n -0000071555 00000 n -0000071584 00000 n -0000071725 00000 n -0000073751 00000 n -0000073861 00000 n -0000075876 00000 n -0000076002 00000 n -0000076031 00000 n -0000076167 00000 n -0000077857 00000 n -0000077967 00000 n -0000079647 00000 n -0000079773 00000 n -0000079802 00000 n -0000079943 00000 n -0000082273 00000 n -0000082383 00000 n -0000083979 00000 n -0000084089 00000 n -0000086778 00000 n -0000086888 00000 n -0000088890 00000 n -0000089000 00000 n -0000091045 00000 n -0000091155 00000 n -0000092717 00000 n -0000092827 00000 n -0000094422 00000 n -0000094532 00000 n -0000095928 00000 n -0000096038 00000 n -0000097222 00000 n -0000097332 00000 n -0000098993 00000 n -0000099103 00000 n -0000100464 00000 n -0000100574 00000 n -0000102120 00000 n -0000102230 00000 n -0000103156 00000 n -0000103266 00000 n -0000104935 00000 n -0000105045 00000 n -0000106439 00000 n -0000106549 00000 n -0000108344 00000 n -0000108454 00000 n -0000110485 00000 n -0000110595 00000 n -0000112455 00000 n -0000112565 00000 n -0000114067 00000 n -0000114177 00000 n -0000115382 00000 n -0000115492 00000 n -0000118471 00000 n -0000118581 00000 n -0000120818 00000 n -0000120928 00000 n -0000122814 00000 n -0000122924 00000 n -0000124841 00000 n -0000124951 00000 n -0000126907 00000 n -0000127017 00000 n -0000129106 00000 n -0000129216 00000 n -0000130641 00000 n -0000130751 00000 n -0000132117 00000 n -0000132227 00000 n -0000134477 00000 n -0000134587 00000 n -0000136816 00000 n -0000136926 00000 n -0000138401 00000 n -0000138511 00000 n -0000139647 00000 n -0000139757 00000 n -0000140851 00000 n -0000140961 00000 n -0000142397 00000 n -0000142507 00000 n -0000143829 00000 n -0000143939 00000 n -0000145306 00000 n -0000145416 00000 n -0000147137 00000 n -0000147247 00000 n -0000148696 00000 n -0000148806 00000 n -0000150776 00000 n -0000150886 00000 n -0000152616 00000 n -0000152726 00000 n -0000154197 00000 n -0000154307 00000 n -0000155381 00000 n -0000155491 00000 n -0000157043 00000 n -0000157153 00000 n -0000158550 00000 n -0000158660 00000 n -0000160027 00000 n -0000160137 00000 n -0000161498 00000 n -0000161608 00000 n -0000163228 00000 n -0000163338 00000 n -0000164830 00000 n -0000164940 00000 n -0000166023 00000 n -0000166133 00000 n -0000167530 00000 n -0000167640 00000 n -0000169026 00000 n -0000169136 00000 n -0000170483 00000 n -0000170593 00000 n -0000171546 00000 n -0000171656 00000 n -0000173020 00000 n -0000173130 00000 n -0000174597 00000 n -0000174707 00000 n -0000177069 00000 n -0000177179 00000 n -0000179294 00000 n -0000179404 00000 n -0000180799 00000 n -0000180909 00000 n -0000182550 00000 n -0000182660 00000 n -0000184151 00000 n -0000184261 00000 n -0000185690 00000 n -0000185800 00000 n -0000187229 00000 n -0000187339 00000 n -0000188422 00000 n -0000188532 00000 n -0000189748 00000 n -0000189858 00000 n -0000191317 00000 n -0000191427 00000 n -0000192834 00000 n -0000192944 00000 n -0000194324 00000 n -0000194434 00000 n -0000195926 00000 n -0000196036 00000 n -0000197993 00000 n -0000198103 00000 n -0000199652 00000 n -0000199762 00000 n -0000201268 00000 n -0000201378 00000 n -0000202668 00000 n -0000202778 00000 n -0000204375 00000 n -0000204485 00000 n -0000205766 00000 n -0000205876 00000 n -0000207038 00000 n -0000207148 00000 n -0000208373 00000 n -0000208483 00000 n -0000209835 00000 n -0000209945 00000 n -0000211757 00000 n -0000211867 00000 n -0000213121 00000 n -0000213231 00000 n -0000215012 00000 n -0000215138 00000 n -0000215159 00000 n -0000216901 00000 n -0000217027 00000 n -0000217048 00000 n -0000218823 00000 n -0000218949 00000 n -0000218970 00000 n -0000220038 00000 n -0000220164 00000 n -0000261648 00000 n -0000261702 00000 n -0000220185 00000 n -0000261768 00000 n -0000220439 00000 n -0000220640 00000 n -0000220876 00000 n -0000221155 00000 n -0000221383 00000 n -0000221534 00000 n -0000221682 00000 n -0000221836 00000 n -0000222007 00000 n -0000222155 00000 n -0000222288 00000 n -0000222554 00000 n -0000222681 00000 n -0000222811 00000 n -0000222947 00000 n -0000223071 00000 n -0000223195 00000 n -0000223325 00000 n -0000223455 00000 n -0000223603 00000 n -0000223733 00000 n -0000223916 00000 n -0000224070 00000 n -0000224218 00000 n -0000224354 00000 n -0000224528 00000 n -0000224771 00000 n -0000224895 00000 n -0000225098 00000 n -0000225213 00000 n -0000261834 00000 n -0000225491 00000 n -0000261903 00000 n -0000225659 00000 n -0000261972 00000 n -0000225801 00000 n -0000262039 00000 n -0000225932 00000 n -0000262108 00000 n -0000226080 00000 n -0000226202 00000 n -0000262177 00000 n -0000226374 00000 n -0000262246 00000 n -0000226478 00000 n -0000226606 00000 n -0000226736 00000 n -0000226884 00000 n -0000227020 00000 n -0000227150 00000 n -0000227410 00000 n -0000227629 00000 n -0000227830 00000 n -0000227983 00000 n -0000228113 00000 n -0000228243 00000 n -0000228367 00000 n -0000228571 00000 n -0000228780 00000 n -0000229023 00000 n -0000262315 00000 n -0000229221 00000 n -0000262384 00000 n -0000229370 00000 n -0000262453 00000 n -0000229531 00000 n -0000262522 00000 n -0000229692 00000 n -0000262591 00000 n -0000229874 00000 n -0000262658 00000 n -0000230017 00000 n -0000262727 00000 n -0000230183 00000 n -0000262796 00000 n -0000230397 00000 n -0000262865 00000 n -0000230587 00000 n -0000262932 00000 n -0000230771 00000 n -0000263001 00000 n -0000230973 00000 n -0000231178 00000 n -0000263070 00000 n -0000231422 00000 n -0000231622 00000 n -0000231753 00000 n -0000231940 00000 n -0000232119 00000 n -0000232277 00000 n -0000232455 00000 n -0000232618 00000 n -0000232755 00000 n -0000232952 00000 n -0000263138 00000 n -0000233199 00000 n -0000263205 00000 n -0000233392 00000 n -0000233731 00000 n -0000233915 00000 n -0000234227 00000 n -0000234435 00000 n -0000234619 00000 n -0000234788 00000 n -0000234973 00000 n -0000263272 00000 n -0000235202 00000 n -0000263340 00000 n -0000235383 00000 n -0000235564 00000 n -0000235754 00000 n -0000235921 00000 n -0000236073 00000 n -0000236234 00000 n -0000236518 00000 n -0000236658 00000 n -0000236831 00000 n -0000237036 00000 n -0000237221 00000 n -0000237369 00000 n -0000263408 00000 n -0000237601 00000 n -0000237879 00000 n -0000238040 00000 n -0000238250 00000 n -0000238360 00000 n -0000238485 00000 n -0000238634 00000 n -0000238783 00000 n -0000238908 00000 n -0000239033 00000 n -0000239158 00000 n -0000239283 00000 n -0000239426 00000 n -0000239551 00000 n -0000239694 00000 n -0000239819 00000 n -0000239950 00000 n -0000240093 00000 n -0000240230 00000 n -0000240385 00000 n -0000240546 00000 n -0000240692 00000 n -0000240927 00000 n -0000241096 00000 n -0000263476 00000 n -0000241326 00000 n -0000263545 00000 n -0000241454 00000 n -0000263612 00000 n -0000241585 00000 n -0000263681 00000 n -0000241710 00000 n -0000263750 00000 n -0000241847 00000 n -0000263817 00000 n -0000241978 00000 n -0000263884 00000 n -0000242109 00000 n -0000263951 00000 n -0000242258 00000 n -0000264019 00000 n -0000242389 00000 n -0000264086 00000 n -0000242573 00000 n -0000264155 00000 n -0000242728 00000 n -0000264222 00000 n -0000242865 00000 n -0000243034 00000 n -0000243349 00000 n -0000243536 00000 n -0000243679 00000 n -0000243972 00000 n -0000244180 00000 n -0000244463 00000 n -0000244665 00000 n -0000244891 00000 n -0000245087 00000 n -0000245250 00000 n -0000245443 00000 n -0000245674 00000 n -0000245881 00000 n -0000246088 00000 n -0000246300 00000 n -0000246578 00000 n -0000246827 00000 n -0000247034 00000 n -0000247498 00000 n -0000247673 00000 n -0000247958 00000 n -0000248133 00000 n -0000248282 00000 n -0000248478 00000 n -0000248744 00000 n -0000248875 00000 n -0000249095 00000 n -0000249327 00000 n -0000249540 00000 n -0000249742 00000 n -0000249917 00000 n -0000250033 00000 n -0000250146 00000 n -0000250255 00000 n -0000250371 00000 n -0000250482 00000 n -0000250596 00000 n -0000250703 00000 n -0000250815 00000 n -trailer -<< -/Size 755 -/Root 2 0 R -/Info 4 0 R ->> -startxref -264291 -%%EOF