git-svn-id: https://svn.apache.org/repos/asf/incubator/solr/trunk@380885 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yonik Seeley 2006-02-25 02:51:19 +00:00
parent c6cbe9e66a
commit 3c780a7c9e
2 changed files with 760 additions and 0 deletions

350
site/features.html Executable file
View File

@ -0,0 +1,350 @@
<!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.7">
<meta name="Forrest-skin-name" content="pelt">
<title>Introduction to The Solar Enterprise Search Server</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="images/favicon.ico">
</head>
<body onload="init()">
<script type="text/javascript">ndeSetTextSize();</script>
<div id="top">
<div class="breadtrail">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://incubator.apache.org/solr/">Solr</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
</div>
<div class="header">
<div class="grouplogo">
<a href="http://incubator.apache.org/"><img class="logoImage" alt="Apache Incubator" src="http://incubator.apache.org/images/apache-incubator-logo.png" title="Apache Incubator"></a>
</div>
<div class="projectlogo">
<a href="http://incubator.apache.org/solr/"><img class="logoImage" alt="Solr" src="images/solr.png" title="Solr Description"></a>
</div>
<div class="searchbox">
<form action="http://www.google.com/search" method="get" class="roundtopsmall">
<input value="incubator.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp;
<input attr="value" name="Search" value="Search" type="submit">
</form>
</div>
<ul id="tabs">
<li class="current">
<a class="base-selected" href="index.html">Main</a>
</li>
<li>
<a class="base-not-selected" href="http://wiki.apache.org/solr">Wiki</a>
</li>
</ul>
</div>
</div>
<div id="main">
<div id="publishedStrip">
<div id="level2tabs"></div>
<script type="text/javascript"><!--
document.write("<text>Last Published:</text> " + document.lastModified);
// --></script>
</div>
<div class="breadtrail">
&nbsp;
</div>
<div id="menu">
<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">About</div>
<div id="menu_1.1" class="menuitemgroup">
<div class="menuitem">
<a href="index.html" title="Welcome to Solr">Welcome</a>
</div>
<div class="menuitem">
<a href="who.html" title="Solr Committers">Who We Are</a>
</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.2', 'skin/')" id="menu_selected_1.2Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Documentation</div>
<div id="menu_selected_1.2" class="selectedmenuitemgroup" style="display: block;">
<div class="menupage">
<div class="menupagetitle">Features</div>
</div>
<div class="menuitem">
<a href="http://wiki.apache.org/solr/FAQ">FAQ</a>
</div>
<div class="menuitem">
<a href="http://wiki.apache.org/solr/">Wiki</a>
</div>
<div class="menuitem">
<a href="tutorial.html">Tutorial</a>
</div>
<div class="menuitem">
<a href="docs/api/">API Docs</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
<div id="menu_1.3" class="menuitemgroup">
<div class="menuitem">
<a href="http://cvs.apache.org/dist/lucene/solr/nightly/">Download</a>
</div>
<div class="menuitem">
<a href="mailing_lists.html">Mailing Lists</a>
</div>
<div class="menuitem">
<a href="issue_tracking.html">Issue Tracking</a>
</div>
<div class="menuitem">
<a href="version_control.html">Version Control</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Related Projects</div>
<div id="menu_1.4" class="menuitemgroup">
<div class="menuitem">
<a href="http://lucene.apache.org/java/">Lucene Java</a>
</div>
<div class="menuitem">
<a href="http://lucene.apache.org/nutch/">Nutch</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>
<div id="credit2"></div>
</div>
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="features.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
PDF</a>
</div>
<h1>Introduction to The Solar Enterprise Search Server</h1>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#Solr+in+a+Nutshell">Solr in a Nutshell</a>
</li>
<li>
<a href="#Solar+Uses+the+Lucene+Search+Library+and+Extends+it%21">Solar Uses the Lucene Search Library and Extends it!</a>
</li>
<li>
<a href="#Detailed+Features">Detailed Features</a>
<ul class="minitoc">
<li>
<a href="#Schema">Schema</a>
</li>
<li>
<a href="#Query">Query</a>
</li>
<li>
<a href="#Core">Core</a>
</li>
<li>
<a href="#Caching">Caching</a>
</li>
<li>
<a href="#Replication">Replication</a>
</li>
<li>
<a href="#Admin+Interface">Admin Interface</a>
</li>
</ul>
</li>
</ul>
</div>
<a name="N1000C"></a><a name="Solr+in+a+Nutshell"></a>
<h2 class="boxed">Solr in a Nutshell</h2>
<div class="section">
<p>
Solar is a standalone enterprise search server with a web-services like API. You put documents in it (called "indexing") via XML over HTTP. You query it via HTTP GET and receive XML results.
</p>
<ul>
<li> Advanced Full-Text Search Capabilities </li>
<li> Optimized for High Volume Web Traffic </li>
<li> Standards Based Open Interfaces - XML and HTTP </li>
<li> Comprehensive HTML Administration Interfaces </li>
<li> Scalability - Efficient Replication to other Solar Search Servers </li>
<li> Flexible and Adaptable with XML configuration </li>
<li> Extensible Plugin Architecture </li>
</ul>
</div>
<a name="N1002E"></a><a name="Solar+Uses+the+Lucene+Search+Library+and+Extends+it%21"></a>
<h2 class="boxed">Solar Uses the Lucene Search Library and Extends it!</h2>
<div class="section">
<ul>
<li> A Real Data Schema, with Dynamic Fields, Unique Keys </li>
<li> Powerful Extensions to the Lucene Query Language </li>
<li> Support for Dynamic Result Grouping and Filtering </li>
<li> Advanced, Configurable Text Analysis </li>
<li> Highly Configurable and User Extensible Caching </li>
<li> Performance Optimizations </li>
<li> External Configuration via XML </li>
<li> An Administration Interface </li>
<li> Monitorable Logging </li>
<li> Fast Incremental Updates and Snapshot Distribution </li>
</ul>
</div>
<a name="N10056"></a><a name="Detailed+Features"></a>
<h2 class="boxed">Detailed Features</h2>
<div class="section">
<a name="N1005C"></a><a name="Schema"></a>
<h3 class="boxed">Schema</h3>
<ul>
<li>Defines the field types and fields of documents</li>
<li>Can drive more intelligent processing</li>
<li>Declarative Lucene Analyzer specification</li>
<li>Dynamic Fields enables on-the-fly addition of fields</li>
<li>CopyField functionality allows indexing a single field multiple ways, or combining multiple fields into a single searchable field</li>
<li>Explicit types eliminates the need for guessing types of fields</li>
<li>External file-based configuration of stopword lists, synonym lists, and protected word lists</li>
</ul>
<a name="N1007A"></a><a name="Query"></a>
<h3 class="boxed">Query</h3>
<ul>
<li>Sort specifications added to query language</li>
<li>Constant scoring range and prefix queries - no idf, coord, or lengthNorm factors, and no restriction on the number of terms the query matches.</li>
<li>Function Query - influence the score by a function of a field's numeric value or ordinal</li>
<li>Performance Optimizations</li>
</ul>
<a name="N1008F"></a><a name="Core"></a>
<h3 class="boxed">Core</h3>
<ul>
<li>Pluggable query handlers and extensible XML data format</li>
<li>Document uniqueness enforcement based on unique key field</li>
<li>Batches updates and deletes for high performance</li>
<li>User configurable commands triggered on index changes</li>
<li>Searcher concurrency control</li>
<li>Correct handling of numeric types for both sorting and range queries</li>
<li>Ability to control where docs with the sort field missing will be placed</li>
<li>Support for dynamic grouping of search results</li>
</ul>
<a name="N100B0"></a><a name="Caching"></a>
<h3 class="boxed">Caching</h3>
<ul>
<li>Configurable Query Result, Filter, and Document cache instances</li>
<li>Pluggable Cache implementations</li>
<li>Cache warming in background
<ul>
<li> When a new searcher is opened, configurable searches are run against
it in order to warm it up to avoid
slow first hits. During warming, the current searcher handles live requests.
</li>
</ul>
</li>
<li>Autowarming in background
<ul>
<li>The most recently accessed items in the caches of the current
searcher are re-populated in the new searcher, enabing high cache hit
rates across index/searcher changes.</li>
</ul>
</li>
<li>Fast/small filter implementation</li>
<li>User level caching with autowarming support</li>
</ul>
<a name="N100D5"></a><a name="Replication"></a>
<h3 class="boxed">Replication</h3>
<ul>
<li>Efficient distribution of index parts that have changed via rsync transport</li>
<li>Pull strategy allows for easy addition of searchers</li>
<li>Configurable distribution interval allows tradeoff between timeliness and cache utilization</li>
</ul>
<a name="N100E7"></a><a name="Admin+Interface"></a>
<h3 class="boxed">Admin Interface</h3>
<ul>
<li>Comprehensive statistics on cache utilization, updates, and queries</li>
<li>Text analysis debugger, showing result of every stage in an analyzer</li>
<li>Web Query Interface w/ debugging output
<ul>
<li>parsed query output</li>
<li>Lucene explain() document score detailing</li>
<li>explain score for documents outside of the requested range to debug why a given document wasn't ranked higher.</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="clearboth">&nbsp;</div>
</div>
<div id="footer">
<div class="lastmodified">
<script type="text/javascript"><!--
document.write("<text>Last Published:</text> " + document.lastModified);
// --></script>
</div>
<div class="copyright">
Copyright &copy;
2006 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
</div>
</body>
</html>

