You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by ts...@apache.org on 2005/03/28 18:50:13 UTC

svn commit: r159255 - lenya/site/1_4/concepts/lenya-sitemaps.html lenya/site/1_4/concepts/lenya-sitemaps.pdf

Author: tschlabach
Date: Mon Mar 28 08:50:13 2005
New Revision: 159255

URL: http://svn.apache.org/viewcvs?view=rev&rev=159255
Log:
Finishing up the Lenya Sitemap Overview document (for now)

Added:
    lenya/site/1_4/concepts/lenya-sitemaps.html
    lenya/site/1_4/concepts/lenya-sitemaps.pdf

Added: lenya/site/1_4/concepts/lenya-sitemaps.html
URL: http://svn.apache.org/viewcvs/lenya/site/1_4/concepts/lenya-sitemaps.html?view=auto&rev=159255
==============================================================================
--- lenya/site/1_4/concepts/lenya-sitemaps.html (added)
+++ lenya/site/1_4/concepts/lenya-sitemaps.html Mon Mar 28 08:50:13 2005
@@ -0,0 +1,435 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Overview of the Lenya Sitemaps</title>
+<link type="text/css" href="../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../skin/profile.css" rel="stylesheet">
+<script src="../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://lenya.apache.org/">lenya</a><script src="../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://lenya.apache.org"><img class="logoImage" alt="Lenya" src="../../images/apache-lenya-light.png" title="
+  	Apache Lenya is a Java-based Open-Source Content Management System.
+  	It is based on open standards such as XML and XSLT.
+  	One of its core components is Cocoon from the Apache Software Foundation.
+  "></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href=""></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="lenya.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with :');" value="Search the site with :" size="25" name="q" id="query" type="text">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../../index.html">Project</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../1_4/index.html">Version 1.4</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../1_2_x/index.html">Version 1.2</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../community/index.html">Community</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', '../../skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('../../skin/images/chapter_open.gif');">Version 1.4</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../1_4/index.html">Index</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.2', '../../skin/')" id="menu_1.1.2Title" class="menutitle">Installation</div>
+<div id="menu_1.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_4/installation/index.html">Download</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_4/installation/subversion.html">Subversion Access</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_4/installation/source_version.html">Installation Instructions</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.1.3', '../../skin/')" id="menu_selected_1.1.3Title" class="menutitle" style="background-image: url('../../skin/images/chapter_open.gif');">Concepts</div>
+<div id="menu_selected_1.1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menupage">
+<div class="menupagetitle">Overview of Lenya Sitemaps</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_4/concepts/usecase-framework/index.html">Usecase Framework</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_4/concepts/publication-templating/index.html">Publication Templating</a>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../../apidocs/1.4/index.html">1.4 API (Javadoc)</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="lenya-sitemaps.pdf"><img alt="PDF -icon" src="../../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Overview of the Lenya Sitemaps</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Introduction">Introduction</a>
+</li>
+<li>
+<a href="#Authoring+Area%2C+Live+Area%2C+CMS+GUI+and+several+Publications">Authoring Area, Live Area, CMS GUI and several Publications</a>
+</li>
+<li>
+<a href="#The+Lenya+URI+space">The Lenya URI space</a>
+<ul class="minitoc">
+<li>
+<a href="#Part+1%3A+The+publication+ID">Part 1: The publication ID</a>
+</li>
+<li>
+<a href="#Part+2%3A+The+area">Part 2: The area</a>
+</li>
+<li>
+<a href="#Part+3%3A+The+document+URL">Part 3: The document URL</a>
+</li>
+<li>
+<a href="#Part+4%3A+The+usecase+and+workflow+parameters+%28optional%29">Part 4: The usecase and workflow parameters (optional)</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+
+		
+<a name="N1000D"></a><a name="Introduction"></a>
+<h2 class="underlined_10">Introduction</h2>
+<div class="section">
+<p>Lenya is based on Apache Cocoon. To understand how Lenya works, you should have at least some basic
+			Cocoon knowlege. Make sure you know what a Cocoon sitemap is and you understand matchers, generators,
+			transformers and serializers at least.</p>
+<p>Lenya uses some more Cocoon components, but if you can spot the matchers, generators, transformers and
+			serizalizers, you will be able to get a good first overview of the Lenya sitemaps.</p>
+<p>But Lenya is much more than just a collection of sitemaps and some XSLT stylesheets. Lenya builds on 
+			the Cocoon foundation and extends the Cocoon framework with custom</p>
+<ul>
+			
+<li>Matchers</li>
+			
+<li>Actions</li>
+			
+</ul>
+<p>Beyond these components, Lenya also defines two proprietary schemes:</p>
+<ul>
+			
+<li>lenya:</li>
+			
+<li>fallback:</li>
+			
+</ul>
+<p>These schemes are linked to a custom input module that comes with Lenya, the</p>
+<ul>
+			
+<li>PageEnvelope input module</li>
+			
+</ul>
+</div>
+			
+			
+<a name="N1003B"></a><a name="Authoring+Area%2C+Live+Area%2C+CMS+GUI+and+several+Publications"></a>
+<h2 class="underlined_10">Authoring Area, Live Area, CMS GUI and several Publications</h2>
+<div class="section">
+<p>A Lenya installation aggregates a number of different parts into
+				a single Cocoon application. By default, one instance of Lenya can be used
+				to edit and render an arbitrary number of publications which are entirely
+				independent of each other.</p>
+<p>There are different concepts of what a publication is, but for now,
+				let's assume each publication represents an independent website.</p>
+<p>Inside each publication, there are</p>
+<ul>
+				
+<li>The authoring area</li>
+				
+<li>The live area</li>
+				
+<li>The CMS GUI components (Drop Down Menu, CMS screens, editos, ...)</li>
+				
+</ul>
+<p>The URI space is used to organize all this.</p>
+</div>
+			
+			
+<a name="N1005A"></a><a name="The+Lenya+URI+space"></a>
+<h2 class="underlined_10">The Lenya URI space</h2>
+<div class="section">
+<p>If you run Lenya in built-in Jetty servlet container, the Lenya webapp
+				is the root application of the container. Therefore http://localhost:8888/ will
+				already hit the Lenya root sitemap.</p>
+<p>In case you deployed lenya into a non-root context of any servlet container, the first
+				part of the URI will be handled by the container itself to match the responsible webapp.</p>
+<p>If you deployed lenya.war into Tomcat for example, you will most likely have to use
+				http://localhost:8080/lenya/ to get into the Lenya root sitemap.</p>
+<p>For the rest of this document, we pretend Lenya is the root webapp in your container
+				as this is the case with the built-in Jetty. Let's examine , what Lenya does in order to 
+				render the document you see when you enter this URL:
+				<span class="codefrag">http://localhost:8888/default/authoring/tutorial/new_doctype.html</span>
+</p>
+<a name="N1006E"></a><a name="Part+1%3A+The+publication+ID"></a>
+<h3 class="underlined_5">Part 1: The publication ID</h3>
+<p>The first part is the publication id <span class="codefrag">default</span> which selects the <em>Default
+					Publication</em>. There is a difference between the publication ID and the name of the publication.
+					The ID should be compatible to both the filesystem implementation as well as the URI encoding
+					because it will become both the name of the publication directory and a part of the URL. Therefore
+					it is good practice to stick to 7-bit ASCII with no spaces or special characters.</p>
+<p>In contrast, the display name of the publication (which will show up in the list of publications
+					on the main Lenya entry screen) can be longer and it can contain spaces as well as any
+					Unicode characters.</p>
+<p>The publication ID is used to mount the publication specific sitemap.xmap from
+					<span class="codefrag">$LENYA_HOME/pubs/{publication-id}</span>. The <span class="codefrag">map:mount</span> will strip the publication ID
+					from the URL, so the publication sitemap will just see the 
+					<span class="codefrag">authoring/tutorial/new_doctype.html</span> portion. Nevertheless a publication has its ID
+					available through the page envelope. More on that later as we're not yet really inside the publication's
+					content.</p>
+<a name="N1008D"></a><a name="Part+2%3A+The+area"></a>
+<h3 class="underlined_5">Part 2: The area</h3>
+<p>There are two possible areas.</p>
+<ul>
+					
+<li>Authoring</li>
+					
+<li>Live</li>
+					
+</ul>
+<p>You can think of areas as of modes, as in "live mode" and "authoring mode". Live mode is
+					the view of the publication as it is supposed to be displayed on the website to the site
+					visitor. The authoring mode is used by editors and reviewers to edit the publication's content.</p>
+<p>Technically speaking, the first major difference between the authoring area and the live area is just
+					that in authoring mode the CMS menus are displayed. Following the WYSIWYG principle of Lenya,
+					the publication content is rendered the same way in authoring mode as it would be in live mode.</p>
+<p>Besides displaying the CMS menus or not, there are different copies of the underlying content
+					repository for the authoring and live areas. This allows the editors to edit a working copy
+					without affecting the live site. When a document is published after it was reviewed, it is
+					just beeing copied over to the live repository.</p>
+<p>If you're using the default filesystem repository of Lenya, you will find the two different
+					repositories under <span class="codefrag">$LENYA_HOME/lenya/pubs/content/authoring</span> and 
+					<span class="codefrag">$LENYA_HOME/lenya/pubs/content/live</span>.</p>
+<p>As well as the publication ID the area is also stored in the page envelope. This will make
+					the actual area available to both the sitemap through the page envelope input module as well as
+					to the components in the Java layer of Lenya.</p>
+<p>At this point, Lenya parsed the URL to the point that is knows:</p>
+<ul>
+					
+<li>which publication the request belongs to</li>
+					
+<li>which repository is to be used, authoring or live</li>
+					
+<li>wether to display the CMS menus or not</li>
+					
+</ul>
+<a name="N100C3"></a><a name="CMS+Menus%2C+Usecases+and+CMS+screens"></a>
+<h4>CMS Menus, Usecases and CMS screens</h4>
+<p>Prior to finally turning over to the actual publication content, some remarks
+					on the CMS menus and CMS screens.</p>
+<p>Lenya uses so-called usecases to perform actions. There are usecases such as</p>
+<ul>
+					
+<li>submit (a document)</li>
+					
+<li>publish (a document)</li>
+					
+<li>...</li>
+					
+</ul>
+<p>The CMS menus are nothing but a convenience mechanism for the CMS user to trigger usecases.
+					As an alternative to choosing the "Workflow"-&gt;"Submit" menu option, you could as well append
+					<span class="codefrag">?lenya.usecase=submit</span> to the document URL. As soon as Lenya finds a lenya.usecase
+					request parameter it will branch into the <span class="codefrag">lenya/usecases/usecase.xmap</span> sitemap.</p>
+<p>All usecases start in the Lenya core. The core contains most of the common access control,
+					workflow and editing usecases. A publication can introduce publication specific usecases.</p>
+<p>Some usecases require CMS screens to be displayed. These are rendered through the usecase 
+					sitemap portions as well. That way one could for example introduce a new skin for the CMS
+					screens just by means of the Cocoon sitemap.</p>
+<p>For details on usecases, have a look at the Lenya Usecase Framework.</p>
+<a name="N100EF"></a><a name="Part+3%3A+The+document+URL"></a>
+<h3 class="underlined_5">Part 3: The document URL</h3>
+<p>Now it's the publication sitemap's task to take the document URL portion of the
+					original URL (<span class="codefrag">tutorial/new_doctype.html</span> in our example) and generate and
+					render the content page. This sounds easy, but turns out to be quite complex. This
+					portion is actually the heart and soul of every CMS. This is also where differnt
+					CMS have a lot of differences in terms of features and configurability.</p>
+<p>The easiest way to deal with this would be:</p>
+<ul>
+					
+<li>Choose the appropriate content repository (authoring or live)</li>
+					
+<li>Use the document URL to look for a file with that name and generate it.</li>
+					
+<li>If necessary: Apply an XSLT stylesheet and serialize the result.</li>
+					
+</ul>
+<p>Lenya can do a lot more here, such as:</p>
+<ul>
+					
+<li>Use a publication specific mapper class to map the document URL to a backend
+					repository URL. This will allow you to hide the actual repository structure from
+					the website visitor.</li>
+					
+<li>Apply some intelligence to decide what language version of the document to use.
+					For example, it no specific language version is requested, Lenya will choose the 
+					default language. If there is a specific language requested, Lenya will apply a mapping
+					to built a back-end respository path to query for the requested language and generate this
+					if it is available. If the document is not available in the requested language, Lenya will
+					fall back to the default language again.</li>
+					
+<li>Choose among a selection of different rendering pipelines based on the source document's
+					resource type. A resource type can be XHTML, but also any other XML format such as RSS, 
+					SVG, SlideML or whatever.</li> 
+					
+</ul>
+<p>Most of this logic is implemented in the Java layer. The components are Avalon components
+					which are configured on a per-publication basis. In other words: One could implement and plug
+					in custom versions of these components.</p>
+<p>Only the mapping between input URL and the path used to access the repository in the backend
+					is implemented as an Avalon component in Java. The actual rendering of the document is done
+					by the means of Cocoon sitemaps, thus allowing anyone with Cocoon knowledge to make changes to
+					the rendering pipelines whithout having to write Java code.</p>
+<p>An example of an entirely different mapping between the document URL and the repository
+					is the Lenya Weblog publication that comes as a second sample with the Lenya distribution.</p>
+<a name="N10123"></a><a name="Part+4%3A+The+usecase+and+workflow+parameters+%28optional%29"></a>
+<h3 class="underlined_5">Part 4: The usecase and workflow parameters (optional)</h3>
+<p>Right after the document URL there may be additional paramters, especially</p>
+<ul>
+					
+<li>lenya.usecase and mabye</li>
+					
+<li>lenya.step</li>
+					
+</ul>
+<p>as well as maybe</p>
+<ul>
+					
+<li>wf.event</li>
+					
+</ul>
+<p>For an explaination of the usecase parameters, see the usecase framework.</p>
+<p>For an explaination of the workflow engine, see the workflow engine (coming soon).</p>
+</div>	
+			
+		
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2002-2005 The Apache Software Foundation.</div>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:dev@lenya.apache.org?subject=Feedback%C2%A0for%C2%A01_4/concepts/lenya-sitemaps.html">dev@lenya.apache.org</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: lenya/site/1_4/concepts/lenya-sitemaps.pdf
URL: http://svn.apache.org/viewcvs/lenya/site/1_4/concepts/lenya-sitemaps.pdf?view=auto&rev=159255
==============================================================================
--- lenya/site/1_4/concepts/lenya-sitemaps.pdf (added)
+++ lenya/site/1_4/concepts/lenya-sitemaps.pdf Mon Mar 28 08:50:13 2005
@@ -0,0 +1,399 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 802 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gb!<M9lldX&;KZO$6AN%7b&lJhOM%=\Dp93)P?:9'J/!40lm)o-iZ@3*$ir5I.B7A#.%d$QA9[.FVd"ZmjT@f+qUgr<;qR]!ZM@HUjr6BLHJ6QFaXhf_!f[3K1lf<4H@5enU,b/Ut4Zhhb%D&AF_:13KJ3k'DlSSrd`q=?J#AT['764b<1T[>H\fuVmr1X,I:?t*NCBO8T(Ec!2K703c7)&ToaQmFP(a`D.eIW3)>`#<N@=f,F+4gcpmM1*L`6h+Y=3@N6!+i`$%.S3uJ043DYN[X3rELR#a$pV>+HB=`far2a9ONNU^j?224Y&`lOrVSqtY,A+:7'TdW-$G(K*\de(h_agEoc!MVq<D<G;BTk[K(2Aa+Z3n[hmnpLdB#>J(?NXW-B9*KNfkeFEUI7['\j=U*rOlci[ra`09>k^]LAoRV.H>2Xm0s?e/SO65gOkUH6bN>7djk_=T\d/Y6`7Kq5^I&7OBVRiH_lmg0S<B`[BR[W5eGZEG5c^P@aJ?nYC:D8p-o.35<4USd=dVg,OlFqfNng3pY#_.^l(fKS=8?Um=mg.gd4XO_<*8L/kI8XoltWA!-8)@h;(uHHpt2]ag'2(Tph][_51YFkW!1hI^S=F$Y%)U]8u5(t:?F=>,eG%qI9AX#]Gt:=I(;GYn.!ODJb-)!ZBeoq%Qt<WMA:_rK2dH1o@(6#2nGeNNhB01`iXZlY-$=]"@N0W`+o=B7[n742R#ikZ*=R$j@5cO)%,`dmmOWtgRbHgIahBHN81HX=]ITj>*$Y-0rb4/bEeRQIEN?^n,<BKAnns~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+10 0 R
+12 0 R
+14 0 R
+16 0 R
+18 0 R
+20 0 R
+22 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 631.666 79.328 619.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 9 0 R
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 613.466 325.28 601.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 595.266 124.964 583.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 13 0 R
+/H /I
+>>
+endobj
+14 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 18.0 577.066 159.488 565.066 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 15 0 R
+/H /I
+>>
+endobj
+16 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 18.0 558.866 109.808 546.866 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 17 0 R
+/H /I
+>>
+endobj
+18 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 24.0 540.666 244.976 528.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 19 0 R
+/H /I
+>>
+endobj
+20 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 18.0 522.466 164.156 510.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 21 0 R
+/H /I
+>>
+endobj
+22 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 18.0 504.266 302.432 492.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 23 0 R
+/H /I
+>>
+endobj
+24 0 obj
+<< /Length 2525 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gatm>D3*G]&cTMZ_V^d^(Kp3mpKKPd'RSK*l,<Z1>RgohNGWfP;C/=;I)!Cj[4Dbud_"6l!>_O`OYb>-4FDnSh<JVOBebOo+IoPl2rSS"'?rlAO+6]J,0GKca_.[Qm'eoNn94LXcFW=[mY+NDC.hJunTOX'D"S1]PKfis1_6-%?RA(M3)/oCilK,BC-@#P1C_kom%upqIc%AM#NPT3/>X'!R["jW\"Wr#%239XSNMj`M%']h*q`=hpaFm:TQd^'F<^F2fYPf,R01oKW9#'Ohs,5ss#>HAo"\ZA6'%gq?4dB]O5=OC81)lh!fu$jKZ(bK23dq(d'\EfCY\Hb!4>jK+hhRn6`)99>7dHpOk)srR*ZeOp3<cR/Ie^l]`-Bo@g]m_]5/@<m`]H(BOA.?;I(R&3%j=,OTL30DQI&O:VH8u<AFo),KV`rk4eln]K^c8VFc5n=.0:]O4U)fSG5U\Ia-!U88=q^caH^aP;]hCPp1^.qG@@:=1RkZ15TG3Y1aci3">H8PrfnS.h&e'bFL9ob`9^2?`eKu>"[)6-Uj@`B9RbkZL[K,?QW>04*0JUG5t);??at;bptP2[DQ6IW!g*`)VB?\Z*]qdNFad@@6i34S8/Oa=)8Bfh%FJ&%=u/[=QP"a:*SkEP2UR^A1%Joa)Q96pPFd*qbohSVo!at$09n>2+nY2^bbGOU9>TYApH.2f,YhW"VPh(5h!fj0p>EiY"@kXYc.f&1ijes2G,m-#/erQ,SWSM#CZIh(hk&0Y5nao5?Aop9R_/9,RM?>/<Gg:@`(04Zh!Y;Km/alJR@+*p9#&_Bs$u14AmUp.?7\GlTcbjTgZ4WH,OP(0iitlqK<lA7J`oR<F*Qt>o'WdfQ9.AN*k3QIMP.ub6FR2VOr$2N0Y3:3(Us^1i5ogl@!Gk;Uo5L/h*GG51EP69tpPpq<L$8laM60?AD_k,J2NnG0T?9d=V"Ie.eNWS;$BXs)oP^kAWWH`9gUAQ5M3J`fHkMY<f]XKW<mF5[gLQ@V*\q\tg_R1ucW\cn0%%ZhG^ZGD$!Y1g%p15oN=-iiFQED0_2d7G4NZ,08&#>)J)mLfXC&%'&$+!fT*='M(8F;sP@p&1+i%\2RH'$tZrLW<BG-!Fo(Zi(&Z#"\iVBN?2@.(nFB1)(V%S8Wfs71LeF)FB-Ke8$\?l"4Y\FTa#b,5B3<1+ePJtNCdNC#BCmko,!kh>.7JKfFU$/<R<.)B48//Z51ZNi.];*TcRUt.4c:V$1?3ao6p@"f@<NqZq:$:0NU7pajVAhns>P\pV;CA!EncP5B2,FS,lb,7'A?G+39rVE/U;pZ8T#(nl9HQKiJ7/@K01ONRtnZq1rKm*.O1XP"VE5[(_MgQO6"))X++jdL/>PI"1HSXuI>`cnbUTYJac'0Zp9"p[IdJ<*L]RJ"t/Ie$Q33#0=8,a3-/-oAX:e6I/B/FB:*<YAU%R?3J5mpV6Iq^oA.+-#:(p?mfI@d4;t^0iYkrgW74.6GlV&X/U.1XG18:>GO>#eoOI3:7Z4%DUPqa*K7:$=0RehJQO%,=cf7Ag_nSrcKAGuN:3Q#[fuc#;q4DpJT36aMBK:,I0U/o,]!__*n<]REKZ=`n"(SX0Ij9.J0T>\H)0-<Vc!0o*$N9_gU%GbloEn31\!\@a5g?s;dh>8Y>lnJ1QrjE(euef+"%_.@Z?ljT<TH=-a4HtS=2l3HoaO`AM\!F9jLu$32]r!L-3DhcW7G$aMEEV?_CJ@?S\7nJ3V]#iSZe`[=R1-)E;%f=t7c\ZDA>D1hSIW/M+d7P8A<7j47q2m@-23;3?nBq;7KGPS8ZD6nt0#fpf^?kUK`0?5'[N307iNR<9l>I`?gSB3nE:YQ@IfE$RKn53'>WgN6sbf@GqQ?,d1u7[i':>P31(>1;&Z_J*`R$%A-Bm=n%ZX4<os2/RssO3Re!</q.ibRT<h5+KGqJn"]Gf8&lmBB^*4;6h1pbIru0h<0.s[r^":fq%f^"W[MuNgO;Y_9VC-eMi=pZ#GOlq^c[LCT9$'Mat5tl/V,'mQWl[GRB\Fl-^aOY&5QBUilEBeJ4aP4:1R0[g_Lu]jc:-/V7s4e>2WRSHVVA27/u1^R-_^nNptbq!i1?&..Wmf=#4H[\`[s;s!(pOqq'T-<%%[#'0d5m;@ef?jCj]f:*JLi2Ac3'TDb$?L^9]n;21shXkA)'c:4,KG/W<c)db."#i(BIFPde&7iE/\"f)M8JaN@!D@jPNkBH"-dQc.AJ7O*<`X:RL6>]O1KC_ZPuZPA>5aJq4t8Ce'NTm_a%KJ.l.O3PQ/dM/-ZJlT1]?r(XY6CCU4gsTH1T^`LkDWs:Y>],]OP.[UKOM@]ih8LYX+h7?\]Fu:CI07](u*LNs%L:Ot9^G(urnlY^8m5@(*WAqp!s>Gq>%/P$kgcK9sD08]S1#ENtnB'qV!,K-FWt)>RQ)L(n"=MW+L0K5?RJhX8TIdJ#VYaL%mQhr12D]X4CcO$>;]I?kgnkRZNF=$@'H_?0;\.1K(*-Nc1C6e?lS'o]s,#LY45B`~>
+endstream
+endobj
+25 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 24 0 R
+>>
+endobj
+26 0 obj
+<< /Length 2866 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GatU6HZ.Y.'*$j]68/m_!lQoaMP:fXGAqk"lb[Ab>!W^i&&jE0=^.(pQ:jgb%endt8<MUDEgMr80OSS9IE_:AO6+!mea8-"2"ho5Zrg\GUZ\]JaFukR&!'%qk"OUQBT\8Qod\-f</?@F*o2',p%DB/okt#;?HfUiS#%P*nF#hYqg1K]M.35M.Gcgi&Qa90F8V%gK#RRPZsa\t4BKhodD&20+"8FPkY,/LmSgJdVFAd0nHP,i5qK0lb$qeL"L80DQ>=[TXB`ah@YKp-YbtR7NJKK[pDC0.2KG]cAYss8e8e56<+2X.&V*;`gF-M*N!GsBR3$C1&JBYPEmE.3f*462k7bmOjW$"^jUtKDdq=]*ajLp`'er+"W)Q3am+M\3^NUYj(;F9,@c_Y\,.U%9%@ba%oGtDPDfJ\4p]!Wt+VIDd&]<7$&m;)c77G3@C-PgY#X&b':KZcW$30YHFY8l4U"^+LUVdc-K"3[QRJYaVqk(UZrV".T+5btm_<U_YkkH+%qX8F1TXU?PLX)-%k@dJ&YuqD'VLdcM('>e")o5Y&oR5([B3iQiMHj\YL_adp+?ni>cbDXdn5-DHX`$Rj.Df&Z:(J8M_8Pdgp3FWfksU_Oa'mp$^.0V[A[.B.8=sgYZ@F#J^.nFk\!;o0IE%gPOi.?2TD3;Rb=q%56V-B)nL`(<\<nf5M&$9e70^mtUA"jRZRD&@@;O+Tba'sq:+j`QNQhUY1E,e*b@:kVlUN%.Ne*f&.74H!=[B9OJC6B$O&VibH]A:jB5rl<8u,(\\p?9UmMg7M"d]5Ec;ArIB^?\NhY!FIllBX&4!*DV'?^t^hV4&$+#sI=#>Cq^'?iRO*/orgRFC8RYoWD-9I_?E$EKqdk%JQpCcZP;^H(Z&o7@#&`j99n]VY&!onQJD"Cn\692:$A@=-.LfUB#fn:C4Tc<".P,%7_g.E]&;fWQT3[QZf*JY8ptR-3E>HQC^kiap`-\:)W/jN)^Z;%L@rbQ3mZpK$dSR>]N2:9fBlesF)U.W)#capdX_(8mMt'G4-KVHH!pXO,e9.@Ec*D$>l0h@65M2U.s\-i7!iR,P+2&7n^Xc7;V.r#SdD/NspH!dCM]i&of3b9sWqG16\V2NYULTS.EC]mq)=l24`G3-Ze:G?e+K`-MmFPi<Toabq0M]9`C(Jj7&E;1b@gIG4j$PIbG;Vm-H<l:DpKX(28\m1GYuqtPtJo<_JM6A*N-Mu4^X=RHFqK]+Rk+7Hslr>p58:`G6""$H;F\d5Pidcg(Xl'UQ<H<l)BD<arnY1p3EQ#^5L;cc?Z8_Mj;BICt?4!Q]M[ZA9pp[I>a^Y\K1APbOTg%@.sI-`/@[SX).UNu0$\>#1Ti0L$(W$s66`K]/LIWGu9?""Msef*"`dTJ*pljM72C7+;`W?O$TD2_I9@#JMXFL@kk_\SEMFG,`!DQE2^/FcULGuWG(9\HD>%-$Em"sY._!m6'LZ+=!'N,!unMlfPd/..T.+\t/9q2Q%oX[C@u%Gfu"4>&Y_$;6Jr]Z!iQK.dt&[PF&uq/_ePh'7!tbEA[uV6XlJ`Rh2M&L2&l[F/AI+ZO<*6\)_f#pcVrf>8Gm8.'8(i$/uTO)&r&d9uI]R>+Dj@#->MDsK;Kj5RPLQ\HIU$m>AkY1fLB7/17_n@[FCKZ#oM2pi11rVi*P1C6AWc?EoDW\/'a'`FKEj=`&bUh_JP8@18n:R9$8#cY3Xm)<#<ZD]0k)n2"o)6.qOL!-2pcM-EaR:n/?F]SK6:B4$<_pAd2\Vr++ImD18&;k"]aV8R<;O`fj5D#gFIR._'E39EY7K`;p)W-[AP@2'<.?=G!<cQ-"A^.JDs8$[=ht7<N*OA$29+&N/m>3m[GD"*(oP22ScTD)OUD":"F8e\OBgeu4h&UnS;XDXkB7($)eUkS'Ypj8jMtJYnYThKHO?2>WMh%UW.fdZd79kNpS)*TacSUjA];#,%=Y9'+R5bI!NopYY;`8eMa*atK6.5Y3Gf1<,WkdS[X?BgkW"TUtchEuM3'Yd\.2UDV)i4*m5VC2AV.r+G,O4:\;#Ni:i<aLaK]OlM>Xo5=U8MO768oEAs1B(K#I@$s)C9=%V?-t,ZDTo<Vi9e8F!O.SeZBd-el[j+roU6!*mE+?cPk+Wi$e3g4f_`t[^&`k1;UNoP:>l`hXt#cR#N93?:"`F#[/.8qVhH$@N%Q9]7c")bjem]*62SKO?.&F>F]Q)SMpM&\D4AHQ[7RR>Fl2UInFsm@B!)E^?cReTa;.Nk1R:i-5Wng%3h"L,9DX37k!_%E;Zga.>p)^.\4'_@JZ[@6:1J?(FX@V:cr+Br;HJs2T]_a>m)'Kj^,AV-__WHJK-5api*Y!:$^<#;#QHd6uX&qIG9(/rISkJ3^Is'/'@S/Ce0sT9'K"!_sT'mmI(PK<>D2&/rjm1OP)n!`tI5Zo8h<H-,;9K.7Q0cnVfE'7R_tQ_qB\uH77<I_ejl[\)%5K)Q9@A<I84nP&5>'f$:nF$lNHb+STHu<5#&_#V%N4?U#`YNm.e?kf?0G56'hI&d^:N-mBJ4og^\k7P;)agsHaWX)8Z'1_YBV`&W$!hO65+$oOcRC/n_"4S'Kt7#p4>'b0Af,X(Cm['Ft>gApr7WgubZ:#0j:Za-D1VH3@dS_E\c?CfhUaU`bM6V(]*dQD$<%BBlm=`Yhf1Sg-"-!`LZQ?`2\:jNruD>u;;4ODcUgAAk>+8%R+eId71L5i)'l)s%MUR[Cr=2/"R>7>%/:gu7LI;3Nk_a-KKa$$MGSXC9h!qaT=!(lj"":N*/3^dS,#aLlGDtN)o@m0Bff=QT`JUXuAm+u;)_W+.s/p<5S%o5C110q0Fk7Z%F"4/"l2$"&D_/Ag\D+h"XrWdHoRBZ~>
+endstream
+endobj
+27 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 26 0 R
+>>
+endobj
+28 0 obj
+<< /Length 2586 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gatm>CQI4.(B$G3_V[BT2N"Vl+8n)L3c0JEa_%&\JXp7999d[A=]?ZhNq_0"b-J-j-..ck0u1Sh7In1<\b...@_pLa2>l.t2EFJ2HA<>;mK^]-(hnD;_Vo=e%sGT']3)_CR]C'oR_)UhKok\<;2IX6UZT76YT7gW``>SbGTb&::dgK.,G6V%b12"kfLb97E1]gNKF9MqXkb%KpW.koimM@gl@]oYsNe2fh@.4pLCK/qt#,8,s:^'WPZ@b/fW#'JsAMpuoZW#g7@a9tsr^@!RR.K!1sXI*0YA#o4"J;3+ER<.GQW@ap;-0;Gi#@UaP/EmXuJc2[Zk]K:#4F,si6g#Oil]FmhM(YUW8r:MYR[(<JSE\.V3*H)/)=Og#4fl4VCVK#pASV]uWrIur&FAb[)o5gT#31H`:\O7DXb)cH6f%UR_qm>:[]!iW/j'nMYM3t0/=-WejDS'F4,9RhM9/M_bJ^??*P0hoh1k7MgV0J0S&bk61iFE)r&\.\5*qQfZP??hj@Q'nZXS]j/$Z@FRbO?T?CXYU*Q_W8\tb#K+$fAA72.cfUQf4QjV!.#;\r\npFUg&*U^U3[DBFSi;H;$.$9'JOLr,Z)bq?Pk=8X-89UM<BjN&r(d%h6ft2Z'Af!R-e>+TE5"O*p[o;^*lAUAKnTN'ahG3mTgSqK,1WI()h2oVB]HS$>c'b8idQDljf3'E%8Do<1s'j.\-B:0WecL>%b8$n`fN>=F/fid;#'5dedTGLc-rRIK/WD66J;`L&(Tm-OcIVEd2fm!&l1MHrldN59!KtUsc?U5-`F:2J8`>[Ms!B1._N[\Z%91m\%!P5L*oFoghb)I3(X2`69+m:to^EWQWsSc&Nc",Z`LHR,Wf/8j'4C/<L9]OC/>:?_>^9u8nPFi>4A_<Oo9.Ds\:+>"<!`CK7/eeR\k&.OP4I(%o%PK9"V=D6PYb39I=B]XR+q/3:Y9[-K?;Vc7ao89#!Pqi\l&.H+=>Q,U\aRJW-WEWc$K/,W$i,pr\VCe])P2h?"$T2gu#TgcAihPE]JsErd"7U]Ji*V/#M!Q"J.V0mi^8\6XO2=k+c+tHM5^R\e@;Y+-?[I.5mh*P@HJ5mIDLbeI+OP_5J6^_kHsrrWUQA3NE"=M%I^'3]>_[Ro;OsX=f.E+a'<PeOZeIHN=Hj;u*&(AE5S%q\/U`G7s~>
+endstream
+endobj
+29 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 28 0 R
+>>
+endobj
+31 0 obj
+<<
+ /Title (\376\377\0\61\0\40\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 30 0 R
+ /Next 32 0 R
+ /A 9 0 R
+>> endobj
+32 0 obj
+<<
+ /Title (\376\377\0\62\0\40\0\101\0\165\0\164\0\150\0\157\0\162\0\151\0\156\0\147\0\40\0\101\0\162\0\145\0\141\0\54\0\40\0\114\0\151\0\166\0\145\0\40\0\101\0\162\0\145\0\141\0\54\0\40\0\103\0\115\0\123\0\40\0\107\0\125\0\111\0\40\0\141\0\156\0\144\0\40\0\163\0\145\0\166\0\145\0\162\0\141\0\154\0\40\0\120\0\165\0\142\0\154\0\151\0\143\0\141\0\164\0\151\0\157\0\156\0\163)
+ /Parent 30 0 R
+ /Prev 31 0 R
+ /Next 33 0 R
+ /A 11 0 R
+>> endobj
+33 0 obj
+<<
+ /Title (\376\377\0\63\0\40\0\124\0\150\0\145\0\40\0\114\0\145\0\156\0\171\0\141\0\40\0\125\0\122\0\111\0\40\0\163\0\160\0\141\0\143\0\145)
+ /Parent 30 0 R
+ /First 34 0 R
+ /Last 38 0 R
+ /Prev 32 0 R
+ /Count -5
+ /A 13 0 R
+>> endobj
+34 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\61\0\40\0\120\0\141\0\162\0\164\0\40\0\61\0\72\0\40\0\124\0\150\0\145\0\40\0\160\0\165\0\142\0\154\0\151\0\143\0\141\0\164\0\151\0\157\0\156\0\40\0\111\0\104)
+ /Parent 33 0 R
+ /Next 35 0 R
+ /A 15 0 R
+>> endobj
+35 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\62\0\40\0\120\0\141\0\162\0\164\0\40\0\62\0\72\0\40\0\124\0\150\0\145\0\40\0\141\0\162\0\145\0\141)
+ /Parent 33 0 R
+ /First 36 0 R
+ /Last 36 0 R
+ /Prev 34 0 R
+ /Next 37 0 R
+ /Count -1
+ /A 17 0 R
+>> endobj
+36 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\62\0\56\0\61\0\40\0\103\0\115\0\123\0\40\0\115\0\145\0\156\0\165\0\163\0\54\0\40\0\125\0\163\0\145\0\143\0\141\0\163\0\145\0\163\0\40\0\141\0\156\0\144\0\40\0\103\0\115\0\123\0\40\0\163\0\143\0\162\0\145\0\145\0\156\0\163)
+ /Parent 35 0 R
+ /A 19 0 R
+>> endobj
+37 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\63\0\40\0\120\0\141\0\162\0\164\0\40\0\63\0\72\0\40\0\124\0\150\0\145\0\40\0\144\0\157\0\143\0\165\0\155\0\145\0\156\0\164\0\40\0\125\0\122\0\114)
+ /Parent 33 0 R
+ /Prev 35 0 R
+ /Next 38 0 R
+ /A 21 0 R
+>> endobj
+38 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\64\0\40\0\120\0\141\0\162\0\164\0\40\0\64\0\72\0\40\0\124\0\150\0\145\0\40\0\165\0\163\0\145\0\143\0\141\0\163\0\145\0\40\0\141\0\156\0\144\0\40\0\167\0\157\0\162\0\153\0\146\0\154\0\157\0\167\0\40\0\160\0\141\0\162\0\141\0\155\0\145\0\164\0\145\0\162\0\163\0\40\0\50\0\157\0\160\0\164\0\151\0\157\0\156\0\141\0\154\0\51)
+ /Parent 33 0 R
+ /Prev 37 0 R
+ /A 23 0 R
+>> endobj
+39 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+40 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+41 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F6
+/BaseFont /Times-Italic
+/Encoding /WinAnsiEncoding >>
+endobj
+42 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+43 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F9
+/BaseFont /Courier
+/Encoding /WinAnsiEncoding >>
+endobj
+44 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+45 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 4
+/Kids [6 0 R 25 0 R 27 0 R 29 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ /Outlines 30 0 R
+ /PageMode /UseOutlines
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 39 0 R /F5 40 0 R /F1 42 0 R /F6 41 0 R /F9 43 0 R /F2 44 0 R /F7 45 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+9 0 obj
+<<
+/S /GoTo
+/D [25 0 R /XYZ -5.0 731.0 null]
+>>
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [25 0 R /XYZ -5.0 488.266 null]
+>>
+endobj
+13 0 obj
+<<
+/S /GoTo
+/D [25 0 R /XYZ -5.0 306.332 null]
+>>
+endobj
+15 0 obj
+<<
+/S /GoTo
+/D [25 0 R /XYZ -5.0 124.398 null]
+>>
+endobj
+17 0 obj
+<<
+/S /GoTo
+/D [27 0 R /XYZ -5.0 618.6 null]
+>>
+endobj
+19 0 obj
+<<
+/S /GoTo
+/D [27 0 R /XYZ -5.0 268.547 null]
+>>
+endobj
+21 0 obj
+<<
+/S /GoTo
+/D [29 0 R /XYZ -5.0 688.6 null]
+>>
+endobj
+23 0 obj
+<<
+/S /GoTo
+/D [29 0 R /XYZ -5.0 293.747 null]
+>>
+endobj
+30 0 obj
+<<
+ /First 31 0 R
+ /Last 33 0 R
+>> endobj
+xref
+0 46
+0000000000 65535 f 
+0000013921 00000 n 
+0000014000 00000 n 
+0000014092 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000000964 00000 n 
+0000001084 00000 n 
+0000001158 00000 n 
+0000014237 00000 n 
+0000001291 00000 n 
+0000014300 00000 n 
+0000001426 00000 n 
+0000014366 00000 n 
+0000001562 00000 n 
+0000014432 00000 n 
+0000001698 00000 n 
+0000014498 00000 n 
+0000001834 00000 n 
+0000014562 00000 n 
+0000001970 00000 n 
+0000014628 00000 n 
+0000002106 00000 n 
+0000014692 00000 n 
+0000002242 00000 n 
+0000004860 00000 n 
+0000004968 00000 n 
+0000007927 00000 n 
+0000008035 00000 n 
+0000010714 00000 n 
+0000014758 00000 n 
+0000010822 00000 n 
+0000010985 00000 n 
+0000011435 00000 n 
+0000011678 00000 n 
+0000011930 00000 n 
+0000012177 00000 n 
+0000012479 00000 n 
+0000012733 00000 n 
+0000013148 00000 n 
+0000013261 00000 n 
+0000013371 00000 n 
+0000013482 00000 n 
+0000013590 00000 n 
+0000013696 00000 n 
+0000013812 00000 n 
+trailer
+<<
+/Size 46
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+14809
+%%EOF



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org