410
site/features.pdf Executable file
View File

@ -0,0 +1,410 @@
%PDF-1.3
%ª«¬­
4 0 obj
<< /Type /Info
/Producer (FOP 0.20.5) >>
endobj
5 0 obj
<< /Length 755 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gb!$EcYo:,'Z]\?(#CN*bk2K_i7N40e7kB$Kq5Xn>]9`WJ]sKurU4A$_+phl8<q39+b&qRZTjNFbe$T%lO="CKF"Bc!85+<5[Y[AJBSOV`89MtJs=:u4b.IOqc^$ImkS0,obD^IU=^kp\oHc;ONuK:Pu,b2f352L.U+-C"R3rC$Xr<9g.J'E_Xf&':T;?Jf:*'(ESG+Y=;XD!q;<G3:K>.GAfn.DSJu4$fh&=#aWCU%Sbp<\=GJ4a@5Rbs^7)]2pX=Pu6!%s?Z?Ba:L7^Q`(:'sC5]=MhHeEh#$)H\j_2?GA"*$k$4>Iue:HdgUJGlm@Xg<-.]qnM1->UqNGq_E8T9N0u?8V!')=-2B[H=(L;SRQWClKf7q?Tr=8Vk79AEsLqB1(a\5=dBK8pW01.<MJ(Um=O]MiJ&5q<Y=3)Y+$N-Zo,uYn.8qR=:V?nfS\L4[UQ\?WI_$1;f2LaKLoJJF)MB3bd&f@H%;+1O=YMo?`^sLRabj&+/WM)C>Cgk2B;ZS3FV>U;h"1bm_o\[AUbQ=]*cI`PE!>:G,/78`\/PaC^Q_r>0a\b"N4\_K+:`35j;9I0$Wf2V]1ikE.q+9n)THo(TTEfnjO-HoKf97W&]:VefY:_2l=Fl['q:+rJuhaVkEt#*]8&i$#V<I3G"&KO@KJOEk[dAdg#VJ]*4L.dZ3%.eeX?*SYeTYd4U%r%Ce(c-b%]=jsn0^P)1GCmqNPqdb<81tspZN.10FZXmnk`Z.&35N$lNGl~>
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
24 0 R
]
endobj
8 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 102.0 532.666 194.336 520.666 ]
/C [ 0 0 0 ]
/Border [ 0 0 0 ]
/A 9 0 R
/H /I
>>
endobj
10 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 102.0 514.466 367.94 502.466 ]
/C [ 0 0 0 ]
/Border [ 0 0 0 ]
/A 11 0 R
/H /I
>>
endobj
12 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 102.0 496.266 194.312 484.266 ]
/C [ 0 0 0 ]
/Border [ 0 0 0 ]
/A 13 0 R
/H /I
>>
endobj
14 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 108.0 478.066 161.492 466.066 ]
/C [ 0 0 0 ]
/Border [ 0 0 0 ]
/A 15 0 R
/H /I
>>
endobj
16 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 108.0 459.866 153.488 447.866 ]
/C [ 0 0 0 ]
/Border [ 0 0 0 ]
/A 17 0 R
/H /I
>>
endobj
18 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 108.0 441.666 146.828 429.666 ]
/C [ 0 0 0 ]
/Border [ 0 0 0 ]
/A 19 0 R
/H /I
>>
endobj
20 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 108.0 423.466 163.496 411.466 ]
/C [ 0 0 0 ]
/Border [ 0 0 0 ]
/A 21 0 R
/H /I
>>
endobj
22 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 108.0 405.266 178.832 393.266 ]
/C [ 0 0 0 ]
/Border [ 0 0 0 ]
/A 23 0 R
/H /I
>>
endobj
24 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 108.0 387.066 202.472 375.066 ]
/C [ 0 0 0 ]
/Border [ 0 0 0 ]
/A 25 0 R
/H /I
>>
endobj
26 0 obj
<< /Length 2105 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gatm=gN)%,&:N/3Y^&iQ.Y`.FO,@d#D4S\'P[:6O"%7_rV@^T5@U&[)/kD+,aJ*CW):)DgOoWf\cL)`=D`4r&c0Xc?18@9K\VC%SCg2Abefll.@V6,,r:JR-/M,@+!oJY1ShIk)D;V^+cR>`sSUI$Ag!!d+6Go*"Csn__lt.pRr7OP$e8sU=^tA"5^L#XV.qA!(e%Aon?7:_Cl8qjMJ$#dBQ?)uIptOI!h"kJ=YBYC^k'CVR"?eXrJ.E(52f,CGVSdFjdgKAZJ:q;Yj]O!C7C%ScO\p7\AecogJsGP'8P'NO@_9.FB_m'Vh4B&24l+EF_^qYj!GDG*ad4qNTb.2PC1ZIKFc;LOW"k`GdEtA#oc>fRkMsi;p&3(WQuGe6Fl`eM')KDLh2<qieC?X84S[t8[5*Etot/K2AdJ4aRML\M0XU*+*6NSS[6\6FP&nqG$fA=Oc5/=7m#DRK/SJ;YW\fdC]O':SH/j[Rl1s_*?Q@,TT7>'@)^=/LLlN%4aW8K4*7S!5q0YOOONZr'r`kPTC`-k#PI)/m(O2f5#osE[Np&[f(#-'5(g\]]'!`O0opamT-"[*O\'!>;,Y_E($J2a]CD'koASmWl7=rVYL6NPRLR]Q3s!2YC-!G?6#M@DM8Z1C#-SDLk,Yq[1Q5=#&(\F#*V8gi*)[pGKlrh?NWZW#i")a*+FC;3u@<>KBXJ$W@1d%9;hj%Gb#.6m*qF#DMiY/he5S^$)`?jN>%%l[u\uDIb?J>+k"GHk^K!%(4\1OT\9NWVeYD@@/YN?a[@ZdL'=*G&G1i.(B:!6d%TZc,kLJ!_""*VTJ*A6bQ#UZTc>h'"sh=Q1H""t(irqhp<clEUh;d3#_J7B);i,a_g()Wg*lT1oQ)kSnJRV`Fa4,^P7:!dkP@+>d?1;i]N1N]2E9fG+q)+2U4L$$5^VQ?g7R;SphQ8k?>=4S[s:h*bN[rbDp*+J$k+X;>:NVflr-r3J-r9'#)'3=f[oIu_I*[n42RVT(0Uu76BLUpLWP6EBY=3C-rilSV.W,%3)P3m"iUSCS7%.pGX!@&AN'C.^*7=f3FehA2brDOprOG#&NSV*XT@-EJfW9qk.&MF-P43\0.+8.6Iaq@*uMlq5;2+8<2bDbpXa[V-HJdA\1Tp$`!%\8h)r%J=L$QRZTiXrB$a"I]t_stOROZbFIh8iIXHNOZm`Ei`bX-,qa2-jWQG!Rr>akU9tP"`GnA@QS`kY5bn`fK'KrJ>eE8+_)5`/SJ)fSj;0S;HU!,C9'u(E'9l$(\6<DYG-"3/accL(QSV=/;q%_f8!(p'e.Vk<'n&mXQ5'f,;]R>Ce-3P`]M2)JP6#dH4_-msiZ$o?K\fK;eIp7;`$e<eP0+bS;F%S<SY#fSLg$#?X+pf_YIt6Ld3$F[4=3Q[i#g3uUoNF.RuVna4V!mA-LkcbjYri"el7mYr@<UZZ:u#F%R=/1-J)nURe!EPs.t=Z34\;CN4)]gFtS_WF^;;l&\?3cTC*P8qpRr\S7q`1h>8JtU8K'\Y`c0+)5E-nCgoS[MP?$NV3Fnei>63)FFgiIhf:$@3-G(+S.r'3_8IXP[t).ruW8[,4Q:5dXpaVa5tJILkt]>/Z2&Z<#rgcfW$6H&B3j8J7oPF%hLP1/Bu@K+(jUEl<]Ij7\uSq-g,K33BMhU*BFtQ>eJE[6q4mU^K>:ecKaYiCqpW_IL-b73i,>[BW&W`I83>YG^352j(/hp$o\mGmDP/cU-EY;!JMYkf(VpJ@:i2UiJkqUfS)t5QDnpSWjl35oF6[^XK2\7L)_eG'0.e"-``irqXCK>aH[%jmK,C8tk4g\,%7JHsVnCZt1QSHVpG%*4e8p<-cPQG1[<iTG;:AG4HaUUM-Pia$J$OV4j<b%t\:ZVMA[>b0rAo1IC;dI/sBe=,<Z4482(o&;PhcD=)Xje#mb1pW!:4Pq27+>s6j/qU)/5a;rAEBXmGu8g2[V>"]pI5c7=VV`f%A#?T^%2&=Q&_kT^\c+Xh(c9WVYXd0bG/=[9?])";&Q3'&8NQ?b1fW%=SYeOmM,*_U%T)#h#*6S\Re]"IAQ9";?OM)EDF\`?dAL6UmBm=3`@@SjCH$>*]gAG-:Qn!:Z!pO268H~>
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 2152 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gatm==`<(R&:XAWcs%/+O[\P=4m$e3U5'DoBS!T&>`$lAd7Oa;fl;LiLH:3+.;Le,&::D,ORp`m%K6.sina"@k6p8`nGiGUijkWo71oG+6M("akU3N'W$AjZ^\Dd<H4]T$?*a'La8?DQ0u$(/ff>'DSFnO"^3>;V_I,QZ^us'7-X9us%e8MYg\eqS2"TWIEI-$JG8!g:p?;GIb]g&`gj)K'NLkQ3\U8Yir8ZT3ZinP_h'@fs;e$/!nX7<=Zp3#'O%(bl8UoUSP_R'VQWN,j!TNJNM(fnpDJH.`%9:;EOc,H<;-.L]cE`CAo2=33kKc;iEETTIBN`/!/_8F+Vo^j)_;tTop)?h(ZO3b)el#Jdr'5i\*'pM7J4B*7I'GsCNW?ha5?8&kaRU/=.]mKSTlhrL*I(TJ_lpI1cHgNsl<:2(.nZ4^3ZFUIp,n\#\0Y3[MU]-@SVo\t"2\<Na#upbeN%r<bG/7'47VQtl1DcVHd8PJ%K^F0:Q7at@_6BU'4;nu4ciT1Q'X)+;SIau6j$W\d4PhfjO&h:6MO!cbNoIF=V`2.SKHWAct>?Q+@no>b-TZW+hkEg%j^/^HIlEa&8fXsa`!.S8+H&8c?&+C`qfu&"4sQV<_+0?5[^p/XH#KENc-t>XVAh&pPgrWJV:P\;lX=u6+(sH`Mamk,_O$XfbObGQg;2%J.sWH<%BuR^M$q&@I<RI00dd@N+j8E`e4,(U_*%:2Gdd73eDZ^V\$POG.*Y9=;=mC#-U:[PhRkZRDO@PB264^]`,hk:@dQfX<<AUBG2rdPO"44?M@G,C".ZQq3kqO??5Ad*9ZZS'F3,?E,M3IZ%MQ!"p-&n,Db4lY1IAnje?Fb*J%pQ"B@3^]VR"`0%X>QWf3]bQQAh5<+h?3&2W(&J4)4<\`$565AW/j.j\0^#OA(Lp"A=AKY*4hCa>l?L>!hsW__'oU'nL%5H=/JTihhiIB?AF.,\%T^/iUOE0?'$S,j]7)tQ2u_E$L\m6rH\Z8ne#PPrN,pY[j'@TKB4pq=IFm>broaW]Uj"sK5:XE#sdFQOY3e!)EFkA,cI[akeXcF)Z/D&QVcm*Y0n@Roea6Ip"[)D.tIFQ?u8g/<FHFrN]_Vl9JU\_RJ**N9j7m5DcIQDK?HdRqRQ'C+"r9P;A-)a'tWqE*sH1u.",,I%WnM:aJG]FuLaZ*Q.Dd9!%F5.a:c+#ghH^n^9c2b^%11XV6rQYlm1'%$u&JPNj<dH&rE?-fo,gU]QlN5F?A!Jt2>[XIp6P=I.G"_o6.Q@:T7:h>P`M@X2M%4k5(V=gR4*&uXXd@H0PT;E3<(]m^/\cI8C=i8ihTF@=JVN7dGCp>/f1QFugl"0'Di3?J^d@<\NKnSp4\"a+c.@2u2S)lu\mV7;^<g>PJ9eI\loH:M-WVj34-f;b$aB2K>m[LH[RcSlsMl^$<42-ZB7!%ok%NS:.o91@%WjaR@N5UrNY?G4]9<_;]dT1tm(7XSkA$Z8k!5"M@Q;!uc=Hlp$NlPn>2O\h)#fh/gs1QD4Z>Z[ME3jIh2KdK75`)fpkdQqJ.&(t*p6PMk`dCZl%la[P#qJe_XXoY:>J6P(/cdbEE!/)Gg%-r]ml!'N,;I12'iXs,*?!ukH.R5jWqTYMBXfo+5[m=eHW2Eh*A;:,T+EX!gt5L+WK@mC2r6kaR+`.-GVX1\M7M=/8)=lQ@eZ!Dj`!Mrb$E(@FQ;1p\g%D<5)$S03-:@ODK(D?76m)`M0F4t;IS[%-HpVg^0SKa3gn52-FItHa/kur%MsjPmSPUo$.N.THDp<5"-\L,hHdTV7,<*W%3j[UUCFA1S0%_PEkT6lZ\6'$2G%ncn>f\=f'PBHLU.\O"Gn(8!sB7Y#\]We0)JXJ:^uhp\IKGBOmtJ&3;-V7F%hY%3-(B[Xh,F.bmpRmTrenkEoU#:d&e:*r[,S5JJ.b!68>8YTu3GVO(KBUg?DctNZf\m3c^L"3OHnBI8cJ+>#3umCG\qfP8C-2#sFGq;l/sK%V0YL4YMOV0I/Et182hMI*Uau4GfJl#<:>:Y`JO@0o4Gn*srgDTrcOhaWVg,Jgb_k-P/?;ae=!Ad,_ckN/bLoS3f!7W96V@C,AbrGh%cOY[?;;\\9/QC&d8:OHn*q/e[K6WF'a[/%"H]fI_/W_u0hV`Eri~>
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
30 0 obj
<< /Length 882 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gat%!9lHOU&A@ZcHtso`NX[n$@o=UMWud]6.>Oc*#J>T0!jPHXRpTOoZ.P/>g1[n+Sq6FEpH17G9Y@FEHh&l3c1f59&O[`M6h<ra^HTO9JV44m$Lm98HC%P1Jl*M]!;-9oj8P[F3!)A-i:t3^2df6DM3GfX(E(N%)8LfKP\`H=+@G:D_&,cG(h4X5>O^r(J0@#YBE#-_a[NWiCMSC$[?)?!MGs!`,i@Hg)Gh7a2?Q7"lN.:qfH5)a1&)p1!?NsXpcb6(S6s`(!>n7("Jo&8QY+uE;2AD@cbe[ARd3l910)oW3.+Vq(=)6:0!"QnKJ`@7a4k32$fuVXSQY!P'=&<e`d<Z;n\uXqBFZRQ&5:$#Foh)IY=aRM-6Bc](XbUKMIor@\TLH:]#r^&g"<]W(37/$/pDtgCOk"e*3V^.M`cu/a?E'7+c$Zin&;'HH.sp43[K&jmEX=p/7`ETh0+*2Yfo_7&B8gCo*jY6XQ<?:e[b/KDc[]>G%B4n>q0Ro]6J$??IfW7&#Tno-LJ79G)f=oN>+!<bt[Hr/DnVm,24QIr):>)4)Z&5(5H)?<b3W70.Q?IQP;nDV-OBRYMC\Wc0F)S,:sn7\R"?ph<Qq4^E9nK0\\a/"l+)tJ'n]QIp?YUR283,\P@PaR6fu"WS&4'6i]#KMZ%eD@u=,A=dSgqUu.(b(phRR:n,^?'P=fBRYo:BkGg3$<gILnU>RdY<\F21GMm_0R"7B,*Ce6ehDC-&oP$OH2g,h;.+*M%6ii)MN7c)4a#"%`FMs:EUZk7!Oj=;UmM/F?2%WXs&L5R`UYEI=Z4<n@^+`89;J[p,U!QsJN<\F;4\Y.g^2#WQa/.h,DRqkJ7Q5G+Wlc5IDWTM;p!REuCA/MeLX<4~>
endstream
endobj
31 0 obj
<< /Type /Page
/Parent 1 0 R
/MediaBox [ 0 0 612 792 ]
/Resources 3 0 R
/Contents 30 0 R
>>
endobj
33 0 obj
<<
/Title (\376\377\0\61\0\40\0\123\0\157\0\154\0\162\0\40\0\151\0\156\0\40\0\141\0\40\0\116\0\165\0\164\0\163\0\150\0\145\0\154\0\154)
/Parent 32 0 R
/Next 34 0 R
/A 9 0 R
>> endobj
34 0 obj
<<
/Title (\376\377\0\62\0\40\0\123\0\157\0\154\0\141\0\162\0\40\0\125\0\163\0\145\0\163\0\40\0\164\0\150\0\145\0\40\0\114\0\165\0\143\0\145\0\156\0\145\0\40\0\123\0\145\0\141\0\162\0\143\0\150\0\40\0\114\0\151\0\142\0\162\0\141\0\162\0\171\0\40\0\141\0\156\0\144\0\40\0\105\0\170\0\164\0\145\0\156\0\144\0\163\0\40\0\151\0\164\0\41)
/Parent 32 0 R
/Prev 33 0 R
/Next 35 0 R
/A 11 0 R
>> endobj
35 0 obj
<<
/Title (\376\377\0\63\0\40\0\104\0\145\0\164\0\141\0\151\0\154\0\145\0\144\0\40\0\106\0\145\0\141\0\164\0\165\0\162\0\145\0\163)
/Parent 32 0 R
/First 36 0 R
/Last 41 0 R
/Prev 34 0 R
/Count -6
/A 13 0 R
>> endobj
36 0 obj
<<
/Title (\376\377\0\63\0\56\0\61\0\40\0\123\0\143\0\150\0\145\0\155\0\141)
/Parent 35 0 R
/Next 37 0 R
/A 15 0 R
>> endobj
37 0 obj
<<
/Title (\376\377\0\63\0\56\0\62\0\40\0\121\0\165\0\145\0\162\0\171)
/Parent 35 0 R
/Prev 36 0 R
/Next 38 0 R
/A 17 0 R
>> endobj
38 0 obj
<<
/Title (\376\377\0\63\0\56\0\63\0\40\0\103\0\157\0\162\0\145)
/Parent 35 0 R
/Prev 37 0 R
/Next 39 0 R
/A 19 0 R
>> endobj
39 0 obj
<<
/Title (\376\377\0\63\0\56\0\64\0\40\0\103\0\141\0\143\0\150\0\151\0\156\0\147)
/Parent 35 0 R
/Prev 38 0 R
/Next 40 0 R
/A 21 0 R
>> endobj
40 0 obj
<<
/Title (\376\377\0\63\0\56\0\65\0\40\0\122\0\145\0\160\0\154\0\151\0\143\0\141\0\164\0\151\0\157\0\156)
/Parent 35 0 R
/Prev 39 0 R
/Next 41 0 R
/A 23 0 R
>> endobj
41 0 obj
<<
/Title (\376\377\0\63\0\56\0\66\0\40\0\101\0\144\0\155\0\151\0\156\0\40\0\111\0\156\0\164\0\145\0\162\0\146\0\141\0\143\0\145)
/Parent 35 0 R
/Prev 40 0 R
/A 25 0 R
>> endobj
42 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F3
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding >>
endobj
43 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F5
/BaseFont /Times-Roman
/Encoding /WinAnsiEncoding >>
endobj
44 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding >>
endobj
45 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F2
/BaseFont /Helvetica-Oblique
/Encoding /WinAnsiEncoding >>
endobj
46 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 27 0 R 29 0 R 31 0 R ] >>
endobj
2 0 obj
<< /Type /Catalog
/Pages 1 0 R
/Outlines 32 0 R
/PageMode /UseOutlines
>>
endobj
3 0 obj
<<
/Font << /F3 42 0 R /F5 43 0 R /F1 44 0 R /F2 45 0 R /F7 46 0 R >>
/ProcSet [ /PDF /ImageC /Text ] >>
endobj
9 0 obj
<<
/S /GoTo
/D [27 0 R /XYZ 85.0 659.0 null]
>>
endobj
11 0 obj
<<
/S /GoTo
/D [27 0 R /XYZ 85.0 481.866 null]
>>
endobj
13 0 obj
<<
/S /GoTo
/D [27 0 R /XYZ 85.0 312.732 null]
>>
endobj
15 0 obj
<<
/S /GoTo
/D [27 0 R /XYZ 85.0 281.598 null]
>>
endobj
17 0 obj
<<
/S /GoTo
/D [29 0 R /XYZ 85.0 659.0 null]
>>
endobj
19 0 obj
<<
/S /GoTo
/D [29 0 R /XYZ 85.0 556.947 null]
>>
endobj
21 0 obj
<<
/S /GoTo
/D [29 0 R /XYZ 85.0 415.294 null]
>>
endobj
23 0 obj
<<
/S /GoTo
/D [29 0 R /XYZ 85.0 208.841 null]
>>
endobj
25 0 obj
<<
/S /GoTo
/D [31 0 R /XYZ 85.0 659.0 null]
>>
endobj
32 0 obj
<<
/First 33 0 R
/Last 35 0 R
>> endobj
xref
0 47
0000000000 65535 f
0000010438 00000 n
0000010517 00000 n
0000010609 00000 n
0000000015 00000 n
0000000071 00000 n
0000000917 00000 n
0000001037 00000 n
0000001118 00000 n
0000010732 00000 n
0000001253 00000 n
0000010795 00000 n
0000001389 00000 n
0000010861 00000 n
0000001526 00000 n
0000010927 00000 n
0000001663 00000 n
0000010993 00000 n
0000001800 00000 n
0000011057 00000 n
0000001937 00000 n
0000011123 00000 n
0000002074 00000 n
0000011189 00000 n
0000002211 00000 n
0000011255 00000 n
0000002348 00000 n
0000004546 00000 n
0000004654 00000 n
0000006899 00000 n
0000007007 00000 n
0000007981 00000 n
0000011319 00000 n
0000008089 00000 n
0000008285 00000 n
0000008694 00000 n
0000008927 00000 n
0000009065 00000 n
0000009211 00000 n
0000009351 00000 n
0000009509 00000 n
0000009691 00000 n
0000009882 00000 n
0000009995 00000 n
0000010105 00000 n
0000010213 00000 n
0000010329 00000 n
trailer
<<
/Size 47
/Root 2 0 R
/Info 4 0 R
>>
startxref
11370
%%EOF