diff options
Diffstat (limited to 'Master/texmf-dist')
17 files changed, 33792 insertions, 1230 deletions
diff --git a/Master/texmf-dist/doc/latex/skak/README b/Master/texmf-dist/doc/latex/skak/ChangeLog.md index 2df74502f6e..8f04fc5456d 100644 --- a/Master/texmf-dist/doc/latex/skak/README +++ b/Master/texmf-dist/doc/latex/skak/ChangeLog.md @@ -1,6 +1,33 @@ +Version 1.5.2 +------------- + +* Removed lambda.sty from the skak distribution. + +Version 1.5.1 +------------- + +* Created repo at github.com/lehoff/skak for all furture work on skak. + +* Fixed a bug with longmoves for Kings where the from square was not + correct due to a problem in DoTheMove. Thanks to Ulirch Dirr and + Niels Stargardt for finding this bug. + +* Fixed a bug on \lastmove when using \styleC. Thanks to Ulrich Dirr + to come up with a rough solution that I have improved to take into + account if styleC is being used or not. + +* Added a ChangeLog.md file and removed the duplicate change history + from tex/skak.sty + +* Moved things from readme.txt into README.md and removed the change + history from that. + +* Added a LICENSE file. + +* Added a THANKS file and removed the acknowledgements from + skakdoc.tex. + -Change History -============== Version 1.5 ----------- diff --git a/Master/texmf-dist/doc/latex/skak/LICENSE b/Master/texmf-dist/doc/latex/skak/LICENSE new file mode 100644 index 00000000000..22443139013 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/LICENSE @@ -0,0 +1,416 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `as is', without +warranty of any kind, either expressed or implied, including, but not +limited to, the implied warranties of merchantability and fitness for a +particular purpose. The entire risk as to the quality and performance +of the Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. + diff --git a/Master/texmf-dist/doc/latex/skak/README.md b/Master/texmf-dist/doc/latex/skak/README.md new file mode 100644 index 00000000000..88398e19a1f --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/README.md @@ -0,0 +1,56 @@ +skak +==== + +This is a package for typesetting chess (skak in Danish) games in +LaTeX. + +The basic idea is to allow the author to write about chess games using +normal chess notation, have that typeset nicely and then show the +position when desired. skak has an internal chess board so it is never +out of sync with the moves described in the text. + +For more on the usage see the skakdoc.pdf file. + + +Future Additions/Wish-list +========================== + +Choosing Language for mainline +------------------------------ +(Proposal date: mid 2002.) + +It would be nice if one could choose the language for the mainline, +variation and \hidemoves for each invocation as it allows for easier +inclusion of analysis from chess programs when using a non-english +language. + + +Optimisation of the Implementation +---------------------------------- +(Proposal date: 2-Jan-2003.) + +I would like to improve some areas of the im- +plementation since they are unnecessary slow +and/or complicated, e.g., \IsPieceName could +easily be implemented as a case statement in- +stead of a list look-up. I have a strong feeling +that this would be a lot faster than the current +implementation which has a very functional pro- +gramming flavour --- this was very helpful during +the development, but it has a tendency to be a +bit inefficient. + + +Test Suite +---------- +(Proposal date: 03-Jan-2003.) +It would be a very good idea to create a test +suite created using normal testing techniques. +Areas of test should include: + +* resolving ambiguous moves, i.e., ensuring +that moves like Rad1 moves the right rook. + +* all legal SAN moves are accepted. + + diff --git a/Master/texmf-dist/doc/latex/skak/THANKS b/Master/texmf-dist/doc/latex/skak/THANKS new file mode 100644 index 00000000000..ea8e3229ce8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/THANKS @@ -0,0 +1,22 @@ +I would like to thank the creator of the lambda package, +Alan Jeffrey, for making a splendid package that made this package +possible. + +For discussions and alpha-testing I send my thanks to Guido +Governatori - some of his ideas have already been implemented; the +rest? Time will show. + +Thanks to Harri Haanpaa for finding a nasty bug in the castling +routine. + +A big thank goes to Dirk Bächle for adding the Informator symbols to +the fonts and for removing a couple of nasty bugs as well as improving +some of the commands. + +I thank Ulrike Fischer for the tremendous work she has done with +regards to improving the way fonts are handled by the skak package, +not to mention the significant amount of bugs she has found and in +many cases fixed. + +Thanks for reporting various bugs goes to Ingo Sander, Andreas Wilm, +Ulrich Dirr and Niels Stargardt. diff --git a/Master/texmf-dist/doc/latex/skak/informator.pdf b/Master/texmf-dist/doc/latex/skak/informator.pdf Binary files differdeleted file mode 100644 index cb46461d130..00000000000 --- a/Master/texmf-dist/doc/latex/skak/informator.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/skak/informator.ps b/Master/texmf-dist/doc/latex/skak/informator.ps new file mode 100644 index 00000000000..cf693fb86db --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/informator.ps @@ -0,0 +1,5639 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software +%%Title: informator.dvi +%%CreationDate: Thu Jul 18 23:26:38 2013 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: CMR17 CMTT12 CMR12 CMR10 CMSY10 CMSSBX10 +%%+ SkakNew-Figurine CMSS10 +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -o informator.ps informator.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2013.07.18:2326 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: pstricks.pro 0 0 +% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.12, 2012/02/12 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/DashLine { + dup 0 gt + { /a .5 def PathLength exch div } + { pop /a 1 def PathLength } ifelse + /b ED % pattern should fit evenly in b + dup /X ED % pattern array + 0 get /y ED % length of first black segment + /z 0 X {add} forall def % length of the full pattern + %% Computation of the scaling factor as described by van Zandt: + b a .5 sub 2 mul y mul sub z Div round + z mul a .5 sub 2 mul y mul add b exch Div + %%%% scaling factor on stack. + /z ED %% now, z is the scaling factor + false % for the length test below + X { z mul } forall X astore %% modification TN 04-08-07 + %%% Checking whether at least one dash in X has positive length: + {0 gt or} forall + { X 1 a sub y mul } + { [ 1 0 ] 0 } + ifelse + setdash stroke +} def +% +/DotLine { + /b PathLength def + /a ED /z ED /y CLW def + /z y z add def + a 0 gt { + /b b a div def + }{ + a 0 eq { + /b b y sub def + }{ a -3 eq { + /b b y add def } if + } ifelse + } ifelse + [ 0 b b z Div round Div dup 0 le { pop 1 } if ] + a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse + setdash 1 setlinecap stroke +} def +% +/SymbolLine { % on stack [ x y x y ... + counttomark % number of elements + 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + + %% for negative SymStep we calculate the distance + SymStep 0 lt + { %XYLength SymStep div abs cvi + /nSym SymStep abs cvi def } + { /nSym XYLength SymStep div cvi def } + ifelse + 0.5 setflat + /Shift Symbol stringwidth pop 2 div def + /deltaX XLength nSym div def + /deltaY YLength nSym div def + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + nSym { + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + currentpoint translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + deltaX deltaY rmoveto + } repeat + /YA YB def /XA XB def + } repeat + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + XA YA translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + pop % delete the mark symbol +} def +% +/LineFill { % hv ------------ patch 7 ------------- + gsave + abs /hatchWidthInc ED + abs /hatchSepInc ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + 2 setlinecap + systemdict + /setstrokeadjust known { true setstrokeadjust } if + x2 x1 sub 1 add { + x1 a mul y1 moveto 0 y2 rlineto stroke + /x1 x1 1 add + hatchWidthInc 0 gt { CLW add } if + def + hatchSepInc 0 gt hatchWidthInc 0 gt or { + /a a hatchSepInc add def + CLW hatchWidthInc add SLW + } if + } repeat + grestore + pop pop } def +% +/DotFill {% on stack: dot radius + /dotRadius ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform + pathbbox % llx lly urx ury of smallest bounding box + /y2 ED /x2 ED /y1 ED /x1 ED + y2 y1 sub a div 2 add cvi /Ny ED + x2 x1 sub a div 2 add cvi /Nx ED + clip + newpath + /yA y1 dotRadius add CLW add def + /xA0 x1 dotRadius add CLW add def + Ny { + /xA xA0 def + Nx { + newpath + xA yA dotRadius 0 360 arc + SolidDot { gsave fill grestore } if + stroke + xA a add /xA ED + } repeat + yA a add /yA ED + } repeat + grestore +} def +% +/PenroseFill {% on stack: scaling factor + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul} + { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall + [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto + i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25 + mul j l + S rmoveto}F i L j L stroke }F}F}F}F + grestore + pop pop +} def +% +/TruchetFill { % on stack: scaling factor + 10 dict begin + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /ma a neg def + /ha a 2 div def + /mha ha neg def + /tile { + rand dup 2 idiv 2 mul eq { 90 rotate } if + mha mha moveto ha mha lineto + ha ha lineto mha ha lineto +% closepath .1 setlinewidth stroke + contents + } def + /contents{ + 0 ha moveto ha 0 lineto + 0 mha moveto mha 0 lineto +% 1 setlinewidth stroke + } def + /dotiling { + f ma mul a f a mul { + /i exch def + f ma mul a f a mul { + /j exch def + gsave i j translate + tile stroke grestore + } for + } for + } def +% + /f 3 def + 5 srand dotiling + end % local user dict +} def +% +/BeginArrow { + ADict begin % hold it local, for end see EndArrow + /@mtrx CM def + gsave + 2 copy T + 2 index sub neg exch + 3 index sub exch Atan + rotate newpath +} def +% +/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict +% +/Arrow { + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /a ED + { 0 h T 1 -1 scale } if + w neg h moveto + 0 0 L w h L w neg a neg rlineto + gsave fill grestore +} def +% +/ArrowD { % the sides are drawn as curves (hv 20071211) + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /Inset ED + { 0 h T 1 -1 scale } if % changes the direction +% we use y=w/h^2 * x^2 as equation for the control points +% for the coordinates the arrow is seen from top to bottom +% the bottom (tip) is (0;0) + w neg h moveto % lower left of > + w 9 div 4 mul neg h 3 div 2 mul + w 9 div neg h 3 div + 0 0 curveto % tip of > + w 9 div h 3 div + w 9 div 4 mul h 3 div 2 mul + w h curveto % upper left of > + w neg Inset neg rlineto % move to x=0 and inset + gsave fill grestore +} def +% +/Tbar { + CLW mul add /z ED + z -2 div CLW 2 div moveto + z 0 rlineto stroke + 0 CLW moveto +} def +% +/Bracket { + CLW mul add dup CLW sub 2 div + /x ED mul CLW add /y ED /z CLW 2 div def + x neg y moveto + x neg CLW 2 div L x CLW 2 div L x y L stroke + 0 CLW moveto +} def +% +/RoundBracket { + CLW mul add dup 2 div + /x ED mul /y ED /mtrx CM def + 0 CLW 2 div T x y mul 0 ne { x y scale } if + 1 1 moveto + .85 .5 .35 0 0 0 curveto + -.35 0 -.85 .5 -1 1 curveto + mtrx setmatrix stroke 0 CLW moveto +} def +% +/SD { 0 360 arc fill } def +% +/EndDot { % DS is the dot size + { /z DS def } { /z 0 def } ifelse % outer or inner dimen + /b ED % the color definition + 0 z DS SD + b { 0 z DS CLW sub SD } if + 0 DS z add CLW 4 div sub + moveto +} def +% +/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { + /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto + load } if ] cvx newpath 3 1 roll T exec } def +% +/NArray { % holds the coordinates and on top of stack the showpoints boolean + /showpoints ED + counttomark 2 div dup cvi /n ED % n 2 div on stack + n eq not { exch pop } if % even numbers of points? delete one + ] aload /Points ED + showpoints not { Points aload pop } if +% { ] aload /Points ED } +% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol +} def +% +/Line { + NArray n 0 eq not + { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def + n { Lineto } repeat + CP 4 2 roll ArrowB L pop pop + } if +} def +% +/LineToYAxis { + /Ox ED % Save the x origin value + NArray % all x-y pairs on stack + n { 2 copy moveto % go to current point + Ox exch Lineto % line to y-axis + pop % delete old x-value + } repeat +} def +% +/LineToXAxis{ + /Oy ED % Save the y origin value + NArray % all x-y pairs on stack + n 0 eq not + { n 1 eq { 0 0 /n 2 def } if + ArrowA + /n n 2 sub def + CP 2 copy moveto pop Oy Lineto + n { 2 copy moveto pop Oy Lineto } repeat + CP + 4 2 roll + ArrowB + 2 copy moveto pop Oy + L + pop pop } if +} def +% +/Arcto { + /a [ 6 -2 roll ] cvx def + a r + /arcto load stopped { 5 } { 4 } ifelse { pop } repeat + a +} def +% +/CheckClosed { + dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq + and { pop pop /n n 1 sub def } if +} def +% +/Polygon { + NArray n 2 eq { 0 0 /n 3 def } if + n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + n 2 mul -2 roll + /y0 ED /x0 ED /y1 ED /x1 ED + x1 y1 + /x1 x0 x1 add 2 div def + /y1 y0 y1 add 2 div def + x1 y1 moveto + /n n 2 sub def + n { Lineto } repeat + x1 y1 x0 y0 6 4 roll Lineto + Lineto pop pop closepath } ifelse +} def +% +/SymbolPolygon { % on stack [ x y x y ... + counttomark % number of elements + 2 add /m ED + 2 copy m 2 roll % copy last two + m 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + /nSym XYLength SymStep Div cvi def + /Shift Symbol stringwidth pop 2 Div def + /deltaX XLength nSym Div def + /deltaY YLength nSym Div def + XA Shift sub YA Shift sub moveto + nSym { + gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + grestore + deltaX deltaY rmoveto + } repeat +% XB Shift sub YB Shift sub moveto Symbol show + /YA YB def /XA XB def + } repeat + pop % delete the mark symbol +} def +% +/Diamond { + /mtrx CM def + T rotate + /h ED + /w ED + dup 0 eq { pop } { CLW mul neg + /d ED + /a w h Atan def + /h d a sin Div h add def + /w d a cos Div w add def } ifelse + mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div + /ArrowA { moveto } def + /ArrowB { } def + false Line + closepath mtrx setmatrix } def +% +/Triangle { + /mtrx CM def + translate + rotate /h ED 2 div /w ED + dup CLW mul /d ED + /h h d w h Atan sin Div sub def + /w w d h w Atan 2 div dup cos exch sin Div mul sub def + mark + 0 d w neg d 0 h w d 0 d + /ArrowA { moveto } def + /ArrowB { } def + false + Line + closepath + mtrx +% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) +% setmatrix } def + setmatrix pop +} def +% DG/SR modification end +% +/CCA { + /y ED /x ED + 2 copy y sub /dy1 ED + x sub /dx1 ED + /l1 dx1 dy1 Pyth def +} def +% +/CC { + /l0 l1 def + /x1 x dx sub def + /y1 y dy sub def + /dx0 dx1 def + /dy0 dy1 def + CCA + /dx dx0 l1 c exp mul dx1 l0 c exp mul add def + /dy dy0 l1 c exp mul dy1 l0 c exp mul add def + /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def + /x2 x l0 dx mul m mul sub def + /y2 y l0 dy mul m mul sub def + /dx l1 dx mul m mul neg def + /dy l1 dy mul m mul neg def +} def +% +/IC { + /c c 1 add def + c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse + /a a 2 mul 3 div 45 cos b exp div def + CCA + /dx 0 def + /dy 0 def +} def +% +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +% +/OpenCurve { + NArray n 3 lt + { n { pop pop } repeat } + { BOC /n n 3 sub def n { NC } repeat EOC } ifelse +} def +% +/CurvePath { + %% for negative SymStep we calculate the distance + SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if + 0.5 setflat + flattenpath /z 0 def /z0 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def + x1 Shift sub y1 Shift sub moveto + gsave + curveticks + { x1 y1 translate startAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { startAngle rotate Symbol show } + ifelse + grestore /z0 z def } + { /y ED /x ED PathLength@ z z0 sub SymStep ge { + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore /z0 z def } if + /yOld y def /xOld x def } + {} %% the lineto part + { /y y2 def /x x2 def PathLength@ + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + x Shift sub y Shift sub moveto + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + } + pathforall +% curveticks +% { gsave +% x y translate rotAngle rotate +% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto +% SymbolLinewidth setlinewidth stroke grestore +% } if + z +} def +% +/OpenSymbolCurve { + OpenCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/AltCurve { + { false NArray n 2 mul 2 roll + [ n 2 mul 3 sub 1 roll ] aload + /Points ED + n 2 mul -2 roll } + { false NArray } ifelse + n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse +} def +% +/AltOpenSymbolCurve { + AltCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedCurve { + NArray n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + 6 copy n 2 mul 6 add 6 roll + IC CC x y moveto n { NC } repeat + closepath pop pop + } ifelse +} def +% +/ClosedSymbolCurve { + ClosedCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def +% +/FontDot { + DS 2 mul dup + matrix scale matrix concatmatrix exch matrix + rotate matrix concatmatrix exch + findfont exch makefont setfont +} def +% +/Rect { + x1 y1 y2 add 2 div moveto + x1 y2 lineto + x2 y2 lineto + x2 y1 lineto + x1 y1 lineto + closepath +} def +% +/OvalFrame { + x1 x2 eq y1 y2 eq or + { pop pop x1 y1 moveto x2 y2 L } + { y1 y2 sub abs x1 x2 sub abs 2 copy gt + { exch pop } { pop } ifelse + 2 div exch { dup 3 1 roll mul exch } if + 2 copy lt { pop } { exch pop } ifelse + /b ED + x1 y1 y2 add 2 div moveto + x1 y2 x2 y2 b arcto + x2 y2 x2 y1 b arcto + x2 y1 x1 y1 b arcto + x1 y1 x1 y2 b arcto + 16 { pop } repeat + closepath + } ifelse +} def +% +/Frame { + CLW mul /a ED + 3 -1 roll + 2 copy gt { exch } if + a sub /y2 ED + a add /y1 ED + 2 copy gt { exch } if + a sub /x2 ED + a add /x1 ED + 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse +} def +% +/BezierNArray { + /f ED + counttomark 2 div dup cvi /n ED + n eq not { exch pop } if + n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat + f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse +} def +% +/OpenBezier { + BezierNArray + n 1 eq + { pop pop } + { ArrowA n 4 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + 6 2 roll 4 2 roll ArrowB curveto } ifelse +} def +% +/OpenSymbolBezier { + OpenBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedBezier { + BezierNArray + n 1 eq + { pop pop } + { moveto n 1 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + closepath } ifelse +} def +% +/ClosedSymbolBezier { + /f ED % save showpoints value + 2 copy /yEnd ED /xEnd ED + counttomark -2 roll 2 copy /yStart ED /xStart ED + counttomark 2 roll + f + ClosedBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath + [ xEnd yEnd xStart yStart SymbolLine +} def +% +/BezierShowPoints { + gsave + Points aload length 2 div cvi /n ED + moveto + n 1 sub { lineto } repeat + CLW 2 div SLW [ 4 4 ] 0 setdash stroke + grestore +} def +% +/Parab { + /y0 ED /x0 ED /y1 ED /x1 ED + /dx x0 x1 sub 3 div def + /dy y0 y1 sub 3 div def + x0 dx sub y0 dy add x1 y1 ArrowA + x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def +} def +% +/Parab1 { % 1 end | 0 SP + /ySP ED /xSP ED /y1 ED /x1 ED + /dx xSP x1 sub 3 div def + /dy ySP y1 sub 3 div def + newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto + x1 ySP lineto closepath clip + currentpoint + newpath moveto + xSP dx sub ySP dy add x1 y1 ArrowA + xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def +} def +% +/Grid { + newpath + /a 4 string def + /b ED % psk@gridlabels in pt + /c ED % { \pst@usecolor\psgridlabelcolor } + /n ED % psk@griddots + cvi dup 1 lt { pop 1 } if + /s ED % \psk@subgriddiv + s div dup 0 eq { pop 1 } if + /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs + /dx ED dy div round dy mul % \pst@number\psxunit abs + /y0 ED dx div round dx mul + /x0 ED dy div round cvi + /y2 ED dx div round cvi + /x2 ED dy div round cvi + /y1 ED dx div round cvi + /x1 ED + /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def + /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def + b 0 gt { + /z1 b 4 div CLW 2 div add def +% /Helvetica findfont b scalefont setfont + /b b .95 mul CLW 2 div add def } if + systemdict /setstrokeadjust known + { true setstrokeadjust /t { } def } + { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add + exch itransform } bind def } ifelse + gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse + /i x1 def + /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def + /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def + x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if + { i dx mul dup y0 moveto + b 0 gt + { gsave c i a cvs dup stringwidth pop + /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse + h 0 gt {b neg}{z1} ifelse + rmoveto show grestore } if + dup t f moveto + g t L stroke + /i i w add def + } repeat + grestore + gsave + n 0 gt + % DG/SR modification begin - Nov. 7, 1997 - Patch 1 + %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } + { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } + % DG/SR modification end + { 2 setlinecap } ifelse + /i y1 def + /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def + /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def + y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if + { newpath i dy mul dup x0 exch moveto + b 0 gt { gsave c i a cvs dup stringwidth pop + /z2 ED + w 0 gt {z1 z2 add neg} {z1} ifelse + h 0 gt {z1} {b neg} ifelse + rmoveto show grestore } if + dup f exch t moveto + g exch t L stroke + /i i h add def + } repeat + grestore +} def +% +/ArcArrow { + /d ED /b ED /a ED + gsave + newpath 0 -1000 moveto clip + newpath + 0 1 0 0 b + grestore + c mul + /e ED + pop pop pop r a e d PtoC y add exch x add + exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c + mul neg d +} def +% +/Ellipse { + /rotAngle ED + /mtrx CM def + T + rotAngle rotate + scale 0 0 1 5 3 roll arc + mtrx setmatrix +} def +% +/ArcAdjust { %%%% Vincent Guirardel +% given a target length (targetLength) and an initial angle (angle0) [in the stack], +% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0). +% This computes an angle t such that (x0,y0) is at distance +% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)). +% NOTE: this an absolute angle, it does not have to be added or substracted to angle0 +% contrary to TvZ's code. +% To achieve, this, one iterates the following process: start with some angle t, +% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]. +% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned. +% +% Another difference with TvZ's code is that we need d (=add/sub) to be defined. +% the value of d = add/sub is used to know on which side we have to move. +% It is only used in the initialisation of the angle before the iteration. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Input stack: 1: target length 2: initial angle +% variables used : rx, ry, d (=add/sub) +% + /targetLength ED /angle0 ED + /x0 rx angle0 cos mul def + /y0 ry angle0 sin mul def +% we are looking for an angle t such that (x0,y0) is at distance targetLength +% from the point M(t)=(rx*cos(t),ry*sin(t))) +%initialisation of angle (using 1st order approx = TvZ's code) + targetLength 57.2958 mul + angle0 sin rx mul dup mul + angle0 cos ry mul dup mul + add sqrt div +% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees +% (if the ellipse is very curved at the point where we draw the arrow, % +% the value can be much more than 360 degrees !) +% this should avoid going on the wrong side (more than 180 degrees) or go near +% a bad attractive point (at 180 degrees) + dup 90 ge { pop 90 } if + angle0 exch d % add or sub +% maximum number of times to iterate the iterative procedure: +% iterative procedure: takes an angle t on top of stack, computes a +% better angle (and put it on top of stack) + 30 { dup +% compute distance D between (x0,y0) and M(t) + dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt +% if D almost equals targetLength, we stop + dup targetLength sub abs 1e-5 le { pop exit } if +% stack now contains D t +% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]: +% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 ) + exch dup cos rx mul x0 sub exch sin ry mul y0 sub +% stack contains: y(t)-y0, x(t)-x0, d + 2 index Div targetLength mul y0 add ry Div exch + 2 index Div targetLength mul x0 add rx Div +% stack contains x(t')/rx , y(t')/ry , d +% now compute t', and remove D from stack + atan exch pop + } repeat +% we don't look at what happened... in particular, if targetLength is greater +% than the diameter of the ellipse... +% the final angle will be around /angle0 + 180. maybe we should treat this pathological case... +% after iteration, stack contains an angle t such that M(t) is the tail of the arrow +% to give back the result as a an angle relative to angle0 we could add the following line: +% angle0 sub 0 exch d +% +% begin bug fix 2006-01-11 +% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180 +%(we don't want to make the ellipse turn more or less than it should)... +dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse +% end bug fix +} def +% +/EllipticArcArrow { + /d ED % is add or sub + /b ED % arrow procedure + /a1 ED % angle + gsave + newpath + 0 -1000 moveto + clip % Set clippath far from arrow. + newpath + 0 1 0 0 b % Draw arrow to determine length. + grestore +% Length of arrow is on top of stack. Next 3 numbers are junk. +% + a1 exch ArcAdjust % Angular position of base of arrow. + /a2 ED + pop pop pop + a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig + a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig + a1 cos rx mul xOrig add % + a1 sin ry mul yOrig add % +% Now arrow tip coor and base coor are on stack. + b pop pop pop pop % Draw arrow, and discard coordinates. + a2 CLW 8 div +% change value of d (test it by looking if `` 1 1 d '' gives 2 or not ) + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse + ArcAdjust +% resets original value of d + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap. +} def +%%------------------ tvz/DG/hv (2004-05-10) end -------------------%% +% +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +% +/RotBegin { + tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if + /TMatrix [ TMatrix CM ] cvx def + /a ED + a Rot /RAngle [ RAngle dup a add ] cvx def +} def +% +/RotEnd { + /TMatrix [ TMatrix setmatrix ] cvx def + /RAngle [ RAngle pop ] cvx def +} def +% +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +% +/Uput { + /a ED + add 2 div /h ED 2 + div /w ED + /s a sin def + /c a cos def + /b s abs c abs 2 copy gt dup + /q ED + { pop } { exch pop } ifelse def + /w1 c b div w mul def + /h1 s b div h mul def + q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse +} def +% +/UUput { + /z ED + abs /y ED + /x ED + q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse + { x x mul y y mul sub z z mul add sqrt z add } + { q { x s div } { x c div } ifelse abs + } ifelse + a PtoC + h1 add exch + w1 add exch +} def +% +/BeginOL { + dup (all) eq exch TheOL eq or + { IfVisible not { Visible /IfVisible true def } if } + { IfVisible { Invisible /IfVisible false def } if } ifelse +} def +% +/InitOL { + /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def + /Visible { CP OLUnit idtransform T moveto } def + /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def + /BOL { BeginOL } def + /IfVisible true def +} def +% +%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%% +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a +end +} def +% +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +end +%-----------------------------------------------------------------------------% +% +% END pstricks.pro + +%%EndProcSet +%%BeginProcSet: pst-algparser.pro 0 0 +% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $ +%% +%% PostScript prologue for PSTricks algorithm parser +%% Version 0.04, 2011/10/21 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%%-----------------------------------------------------------------------------% +% +/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez +% +/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin +% +% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13 +% +% 09/2011 DR factorial with ! added +% +% E->T|E+T +% T->FS|T*FS +% FS -> F | +FS | -FS +% F->P|F^SF|P! +% P->(E)|literal +% literal->number|var|var[E]|func(params) +% params->E|E,param +% number->TOBEFINISHED +% +%% E expression, T term, SF signed factor, F factor, P power +% +%% parser +% +%% str +% +%% C->E<condition_operators>E +%% STR index -> STR index+lenExpr +/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def +% +%% analyze Expression List (separator , or | ) +%% STR index -> STR index+lenExpr +%% /AnalyzeListOfE { +%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar +%% NextNonBlankChar dup 0 eq { pop exit } if +%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if +%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop +%% AnalyzeListOfEPostHook +%% } def +/AnalyzeListOfE { + /NotFirst false def + { NextNonBlankChar pop AnalyzeExpr + NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse + dup Strlen eq { exit } if NextNonBlankChar + dup 44 ne 1 index 124 ne and + { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } + if pop 1 add } loop + AnalyzeListOfEPostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% E->T|E+T +%% STR index -> STR index+lenExpr +/AnalyzeExpr { + AnalyzePreHook AnalyzeTerm IsEndingExpr + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% T->FS|T*FS +%% STR index +/AnalyzeTerm { + AnalyzePreHook AnalyzeSignedFactor IsEndingTerm + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FS -> F | +FS | -FS +%% STR index +/AnalyzeSignedFactor { + AnalyzePreHook 2 copy get dup IsUnaryOp + { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp } + { pop AnalyzeFactor } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% F->P|F^P|P! +%% STR index +/AnalyzeFactor { + AnalyzePreHook AnalyzePower IsEndingFactor + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { dup 33 eq%% is there a ! DR 09/2011 + { pop 1 add NextNonBlankChar pop EvalFactorial } + { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower } + ifelse + IsEndingFactor { pop exit } if } loop } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% P->(E)|literal +%% STR index +/AnalyzePower { + %% depending of first char either a number, or a literal + 2 copy get dup 40 eq%%an open par + { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop } + { AnalyzeLiteral } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index STR[index] -> STR index +%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def +/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% recognize + or - +%% chr -> T/F +/IsUnaryOp { dup 43 eq exch 45 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadNumber { + exch dup 3 -1 roll dup 3 1 roll + %%read mantissa + { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop + dup 101 eq exch 69 eq or + %%% there is a "e" or "E" -> read exponant + { 1 add 2 copy get dup IsUnaryOp + { pop 1 add 2 copy get } if + { IsNumber not { exit } if 1 add 2 copy get } loop } + if + dup 4 1 roll + 3 -1 roll exch 1 index sub getinterval +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadCondOp { + NextNonBlankChar 1 index 4 1 roll + { IsCondOp not { exit } if 1 add 2 copy get } loop + 2 copy 5 -1 roll + exch 1 index sub getinterval 3 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can contain only : 0123456789. +%% chr -> T/F +/IsLiteral {% + dup 48 ge exch dup 57 le 3 -1 roll and exch + dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch + dup 97 ge exch 122 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)? +%% STR index -> literal STR index' nextchr +/ReadLiteral { + exch dup 3 -1 roll dup 3 1 roll + %%read literal core + { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop + 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a clpar +%% STR index -> STR index STR[index] T/F +/IsEndingExpr {% + 2 copy dup Strlen eq + %% if end of str is reached -> end ! + { pop pop 0 true } + %% ending chr -> clpar, comma, |, <, >, =, !, + {get dup dup 41 eq + exch dup 124 eq + exch dup 93 eq + exch dup 44 eq + exch dup 30 eq + exch dup 60 ge exch 62 le and or or or or or} + ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a +- +%% STR index -> STR index STR[index] T/F +/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or */ +%% STR index -> STR index STR[index] T/F +/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or ^ +%% STR index -> STR index STR[index] T/F +/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index STR[index] +/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def +/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def +%%%%%%%%%%%%%%%%%%%%%%%% +%% DEBUG +/BRK {false} def +/BRKtrue {/BRK true def} def +/BRKStop {BRK {BRKtoto} if } def +/BRKEvalStop {BRK exch if } def +/BRKBRK2true {BRK {BRK2true} if } def +/BRK2 {false} def +/BRK2true {/BRK2 true def} def +/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def +end +% +%-------------------------------------------------------------------------------% +% +/tx@AlgToPs 12 dict def tx@AlgToPs begin +% +%% algExpr -> PSVector +/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def +/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def +/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def +/Strlen 0 def +/EvalListOfExpr {} def% +/EvalNumber {% + ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx + exch 1 add array astore def NextNonBlankChar pop } def +/EvalAddSub {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def +} def +/EvalMulDiv {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def +} def +/EvalPower {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + pop /exp cvx exch 1 add array astore def +} def +/EvalFactorial {% DR 09/2011 + /ExpressionVector ExpressionVector aload length + /fact cvx exch 1 add array astore def +} def +/EvalLiteral {% + ReadLiteral + dup 40 eq%%% there is an open par -> function call + { pop 2 index + dup (Sum) eq { EvalSum } + { dup (IfTE) eq { EvalCond } + { dup (Derive) eq { pop EvalDerive } + { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx + exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse } + { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def + dup 91 eq%%% there is an open bracket -> vector element + { pop 1 add NextNonBlankChar pop AnalyzeExpr + /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add } + { pop NextNonBlankChar pop } + ifelse} + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% the derive function : Derive(n,f(x)) +%% firstparindex lastparindex -> +/EvalDerive { + %% manage the function descripiton + 1 add ReadNumber 3 1 roll NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + 1 add NextNonBlankChar pop + 3 -1 roll cvi + dup 0 eq + { pop AnalyzeExpr 3 -1 roll pop 1 add } + { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll + { (x) tx@Derive begin Derive end } repeat + ExpressionVector exch /ExpressionVector [] def + AlgToPs aload length + /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def + l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add + 1 index length /Strlen exch def } ifelse +} def +/EvalSum {% + pop 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll + 5 -1 roll 4 add array astore def + %% keep ExpressionVector for later and create a new one for internal Sum computation + ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def + 1 add NextNonBlankChar pop AnalyzeExpr + %% add each term + /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def + /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add + array astore def 3 -1 roll pop 1 add +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +/EvalCond {% + pop 1 add AnalyzeCond NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + ExpressionVector 3 1 roll /ExpressionVector [] def + 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def + NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add AnalyzeExpr + NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if + ExpressionVector + /ExpressionVector 6 -1 roll aload length dup + 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def + 1 add 3 -1 roll pop +} def +%% CondOp STR index +/EvalCondOp {% + 3 -1 roll + dup (=) eq { /eq } {% + dup (<) eq { /lt } {% + dup (>) eq { /gt } {% + dup (>=) eq { /ge } {% + dup (<=) eq { /ge } {% + dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator } + ifelse } ifelse } ifelse } ifelse } ifelse } ifelse + cvx exch pop + /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def +/EvalUnaryOp { + 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook {} bind def +/PreEvalHook {} bind def +/AnalyzeListOfEPostHook {} bind def +/AnalyzePostHook {} def +/RollOp { 3 1 roll } bind def +end %tx@CoreAnalyzerDict +% +%--------------------------------------------------------------------% +% +/tx@Derive 41 dict def tx@Derive begin +%%increase ^^ for each function added +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable -> PSVector +/Derive {% + 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end +} def +/Strlen 0 def +/InitParser { dup length /Strlen exch def 0 } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable index -> PSVector +/DeriveIndexed {% + 3 1 roll 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u,v)'=-(u',v') +/EvalListOfExpr {% + 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe + 2 copy 7 -1 roll dup length 4 1 roll putinterval add + 6 -2 roll pop pop + 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (-u)'=-(u') +/EvalUnaryOp { + 4 -2 roll 4 index (0) eq + { (0) StrConcat 7 -1 roll pop } + { 7 -1 roll 45 eq + { AddSub AddOpPar true } { false } ifelse + 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (number)'=0 +/EvalNumber { ReadNumber (0) 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u+v)'=u'+v' +/EvalAddSub {% + 7 index dup (0) eq + { pop true }%% du=0 nothing added + { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false } + ifelse + 5 index dup (0) eq + { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0 + { exch + { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added + { 5 -2 roll 7 index 43 eq%%something yet added + { AddAdd false } { AddSub AddOpPar true } ifelse } + ifelse 11 1 roll + 3 -1 roll StrConcat 10 -1 roll { AddClPar } if + 2 copy pop 0 6 2 roll GetIntervalNewStr } + ifelse + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)' or (u/v)' +/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)'=u'*v+u*v' +/EvalMul {% + 4 -2 roll 7 index dup (0) eq + { pop false }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if + true }%%du!=0 + ifelse + 5 1 roll 5 index (0) eq + { 5 -1 roll not { (0) StrConcat } if }%%dv=0 + { 5 -1 roll { AddAdd } if + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + }%%dv!=0 + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u/v)'=(u'*v-u*v')/v^2 +/EvalDiv {% + 4 -2 roll + 4 index (0) eq%%dv=0 -> u'/v + { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse } + { 7 index dup (0) eq + { pop }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0 + ifelse + AddSub + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + %}%%dv!=0 + 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar + AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add } + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str1 index str2 -> str1 index +/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def +/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u) +/EvalPower {% + 4 -2 roll 7 index (0) eq + {%%if du=0 then (u^v)'=v'ln(u)u^v + 4 index (0) eq + { (0) StrConcat }%%if dv=0 then (u^v)'=0 + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if + 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if + AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse + } + {%%du!=0 + 4 index (0) eq + {%%if dv=0 then (u^v)'=vu'u^(v-1) + 5 index dup IsStrNumber + { dup (0) eq + { StrConcat } + { dup dup (1) eq exch (1.0) eq or + { StrConcat } + { StrConcat + 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1 + { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006 + (*\() StrConcat 8 index StrConcat (\)) StrConcat + 5 index dup dup (2) eq exch (2.0) eq or + { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse } + { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)) StrConcat } ifelse + } + {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u) + 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if + AddOpPar 5 index StrConcat (\)*\() StrConcat + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)+\() StrConcat + 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (\)*ln\() StrConcat + 8 index StrConcat AddClPar + } ifelse + } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for factorial ! only cst => null derivative +/EvalFactorial {% DR 09/2011 + 4 index (0) eq + { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll } + { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str -> true/false +/IsStrNumber {% + true exch + { dup 48 lt exch dup 57 gt 3 -1 roll or + exch dup 46 ne%%. + exch dup 43 ne%%+ + exch 45 ne%%- + and and and { pop false } if } forall +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalLiteral {% + ReadLiteral dup 40 eq%%% there is an open par -> function call + { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec } + { dup 91 eq%%% there is an open bracket -> vector element + { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented } + { pop EvalVariable } + ifelse } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% first last parpos Expr[first:parpos-1] -> +/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (f(u))'=u'f'(u) +/EvalFunc { + 4 2 roll 4 index (1) ne + { AddOpPar 4 index StrConcat (\)*) StrConcat } if + (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Func derivative -> Eval<func> +/EvalFunc_sin {% + PreCommonFunc + { (cos\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_cos {% + PreCommonFunc + { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_tan {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_asin {% + PreCommonFunc + { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_acos {% + PreCommonFunc + { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_atg {% + PreCommonFunc + { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_ln {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_exp {% + PreCommonFunc + { (exp\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_EXP {% + PreCommonFunc + { (EXP\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_sqrt {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Fact {% + PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if + PostCommonFunc } def +/EvalFunc_sh {% + PreCommonFunc + { (ch\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_ch {% + PreCommonFunc + { (sh\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_th {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argsh {% + PreCommonFunc + { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argch {% + PreCommonFunc + { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argth {% + PreCommonFunc + { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/PreCommonFunc { + 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop + 4 2 roll 4 index (0) eq + { (0) StrConcat false } + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse +} def +/PostCommonFunc { + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +/EvalFunc_Derive {% + 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs + 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add + 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval + exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_Sum {% + 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop 3 -1 roll pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if + 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat + 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_IfTE {% + 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond + NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + 1 add NextNonBlankChar pop dup 5 1 roll + AnalyzeExpr NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add NextNonBlankChar pop + AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat + 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% advance in str until a comma is found (no error detection!) +%% str index -> str index' +/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for condition.... +/EvalCondOp { 3 -1 roll pop } bind def +/PutIntervalOneAdd {putinterval 1 add} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add close parenthesis in string at the given index +%% str index -> str index+1 +/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add 0 in string at the given index +%% str index -> str index+1 +/AddZero {2 copy (0) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddMul {2 copy (*) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddDiv {2 copy (/) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a plus sign in string at the given index +%% str index -> str index+1 +/AddAdd {2 copy (+) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a minus sign in string at the given index +%% str index -> str index+1 +/AddSub {2 copy (-) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a pipe sign in string at the given index +%% str index -> str index+1 +/AddPipe {2 copy (|) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook { dup 5 1 roll } bind def +/PreEvalHook {} def +/AnalyzePostHook { 7 -1 roll pop } bind def +/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def +/RollOp { 5 1 roll } bind def +end%%%tx@CoreAnalyzerDict +/tx@AddMathFunc 12 dict def tx@AddMathFunc begin +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% NEW FUNC +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2)) +%% x -> theta +/asin {% + dup abs 1 gt { EQDFasinrangeerror } if + dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad +} def +%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x) +%% x -> theta +/acos {% + dup abs 1 gt { EQDFacosrangeerror } if + dup dup mul 1 exch sub sqrt exch atan DegtoRad +} def +%% function arctangent in radians +%% x -> theta +/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def +%% HYPERBOLIC FUNCTIONS +/sh { dup Ex exch neg Ex sub 2 div } def +/ch { dup Ex exch neg Ex add 2 div } def +/th { dup sh exch ch div } def +/Argsh { dup dup mul 1 add sqrt add ln } def +/Argch { dup dup mul 1 sub sqrt add ln } def +/Argth { dup 1 add exch 1 exch sub div ln 2 div } def +%% modified exponential funtion for 0 +%% x n -> x^n +/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def +%% modified exponential funtion for 0 +%% x -> e^x +/Ex { Euler exch exp } bind def +%% +%% factorial function +%% n -> n! +/Fact { 1 exch 2 exch 1 exch { mul } for } bind def +/fact { Fact } bind def +/! { Fact } bind def +end +% +% END pst-algparser.pro + +%%EndProcSet +%%BeginProcSet: pst-tools.pro 0 0 +% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $ +% +%% PostScript tools prologue for pstricks.tex. +%% Version 0.02, 2012/01/01 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +/Pi2 1.57079632679489661925640 def +/factorial { % n on stack, returns n! + dup 0 eq { 1 }{ + dup 1 gt { dup 1 sub factorial mul } if } + ifelse } def +% +/MoverN { % m n on stack, returns the binomial coefficient m over n + 2 dict begin + /n exch def /m exch def + n 0 eq { 1 }{ + m n eq { 1 }{ + m factorial n factorial m n sub factorial mul div } ifelse } ifelse + end +} def +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% subroutines for complex numbers, given as an array [a b] +% which is a+bi = Real+i Imag +% +/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] + dup 0 get % [a1 b1] [a2 b2] a2 + 3 -1 roll % [a2 b2] a2 [a1 b1] + dup 0 get % [a2 b2] a2 [a1 b1] a1 + 3 -1 roll % [a2 b2] [a1 b1] a1 a2 + add % [a2 b2] [a1 b1] a1+a2 + 3 1 roll % a1+a2 [a2 b2] [a1 b1] + 1 get % a1+a2 [a2 b2] b1 + exch 1 get % a1+a2 b1 b2 + add 2 array astore +} def +% +/cxneg { % [a b] + dup 1 get % [a b] b + exch 0 get % b a + neg exch neg % -a -b + 2 array astore +} def +% +/cxsub { cxneg cxadd } def % same as negative addition +% +% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3] +/cxmul { % [a1 b1] [a2 b2] + dup 0 get % [a1 b1] [a2 b2] a2 + exch 1 get % [a1 b1] a2 b2 + 3 -1 roll % a2 b2 [a1 b1] + dup 0 get % a2 b2 [a1 b1] a1 + exch 1 get % a2 b2 a1 b1 + dup % a2 b2 a1 b1 b1 + 5 -1 roll dup % b2 a1 b1 b1 a2 a2 + 3 1 roll mul % b2 a1 b1 a2 b1a2 + 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1 + 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2 + 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2 + 4 -1 roll add % b1 a2 a1 b2 b3 + 4 2 roll mul % b1 b2 b3 a1a2 + 4 2 roll mul sub % b3 a3 + exch 2 array astore +} def +% +% [a b]^2 = [a^2-b^2 2ab] = [a2 b2] +/cxsqr { % [a b] square root + dup 0 get exch 1 get % a b + dup dup mul % a b b^2 + 3 -1 roll % b b^2 a + dup dup mul % b b^2 a a^2 + 3 -1 roll sub % b a a2 + 3 1 roll mul 2 mul % a2 b2 + 2 array astore +} def +% +/cxsqrt { % [a b] +% dup cxnorm sqrt /r exch def +% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 + cxlog % log[a b] + 2 cxrdiv % log[a b]/2 + aload pop exch % b a + 2.781 exch exp % b exp(a) + exch cxconv exch % [Re +iIm] exp(a) + cxrmul % +} def +% +/cxarg { % [a b] + aload pop % a b + exch atan % arctan b/a + DegtoRad % arg(z)=atan(b/a) +} def +% +% log[a b] = [a^2-b^2 2ab] = [a2 b2] +/cxlog { % [a b] + dup % [a b][a b] + cxnorm % [a b] |z| + log % [a b] log|z| + exch % log|z|[a b] + cxarg % log|z| Theta + cxmake2 % [log|z| Theta] +} def +% +% square of magnitude of complex number +/cxnorm2 { % [a b] + dup 0 get exch 1 get % a b + dup mul % a b^2 + exch dup mul add % a^2+b^2 +} def +% +/cxnorm { % [a b] + cxnorm2 sqrt +} def +% +/cxconj { % conjugent complex + dup 0 get exch 1 get % a b + neg 2 array astore % [a -b] +} def +% +/cxre { 0 get } def % real value +/cxim { 1 get } def % imag value +% +% 1/[a b] = ([a -b]/(a^2+b^2) +/cxrecip { % [a b] + dup cxnorm2 exch % n2 [a b] + dup 0 get exch 1 get % n2 a b + 3 -1 roll % a b n2 + dup % a b n2 n2 + 4 -1 roll exch div % b n2 a/n2 + 3 1 roll div % a/n2 b/n2 + neg 2 array astore +} def +% +/cxmake1 { 0 2 array astore } def % make a complex number, real given +/cxmake2 { 2 array astore } def % dito, both given +% +/cxdiv { cxrecip cxmul } def +% +% multiplikation by a real number +/cxrmul { % [a b] r + exch aload pop % r a b + 3 -1 roll dup % a b r r + 3 1 roll mul % a r b*r + 3 1 roll mul % b*r a*r + exch 2 array astore % [a*r b*r] +} def +% +% division by a real number +/cxrdiv { % [a b] r + 1 exch div % [a b] 1/r + cxrmul +} def +% +% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian +/cxconv { % theta + RadtoDeg dup sin exch cos cxmake2 +} def + +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { % on stack must be an array [ ... ] +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a % return the sorted array +end +} def +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +%-----------------------------------------------------------------------------% +% END pst-tools.pro + +%%EndProcSet +%%BeginProcSet: pst-dots.pro 0 0 +% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt <tvz@Princeton.EDU> +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% Modified by Etienne Riga - Dec. 16, 1999 +%% Modified by Etienne Riga - 2005/01/01 (er) +%% to add /Diamond, /SolidDiamond and /BoldDiamond +%% Modified by Herbert Voss (hv) - 2008/04/17 +% +10 dict dup begin % hold local + /FontType 3 def + /FontMatrix [.001 0 0 .001 0 0] def +% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv + /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph + /Encoding 256 array def + 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef + Encoding % replace with given dot names + dup (b) 0 get /Bullet put % get the numerical position of b in ASCII +% % and save /Bullet at this place in Encoding + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put % 67 + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + dup (P) 0 get /BoldPentagon put +%%% + dup (k) 0 get /Asterisk put + dup (K) 0 get /BoldAsterisk put + dup (J) 0 get /SolidAsterisk put + dup (h) 0 get /Hexagon put + dup (H) 0 get /BoldHexagon put + dup (G) 0 get /SolidHexagon put + dup (f) 0 get /Octogon put % 2008-04-18 hv + dup (F) 0 get /BoldOctogon put % 2008-04-18 hv + dup (g) 0 get /SolidOctogon put % 2008-04-18 hv + dup (a) 0 get /Add put + dup (A) 0 get /BoldAdd put % 65 + dup (x) 0 get /Mul put + dup (X) 0 get /BoldMul put + dup (m) 0 get /Oplus put + dup (M) 0 get /BOplus put + dup (e) 0 get /SolidOplus put + dup (n) 0 get /Otimes put + dup (N) 0 get /BOtimes put + dup (E) 0 get /SolidOtimes put + dup (i) 0 get /Bar put + dup (I) 0 get /BoldBar put + dup (l) 0 get /SolidDiamond put + dup (d) 0 get /Diamond put + (D) 0 get /BoldDiamond put +%%% +/CharProcs 47 dict def +CharProcs begin + /CirclePath {0 0 500 0 360 arc closepath} def + /Bullet {CirclePath fill} def + /Circle {CirclePath .9 .9 scale CirclePath eofill} def + /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def + /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def + /SolidTriangle {TrianglePath fill} def + /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def + /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def + /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def + /SolidSquare {SquarePath fill} def + /Square {SquarePath .89 .89 scale SquarePath eofill} def + /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def + /PentagonPath { + -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto + 0 574.7 lineto -546.6 177.6 lineto closepath + } def + /SolidPentagon {PentagonPath fill} def + /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def + /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def +%-------------- hv begin 2004/07/25 from: er 2003/03/24 + /HexagonPath { + 0 550 moveto -476 275 lineto -476 -275 lineto + 0 -550 lineto 476 -275 lineto 476 275 lineto closepath + } def + /SolidHexagon {HexagonPath fill} def + /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def + /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def +% 2008-04-18 hv + /OctogonPath { + 550 dup 22.5 tan mul dup neg dup add /xMove exch def + exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def + /SolidOctogon { OctogonPath fill } def + /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def + /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def +% + /AsteriskPath { + 20 0 moveto 10 250 180 500 0 500 curveto + -180 500 -10 250 -20 0 curveto closepath + } def + /Asterisk { + AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath + 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill + } def +% + /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def + /BoldAsteriskPath { + 50 30 cos 100 mul moveto Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp closepath + } def + /BoldAsterisk {BoldAsteriskPath fill} def + /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def + /CrossPath { + 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto + -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto + 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath + } def + /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto + -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto + 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath + } def + /Add {CrossPath fill} def + /Mul {45 rotate CrossPath fill} def + /BoldAdd {BoldCrossPath fill} def + /BoldMul {45 rotate BoldCrossPath fill} def + /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def + /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def + /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def + /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def + /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def + /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def + /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def + /Bar {BarPath fill} def + /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def + /BoldBar {BoldBarPath fill} def + /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def + /SolidDiamond {DiamondPath fill} def + /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def + /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def +%%% + /.notdef { } def +end +% +/BuildGlyph { + exch + begin +% Metrics 1 index get exec 0 + 0 0 +% BBoxes 3 index get exec + -1000 -1000 1000 1000 +% -571.5 -742.5 571.5 742.5 + setcachedevice + CharProcs begin load exec end + end +} def +% +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +} bind def +% +end +/PSTricksDotFont exch definefont pop +% +%% end + +%%EndProcSet +%%BeginProcSet: pst-node.pro 0 0 +% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $ +%% +%% PostScript prologue for pst-node.tex. +%% Version 1.13, 2011/11/21. +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +/tx@NodeDict 400 dict def tx@NodeDict begin +tx@Dict begin % from main pstricks dict + /T /translate load def + /CP /currentpoint load def +end +/NewNode { % on stack: { x y } boolean N@name type InitXnode + gsave + NodeScale % a bugfix for xelatex, it's empty for dvips + /next exch def % { x y } boolean N@name type + dict dup % { x y } boolean N@name dict dict + 3 1 roll def % { x y } boolean dict N@name dict def + exch { dup 3 1 roll def } if % { x y } dict boolean + begin % { x y } dict begin + tx@Dict begin + STV CP T exec % set scaling + end + /NodeMtrx CM def % save CM + next % InitXNode + end + grestore +} def +% +/InitPnode { + /Y ED /X ED + /NodePos { NodeSep Cos mul NodeSep Sin mul } def +} def +% +/InitCnode { + /r ED /Y ED /X ED + /NodePos { NodeSep r add dup Cos mul exch Sin mul } def +} def +% +/GetRnodePos { + Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse + Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse + dx Sin mul abs dy + Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse +} def +% +/InitRnode { + /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED + /NodePos { GetRnodePos } def +} def +% +/DiaNodePos { + w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup + Cos mul exch Sin mul +} def +% +/TriNodePos { + Sin s lt + { d NodeSep sub dup Cos mul Sin Div exch } + { w h mul w Sin mul h Cos abs mul add Div + NodeSep add dup Cos mul exch Sin mul + } ifelse +} def +% +/InitTriNode { + sub 2 div exch + 2 div exch + 2 copy T + 2 copy 4 index index /d ED + pop pop pop pop + -90 mul rotate + /NodeMtrx CM def + /X 0 def /Y 0 def + d sub abs neg /d ED + d add /h ED + 2 div h mul h d sub Div /w ED + /s d w Atan sin def + /NodePos { TriNodePos } def +} def +% +/OvalNodePos { + /ww w NodeSep add def + /hh h NodeSep add def + Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul +} def +% +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +% +/XYPos { + dup sin exch cos Do + /Cos ED /Sin ED /Dist ED + Cos 0 gt + { Dist Dist Sin mul Cos div } + { Cos 0 lt + { Dist neg Dist Sin mul Cos div neg } + { 0 Dist Sin mul } ifelse + } ifelse + Do +} def +% +/GetEdge { + dup 0 eq + { pop begin 1 0 NodeMtrx dtransform + CM idtransform + exch atan sub + dup + sin /Sin ED + cos /Cos ED + /NodeSep ED + NodePos NodeMtrx dtransform CM idtransform end } + { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse +} def +% +/AddOffset { + 1 index 0 eq + { pop pop } + { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse +} def +% +/GetEdgeA { + NodeSepA AngleA NodeA NodeSepTypeA GetEdge + OffsetA AngleA AddOffset + yA add /yA1 ED + xA add /xA1 ED +} def +% +/GetEdgeB { + NodeSepB AngleB NodeB NodeSepTypeB GetEdge + OffsetB AngleB AddOffset + yB add /yB1 ED + xB add /xB1 ED +} def +% +/GetArmA { + ArmTypeA 0 eq + { /xA2 ArmA AngleA cos mul xA1 add def + /yA2 ArmA AngleA sin mul yA1 add def } + { ArmTypeA 1 eq {{exch}} {{}} ifelse + /Do ED + ArmA AngleA XYPos OffsetA AngleA AddOffset + yA add /yA2 ED + xA add /xA2 ED } ifelse +} def +% +/GetArmB { + ArmTypeB 0 eq + { /xB2 ArmB AngleB cos mul xB1 add def + /yB2 ArmB AngleB sin mul yB1 add def } + { ArmTypeB 1 eq {{exch}} {{}} ifelse + /Do ED + ArmB AngleB XYPos OffsetB AngleB AddOffset + yB add /yB2 ED + xB add /xB2 ED } ifelse +} def +% +/InitNC { + /b ED /a ED % second and first node + /NodeSepTypeB ED /NodeSepTypeA ED + /NodeSepB ED /NodeSepA ED + /OffsetB ED /OffsetA ED + tx@NodeDict a known tx@NodeDict b known and dup { + /NodeA a load def + /NodeB b load def + NodeA GetCenter /yA ED /xA ED + NodeB GetCenter /yB ED /xB ED } if +} def +% +/LPutLine { + 4 copy + 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED + 1 t sub mul + 3 1 roll 1 t sub mul + 4 1 roll t mul add /Y ED + t mul add /X ED +} def +% +/LPutLines { + mark LPutVar counttomark 2 div 1 sub /n ED +% t floor dup n gt + t floor dup n ge % to allow npos<= hv 2008-08-14 + { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse + cvi 2 mul { pop } repeat + LPutLine + cleartomark +} def +% +/BezierMidpoint { + /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED + /cx x1 x0 sub 3 mul def + /cy y1 y0 sub 3 mul def + /bx x2 x1 sub 3 mul cx sub def + /by y2 y1 sub 3 mul cy sub def + /ax x3 x0 sub cx sub bx sub def + /ay y3 y0 sub cy sub by sub def + ax t 3 exp mul bx t t mul mul add + cx t mul add x0 add ay t 3 exp mul + by t t mul mul add cy t mul add + y0 add 3 ay t t mul mul mul 2 + by t mul mul add cy add 3 ax t t mul mul mul + 2 bx t mul mul add cx add atan /NAngle ED + /Y ED /X ED +} def +% +/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def +} def +/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def +/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit +} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd +} def +/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def +} def +/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def +/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { +exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark +VPosEnd } def +/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 +roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx +def grestore exec /LPutVar /SaveLPutVar load def } def +/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def +GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { +LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { +LPutVar VPutLine } def LPutVar } def +% +/NCLine { + NCCoor + tx@Dict begin + ArrowA CP 4 2 roll + ArrowB + lineto pop pop + end +} def +% +/NCLines { + false NArray + n 0 eq + { NCLine } + { 2 copy yA sub exch xA sub Atan /AngleA ED + n 2 mul dup index exch index yB sub exch xB sub + Atan /AngleB ED + GetEdgeA GetEdgeB + /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def + mark LPutVar + tx@Dict begin false Line end + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def + } ifelse +} def +% +/NCCurve { + GetEdgeA + GetEdgeB + xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 +roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA +GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict +begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] +cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines +} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def +% +/NCAngles { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform pop + xB2 yB2 mtrx transform exch pop + mtrx itransform + /y0 ED /x0 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def } def +% +/NCAngle { + GetEdgeA GetEdgeB GetArmB + /mtrx AngleA matrix rotate def + xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform + /y0 ED /x0 ED + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA1 yA1 + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCBar { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx itransform pop + xB2 yB2 mtrx itransform pop + sub dup 0 mtrx transform + 3 -1 roll 0 gt + { /yB2 exch yB2 add def /xB2 exch xB2 add def } + { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCDiag { + /lineAngle ED + GetEdgeA GetEdgeB GetArmA GetArmB mark + lineAngle abs 0 gt { + /xTemp xA2 10 add def + /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def + /dY1 yTemp yA2 sub def + /dX1 xTemp xA2 sub def + /dY2 yB2 yB1 sub def + /dX2 xB2 xB1 sub def + dX1 abs 0.01 lt { + /m2 dY2 dX2 div def + /xB2 xA2 def + /yB2 xA2 xB1 sub m2 mul yB1 add def + }{ + dX2 abs 0.01 lt { + /m1 dY1 dX1 div def + /xB2 xB1 def + /yB2 xB1 xA2 sub m1 mul yA2 add def + }{% + /m1 dY1 dX1 div def + /m2 dY2 dX2 div def + /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def + /yB2 xB2 xA2 sub m1 mul yA2 add def + } ifelse + } ifelse + } if + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetEdgeB GetArmA GetArmB mark +% ArmB 0 ne { xB1 yB1 } if +% xB2 yB2 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCDiagg { + /lineAngle ED + GetEdgeA GetArmA + lineAngle abs 0 gt + { lineAngle } + { yB yA2 sub xB xA2 sub Atan 180 add } ifelse + /AngleB ED + GetEdgeB mark + lineAngle abs 0 gt { + /dY2 yA2 yA1 sub def + /dX2 xA2 xA1 sub def + lineAngle abs 90 eq { + /m2 dY2 dX2 div def + /yA2 xB xA2 sub m2 mul yA2 add def + /xA2 xB def + }{ + /m1 lineAngle dup sin exch cos div def % tan alpha + dX2 abs 0.01 lt { + /yA2 xA1 xB sub m1 mul yB add def + /xA2 xA1 def + }{% + /m2 dY2 dX2 div def + /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def + /yA2 xA2 xB sub m1 mul yB add def + } ifelse + } ifelse + } if + xB1 yB1 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetArmA +% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED +% GetEdgeB +% mark +% xB1 yB1 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCLoop { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED + /xB3 xB2 yB2 mtrx transform pop def + xB3 yA3 mtrx itransform /yB3 ED /xB3 ED + xA3 yA3 mtrx itransform /yA3 ED /xA3 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +% DG/SR modification begin - May 9, 1997 - Patch 1 +%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r +%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add +%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 +%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED +% +/NCCircle { + NodeSepA 0 NodeA 0 GetEdge pop + 2 div dup 2 exp r r mul sub abs sqrt + atan 2 mul /a ED + r AngleA 90 add PtoC yA add exch xA add + exch 2 copy + /LPutVar [ 4 2 roll r AngleA ] cvx def + /LPutPos { + LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC + 3 -1 roll add + /Y ED add /X ED /NAngle ED +% DG/SR modification end + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def + r AngleA 90 sub a add AngleA 270 add a sub + tx@Dict begin + /angleB ED /angleA ED /r ED + /c 57.2957 r Div def + /y ED /x ED +} def +% +/NCBox { + /d ED /h ED + /AngleB yB yA sub xB xA sub Atan def + /AngleA AngleB 180 add def + GetEdgeA GetEdgeB + /dx d AngleB sin mul def + /dy d AngleB cos mul neg def + /hx h AngleB sin mul neg def + /hy h AngleB cos mul def + /LPutVar [ + xA1 hx add yA1 hy add xB1 hx add yB1 hy add + xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def + /LPutPos { LPutLines } def + /HPutPos { xB yB xA yA LPutLine } def + /VPutPos { HPutPos } def + mark + LPutVar tx@Dict begin false Polygon end +} def +% +/NCArcBox { + /l ED neg /d ED /h ED /a ED + /AngleA yB yA sub xB xA sub Atan def + /AngleB AngleA 180 add def + /tA AngleA a sub 90 add def + /tB tA a 2 mul add def + /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def + /x0 xA r tA cos mul add def + /y0 yA r tA sin mul add def + /c 57.2958 r div def + /AngleA AngleA a sub 180 add def + /AngleB AngleB a add 180 add def + GetEdgeA GetEdgeB + /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def + /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def + l 0 eq { + x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn + }{ + x0 y0 translate + /tA AngleA l c mul add def + /tB AngleB l c mul sub def + 0 0 r h add tA tB arc r h add + AngleB PtoC r d add + AngleB PtoC 2 copy + 6 2 roll l arcto 4 { pop } repeat + r d add tB PtoC l arcto 4 { pop } repeat + 0 0 r d add tB tA arcn r d add + AngleA PtoC r h add + AngleA PtoC 2 copy 6 2 roll + l arcto 4 { pop } repeat + r h add tA PtoC l arcto 4 { pop } repeat + } ifelse + closepath + /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def + /LPutPos { + LPutVar /d ED /h ED + /AngleB ED /AngleA ED + /r ED /y0 ED /x0 ED + t 1 le { + r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC + }{t 2 lt { + /NAngle AngleB 180 add def r 2 t sub + h mul t 1 sub d mul add add AngleB PtoC + }{ + t 3 lt { + r d add AngleB 3 t sub mul AngleA 2 t sub + mul add dup 90 sub /NAngle ED PtoC + }{ + /NAngle AngleA 180 add def + r 4 t sub d mul t 3 sub h mul add add AngleA PtoC + } ifelse + } ifelse + } ifelse + y0 add /Y ED x0 add /X ED + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def +} def +% +/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB +sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 +ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB +w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos +{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } +{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } +def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin +/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def +% +/LPutCoor { + NAngle + tx@Dict begin /NAngle ED end + gsave + CM STV + CP Y sub neg exch X sub neg exch moveto + setmatrix CP + grestore +} def +% +/LPut { + tx@NodeDict /LPutPos known + { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse + LPutCoor +} def +% +/HPutAdjust { + Sin Cos mul 0 eq + { 0 } + { d Cos mul Sin div flag not { neg } if + h Cos mul Sin div flag { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { r add neg }{ l add } ifelse + X add /X ED +} def +% +/VPutAdjust { + Sin Cos mul + 0 eq + { 0 } + { l Sin mul Cos div flag { neg } if + r Sin mul Cos div flag not { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { d add } { h add neg } ifelse + Y add /Y ED +} def +% +% +end +% +% END pst-node.pro + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +%%BeginFont: CMSS10 +%!PS-AdobeFont-1.0: CMSS10 003.002 +%%Title: CMSS10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup +/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS10 def +/FontBBox {-61 -250 999 759 }readonly def +/UniqueID 5000803 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def +/FullName (CMSS10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 78 /N put +dup 82 /R put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48 +63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3 +274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F +388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B +E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D +AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4 +154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B +4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200 +29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5 +CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5 +C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16 +131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682 +302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575 +F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378 +AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49 +28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18 +121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A +A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D +8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7 +69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7 +BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960 +C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92 +B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8 +8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01 +161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565 +F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E +A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14 +0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674 +D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169 +B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434 +DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5 +261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA +B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2 +64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038 +F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29 +AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3 +CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF +5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091 +73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5 +A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D +EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F +1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6 +D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C +13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7 +C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8 +08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220 +B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3 +23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA +56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788 +2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB +DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE +3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D +5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D +9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5 +2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7 +F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB +73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5 +B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007 +11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7 +03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE +F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7 +5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1 +60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7 +622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F +BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5 +C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16 +8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474 +1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647 +F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F +D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE +257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA +7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315 +611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4 +246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97 +E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698 +AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1 +EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68 +0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A +94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120 +73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680 +AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443 +8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070 +5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE +6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28 +B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378 +129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B +AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB +8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C +B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6 +753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD +A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4 +93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE +207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433 +3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26 +7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80 +D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825 +09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C +5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105 +B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29 +E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26 +C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90 +F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9 +7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989 +99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A +96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982 +1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B +48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F +4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A +45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3 +D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81 +838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794 +5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA +ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200 +DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF +E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240 +5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5 +46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D +491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A +DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318 +F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B +0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287 +EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298 +E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0 +0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD +ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D +8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C +8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741 +A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447 +4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1 +AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C +2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780 +14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A +647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E +6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6 +4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36 +D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD +60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627 +4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289 +BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0 +1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194 +6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE +65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF +D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7 +6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9 +85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC +7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853 +BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4 +9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440 +6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3 +2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A +374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336 +39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6 +AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F +1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8 +E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6 +AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD +B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684 +CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF +9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3 +DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441 +670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD +99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B +8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900 +E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A +F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1 +DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2 +99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E +DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF +51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A +40E84014F5BF40948F05E8562C9CA9DDD71F89021BE238E74781A92D64E5F9E5 +AD6C0D954C6686C714BF189E78EE47F1530CDB8376E52631A1A26E3021FAB977 +DBF01167266AD68A779C0180E034A90CB77B86747395BE885E484BE4028B4093 +8BE191D58D0BF85308C72E6384292A2E1CD06130A091F8AF9DC6C3E12B1E4BA2 +BB2C37AB4AAFC0CCC7964C06B9EC1C7E3BDCB6BA265288D9C8625EBA35BD2A49 +BC50472D7AE262237FF1EA8D9DEA3C0DBCF7C3B2DF5AFB1F31E46B48E0A8932C +AC31A981655ADE717715290110A24F18A9C280B8A1319EDE24430F8B6EE297A6 +F0ED9FA62CCCE8D04508EA835C94EAAC87A6B0CB478EAA834FCC96919A168737 +09F5AD160CBB4A83185BD3D2FB6C5106F2305408003BB76353291395C141525C +C35B34DC64CB57C382F7D293B863AE11DDD537DFB356CD79C3F39958DBDFAF05 +C2018325DBCDBFD6799A213DC41DB996D0ED640669724C3B991A648934351F8F +C0AFEF6CFFF64A2DC8573FAE4D27F42F684FA9DE66B983C75EE125EF4285686B +C079E717409F7C7976421105699CEE6AC950BFB20E66BEFD4E06AF99E0593AE4 +5DB4DC8C8832529631FABA0B611F89BA8AB7C42C115A93761D1FFA9B70177543 +F76492919E80F0F379EF684F34BAC59C5D2E69B392 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: SkakNew-Figurine +%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003 +%%CreationDate: Mon Feb 02 15:14:46 2009 +%%VMusage: 120000 150000 +11 dict begin +/FontInfo 15 dict dup begin +/version (001.003) readonly def +/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def +/FullName (SkakNew-Figurine) readonly def +/FamilyName (SkakNew-Figurine) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Weight (Regular) readonly def +end readonly def +/FontName /SkakNew-Figurine def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 76 /L put +dup 77 /M put +dup 79 /O put +dup 80 /P put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +/PaintType 0 def +/FontType 1 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox {0 -114 1241 842} readonly def +currentdict end +currentfile eexec +D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 +1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 +204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 +429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 +FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 +C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691 +6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9 +5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716 +C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0 +DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98 +218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549 +1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8 +7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563 +F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F +401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39 +B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD +9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88 +68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC +067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB +3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E +E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510 +6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA +AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90 +A73760A81C686C373ED4475EEF76A3EB467F2EC721D2AB87B492444996764D66 +11C2906AAB13B76373E8E10B6C92AD072356BB7172E941756E1B14A5C16D083A +82D271A5844B36522008EC033C9FA37EE6B8E5603A75500223C98D80CB40CEFF +CADA7CA565351C3844C7E2958DBE1DDE280A937A108D9D67257E51CFFF296304 +3F3E4ECFC71A72240C5C1E3E022AE56DDA20C9BFB9FF931ECEEE556BCC9C4374 +EA6B2CCD3D37CD025624C7B916A98BFD34E7811526561FE9C51114475E9EE497 +2E9524DC3EB093A2793D553A3B4C13236CBCC78A8F93CC75F90C9189297BEEEC +A16244F6181C5C535EC9B0C8DDE504E621B5887FEAAD0F667C7848497110589F +AD4265A06A63E61EBF1D02A87587DC7D4030E320C514539B504A31AF3D78D39B +A3E59AD1CC7763901191CACF97B56367EF01CDF17E2E5049D46E0C470750BFCA +57392DE2D0CA52013ED065C5F3A6A112882F7F37638E5B2B3893392706CE2027 +29FD3E48D7EC7516E263C79D6A97268DA46DF57696DCE0AABC09D1B6E2F91C96 +8D4028D2F1E7C5BE558D301C8B082EB07115A8316F68504339A38BC05ECB819E +A3FD4EC2887F1635AACF2780AF4067FF1E1EA8D90D4CEEA08E56C7958159C8E9 +5855ABD89B67C61781656DD25A7835DD6D0227E8E5197151EFCAAB5DD7E30FF7 +1051D6D4967092FDA2997852C9A27A96351DC61E31ABD4A6EA8173FB9DBC2F61 +D36C2E4278A20DF0EDC8A8322F6919079AC88C84E75904A2D372030CBE54BDD3 +95DBC876109AC6AF2D5DA531182F93B84AB3B31C5908ACF05947F6414AFB850F +043E1D02CD57C8961D1E0EA51C02097026083440BDEC45721D0F6D8C3A1D8CDB +3A7574A94AA0157967D94B4FE04C20B90DA96AB9391B620CE60C015AC73A71E6 +84907BBF57AA08BDC107B0B2DC30D3EC4DCA2FB7C7EBBE81AD2A05A0C30B7128 +2595FAB8122EC5A75FD78BFD3CE46263505F4BD03527FC4CEC45236399A2BF9C +4A75DB0DBC50D9659B1E1BDD615BBBD2E338012BFED914E88F37F9EBC7171264 +E30D7D87E849FECFD4BEEE78024777C8E1E84FA3B14E0B3ABB8A254A1519B911 +DBA0A83D0F86446329C71E645D92D02FFFD3B21DFE7CBA87A3B456F5F7063116 +C8125C64E8D6ADD54958DF8F45025A36326245B88D01F9C198A4CE29518BE6B0 +29A667AFDFA1350FC6EA47AA1D0503F3ACB450EBEC9CEDCC102FCE62F55BF5E1 +CAB60218501E2F429EBD905DD8D404E806EF9CB2841F89A3FA1131105F04465F +3C7A2B47C13DEB6707DC7F01AA43592CE1C81B76B5A6E8D9AEDCD79E7F52AC52 +19F863695C77C3BD4EEE3493075513CD6EABF0CB9F34F66D6AB84E2B903873AA +286B6431912785DA63C574BB4F80DD6F7A1B493739E58351A85D1EFC7CF4B1DA +EB16AEC6E26F10AC985DAEDA799DE2C09C99906E849A107045862E92C0A1B172 +7DDE110ADAA6203C01D69D00071EE1E864B33CD3492BC695E3DEF8B9D83DBBE3 +FB6A76B628EBD106B163EDF4C6F485BF8E72FF25A3F08E88648F0877AA3C5A7B +8EE6553554CFCB0B613B43E51B3EF00243D4F5302BC5307FA44BD179D6CC2DF6 +F1D9C92C198AB47BFB0BFB2250C48A279E3FF00DA2B09FB23038E781924FCD28 +5E09D3201E13708B4DC6BE3D81282CEC04A10C21183A73505F7F430FFDFB7BEC +7D0D22743F6AC58394ADB5D8AEF8DF2675AA70E630D7C4477ED33C1F00073852 +A5EC09AC1F212DA9E477CCBC8E6C1716E52E196B929FDB397551C60A2DFE9134 +F6728BFD04584AD5F748F136D780A0038D253AF86C005E29DECC5DAFF403F153 +0BB5E9B2BD15F6748821A9E687A20D232F530144C800F5E130558BFCF480FBB7 +79AB12EBA4FA0C5A5719F3835C3F1641805392CF4F189350D9AAF9F2135D0D24 +921F112695D50730EACD5D6BA5028C6D183864FD74E6A7194683A2E542231D14 +55CC2E7504334B615CFEA5848F643E8C761E78A9A452B4553EBA264C89076644 +8B4BCAFA8A4F12421F14A61544CFCEDE9081C08D4B9AD85C6049625BEBBEE60D +4CD2E0D6BFEDAABE6DBA1C5560D573F1CA77FE7746198B5AF514564BBC7E9033 +C5356E7A7A8F62B96A0CDBF27E2C2916C93744A3C377EAF002CB86BBC433E39B +354C24AEB7BB943B425F133B57662B87C4476488D31572EB049CAF8014E433FB +D4C18175FEE5C84C38A3994F5FB26EC9083C33F1FBBF1991E2A1E9AA0D9B05CF +807C9314BC4888E895BA400402574E4697271DCA742DE26BB025A76966570464 +65C3919ECEA9779CBFFBBF640D228A1F5D5EE26D30A945888D3469281CADA471 +23D8D3260E1DE2E47A18526DBD971C6E8CE40021549FDB096336531FAB5B0136 +B4DCBF4B10B6E56E0492AEBF75CFD32981455521B2E01EA9D83E56E5DA6CFF86 +1352B688FA2B790285E7BBB1AE7EABCC786E0EB75F87276BC9B541B07234E7B6 +BE219112646CF3EEDBB82A365B137F0C9DFBA0BD9E22BDBCA7C979B94005785E +3FD5715C89C3518CFFC50BD61869C4A56248D078F6D51E3901ECC4ABCAFC7AB2 +C71FB50E2936C272C805FD1CFFEE5E22246D1506DA4F3115C9B58CFFCB8F4B87 +0A6A9089BC7728FBD8CEDB4A9828B07ADAC517DDBA442309B6B8BF59E3563E6B +A2367FA24A141967456DF674F419459A4242708CB4301DFAC108CC8692C89BEF +1D148558F78A9132B26C7C9FA12233D3FB2EC34EEBA0DD7D2BD61029B48039CB +042945A97D0E651FC0D41C42CCB8B66190785C1BC413CD14C32DBC3632DF73B8 +2EF140AA01CBC7A4BC5C6ABFD7B17C81BF507191DBCC45C7CDC0B098D7AAAA09 +DCED8AD9FBF1A9457BE7193206259EC22C75339488BC5043BC6C2CB070E0EE14 +8540CD52542CD19DD6B0396EECBB4F6AFC20FA231F0D7E17BD080C5DEAF24CB0 +60AAE5C79D99C0A3C03071E0577DB271842306296AE5BC588C02A3D19DC0F620 +AA624139D349E16C0856BC50894855588ED2BFE2BE2740B76B6FF62B3E59EDDD +104E3BF213680CF14E3337C48B6CA8E2E23476F95152C2B7A2F8AAC39D27BC77 +6E4FE1F996ECAC2DDF9125199F7CD3AC1F2D3298EB89AC9BC95EB53798FCF67D +2CB01D6FC54423DF2E17F0CF5A9BDCB8CC4C1FBE312D1A3C886E10066F323302 +07B273E55CB6350D2942A5C502C7C1D22FA4E883A0E9BC8A75C3D4C23935DBA3 +1C4551552C1C3A3F08B7EA4DCF6DB75371235977FED298991765108DAD5D4BD7 +074A6411940A3C907511CD71FA45648F78406E164988EB26019CB16819AF47C3 +81E52DE64C0A31A242A272C9F2C8EE6C17795CFC5DFF3E680A7A6A9FCA796000 +CD734EAB37D86218452A80A189E4D391502FCAEF9D028ACB9BED3E09441FB7CE +6793A4E49E362E506DC6BF5F8201D53D809A02343F19C21499046DBF408FCCAF +53C56B932842843157F3D16CA4EB54F4CD044DA560F9A4BD783E76D80B743344 +0DF77397DA7EE6C415BA33B76D6714F7451FBDBDA7941967CC2AC0F89FC6F193 +FD58106FF85144D50392B456D16F27C29B16628D12DE23A184A3AAE658CA3E9A +3AE8CEFC800C1AE6F2AD5E359E9B6B6A1DD8DE7EFA161BCFBCC8045423622B20 +1C7D14C27693368D56E1C7E6732222B249420E086D66FEC913F6D88AB8C269BF +A36F210851A12FF7DE8FB0957428176477D81B345C69BA368057661601791CCF +7BD7D69A7D6D9F3CE13058805D0D25494868FFF19B2FAC8131D00196950CC3A4 +276652B08ED8D6546CAD15D591AE8546A71600613D2B425B9FC7F2367CDC2873 +81573201614D241D104F6AF3C8B64E9940490108B626629AD01A4D6A7AC6B70F +0D5E32F0241809B66D0D486DD7032B97F4D2D7D0DF4F0AE6CED7E9C695F47B21 +C3D9C263BEBAA7A97F9CDA7455C8302CE3D6D89236F7EAA4878C380A9C23AA08 +5EE2658FAD7ABC5EF1ADA32BA39E354D0EA4FA9B9E1F8816E340864F1CB46606 +6B50A9F99CDF7A70AC0C2BC8958257DED45C453196C030ECF6E89A5F3F741151 +96FA7635AE0748141B6CECDE677133C8083A86B10C134D80D07CC3D5C7669FE5 +90DE0133EC61893BF4A7F9CAA915EF3AE61EACA5D851EE1048CD6E898DBD5795 +3473E2785450012CC8C5409B9A97FDD10D39DAECB64AD7BED77213FDC724DBD1 +AC0535ABC8EB9FE0198E15C50E9657FEE8AB00BCABAAC16F6C1560681A7336BD +177FD31EA4840721BF22335AAD835687CADCA97E568F5F36C96D048C3E6C1F52 +2C51CEDE2E3B72CE85CF00AB15C85EDE516399992658BC16249FCDA61AD9BFB7 +6A48CEB195A36F3B164B9A36EBC3382950671C29AD8854FAEB9F2A372B78155A +9AB70623E9EB7E22117FB9F75897AB9A64C147B713813C902078A8A023F162B0 +7B4243FEFDD612762B8516F97A2E8B6F46B55E2C179018E1CF7ABD4A6B5AF9AE +CAC2DC12C61D1EEF349C9797CFA9D657C6E8ABD5F6EA7AD4DA037917201125CF +94D32FAB37A89FDBD06D23D3868A6BB62A97A94A45581A5B17012390EC83668B +3655005298BB8FE43A8880DD63E8C8DC37515580E56FF1BB6689CF92C4CC2E2B +61291B3AD25ABE0937C06E8CD548771FE0AD0A0328F49D818D8B96019E73B4DB +DDFE56689DCE604A7945F90E74A2F350CD4B76DA2EDAD87EB104DD90AE6CEF31 +15A81D31B56A89DBCAA25144D0F225C0640BA06AF3060523DF5C4F45F0534B8E +7A4D80072DA798F8DE379A1330CDEDA5AFD0C337CF041B5D1D4DE7EB013842AB +7F7707355BFBC756DE91EFA187C20C48B3FAB22D770329CFC52169D0769B2D84 +BB6CD63D416CA52BC4F502AF72E82FD4AF14569F957253FFA5A1EEC88A92AD1D +CD2436B39051A9B7C8AABD16E06003EA07279A17028727087F332C0BCD20BAD3 +D13498F3FCD80D0AD210CA291D42B8184776DA936E2736EA5E3DD3FEF1DA02C5 +1DAD1C437AA0277075A39A264AA60A18F249036955116918F68B3066C20D56DF +9D04F756430FEFFA73C5C9BEBD609615E3B5EE10BE0CA948722333AEE411421D +A06803D8831DF9BB5F6C18CD67F2FF3A59D2382228BE611F62339251111EDDF3 +6E7D2DF531FEBC5B36E3AAE726DC7AEDC50D8CD452A2B4DBB0D0D44282F217DB +E6FA7EA15975A51E71012FA0226EB22712762546A652A5D6A7BB0BF135F2CBC1 +A45449CD6668044181A009EB9DAECE0F6408616ABCD4865D7C3236DFD24F39B5 +A29D229495CA4589EEEDB11E5B9322BFD6137A2D35D3AC5B18DABEF24F6126A2 +7F53930DA8F839C8D4F6FA20BB2894FA593FF6AF77F4100ECAFBCC2F93662248 +7B3C5E1063BD766C9E87722E36F6CFA6CCDF23C41BAD2BDF5E2FF3909CEDEFBF +163F48790D1F3163D67774AB77C24C952E7220C54D7604EA627E90895DA3D059 +693D5B4926F09462D6A04AF78B6A28F1B727060BA2BEA51B5DEF0DD4F422FF56 +F4AE0CF07CD42A5290AC4C8CFB52030E9664966098E4A7F039CA62FD73A2CCC8 +FCBFFD89F74EA9E93981AC75798A20920A01100D01A626ED1AFBBAA7BE93D2A0 +B3AE42DA31340398FDBD91CECC02BA6BB4A80DF76BFA27E063C822A33D1B310D +3A48E60F7F1B5755AA9A96332843711A29A78F6C6578495A691C2F9C64F7AF92 +B4FD65BA513ECDA3CCCF42A707BDCF13C8A0102A61392450A3B3CD8B94A383AF +35E59FF6FBB28253542C2EA49CC4C2CAE8987BD26718792253B10FD1C78B08DB +F58BEE5BB4767E6455F4B7E01DE3DC96D0043865017196131029E1AA3216738F +50CE57D39BF7BC2E92A8635AB8A1E78D963008C30F05D450999AD22469325334 +4EFEB187443E6FA78AA0B8019B50C69E4BD1E450DFF172B5E569BE18F516BEC8 +ACDE5A5C1BA20577327E90EEEF2796EF9483B79A0D957A79711124C58FFE8E15 +307FEB7F219E38A4E44959570B0B184A39D7147E6034E76596395A6A25BD8A13 +1B0EAEB44B77A33FDEE7FCB39B9CC5726C984C110EEA36C3BA33798440D48E87 +DFEF88CEFF7EABCECD3724451932AFDBCB66E4D9FFC2584730C6C89395719FBF +E0A372C5BE40B78A2B4B633D7439A6A50E0526FE708212EA92242FCABE82CEC1 +C94A23B335B4A4F4DE82385D348FD1DB4C8C2CB5CA6724385DAD0415699C59C3 +545282C9DC4E3FA784087BBF5A2CB3DA59A34FA2ED6913FF2C4A17FACEC83C03 +2D5A8B22D52151B2F4FB728831EB48453DCEAC01626F1043FF9722B0E81C2288 +E1F349021880AE7AC24CE16224ACB084F9C34FEB01D3D89C33FBE9E9FB36C60B +FD05FC107DE6F399FC8728F9B1DA964C65D6E3AEE1F3AE6766E31AC76426CBAC +BA4E21901EC9198BF1404B6682A3EBB2E58EE92DD3F00453283FF90303684FBD +31C495ABC38E5E338E52E8BD8FE9F937F4A6CE0914E87AB607FC41BE4B9D4480 +8210F84226701AF41CF23AEEA49E8E65A6D8A5BBAA55EAFF5C9BB311382A1AF0 +A278AA337144D278BAA730E1E5B72BFE46C3284789E8F386714856C8885B9B90 +A8ADAF3E6A7B242A5764A49040A48CC1608A55356A8B6C26B9FB85339372CA19 +994B01C756E9D77ABBCC18A4CB7F172139B481FD1848AE5CDB1D9405BD7146BE +A36E39CC2313FF2630EDD4290663178D3746FB4452090914D44AC76E768D72FA +4264BF8A621B92836653B215D58CA5B042E4E7D2A2AF264DD684375BBB42AAD8 +36297B940671A33A746BDADBC074E5AD4F3C37291DAB60136B45010657D8247D +9779B371E630E21326DF56689F85C6CC27DA3E28A216F0BED58171CF6287CB9D +B1D57BC7F8BA0FC520F5DE0645F619C4AD5CA6499C033124BD7493DF1C6F6801 +4B29902FB859CD4C1E75E0A6D5B02EABE3AC973D6A0508C6B23F5DB7539E394C +2745E0194B7B080673E265AE425B203D54EEFD55C9C1A915935686568C435619 +3A95F967FCFDA0C967CE5F3533BF453DB99D51AEFEEDC80DDA2B08CC90B2E904 +5E3D248F55AFFE8A936E2FA3532F295A40ABB0E8F88088A7628AA67ACF15F9AE +ED7F95FA27680858E88085B2F751FC65DD79421E1C521BE3BC6204E396FD76DB +E0221A90353E93EE6E40A98BC3D98CADC0951915AA6C39B89D1BB424E73C74D8 +9AA6E7EA7DC31D2979943D4B9658097BD3FF124D64C05220B092471C947E179F +59660E8B992A5B1FDD6A509BB5A736DAACE1CFFCAB512A6651138C2CC0872B6C +1B1BAC588A47053F016571A3AAD2BD86069D7CC02568FB215E659352F41D4E73 +ECBEAF452441E47716DD4E8A5338945CDFD0497B5A60B1996E262DBCAA504B5D +CE77C79B714783A99D3445F6FA914B4A5E08CD59CF943E00F2749711BBD1FB49 +D40F017953CE6739665A616D4A78FFF7E210F7D7CA870C73647C293C92D7DC7F +F6AAFD3F38FC5DD10B78350D088A606D0E2CF6C30C0D90B59F923850C3E43223 +2EB034531F995971C48A28DB302D729394FD87DE8F242F10A5CA01756A683C57 +25BAA1D4F3625A93E72C86A0DCD6F010F6340C6BA20281D6964C98186A614EB5 +E3632BA1790E4E1B607F5F2B6262FE8928362865819AD32F11472F8A07D16757 +24155869E8470B4B5443820F753CC0BF767E4ACE3295666DFDD93D480057C389 +1609885D25EAB328A0794C9DA9374329ED1C33ED556E845F8358856A18009911 +8BDB06D215AFEB4EDDCFA86ECDDEDB57694BFC89857D2673ADD3091E187464FB +870A70D06F53BDF98C58D95119EB29F564DE0AFF274E17564E598E6E41A4B161 +0713FAF3DE0A9853CDBFFEDE22D38E22B3B0BF20BF98DF2B685ABB1BDE1C17BE +0C0500C03CF4E995A87FB4ED9F5762FC95C342E2F10233FAD2DFF7B288EEEA99 +2402DE511630A757D679A476C78CBF478D958DE5CE74517F7214874E274ED715 +CBFF84EEA41179B451F28F7829C43503B60E332C870CD7E48AD5ECBFBE928D64 +7009799178405317118B209B49854B9EA68415AF3BEA92EF7BACA505A67908F4 +F5158B0079709D215CDA2884D2D26112D27569062622DA7F2D9D0786C4F0F43E +E07DA5BD2652D2D9F55AA65914723A48A9E1DB36C59715F87C6CE89A1FF11033 +77A6C42767837D9934CAA7B994B601A562818E52C47D79777C97B31F008D532C +81D3AE83BB01E1EC6956546352A6BFC6A76C6184FA3A462BABE64ABA445FF969 +5758F2E6407742C2F7D9E08B28F16EA657532A1C3859B470860D504F5E9E668B +51CD14B65BB96ACCC5A46AA63CDC4D983D6AE6F27C80EC0C284D4479602C6093 +9C6F7D31E8FB8CDBEF0C3CC6BD6EDF9AE142C538E4034F0DCF773BCDB183B667 +46277B91656D9ACC8372A295EA7F507070CED85623FA27E9D050A0F375379E20 +05343486FA2EE2443494FB948DA30C764D0B0141A04906D80926E2513E172283 +772665DB6C1A57DA6430E98AF01B026D21AC584712AF57B25509678E0BE0BDBE +E1CEFD7240B321BA8ACD9F3DE002FDC4BFB81F7E8684AFE55AA6D7040FC1768C +F3B4E9EA9C8A871AABCC4CB88A188B9E662E5054C7258E3A33C88480F0FBADC2 +3B0CB6910A7116865D9B5302E023E0D1F2A7D25641CC61CFDCEA42813C36357F +D78931B144585CB2BEA1C97839C91A78043E7FD50539FEB408A7B590C6F3F99E +56AED19C64F5F48D95C2009C1AC9C379B70230F24D38CE89FC74B8B2522B5EBD +C9FAC472AE9A0F6539B8441DAAEF55158658F79F99659CF1770D09CEA2AEC321 +1FD28F443D26A81CAA619EEEEC107A74C572A3AC430B6590B6D5CC124F0ADD48 +F3E610F21C8E99FE2E3055F1FC9453CC35502C97192EBF65E809591C3361CE3D +E539627A5FFF6AF8071E52608F8B2948D59F747E3A622BE215FFFB7A7A4C2E47 +1C776B99FB1944D834CF01D613F6560612F75767ACA95BB808A530765D0F29DA +A7705E35D1B9754E4B20E862981F6944EF8A5DA99453AAF7BC5048E72D11F8F3 +95E1B1B8137F44FB10FD2C0A5A943107EDCE2B7088C6B0C04A4835B414C5382F +134BB4848816E7C2D1F3313ECF12809FCD7A488225E1D1185C897A0DE86BE71C +672BDA7921406CE3735928FDCB9D30A6BFEBE864A71F7E20BC9A26EDA40FB41F +8986FF3A48169370248520C2D0583BA30C016DF0F5F13AFEF02AF3E3A4450838 +0BF0577F9A5F2E681F0224579BBB77365CEA03126D8588A9BC812897FD2A7B77 +413969F32935AE40E0C9B05D7624179DCE0F89A85BF2ECE644277739C1667553 +1548A18DF73EC7351B78884FF7B63C01E861BEFB445430A30270D0066E3C0389 +953EB8B3353306E782CE55570D84EC9E6856D322E6B6394399C9F0BC846DD58C +EEA93C18B1287C9BD7B8A23F9675F89625B71DD175C46BF3256F88A39ABB44EE +970F6A21F8CE551CBC9A08F97E6D9B8A60CA82846E7F3D4781E20BB2E9A5DF02 +EFCB366EFF106FA066B9C0999CD011CA34CE5474E52C1A6F12FD55FF2E952E64 +7708C35845D403E283C3DC16A68D43DA7870615DF63C30BC2DCEA8321030E565 +6BFE9583E2C4CE3D17F3C8005DC077FA7B27293A8590DAB4FD509BA7CE11CD9B +4CEA2060925E204BEFFCD2AA934E2385A09C260C1FD89CE173BAE32D54190BCB +91D7E42CC166CA67325642EC31062FFDB06BDF7E8A410EAD0B6663CCA00B5335 +8DFE6443A3E5F1B71790ACEB1CCBE0273510692BCBC9C064A3587AF58C001FA7 +3D930F9C34A0329DEB8B0F7A18B79605F13C3C2D6A24C0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSSBX10 +%!PS-AdobeFont-1.0: CMSSBX10 003.002 +%%Title: CMSSBX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSBX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSSBX10 known{/CMSSBX10 findfont dup/UniqueID known{dup +/UniqueID get 5000806 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSSBX10 def +/FontBBox {-71 -250 1099 780 }readonly def +/UniqueID 5000806 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSBX10.) readonly def +/FullName (CMSSBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 121 /y put +dup 122 /z put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7F4437ED75BF2F7BA7 +02F85142A4EADC8C9C7F11ABE2AE2A9DEA79CBF9577DD8627E31D25A7E4DED9E +FBB1C413696C88A07E5C937451D40A9211B29E24C9424635CD4FD6B16FA7D76F +5BA1DF0EC26097EEADD70EAA577531177A26B5017A32675C68052E90E68538DD +E779AB23150FCD1653460CDDCC713599EFA381C3322175809A73447720F6911C +6BFBDC0458C477D2CE69BBAFD05B5C2DA1D2E3E8378A2112066B045243D3D080 +DAB211DCC25430973C18E7FC5574A814E3EB79F34FF5197453873C8AC66E47AB +5EA57CB3C8365D5235E7746C8584734F002E9A28C38B0C25E3753D85A1D2F3CA +B8DECFE14A7AFBFB76CF3E91A1E0203FBC8052C2DF967693C9BA0ABE86B5D264 +BC345D7954C9523B3E70C4AEBBB0F2D56BAD6D76E095F9390FBE2CD607F3060D +F713ABF47F0FCA5D5C27CBCD4140C668F733F769FF5326917C0AC5D4C72F99BC +5AF4540DB169622644D320872947BCF1D30DA4EA150AA22D6D53777345858DFA +3286EB68314E30EC650C8BCC572D72879E431FB4297AAD6533C8F4802E0B9902 +8360C57504D4176C1DE7F57382FF2E2C0A3D5285A061CE91D3149E3096B91076 +1E914125CCA8D1C9230B72427990ED4468CE79C11E8F0CB89A3213C535B040E4 +0C5784E6D53C96696EE45C87B5E0DAA80D3A06E5759D0676ACF99020DCFC3E8B +50002675B01959500133BC30223C75A54948DD28FA83F399924D4ACBE33F1F2E +D85095A76AF6DD92EAD139A8D5673A35B3633D25EF3B10A40A7E28F329D6E7AD +DBF1DAD1E666931611FB107D1FD3576F11A22B50943C536DC2BA477EBAA52BDB +B65A98268602F26DCA5EC761526CB7F33CB5B345110B7A90E1D078A21E332F78 +33A0CF88EBB2CE852384DE3435F7B3564A0AFBB2024F79A633BA5B6EB7CC5389 +C43621C82972D60F7DAC71FD9DD38CAAB865D7DE4ABC39D71879BF31549DE649 +4B9CD8C149880504E5B34C2153E963B3FEEDA0D59F70E0ADCD24EDBBB8EA961A +90E5AE4ABB26E1AB1757E25572622D5A2541CFFACAB673665C7693855473D78B +847FAD590B657CC0B8289034AFEC3C54FE97B010535F70AF67ECC88E21B077D3 +A9C2C52D25CE9714EE430735DB57991AEC946C96B6988B2C85D17C8BC80EA844 +3A076618A686040ABCAC347F1B1C14676B05E13C239E99C3A2B63D0388CB50F2 +BC119D6F74F70DD96BB5343D5458950070576BD6E319AAF5792EBB9DA5778CA2 +58DE0976AEB766DA6A865F09FD6753FB4E7E0E9A06AA1A06C2636AFACF787460 +9E73BAFC4A56A99277DCB14F52555EBF6DC5E5785EF7745521FA061227B725B0 +7A5BA223D5EE9239A7A1694D4F9EC1132FA23DA44ED0FB0AFD8987A01F9FAE15 +ABD485BE098CA7B1AC780A9A02AC58DCF0425D4D110226DC7B5982FE31BB78A1 +C0AAF9B712E8D478FC4F85400B5E6D71AA653F9BB2E967A76D02B04887CEB9F0 +0EF50A956AF7F790400EBBC07467D9A8BF8BFE8200F8F7EEB5DF3E62A9A332B4 +513120FD9F8A93ED683CC47551C629B5313E4E20A207845CC37491ECC3945EE2 +71A0C5633B353B03B1A7727D5D9A0478D20D67A981F6E5CD8737548ED4348A91 +82F2CE805724A028E346E6B7C542FC69CFC7935E6CF3320ED9701C6127FBDFD3 +B20F0DC2D1F92DC69E4FEE57B457E82D5721D932B140CD6DB9BC86B961E7E6A7 +5816F42AF937D97C3149DC2AB0054564592448D0CF52427B766FD38E3B040B81 +59AA9030CE06A9A9E3A0572A11BDA85531060B75DF8791176CDEC0A9BBF472EE +BD433BCDAB926689B8806CC8044D0925814C1784A41CEA48ABB9AC039485BFA3 +026FD30CCE84AC57DF09B1581ED01B3A840AC5E9208465BC160238EECC7A6753 +D5B65B159FB08E0DFE4C9F2EF5986352C0E0C4DCA0EE62EE5C19BB6C486FCADE +99D3519723B70B20FACE685ED8D364905EA64A15981B00A6DC06D7B0E3D38FC0 +9DDF04221696F7A8F3CC7FDBC25A61D9AAF9F65D3A64BCAC4084CF13BBED7195 +6BA4C2445676804C333DA6569E4AB7E6999505DD1988C3E62495DF61B722A6E3 +00ECC4EC698E33F7B8225FF591B746E449D2D178880741074D0C3CA740312D21 +1F8B0B1A855FCA081AF1E69D14C9131B1769943EA6D5D6210E10BBD9E404B445 +FC3E2ADF8C9AB6AC07BC2FC0482515625523C04303F7884283D5CC35A4A6ADAF +59738F3DDDFB51E7134327AC4CA577BAB076F3B588FA3828971FE9D561F46358 +24BEC4C7F84D8FFEEAC94E2C632AFA5AED635E867AD362E373CEA718C750B4B6 +954A7CB6E4CB2614A4E1C707412B7B09F8969EBD5B6510B66818A2F5AE4EFEE5 +9DD7690A3520C477DECB7D61FBE5F84D1C655971FAD7CDA78E695C18908016CA +48B468BB6B43EBE1DDBC49F43B7CD667B4131D7B0C9BB048178A31D0CB70A76F +527DD352F7A9F0F35226117FF305A9DF4AEDF474FCD5C7F31FB06D4B2CC40629 +1BE1F40B6347201F84BF35CB5155BC4D2E1DF2A5C7613C27A0EE77BE55A744B6 +DF7DA5741AB55F133D518660751B0A91E6BE43B527E9C97E2F06FBEB58DD0215 +BF4105DAE1B2A29DB05FA204D0EA6E574C7344C3B3F44092F7F997654D61EA9D +4C811CE6087BA1615A31F8D107DC64F1CFF707234135B728EAA0ABB475E678D8 +9200950F24A8A61AE6AA18F34A067849825FB3925A8E01D64E849546FF7F4418 +19C0FFC2EEEEBDC7805612F7849BBA7BBD954BFDAF2E6FFE3CA520B79070F8E6 +B1509EE0040714C9F5023816250F40FD1C6867F77FC8ADD3A16A3A6275CD6F5A +21BC03274B350EEFA6EE929AE91DEB8D8B309E3B3524807B4562C7758794A8C8 +4E3C6EE0C0859AC9B799428EAC242BC4AD9564F2444E3C79F11D4C1D5672DCF3 +2E191E25165C77EEA2DB51753ADE07F5E7E748704000265649A2E1DF68909F38 +68F0D5F415330C9537A065728D2104C34CE05458AC1B2A53946890DFDD67563A +E044E7AEDA111FCBF431546D410D67602985F6E13988999E46C80A983C7F12A9 +FB56C6735454F1E194F63A1B6B21683A281AC6164B3229AE25B1189366C9DDB4 +09D1BBC8429AC3D64F8BBFEF1265611E7C2FE1D3A2FE24FBF3ED96A5CBA6FCA7 +847F5E3AD4D14C0C77C225588FBD0DA2E960FA3901DA1B46B796121DC804FE82 +C382F75AA0495312A80EF9350CE0F80CE0D18316E5D02B7BD78667C2DAABD879 +E17D5EB8F274DD2B1BFBC04EA2F72EE5376D01DAA129FE257162BD19D19B13CB +C13181E6DBC12826AFFD87AB152A59D67D0FBBE5D9CADDB1CAA8C27689355AA8 +FDC556015E4A9708995E51E46D6D1ED7B68A61625561FB594B9BEF87A1720222 +64E4F8A47637705CA32B1B4CA5B8473F1D67FCB7E4041502B7ADA9FA4B16CC6D +282FB636979D3DE7C76F3000ECA08AD6E116B1558FADCA251D67FDEB4607CD3A +84BCA7DF488C97FAA4FC195661D7977A08EF04A7D9A2D619EFC7AE291D7DA633 +C6DBCA7DA01EF336E378764F6B4E4D6C517BE05F10BD1FCDB20E5ABA7F65A8FF +17D93CDF1E60787712C40775A5C3808AD05A2F276C94B05E10C6042604F592C8 +AF1F25B98A0C78AA7BE1DE9ACF2273965F0795B0D79ED6CE2753FD0FD7B41A18 +FB490B06B5467561DFE5161C27F58E48EA5F38A5477C9CD0C2FA13683271E55D +8B08DA0C96BDE97C653B0B18096EE7C0E6BC3894057F14E83A902FAAA4C2AC7A +566A9EB8F9D622476DD4E722F55F28230124F67501866FFE952AE93DF5BBE2D9 +4B9CB9955320A9E256E611EA3838ACD9073107936226140ABEE92A096659764C +4ED2485B33E75BEA57CCF19AB9409B684EB14103ABF6811E7A8C0AE0C0C11BBD +87801F3F0260D04A8921FB9EBDA2A2048F4B5C47DF63051A0BA6DDBBD895E0B5 +F9F0F3CE62CB118B86AF595F4F34359DABD9EA354798E8561599CB32345A43B5 +93B217C43E316BD10BCE1C66A10C9A8041A14570ED7FFDD95AAA76E92EF52042 +69F0B8FBE21CA4E37647DDC890D13AF489606195900063DB0CB8D71968C1311A +D56155D2B2382119E603AA85E9ACF1785E4C0ECA137E7E4F5EE7915E8A080509 +02FFCD2494DA2D3B2AD27DE5F11684BFFA2366B6C834AE309D8E07F98B7B556C +DF3E0B42559610F1B78C79254AEBD7B0F5B3D7F420BA725AAA91EA20D014334E +8FE221BB02BE7B59FC3D03D8ECBAE21F5E37E4A0352C475F9F29C5D2FCE8CB9F +2A059AC06AD9E6F13C39F2781D7D4B3FC34291D165E5C66C5D01B5AAA2AE8F72 +9B3C634FB38FCF35283792048BACA9F7EE6789621D9243B917234405BF194BF5 +A4F137680ED10F216076AA2767C1D220AE71EA7393C7E252209B6ABD94213AE9 +F61FD2CB3160F41C4328DB8563483E13EEBA83A7935E4AC11A97DB7988585184 +6BD3DBB8241EFA1F1DC5CA9C2E16EC1EE12CAF4471FA83605DA85672B34B1F9F +8CDBAB6907D6CAB6DD7E00A7D636EA20961BAC97D1AAF32C8096003E096855B0 +EF4845013B9243A29BD509436CA78C6F8DF4F90DDED960A0D12BFDBFCEA539AD +BD4BF883E09542C9D75DCB8A4AE82DB495B0B918D330979F347A76D73B19995F +4039557D337FB55B8C5922F35B354F6C8E4D861A0B66B3D803C9862C9C507404 +5EE039245AEDB521E90F83F15E44F42F0802F8DAD6A9BF6176C364286601FC80 +E14926FA518CC035337904132AEAB9785361709CA01AB0F352317294B34B2B20 +FF88CFBCC8E89863BFA2D3ABB2A596C9D9DEB261CFE48E403F88652150EEDF05 +3390F002B2E4B53446FB39C488E3D0D4EF4AE2AD19019710FDE56FE29B58B00F +0A6D5B26B814BF64F13C35EE903FA2190F460F9438924E1D7158704F305E326D +66CB529B3A4836DB0FE383EF989C975A2F603332FFE0748E0D695327CC8D9AB6 +E036E0E6409261C30B80977BCC3CFF8FF8A9BCBB889ABE47B0CE3450783E1EC7 +1C030CC18E074E01605908C3FB61B78CF4FDCC8E8CB13EB77CE6FF2BFF91D658 +51FB05DEDBB20B0E4C5604AE3CE6D41A4C8D71A1F90120B1F90C83989B892253 +31D06ABB335DE237CD0CDC91256A54797CBA5E284B6CEA6FAE01F7BEFD905E5E +139D57E163137B5751A765B46A3AE6F653FF2551988CE792011E0548CFAA6ADC +E32B876763AF6F6FD6864E7B55E341C97FFA711913F8A7FBCC1FDCB4CF2F4D3F +17358EBCED45C975F2EFF3FB9F77A22EEE4C9DDE63360DCB2DA2C1AA4BE44BA9 +3F9CE6F27631809DBC45643DF7BEFE247E79AA7937C409986500EC1026ABFDB2 +6C30E0A4852A6976A73AD7483C36F1717460327BBC05DE729E23D370B78630D1 +7E87C99A5C3A3C0FFE204EA81A8A33D7DE80DF3C0EAB557F4E86DDF8E03AD072 +61B1D8E1BA05452A6FCA404D9BB8FE9831A367B0AB31041B474DA9536035E7B5 +EC83DEF0AE17DCE958DA19869DD51F53D4A4BFCF7CFA635D6F9F882E6F0215A7 +0494E76F258D44FF72EB5A1104E8F73AD2F6F2ED337D854B81DF4083E6A2D679 +6B5613D76DA2347118CF009E8A88924C2A42B154DF1CEFC93C89DE0ED8DB26CD +8C2EDE2670F494DC591E79DA26CF8B5FB76613296FB1F39AF2001BBDAAB12CF4 +3906B4C304CCF1D066524DCF92FF484CC682C2B197CD797056555F318279C3A3 +7AD8EA9CB19724AF57EFC6706157A5E2F51F104F6232F252594510E0E4BC872D +D610F4C99BC3ECB668139331216DF1AA8F6358EB90CE1F0B8267B878B19BA7E6 +77A53A674E0B029E9142865CB92A1596D5AB97FA12FD05A04369AA00BDCBC2DD +1AECE1A4AD55A93885C626004B41FD277AAE6DF68161F7443EFA7D9C913AF909 +970F4C6292A694AF033B953CE37116A2AF2439E482867EE9EE2BFE1093A738DE +24D3C408DD105CE6D7B8967994F7C5CE49FBF61AF135F8F7799E2FEF29A168CD +B2F16F795FB475204FBC41AB78AF87E4E80F992FDCB770A3DC0501AE1D786ED0 +449956A1BDC93876934331C24CFE4392AA860A1ACCA39978BA8AB90A2174F5F4 +97539772660D3920E1B57E9E0674CD34C9EDA83B6AF1B06B26207FE5D67E75DB +B170F1D01D512CF6D586DABFCA32404253F0A9985A29D46641A81D5A810469C2 +8081D7774B3188423822003AEB638F21661E0BA7AAC765CF8321F9677C85A562 +88AB1320B3256EA9FE0C67E5B69A5127DC1B13E4062CD0C9ED10AB36CD370105 +8FA04F89E3F836B01393F1E9365077A30D8E46B67400DDE8EB0AF8C815729699 +469773FC3F0ABCEF752A5768C9DAA1931421214E69053775A238553AB6620E9C +E875223681E60B7F7B25BEFBECDD4FF799ADF34BFB397AA114515E2133304A57 +B422E97EB3FC5314F64BAADDFEF9C0EC719A78915B26E7E3F381435563F650EB +7587F11CA3B14875F6B1D817C1EFA0B89C85B888E8391C74D77CBCC6A990C36B +1062D049E20876B40CB030367818A3CD3E2CC354CDCC9A0FBB8DFCF7135FB2E6 +A0BB0C3A441CEB8D5FE849AC7299431DEE27CE28B33AB7E836D6958104D1777F +8010546687CCA23DB48E53376A446136F449A92C07102315D4D0A897521313ED +1A3A8456A70C16EAA50A3E67336DC89FEC56AB54A579EF264377A103939D5EE0 +0A90B4F20AE1F2511469C34B5984A04D5AB8A162F18DBE4D613BA1C1C85E994F +80AFE3C18A045148018045C63376CDEEFAC53A55DA67D5980E3A99CC1C981FC5 +5C25CD0A685E3AA6F8C0B8FAAE157DB91AAA50A2B5F7D8860624F29B8DD87606 +C30F84C33D802DD5B95E090BD7AA4400E090DC1913BBC392D7E5E87717AB14C8 +A031737560F3D132BAAC0D6DD88C586322804BC2D8C505973F015F7662571FD1 +C89CA0281CD48AD84B9ED8D70D240A4EFC2715DBE98E545B987AB64FA259D81F +3F768326717675A3A2E22F4EEEA22A5201797C6D5EC644318CDA28A2C3CCD123 +B0159205FD52E1F9A60A69AF7B40C4F7189FDED20EAC3869E5F53F4955CDA0C3 +2B06D72EA2B8CA5F0B557E9A36B8E9BE7EEEF96B5EDCA6F79F53F83234B2BD45 +6B3D631B1C9CBF7D283F377177C60B3D65ADD945D31458164043A17B8DAC8409 +B4261A4A0EB36E18BD104A8E66F45C3AECC07F4E8FA9F3D2A27334F95AB79BF8 +06C18D57EA745116DE0B36C12B6F5411A9805218B5A31731CA0A35D9AB6BF5AD +928726A6EA61E0B69FF0F4FDAB2CF5B222FBF9BDF4F89EE47373AA3944678328 +1EB230EACCEFF4243D6B4F8797482DAB78C1A053F2800144A4C76BB839E536EA +2D4DCEB625DC0F754EED8BE3FA53A7AC3ED17C92757CCCCDCBE21A9D733291E3 +61235172F117D4B8305B45D7728DBB2D71411954EE599B0EE786D7603D61CABA +AB241062BE3776FA150680F9CB8784FC7A94790FBD2922772EE886254B59D0C7 +4A4DF7A2C1C4ADA1DBC51CE27D3FFF7F96BC5FF7382864369536BEB2EBA6DE2C +1C427990F6BC84E92CF718BC6D4CE9EC1F2DDEB8637AB1FD673C5BCE1A090146 +171717B39B9A83F2DE0B79CB1B836390828B3EB6DC397AADE45B21F55D1A3583 +C3A5BA93A4ACC08CCA4DB80B78AEA6002D80C5513A705E7232938D8423FFC72E +1B96313ADB255D43E2676DD2B00B51D116A328164BDA8475741EC234EE6581DE +06162F006405D6D823DC47DDD14536BB530D132975C0C436F08F9243F1A9AD16 +898823B8E2739B4428E62CE0E41C291157F1886BF937B3D3B9B6DF0D0EAA38C7 +D7F17D962490AF81157E76074422D746EBA97ECE803A205B482B03FB06D080D8 +05CFE4868E62494AE445824BC127FB7367DD9F70B2168F2B8CA0CF190BB838C0 +67563169C8454E5D0DA086467F1536F5E8A1E4D3E727B1688F745FFB4F9E56CE +4DF06341FC891C28C943B570A7A38C595E07707E41935285DFDCA777CE731DE6 +B46EE9D1C3D61DB6EB8434F17B15274840BEB842587F3B9AED05B97988E74B69 +BC472F5575B136CCEA4A28C49A9A078338F4C164BBBCE925297E4B79CA800124 +B3B8DF95BF211547456696F548E9F545DEB165B896B7DA038438114E661B32DB +EC043A557A5E26A988B25EE30ACCAA8E8C904246701E97A57C400F062761658C +DD33BE34ED09BB1BEF9525DBECFE5A994968FB0F993836E4771AF3DA8C13E121 +4FC5EABA8C74A928C6472A0912BBF8F1741B4F0C3F41F58EFD3A549E5B76D332 +D5E338A16E83EC574C45A49C1C3C21AB31A08E96B0C430BCA2CDBA81C80BD5A0 +43B8A5762CEE68CB35C76EF23FCFFD85A5845E335A3E0F3980CEA0DAD5F78225 +D947923E1054E8C2FBD30AA8F5B2BE8C21D79675F359A576DFB382A25584B512 +5F8F75A913785D877D4F44FEC237704E08CA03EB9C203B92C664F0279287E1F2 +5B533CDDA58898CB55B222701DAD14489AF0FEA3B78CD90225A691CBD75C0727 +239A26BDECEE46F3C14350F041E7342DA954A27BEC04753B00C3FDB19044CE69 +0AE6501EEA1DCF0BEAA9648BB409FB8FE84069DB8A657FFDED9EB87DAA7F403A +6B8A845FC371159F0D61B7E16B02958BA83061A3318B84A38893E07AB1EE50F7 +9D02F521B1F32B05125A0E6A1874EF1C298CFA89E4E9ACC493F6F7F2A9B14AFF +68665DC4185E866AF3AF0402546E11BAEE84F00259B404E6108AA053BBE771EC +60687CA432364AF973497A17AC24BCAC33A18D0D2620352851D32B891D1C458A +A6BF008D90E499E7A9C28C898743A8C4A711E46774020E8291191F138D2D847D +057ECAE805053934F62A3578158CA819DA043E21AACB8E006F933B062CDD61C4 +8546AE2C9AF14A9345EDE13A9A87BEA32E03F5D4EA114A54732B9AC01A0876BD +90FA43417BE7BF44A7BA61076B20D2BCD8218B41EB6D5A5CF88394D40F9B200B +F9BED4DA94442FAB21B33EBBA13D3AC4EF13147DB53F27AE47866566B32CB8CD +BA21F5D47CDA6BF2CEE32749C91435CBBD8C11ED7D5E51454BA91F4BEBEB1FA9 +873F0804B6FAE30226AB9456A444619303EDCAC59B87CCB1E32A1E4F90C185A9 +C776772BCCD30F158F572CAB63D6B5BA0274B467F52943EBFE30419AE757BE83 +B12E45D5BB98F5BE982DADF7A9E73E43535F93423357142EFA130800802FE741 +EF7B33A186FBB64726981104AA3809FFDB177930FEE85467FBF0CD0870270F0F +4054CAE7432E3AB21374A702BF415C92AE3F02805774524932AF1F57CFCC1F10 +FF4E99574DE91D69D930DF50D8D566E60C29830A8220E1BEACD02035B0AF538B +16D86BCBAA9A1C6F4B898BE1CDA222A1E64F14BCE6065F68653EFF251CC20BED +840727F2CCC9FE6E6AE075C22E0ACB7B9B7D969F5DB094FFE231AAE05CB26627 +D017264F5022E1B00CE037E54B6E1F589D5884D1525A3010F3453AC83F953EC8 +65CBD7AA642BFD158CFB5794F199F021CD0BA552C5C77FA2625F89B714963380 +56DD5F9A53A440E9677C57331BE3961FF4F8D0B3372CBC39007A2E6BF307FBF5 +F2008ABE101AC4DD5D7ABCC9C914D112EF8B55DB17C23BB842D4C6E59AA14C69 +045D2F848824792268C3611F8743FBB66B83A0FB413F528D5160C7E9F6F96730 +6CBA193CD0A44EAFAC1098C6B3B663C60C8FCB4CFD79F70CF8A887606742CC71 +666E028599059F5A86414E0649446250DA3ADD52B73FD02630CAD8F44895A9E1 +571A16E331CAC213EF69EC4DD48701EB3B456E72303AAE727CB5E8A87BD6D85D +EBBA1ACA570E083284C80928F04EB1FE18592115FD1AE307CDB81A67DA8DBD23 +24FE7A55D7AA015D742F982E6A8140DB2C438B3B08EFB88EDB3F1D471C452767 +DFC4A93054DCA315660B75D73F03EC309AF1F996590FEA9096BDB2130AB78F05 +685C4493203EB6249B37296E2A52FE14E2E2D79651288356FACAE99EBE00A272 +471DFC87BCD5D3DF6023872A30578AC224DBE2DA01CD4307DB36449D0F950912 +8DCC07E78011AE57EB79AFA7317F3C6EB7AD57E985020DDEE979F723E5A9DA15 +96E3E38CD2D4648608FDCE3BC63BB0267321F5D777E5B9F5308A9CDDF298CC40 +59C6FA2E88169F97DE5D1024B06A39C80CE6B06F6441F091C4770E77BBF617FB +F1572802B380B3E2EB7EAF4D2614398C04A3CF831CE98AA3C6C4AA46E9017521 +82CE678B0DC236840E6C4A68143B4A73A5739079126DFB21E4562C904865D34A +C735AC6C743407A28F9EA44980A1E8F6E275D79D561F7A01D972BAEC53974123 +29A0AE1E6F12220AEE98270C2CE772C29D810099986958EB4EC88C67AD417D79 +C9339BCBB4C543C6037BB3127EBE69F67127354FEF2414F313FE467595D35D76 +EC0E8DF1347D183BDBF7162FC129D3CDD544BA5781C1BF739E012E3B9D69C08D +4A8D0ECBC8C1E293FDBCC87B6215B4234A9BE59009268B8A0FCCC3F1A53833DE +EA437D980F2FAB56992BB63E65F8AA4934E24F21FE1932E50AE836315EE4D018 +7C80A30308C32393B8EA6857A00A341B6AA40ABC940E40351DDC927BC47A239D +FD8824F52E7F9D2242F2C9A5BF7CA2379BDB3E4EE84691F7EC843855D541FD9A +D444295F2858933FC37F8317E74CE4390E3EFA1EA9529C40A59DBF09978C869F +38713613F2A96F36E1975EE2FDAD38E9D11E3493953E412BCE315886C30A8423 +45F07DAC4978CA55B1CCB2840EAD2EFFE33FC1A131525CA597AE1760A996ADBB +905CD27390F03B055FCA67D0086E8237AEE970E6D536CF4F9C47798D7FFCE062 +0E0243A53583712368C4C2C7CBC3EE90A3ED791DFB6E17D5DA27D093AC69D5C5 +998CC1742BBAD810D8767FC53445A8213C56664A25091BBC59F2F5319D50D71D +D127DED73ED729D0EBDB30757211B5709EC713F40FC51D556F955CBF087055C9 +BDEBC46FC88BB52D4D638A79F484447D5B69CB603C0DD99F7924C163E19DF472 +70F6B6256ED78C81F67AEABE586D9CD47DE5A269EDB573E853C5F1D3C8A11234 +2F87C45FAD901C2C0F1B085FF3AC49CA1867B4B61475E02F8402CD8EF346C930 +0E0ECE54A79FCE872B2A87BD61C7022898FDBAF2595C7A93C5A75E2ADFEBF3C9 +05DC814982B1676EB6EC2183002BD230F7C5E99350CA686D75563EAB3B7F2C05 +6E0ABEBCCFA3BB0DB2AB91AD0807E9E070470B20AA602D7E7679AFA5CD630668 +86E27BA2DA58321D818248F8CE0BB4688EC0771FFB308D49E43C9A102D9F805A +3E62F2DC9175DC0DD158F7D4F25B2B5D3086187DB478488FCA508920ADD5E754 +79DEAC39AE797BA437BE6354C526D89B6B4629EBC1A4B8FDB4A51A7F64C531DB +9E127212E785AEE8414763DF731A2F71A9A56533A6C341B0D00CA5D4A2E3208A +F820F6241F106725582702034652AABE47A7A12F4C0581E5877B6443634648CC +DB056D91D64CA82EF87BA5810E24A8AB39E463C25C86AE0B890EA2DA6DC75246 +25ED1C8B4EA60347AE8518D147CE9D306AEA3BD12CD4BCB4EB720F6312BD51E1 +2300D272F89BD7216F34C2BD0AF45B298AFDEFF2E818ED594B672B8249BC117C +17AA4B1DE98B24F2892D80B7836E9DE029A15B399104223E95474BB850F56112 +FB110D4499C0F8F9235F5AE9391121E828F8AC4CDA9DF927ADD8CABC4C764501 +2E6AA28DCBF3BAE8662158853846D35F0E9098D9022CBC59755D937F65986E92 +E49832570394FDF9B09D147458BBCE719F5DC1C664B2E8814A28BF423B09E969 +B9740AE9CD56D40BA076C804B0A19B0D0DE2D5FEE1B225CB8C7BA29C8E23F544 +F4289C611D644096A57029C1140F83669643DD9A15C4092AFD52640446B7F987 +EA7A053C5E16055A1CC87FEB711099DDAC66669048586040AFC1A5FCDC08E746 +40A7D7A18AB3356FEB917B899BB181BC0BDB600ADBDB083BBC3651A7CF2F1A70 +5818124E11ABFAF291979900C1294C322318C8E7D5910328150C771FBA9C163B +24B9D3569865A96F90F53817F0D51C2A78F4907FDC024947478F25966206CF1D +3D5B4E33B0E3335B2F0BC6B00006CA3E29A14F6EADECA0DA653DE1BB0024495A +6E8BAF009AA479931A5774D3DCAB86F57DCDA1EFEDECD3DC06A2148CA2AFF333 +2168B0D95456B540A5EDD1AD8D4E2F4760FB89D5A9EEAC9EA2F065BED3470AD5 +6018003BD210C5B7A4F776CE21BA674AE85DE8DB08D6CFAB2C7AD425BA568CC0 +5F5A4B9A779B59D89BFBBE7AC9829C1A95235293082C4C337444BCA8B5243E0E +9892B502AEEF51E4FB3B04BA2DB3829185737C5EB6F81EE3DC0F38A6C811CD49 +222167DF4DB18E5891D03B7CA0CCC158FA60930185275F34FA9D7C475EA55ED1 +C8CD3ED102FD8CDADC37A7A4A29D5BF5A4CBF76358E0C9A242A932262AE4F981 +914981E4627673373EA4D50165020AD431E6F20FA2F5EBAA7E7BFD39154C990D +26295C7E297FD9CA462E6026F687CF98635F88DBBC73AD3CDFB58B79575B7358 +30EFC98156AB8460710C105223AAB95D2A2746B17E12C3C17035AA14E199D26E +63A4C61A330FA751203A7D6B54B1BA0FF9F3BA72DC2BF371F223FA759887D85F +B602287B10DB45CEB4A0109BA5DD23859EF63195813B41C0BD957957A5C03A51 +599B937E9011729E54C077FB04E2012E2980B305B5223DF499B992F07E990AFE +35D2B1EA666803C2665154910F1FCC96FA32F3F0BE6B7198ABA63A893B752D3E +45E00A19E9B1FBFE9575B041E36D776F11889D8DB2DD33027E53FCE9024813C4 +778966C483590FDF429D64E7103CF30D0D85DA99517AF890302B94C2E26083ED +811F292C265DD3B3971A8AEB844A38EA4E4E3D8FAD2F119FB569E46CEC7C609E +A33B50FC711C9D8052BD5ABE5304727E8F6A01FED166364013EBF3EB610C314A +619621FD38D20F5930092392C3D019A467425BCD0A55DC4DB309601CE0BBA1FA +8097BC3004E4A14EE5BE6AAD6AC03CC7F0EB3D53384D84BC721DDBFABE451DD6 +0B6A4056EA45B9777D566BAC2B8D0760CB217DD3188258235BC301BE2DDC2CA1 +B35610E0830103B9D527662A2C498CF57A8940D824A62D6FC7445C724F4C3581 +4B233D7F665A6678154CFA02B6D08ADDE6432BFC8920C91BC7113F0D76F58FD9 +3A73778DCE0378C7E9EC5300496FDDD6A725DB863CA660C989CCC89F55012E15 +2EEC3F66E77DCFE1C5692A596F01AF15AC0C5B01A3F6EAEF +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY10 def +/FontBBox {-29 -960 1116 775 }readonly def +/UniqueID 5096651 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 110 /backslash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 +3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 +91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 +E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A +11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 +C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 +D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 +B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 +93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F +10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D +7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF +B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B +491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB +F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 +019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 +915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 +356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 +5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D +9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 +3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 +FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 +720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 +D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 +BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 +7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 +DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 +AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 +A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E +0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 +AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 +CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 +0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD +5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B +5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F +E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB +54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 +E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F +A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 +4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 +4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 +038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 +B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 +5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC +B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 +A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD +2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D +CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 +455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE +FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 +16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C +16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F +483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 +67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 +3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 +1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 +93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA +051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B +8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 +8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 +6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 +06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 +84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 +D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 +DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB +0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD +8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC +C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 +754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 +1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 +CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 +1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F +153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 +905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 +617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 +8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A +98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 +53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B +888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D +052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A +CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 +A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F +07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 +B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 +10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 +CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D +3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 +D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F +849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 +648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE +84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA +2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD +2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 +9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 +B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B +D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 +135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE +EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 +C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 +7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 +4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 +9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 +050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 +3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 +C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 +843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 +CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B +B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 +3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 +19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 +FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 +17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 +8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B +CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 +F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 +1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E +4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 +2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 +9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 +E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB +8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB +BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 +04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 +C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 +ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C +4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 +84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 +C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 +09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 +D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 +56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF +035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB +FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 +CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 +B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A +F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD +CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B +0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C +B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 +33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 +4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D +F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E +2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A +CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 +88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 +17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 +55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A +A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 +2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 +406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 +AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B +60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 +C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 +5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 +822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E +94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 +D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA +343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE +894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 +DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 +DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F +8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 +A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA +DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 +E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 +DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC +4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 +5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 +02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 +88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A +60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E +71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52 +9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016 +A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44 +AE6ADA0192657E8078A1D27420093FEBA111333314658021B90DA4E7A8D4B829 +F1795501020D5FF0AD25584C1D4669353E1273F51A39C279F1F8EAF073497C25 +E79996A530100DD40A73BD980338303E192978236F8EC6BABBC8E4395F99C2EA +8DBA2BDD01AB2030BBB19C9AA104BB96A1A8BF9C25E29269E77E5D6805555B2F +05FAF95D67C87108293EF4BB90A5C2575E484537FB203249A03F54D324D3C4F6 +62104C8286DB7C0FBEF9AB2A75D8A17CA5464B417FF0DC1501E40B6D9A226919 +145F74A039B54E80023BFBB07B71967C420B23004C4CDF51A94DE0A2708C7957 + +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 45 /hyphen put +dup 46 /period put +dup 49 /one put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 73 /I put +dup 79 /O put +dup 84 /T put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 119 /w put +dup 121 /y put +dup 127 /dieresis put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 +5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F +4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F +E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF +9F9EC2518C77806A19730C97F54BEAD10B4729E5749A10EDBE644886443D1249 +2C8517DF8D8AE98E2882439FA81903941B363A7D885F93C6DF9E1FD89F2F8CEE +B870C409ED13E78B4C914813B0A01DF8F876EDCC4F384055FD37C575726AD69F +F23D50EC5BEE2FB95A44F2B2E2DD94C933D90BED2C97B53738B4B2ED56EBE617 +BEF17B9DF4F314A37F10FDE34C570D7BE76A496A58242F51E7321380CB042424 +855F4B53071DF5A0DA5A31B8AAF9FB4F4C491625FF8FD008BD4402918043BEDF +77B840B2BE0DAAB4EF904FFEF935954AFB9BD2041241B1BC8519EB642C89E288 +479664226DBB6F1171F9EEBC7E1273D0CABCF6B1BF7F26AF21C21D9B1B916F4F +603DDB68D3614B86566FC91D67AC3F4A4A96E256FA1A3BD35F4465AE4EC64D82 +34BEB4BBDDCEEBD9A89D932E55F14CA2776F927C4FD3E0920790A57DAEA08C5B +169A3E2309DA6BA8684A5D1DEE81415796E13DCF906FCDADB092047831B16841 +B250CD148557D72DD7E683BF122B38E2C4F614E59B395D1D9823D7D5F126D932 +14B50A37FCA7120F8F3A8E42134F1B6B0C248D56F247AA68FB941839F600F61C +14247EFF780BBA3E5198D37CED44DEEC3455048FC451BCDB48DC414AE5293A60 +5A59877D6DFD21EAD729CDB7B378CEDD34262B37A194EDD0BDB24AA42649375B +491DC08F6B03DFEB517B2FC125DA9373AFAA94F4E4BC09510A73E079F4ABDD8F +93529E898B13ABCDE7322323B3A2A02A0BF388E89B4F529A66FA22D38E3EE342 +54475A1989BFB7A119CF95750D5A18BB4FA9CDA30DB6F1AEF8AE8448BBC999C9 +FD0D74DE9A17A3153617F07CACE92977B68FB5A1CFB29FD42494D5D2B9C1ED81 +2F3CCEEC1BC079E837DDBB57C7E351F9925FB96349F8D9786D8E6FF03E9C4C1E +67DB235577B68003BA14073E2702296B284F803259283005D97035874D2B9AFD +4D3F29B4B1E6EDE30DDB9C68348CC174A091791FA74520C8614D4FB1125CBD6F +B9367559D715ED057FDF6DAAC180C7FA5CCEFD0C5878A91B20D4919792C03CA9 +3AFC986C34C08358A3E85F241E3F8F815FCE7C8E07C2A4258E17D65823264049 +3803D47C96A2745580EDC957AC4291730A840A2BADA50A28342A2B7093A3F731 +4F4F656E974389E133C53F89D5DD6407BB98B211697941A927BC72A0956FA78E +2DC624B2C253F76778698BD1510D509244AB0462BA8E80769A51F6D020E146C1 +7EB6D7207653B80610F8896EBFA6A606EFA54791E78139918C010A404BAD4B0F +F3779D39D31D665C528290D1D4096CF7E65F18936508848DF4DBF77A197944E1 +DE53CF98DD5008E84A4BEE48C971DB9586980FF90D4AA43C5277C1676D4A6896 +BF3168664C7F31059AEF729BB5BF404B88965F7094345DA4F8535C60FC1FC946 +4285EAAF493594567AFB161F8F98CC3027FB5FDF901190949B4B6A3297C8DAC7 +3355C84532F7A083D5DDD9A52A0E8E38C858441CC99C4FD0FDB0357BB5233F3D +0F6212F013072DBFAB7C061D56CE72CB67E59EAE0D87FE8400FACF1F3919565F +1D434F1B0B6E1EE0AD2510D6B21D5E44574A1142688054ED5805F3788325FAB9 +397B4F558005B5C6CF1EE514D77041F132E00B13A76A105AB3EB6E4FCDBCF1F6 +60E8262CD10AA45C67562303483314B5B0B2E7C4F285F9BD614A00DE68255721 +89A19315AD384AA2957AF8F20D293F17F5521D3311F85DC40CDD29AA85AE61C5 +F3A6A112882F7FB92F190B2F10903EC9AA11B02A8239798483CB105A78F53D62 +AF3EDFE03A794C0AB1BBDC245B04E8BAD801177B0EFA57A1BEFECF8CD29EED55 +75A3EA75909A28E41A42AA4CCBAA4F94086AB50569D9728470C768F2CAC7140F +6E4E141EEB1D14F796AA6D036117EFA78CBFF7D25EBF1E4DEF5F9EA103CD8FD9 +A3278AD3177806EA98CAFC7491019DDCFD1C34E6D4DAD24892A71B82D94243E5 +66DDFC314CAE502517B50069F984BEA9E7BB776B37107C5E9BF929823F9743B9 +EA2417E3750F18E1F491C658037300F1E113F01439C816B4FD088BD3BE37C6AB +6CA38386B188DCCEDE505281359373DC0A0E0019488FA5E8BDA6B7781682CA84 +F36DE8F89E9E4518AFFA65334E2C3A5C2E1325D4FA189E4CA00F948D6CE6FF54 +9C179EE04E483F5189130541860067A3119C3639A44BD7A7188498CCCEF4F408 +A3CC51FB47D0B21212E708A32245D8E2BE741D163595A84381EFE64A06F69632 +0EBEE4C7AFA2141D6F120889E3ECABC3DE478C3ED3C150C391CC4105490C9078 +B127D142CCB6C1B3C85976113EFDBE4F7F321B9AC5E0FB1EF3B021BAF474A9CF +A2EC28FEC13422167D2F49D7601A570857F590C7B904D64166FF0A87986CC9B6 +EA75BEE378B8328ACB3A5021D490B3C7065CE781C378C1F01DCD70EDDDB83F48 +A61231C7BE4C83A0765242FD2E9ADABAFBD771DC29AFB98C6CB1BC8C83ABCD97 +10B607C6C05D7A56A704DAAF9AD3AE67DA3476CCE84832BDA1B6BB5244DF4DCD +65AB1C0EE6C6B0EA56507C3D9DB10BA62284CC1676852D451DF2CDA7FFE09897 +138C27F7C6BDD27B3520C31D398026730C5AC6998DD218B92FD4C8C69FC7C0EC +74993155CB94633C9CA2925980C37740F766993C8EF1043A56F6453B862F196E +BD7415B50090D1A97A1E290D9E1774A095DF0B82D0D20D0E8EA09BA0D93D9F8E +DAE5DF1E8080485344206AD6A9B214C02A57BB9900646AE4EB85A905D3F9D12F +0BFD63D823161186FD0CCE3AC40A86D14B2ABBBC5EC181E3F95AAA636BFFFAA8 +ED2789F734A9E258AC19F8D91DCE22B7229605912110D3C88C27E32FC0C1E0FB +E4E6253B00E17AFB3A56E80E487B1447B00CFA3C6C8A500C6E34DE1AB52E24B4 +29285A06EBEA61BB134055B25332C4F2AFC4CD63E51AC2C563B89563D0254194 +DE000681912B191666E7CB012428ECD18DDA85972F4E252C25D22B83076B723D +FC464F67B2BC065A56AB23C6A248F309DBA2E131A6EF79586E58C22B28FFAF47 +5B59BAFB5D54BCDE67B2D52CF54D722A8DD65A69B6CAB613145652A976CE4D39 +64D60C0859891F96E2FFC98EC71CB8627476F971C108F5616E20B6B12B517C95 +400FD210006D7C81518A744CC70DE55F76AB2428202F64636BF1B4050C143424 +1EDB33B6F1555CFD821DAC359ADFC8241D77E2E639514CB1CF6E169312544A65 +D68CFF6687283DA001ADD5140FF92C2A4583000060FF3717E66736B72EB97C4D +B5A6B6E1AF4FB0AB0CE7F517E28F67D1FC76296917E1B91F2C07AA0A48FA9399 +B88722B1A4A755CA4825EA272C1D104A426AAA391D9125ADBB46CF1015357611 +A75D9D098A27F61719BC50DFACBBC89A3ADD031C747FA6722534BA34991AF3F1 +BF309AD264166AE4DABEAB56BC495DDF63F51F7F49DF8FCB5BB79C8D01A8A9D8 +C19AF84132DE8F5BEC0E4660654B502F46D4B36A0E52ABC788644066DE41DB8E +BC5039741F62FBC7E022695E2616AD42CA90D225A8B0B85582D26424B74C146E +164A78957817BF9B0F2BE120B0C0F663659BBD109420C6849592A3376F58135B +CFA5DE0696385BB0FFB6345B70A720C655CBBFB8E3BFE02486371A0ED1ACB555 +52C3342A01A2C825D685A50DF65F2F9D27604F3F841AE34448CAEC9C5620F73B +A0E13D41CAD8B041D7B68FA7946BF6545DD7B4C68A3F79464C1D64E30219493B +2267C4CE8D70C1DB3A6B32B70C9C0A69EFAB858FF9D52DF1EE64CA7541750A5B +0C8A64DBD11D7A52FDFFE8A2AB92BED886B0533C7A29452DBA1FE16FE252C76C +2147179049E4CC03E5301AC7B4A3EACD5C0C215C3A9C0762A997502B0A338A19 +94D371C31198073BDEBC7CB5C9DD3EC0C33B5AB9DC0E63EA214DC576A11D1E1B +9627FB3B5E091A7C7480AB572D86B3483BF28CE1E4B2F74315016D0E2D277A75 +7DADBB5CFE83D44CCF99699BF548A45F42602F075F9965585106AFC9DEC1F5E4 +2E8E625AA80C1A23EED1027787E23EA1E2B6674FBDC70D0869D9A1D2956BC4F2 +DF997A23D396EEB029C38CF7C0C775C25AFF4F50761090ADB3C570B631575B0C +99E46BDCAA4B6250238E5D9B07CAEA824B4106BE1E86015E6509D45EA4B7FA9B +BAF2F6E2212876DE010F4F42EFE163E4BB5C2EA8BB7DFCC55C2ED9F1FCDEC32C +8FA5C996E011DD4061E9E4E543141EEE7BAC2E59E2A70FAF1D325B4C3CDD7550 +1AB42F0A7A5283248B42F9C6E8B777698FF688E55246127F4D63B4DC5DF2D690 +76FE80C695AB9982C18D48E647518EC2B76EB697066953C3652626890FAE9E2C +E05BB5D8FF563F6431A56CA3B3BB06FB222134A4F3273316F4D813AB4798649D +D6D76640E5267654244891ADCE677A7A599D22835082A072C3772C95424FA45D +F7A2553E5CDDD74FA70CF540AA72053645573A5BC1D076CA56CC148066671B08 +623163ED2DB63672DC00C6B2F3A90103D44035E6C62762F9D570EC180A074BA7 +5FFBADCD2898CB92192D631588C208C30573A8F7583EB55AF909494F65408672 +CF9B4A2C471DE1BFACCF8292D4EE0CFC3DAFCC75CA917207D7FF60FA738D4CBF +DC5A9D10C374BE5D3D04129C5377CE1DF8D68F276989559C2583C6196AEB4557 +1CBFA629E30DFF518EA89D48B607797221D94774689E26FF5F85C498D1AF5FDF +B24415B519C99E67F653CC52B83A5E6AC4CB8529822733E26DB40148B6D244F6 +4B5A75F275288D9F8065FA60FBA29F8B19E467C418CA57A6FE618126F3ABB59C +6D76CB7D7A8EFA3C0DD4AA65E4D49F8FE9F3E71E95ED6677BDEB1D2223DCCC48 +9A83E589D293050C20847A3F53178A895AA780BE8D374A8D48A10B8B0B3D066E +BF6E6D9E8908EC21DA73E6EAA222400A7C729E04FA077550FB80F5C19CFA1A1B +6A9B58AD9C2F087A730EDF4EC2415991D7572619DC7341ADCD7839C05E1F4251 +3DD514ECEBD22658FC136B3F6DDDD5CBCED5DDA4C5191E76FE427015B2863065 +768A4FEFF46C68EC7F68978C1D2C23C53EEA6C845DE21A5DE77DC935D2A4514C +8A3E9BE93CBB5E16460FDACCAC0E425D93E6D617443716C6721F2F119AF44640 +83CD0B9D7E26AC928A0195F0196BDA8F68DF53B5D7592B4655202BEF769BE4F7 +9FEA39FA1AF47223B09FBF61601636E76BCA286EE0BCF5B1923AEB3F9FD0ACDD +3BB2526A8619175D1430440DBE02AEC0C24FE51276C4BE36AE93A54D8378D3A3 +227061E257DF285EAD467904A0700AD002E718CABA338D2CC52F2483FB1035D1 +D065C64DC509EF9B4747EAA3AF3A02CB64EB6E55D3F3C19B8735BABE26852C6B +EBB2E4D8FF77A040D1D5959E701565ADEE7E413340F9451C55B0575E3B18090A +2C28B3DFA6B043BD1EC2A5DC48402479F24D630D743EBE9569A4A63CF6DD9670 +E335A22ACD4E09900E11BBA673EF677A021AF4A4A5A1CC56532245117DF5BF0C +4FDB0AE21F56E04C0BA9188348611C0F67032F13B6D6E404C8B3D473496646AC +0D414E18885768F0D65AB506BE36667F54725E5553D664A5C2E9601026989EB4 +7AED1F81FE710FA3FF3056729069590C030E702B9179D0081BBCA6398EE8C01E +E01766D5C9CB702C4960FE23C4A282DEA36D96C7E906E0060643D50C0C1A5169 +CE7FEDFF384D793DD14D9735C04059058CD3226579DAD72467CE95CB76E9092A +42DF6FFB6D567AEF67B1BE359A6BC569830B4EE65BC7832CCA23979CFC48EE25 +F1F477B8D723C0FACA8B24C48D1A7320D6DFAB3997F58A4ABA7439F7AE6C73B2 +CC29E7A7B8AD6827647577E4A677A0B41DCD206F45D6777A55A864D1FAF919B0 +4BB0BBC5CF40264610732E00DEC68CD355F0027C683B5109110297EDEE6927D9 +0CE70C98D22920074B1DFB834413F6EF3FF1C9E1A758A6F71D69BAD93F473672 +BFFE79BB6D990B1899CE3ADE0BBEEE40A78BC517710DA66EF190477B360AF75E +8DECF1BEBB8D623169CCDD278F86B41595925FFBF10B4B2F8D7E210B185EDC9C +5E14D78F42FC0BC3A3BC8A6171751C35BF5DED43219DD48407BFA8AF992E97C9 +8E622F68EBDFB1A9358375C8CCEE0034E692A3A2A74441FF6949A8AE17F5682A +F09410E8BBEDDAE83E0D579C6A572DF98723B91C04A2D93DFD09254A4EF1EFFD +230721A13C655F2A0A7FABF796DD3752EEE89C4E066A06CA74AD7C3D8977AF6A +577DF17CDE2EF71C47799B026CE94B611441229AF08692A9EEB18F3E2E1988DD +75834FBD9F9A692DE870A5D43A77D677A3D0DF4D0558FE8B1C6EA0A8FC77F948 +4317379E4C140CB28B5BACB7F29AD176CBCEF1FF96A492130ECBCF5BD9FE5AD0 +C24595D9EAE4A4BE1F8AF27295F140207CD1D4BFF05BEC897A511F0273EB7958 +18AC6909CBD5737063B9D30C9BEA261FE5413A4537187ACAAE0A18C0EC6D073D +0CAC6AA417E1846F12DB12529F983AF7F805F790CA533797E9EAF7C2E8979AF9 +933CE692EE74EAA1CC4657FCB2552C97BFBD1C6CA771AE7362888840F011C136 +13B261332ED0F291B6CCEF9C5F3F766C8F66BB7BB57493124727F254D9F0CC1B +550CEF604C5B2B374B2CE757ABE19925372EC679AC3B78EB66C0B1AEF5C6AC3E +633D475BD3411CE0F5B84A54FD9290EAB4399FBCC2FABE659D0E0D342B80DB6B +AC35ABE3BB6B80FF87DFD311436EF6F268CC3823181136558B6F48B8A7322D77 +658A9C2FF41DA157521FD02E22F079E32BD23E408766FA14A9CE1C65F9E73D86 +723864E3AA0FF74B367A46A2306300C928AB8E37AFDAF788FAE595A7D53A9FB2 +CE8BDE68A11BB6F0BBF48B722BCB32CEFC18756B74FDB79F06639FFD8DCB909A +D5FF15C0EEE2D97EBF64F22534E4F80BC7B319673B591D649980BEABE6572CCC +50DA0708ED65E7493B006DD95A48DFA4CA2142C20AE83276F1DCBD37B6EEE61A +8FF20C3D45372FA7EACAE98C038BE4B911E31A261ED29FECC5439A70E74C4CB6 +F08AADA08C128DF35990FB2E30359049494C6ECDDFF663176654657A2945B2AA +77D17031F2007ACB9861CBC04F14896499D2303842C303C712175B1EAF4A2448 +F29CE39D0AAC14FAEEAD220C23C990D1E9911C8DEEA7C2226977BD5EF4261116 +74F54B064D25222733DE1EC50E6BB19ECB89B9DA9A937C9DD8A4C537C73B63D6 +670DFD03BAE4168EEC2475962CCF7048CDE547E8FFE9C2B251B0FA169FC08467 +53E619D91BC4342A7AB2381AF0945CE121A947C0BC2B266024F8C50FC61AA4FA +A90E9764268F79DA2A058FA47C9627607809DBB6377F97E754D39A2390EC41AE +E15A8128362D9A08F624DFC8DBAFC4DFE8BFE5C7D0F916DA2C0704D651CA2871 +1CF116750B65F38F86431FBF1AB5BEB944D266D5F353B384F0567BDF016BC7A0 +C3B36EFF6E690C355F309B449956401E90D94FA19CA25442333081AA87703549 +12304787789C4D914DF58A1255D84119BBB3A05A810D772A3C4D91EA904996EB +442D094B052223890340355062218149BE73FC31BBB33878DF4DCA0C407613AC +AEA55D731368F373A67893592BC795DE88CA748857D3BBCE909EC26CA14160F8 +CC1B6D993D358FC9FDB4E3A5BE8F0D4536D88995F7A2B4F7A8F699ED497E150F +D42E71B27697F18AF7B74F310FAAA432CF5C296137A73D39E54D2B9C55425F61 +4BAD5264C4D687BB9D3445564FDC1BC7D9D4BC48CC05727B715833629BF11F0C +CB9CF12497FB056B0D8C182DD9A22D714A163C9FB2DA05B9F50970A55C9E714A +209AE43ED2EB788736A65A4FC3491455E1971103E89A0F7DE43CCB80C2D082D3 +1653BA483F993AF8BEF36ABF3FAE136A4232F93948C8B32F8A2519F45655E204 +AEBCDBF1877B261DD983F9FED8301E3B57DF34EF84B91A9927915D64F979B392 +A5FD1D2493933E57DD346FF2F9527EE44DC83CCD632A65407A5287AF794DCF6C +ECDB895A5978262BF5A7371EC55CABE222A81F580668A193120D921B2CB7761B +6E92869F97AA77326F4F458C6346B97BBFC1446B854DE5D7756A9A0F5DA6A45C +2A5EEA3DFDD8C57B1C79F65CF17AEE04F9036C1206B3538FADC1CAD903C7688A +7991C53917ED97366571FF0E6C77426C768D4E57171FB4D464644727B8F998E1 +54D269AAAB71EC012A3317EA1244CFF897600CDBBACC1D53612DBBC5FFE09ACD +BA2493DD2557D48657DF7C4512CF63D6CBA9616A190BBE6D1E4048275B5A9BC3 +9BA504E26069E9806BC6A845B14557E7038AB37FDF212CE86C636D6239DBA113 +DB150CB5678B2701F1C90F361654A0CDA76B40AF409D442CAA20BAC3BAFA5B9B +3B17EA86675FCB22B9187B0ED28F824353217ADA0E0B9F61E79179CC5FF25BF1 +BF2FB24A490EAF99081494D29CDA270C893F40404BDFC68FB9DA63A231D3379B +9F9A3873365CDF9B6A32D842D26659CAF48765654F05D707042586DA605BE893 +863B987F05E5F0A29D32C13134F2337EBA7EFC269BA7B2F041FF542D36F24D39 +F71F3DAD9DF9E74B91033BA8B1FF01A3F3A19686B5A5B4D05DB17C137BC52AA1 +6F4AF7BBF819488DEBB5571775A7758727931366900E52AA38652FA92D97690F +49DEF882D78B073FE10BE9D053F69949A848A8EDAC11DC0093B331E87BA94897 +7491A5337712718E46A0933A3E2677C646569CA16BEC31E5CC317BF49E3C7203 +D06A30719B097B45CCD66DB02F041C946C8EE77B62702F4E7E5AFD05BF611E9F +F64D6C9A5E948C5F4B4F5679D14032F3F4FD9D4829EB63E3FB8B4D4165FA3919 +ECA69EED712DB0FF3A74EB6F5389499979C3184C28FA6BC25577C1D427AF629C +E597D92FAAA099DF37BF335898BD472391D2EA707CD0C32DC8B6A505D4A7740C +F3466D4BCEC6361673853B40538D9F3E28C5CCB3DD481183EA39C3A3952C26D8 +04DE8422C10E5695CBDEBD3BD748A93C7DD772B5597BDDA47A7515832770D0A1 +E20E3520FEB8B60A8A727905B90DBEAC81F8E0D9FD98421BD18917E469C32498 +B7A1D8F18400C2F6A81A119717245BC7D5BE7FF27274771A1C51AC83CD2D9616 +1EB49CFB56A486FCCF47B7BD42245E82282ADA3CA2D6CFFA1834DEF4AD51FDC4 +7065B4C4C56944521E76433C70447C7107EDC136BDBE624D88023D8754DFB982 +53E5BD12B30E7294004929956902E661F71EDF9CAA53AC43D49401ACD313A93E +1141CA49EF4361FF6DA3A6A368F0577776C32FDFA3ECF53475312691EDF12966 +BF5D3C69B2B09A062DF959625C841727AB9AB4353CEB13E1A06C7AB416133FC9 +8ED0904D3ADEB8F05F9BCB66C6F04BCBFBCCFE25BE89087C85C615F9F84F4602 +9C72EEFA154A2BE435FCF5D3DEABDE64B793961C9F06EEA3A8902B444167A342 +539A76A69B4D5F6A73B7124871AC35FB846576394A02BBE80A38FB388E310DA3 +63EFDA00086DD59FC21875C34708217055EA38968F29D6CC98B3D959240E4853 +25EAA1A6AF9588B78A0A6AC574873B6C3191282D4F3C100955052CC8A04E8FDB +3843F31781E71838593BE39BF9F177F9BD9C7300D3C2260F36308007E6BCFF2D +74245E0F81A692E3D37CAE4FA2CEE3EC5487903B23773823D50FFF3C079B9F90 +CD01BDC9F4FCA357233D3F059F7D29C2F95D5F0FF4DEF948F5FD5B8E04D7EF34 +198161813932E4FC9B7FA50E9AA356DE7602F908AD71EE21391B3CE512C9CEE0 +C1C60206A5C6D9CDB4EAA65FB654B23B417DD407BE99773A43545F01F05BF0D8 +9EB1327A7F0A00A7519D03F8872F4D2280E243656774911D679FC88D10D253F6 +C8C1E034CDED477724FE4B13A27ED520DB3BBEC21C049211BD949537D9FFA189 +3B0270924ECA20F20EB9FEF641F9251BB140CB1CB36CFAA76479B6850510D52F +A1E533845A1C7BB9B3BA5A0BD04FA76C03ADEF6AE8B005FF03101806AEC7066D +03EDAAED0352C5A3F9470946453DE958E11CCCFE17FEA412059C614A815F5D78 +D3D379783374A055EF0B0C7C4A2136CDEBB2FA7AFF2D095CDE3996C1534BF247 +E764737B814E6C39C89831A76F0EE853F1FA86C3D2000D1AAE76A47E98DD6377 +8E442068FE0C2AF3004C2DB654F9BDFF412A5B8415BC85CCB19DC9263B2EB900 +1DC907541BCA2AA6A4879A016A99EF4E1179660F9ADF49D7EF3FE7D9FAE42BD9 +B134DE6E22BD65BA2FC0904B349F192FF105F46E8B849BE08D78326A200CD548 +06C792F185F77C8C01EFD7791BEA93D7E1868E936B66E77B11EB71C7ADBDFD47 +30C1B10F097298960077CE4EF8B43498FBABB364BDF1CC74069BC1232664A778 +05FEDDB57A536DD97ADB6893C484FBF638F0535AAD005B9040F8F4C5A8985ACD +596365FC9A066E96B3096F2A709E4BA2B5191733FAA31D11B4AD30BE9BD06A46 +03DBA293FE94CF06ADA2C661A9E8EF65103980125119447003AF4976EDAA2AD6 +79C79EAF57F0819F9649FF6E829D8B403F705DB3B271F788451A5F4DB47E0837 +940E766CA6EF0799EE5560BD521390737355D4BBBBB5DB6EC9E12FD3AC9B735D +1C1A7EE65285A7293E7EC30F60462283728E2E1ED4CFBBDCBDAB4EE0BB73FB7B +9382EB082242E48E822D5BCA5C88042A7407D814D945284C4CD9DA223CD41FDA +F640E3E64B86E7A9505EF421B0588BB2746F03D4C370B13C69F7451B98B233F7 +B979D63C1C86F9BBD9D3EA06EDCED6B84C0408A7D5E8576C43A0C0CF69D7CB0E +02126074E9B3D0A580B2427F9F6C +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR12 +%!PS-AdobeFont-1.0: CMR12 003.002 +%%Title: CMR12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR12 known{/CMR12 findfont dup/UniqueID known{dup +/UniqueID get 5000794 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR12 def +/FontBBox {-34 -251 988 750 }readonly def +/UniqueID 5000794 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR12.) readonly def +/FullName (CMR12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 44 /comma put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 56 /eight put +dup 72 /H put +dup 74 /J put +dup 84 /T put +dup 97 /a put +dup 98 /b put +dup 101 /e put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 117 /u put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9C535A5E57376651 +F6823308463DC4E0339C78699AC82C769542FD3B410E236AF8AF68CF124D9224 +FD6EE92A38075CAAF82447C7AF41EF96F3ADF62F76FB425BEDE4C4124E7B1E0B +8BF254D91912D3A99557F5427907A56514C5A3EB961B94112077FE9417B70DA0 +B2E1C1FA3E1D6F01D11F640CF848E45BE3E205258E64FE36AFBD4DF4E93F6B1A +966C8E7FBE2CC8FF43C1F67BF6C361678B5E90F4BA524FE8A4CAD6AB28183E6E +CA6C9636E884845105595A2E40CDBE8D4807A81AF4DB77B31873FEB221BCADD4 +2C4669459704CB58A7BC230FC59F867EEADE660E49AEEDEEB042BA9A7DD8193E +56C3A36A1F639F7EA512EE4BC6992F52C2FC82A890EFDA730105B0AF7B819295 +EE00B48F64C2B5BCB275B1DD62F289CDAD4AD9B7EF057684642FA6FA6322C277 +E779CAC36D78F7779CB6DE12638B3C65B70C6B5F8A8C6421A379719B8DD44973 +5F52856A4A29B2ED37F2B1FBE6EF4B79B7C0CD6395C756A00FACD763C235914F +847D1D99831023CE1FD89EFEC83AA7E313131C0C197248605EF5BA773D0A4000 +72F607551A8EA6F0FF19441ACA179177D1FF7B423FEBDF58B0C19CAE3C10EEF6 +3538D8FC4762B77C5AA023A8186C40D0365A4487DC3564265B3DF908572DEAA2 +57E29EC669DD72974F806EFF5ECAFA9ADF1F9D2A63087FB7BBD100F0F81C6FFB +B1EA1C9DD46548AEDD147EE64B1B4894972DAE1DC3E8569D6A3CEF9F9E46DEB7 +547E10BB2959D374A33E47C58F1B20419920AB485F166062FCCC08EB5CC9AC88 +F388F0C0155027B727729488E44CCABB7064A1432E179189C4627453C5231535 +47D1F2B8BA43069696830CBB6E5F9A135CF22D3D1FE490A3A63C088EA32FF444 +24A2427BBA63033DFE2E06DF8CE67949B6AB02F26335A376B57376814D2A7DE7 +64A4347577EBE9A6E33DD2FC214A09C6D889C8FFBF1D567032548851B8F97204 +49E215CC7D222F593E1EF1439ED60AD922D41E0E9EFB5CA48F2FEFF75AC5FEE7 +FB6676D8B8D4DB6885FBE8B61B586313E4DAFB09D94CEDC0507E93000104F3DD +F83865A2C6F6A7DA8562BF86F5DB233CC9B53391273A1462E40876A8AC2B098A +DBADD5A160DEAC061F86A5FCCAB495EF8A9D121AF07928EAFD56F618E4EAEA97 +CF89A3AFD406FC9DE1E9769C1E1EB83BB883786BC075EB5DA2692CD59C4DD7C1 +7FD2FF9B18AC740A390C1DB38670DEB18C67721A1DCD502FE7368F47DB4281D5 +459B3F020595FA3B10544AAE9EF786A0645FB7C9BB29D091E1432CD878A05918 +1665643005BFD9A4B0FFD347ADC84CE22D6F9AD4EDC05E8C7179DCB360AB57D1 +6ABCD200A4B4AD56825DC345984D9A3DE11CDA5E9EC1E5006EE4181E4EFE0846 +67D8C27BEE8F84A1E01947E945BBE988702DEB2240C4BED952E433E5305484E5 +71965D3DE95C4115FF78CE9EC18E323C599727C8B93CDFBCD1CCA780DB8C81ED +C4B5E596E1603624308972FFAE9A57B0EDB51FDDB6E23EDE2946F61BEB241345 +2A192D8CAD53E823D687F9C64A70A4B4B703291FA6317C051DC6A44BCCE0288E +3839D726A8F2E39BFF429865E95C726E808E02CD06F36C1CC9AC77999F8E28BF +CE9D74B699CA982479E9D0DD98EAB24D29C981EF0349721D6819549A39413801 +F80182D567EE316E2F0AB208068E15693E4C399A381BF9BBA625E597E6E109B8 +16F3A84C8EC92F2ADE288821092A421A8D3B907048FE947230810F0777EE2542 +29A3485223FEA079B359034F70464DAD2F0E420271A4E0CCF57A0ABBC20AB327 +0CA71B292126D395E0D083B19BEC6B48A9DE2BF470C3D01A8C3F52075BD4BE02 +A0C518355814478202FD4762EC542F8E7B9B1F7824F0554660CEB83E35635E1E +DF0D03C94C903ECB36B4948ED98B6324E0094EB1DF70863142D4ED3A932D7346 +39D69F8F044B6084482D7748C27328AFD24A3A70B99D1F7D32CB984488672254 +28B6A9E9DCA2C9FF6A1B311D72413404B3CE5428BDB7FF3C36357D7975184F56 +FA6B32AD54C37D0AF7576663AB1397B80D4E998F0B4C4F6D90B483029EF2EDA9 +D4C4204C1546EFF3100629453EAE01918D09FE104E626ABA38646F17B6A94CE8 +116BC7A8D9C319434CA5B830859B4164DFADF1D7C3ECA5C78D8DEA930EA4AC3F +59DBBF3148C91A2E807FB934E3439D4F67C6DBBA9972854E6E3688E1E0A34B74 +482217CFE031CD7B5DFEF727C3EF8DAEEEDA08F4C90289E62FB2AF2357EB2E45 +4BC547980FD479101FFEEE477AAC6268DD659E8DD9E244676FD3C6909713B71A +323B211E571BE711D103FA23B5B9AF077D84E2D20FEE805E81D20C03501F0F17 +C3B081946CD0FD577F00E50B76CC37CFA97A61B89C25DD43911B28857284BEBB +5BEC61FFE3A14C64BC5425A7A82326617F6F1FA4FEAE56071C9F559F91568179 +46369B394A5CE96FB7420FF8AB7C61CB83492FA5AE4A4B0799578594C9EA67E1 +E54498AA5CD6ABA34AD3417F04F5D8D664A7EB39D41E2D17643CAEBBCCD9C38C +C5C9541641A09335EFBCE0D276A54253EFD68141807A66F1DFEB4BEA5889FFA3 +4D20BD52012206A9F8D3E0F6AFC03FDBBDF3E51506EC6336E249CEFB571AB84C +BDF8E471E3795C04E38A5306BA6D450D72E50910D1AC385BB06CCD4B8E433A32 +5A4B7FACC976BB31FCAA1E62DB2C4FE06DDDE7367930E336B49F47DAD91C8735 +9A35D80CA2E117E86B52E41E9278046ED923454989E48610ACB3B1663F197117 +52659A9D7BFA561C7ACE0771794FC778675F83C5EDCB132AF124C7E6540A140B +E0A268836C73A3C746DC964E482E63C56C0D396515283970FBFF182F9F684FE2 +655FD8F5D057D22246DDC3FD11B77552DB4D90ADBAB77BBB1FB1592129DE0AEC +F822D7D36E52BCDABBD560B403A5C56C5E1BE789C3AC049318C7FAC5E5861E42 +FD66C3C0F46361078D7E036281682BCE9BBF77983C93ECBBEBA9B359769CA442 +87FCA1B98F4EEC4935CC93B08AAADDF355C99816453587310F08C50B9BA3D107 +5388A1F3AED2AE32BEFADF0285DA90436D1D7EA85D7B9B6DF2AC4B778CFADFF6 +6EEE54D1A1C5DEE3CCA7EFF57A7C2931933CEED90CA26DAAB45E4388EC4DC366 +B9E88518D6CF094861D2A59282044CC06E63EFB390A6DF4BA5EAC7CE39E1EE03 +3D84099F5BE96612789AF3EDED07266EF10A0FC23EA1EA97040B6BAA63138B1A +A9CB8F5DED781260962D7618EDB200C3ED976033E8967A8CC676E9C11F74BE34 +343A7ECE7EE97E8F76F7E95517A6D6163527406EF5A669535CB2BF4031F29046 +BB2D0FFFB47A576F5EAB1D00A582965C56F28C00B3BB7BE2CC8D8391F789070D +775EB775437F0CD53DA840BB3575104B63E4B0BF14E3F14B320EDEF65FD4CAF5 +8596DA491BBCF3153DED3B718F833D106432DF8DB8B8E6B34D5308C9010A5DD0 +7E0E53260BB84BAB3EA748E8D72F75901604F80F4416920D69B4B983DCDB72C5 +E9928F01A4A85954FD74578AE336C782CDF81D1EB7EBCEBFBAE7ED8AB4862584 +397928F502D65139CCD582CF0723C5262EE54B9D2B8C39614652A8A90E1C3B65 +7D26B99DA298FE4B9A7E98848F619C9BB4FF9FD215B72F99506F06355B332689 +37D80AFD9F9ACD8172CDC51FCD3A759ACA0F7D4EBB07840840EE42C2D5B8B257 +2C6DB3A7657B75F2F0B9730A20112745703E2D0FE709436CA6A5F36F59E64D9E +37C0A23D6D289E1AC1DA273872F5FC5C3DA2B127F078A4D7AB3FD7E124455817 +DDC796D54EF26A1FBFD539D3A21B86DD4477DA49213259ABB3FF241424F2BE5F +89151E02FF87E0BEE26E85C0E518D8BE7CC9214B8E9A9EA1DBB49C6C212CCF08 +90C0F23E9858947EE344062EBD9C574979087439975EAD4E85CD7BFAD3C91CF1 +EFF577843AF1427D06CB2F3BB519ED1591974218C43F0D2038665F9E2E3960B7 +FE68CD3CB2DB6B36C7997C6B21EC11CF1DE049541001FFF26D14C255E3AE862C +5A5701292FD2FB3D04523D6E2F3547923BB117718DFB6E6520F0D0B5450C695B +8C9242CC8671B7284CB2E1E9EB097A3DB1B4D5E8EEB93B4DC7E38C0A10474665 +54DDCBAF079B92EA494F6FA75A84C5AAFE280284D0823D7C22249A21044BB0E6 +4062074ECD17B62E03EDF4945A294BFEFB51F5FD870D9D7230FC91B83C1D85A8 +86CDDF326FC90E04362145D6E8630C50594484FB829DA18F5C078F2EE67D2F2B +08DFF39AE2E8C9741FA989AE494C7166F122D2C5F71B97C973B7CE8500E9F87E +D59C30F2E99CC4D34713DAB680598F41955FBDC26A14CF1E73D6BD6B9AAC8D3B +B998F2D0D647356CD236DEAD6561389ED3A6746221B0CF15D6648412B35A6B54 +6A0EF5BBB34AA376D9BAF025BFC650C1B74333CE85413D0EBB2F4D082A26A5BC +3C0A25D2B12CB159F140E00E262F1CFECCB2C802FF94CD34DA0CE9B4B3830FB1 +DA85B9B670D5169928990A2E9CC869891CA2FFAD9774E6B92549644DAA5FE00C +A5BE4F5FF91A0B6D2FD8F96121D766391EC4ED3E73DADD476B7DAE1A50AFCD98 +DB7E27E44D30416088D9BC07D4661D9ECEC0806830ABF14CE55AA3CA2DF66E8E +748B8ED46466F1EEB072AC0674FE6FED231E0DDA59ED7C42BC05EF00E176050A +C4834D893DE42474EA20DB1E25059E84BD137EF65A02CC295B0FFDE4CDE95879 +0FE88BDF2519ABAE7F8CC3E6386ED35E04A14F1E3861922645E3A3F43B48A5AA +1999A5EFE192515FCC625C829FF5A7B337AA422F5E920545F9BB269C869A821D +6C4C26DD2AE746EF0F0B4C1E7E9871ADB5270E1CA9BE28225F7A0370D4C52422 +E25263EE101C4EC1C7811B05AD42F364844A56BB91EE72FC8ED53CC6954D2BD6 +F945D739BE4C61E36143CE890FC0CBF2F610018D678ECF7CEAB18FF5A0E48F76 +FDE2463D40A99380D679B3B76D39C664F4992D23E5988B0D1AF33DFB04894016 +E852EFD1EFFE586153C0F31ADBDBDE3F73FB49C5EE64D0D02E1504248FAFAC3D +903FD44679BB09C30288139B41B1E90A10139CA3172677250B16535A1F3E5E4B +6F4264DE58896E66051FC677030A121C5A285C47B6129CB5A3998830CE070D21 +2F093FC1B44089F603A21F45F60960F134A47226874C737EF6C085634B0A4A66 +139420501351F737A73F39D960EC38420BE46E5B09D298E7C16B8E32F01507D4 +0141FC52DA1DE718D634AD9C8B00E46EEEF84356759324D2B9A3473C5DA38DE9 +E30182B87F91B6A7F7BACF29A93B44C879CCDEDB063F9D2E51E0F1FC9F018FE1 +2433D85AF24B55DE3A61C4D0A2DA4FDE933F5F6FDF17E9FA9932BFC46E2D71F6 +585EEF5B2E4E89E797A24B799D7F064DD1A817A53677FC9EB8CC3E7F93FE50E8 +D50E3191052943FD6C98B573BDD1F6D70349E1F8011599E3F8FDF1D6E80A710E +51E434E85801617C6FD8ACCF1B77B4BFCCDD35CB4C0367F4EB4D8D9DE8284D5E +B4F43E2F8320C2C5A9AE90ECBA7E65D377E91DB69FEF27069235366AD3E126C3 +A73CE97F4C90BA00D206FA012C327FD69EE59AF4470A315B1799CDC0539BF90E +512C8FC3BEFE4D1B01D969EA9E3FEF976CD6E0FA4C9ECEC955B265CFD58AB8E5 +F7371E479279EE14B689269205C5B506940606CF3E24A1E7EFF3CA96ED30AD6D +E243DE57690C3D69A401AB3315FA49E4BF4ACD4DD1CA39272533E82EFDD508E5 +1C2CD286CCC5DE1202C7C7F654521750632EB637F918667E2233A43DF75239EB +F28F3129EB5DEE2FC5BFC331FF709B0FE9B327CBBCE98BCA2C861C6547E50407 +1218CEBE6EB5F9BABA4F2E11BCC6FB553A544A567B459E06375102C69F8018DF +BA6A227CFB13E2D74E6A521E01B74F2963E9A0A1C9FD87A88EE6356E3BFABF55 +BABC751D2BF85E6712E8EF57914920775906662E4BA68FFA21AD422D34E15578 +43CA0568B431101A1194F8AB1EF25E886BFCDFC10F4A5EBD9530816548BC298E +AE4A0B6B52B8B59C644C409B4191B6F4203F52314F2675F02AEB65A72C66E92A +2AC703E15D8D381522C0AC30C165B822A9B8D18CAECC094EDE020756018DCF51 +D0701B507519C4270B70D8CE94B436F640C15872F9B5B77892AA3D110E4D6A65 +8F0815C61A5127BA25815378683F46E69E54A391A8675977E7DF9C2D4E6FA991 +9F029E50CC2F266B31EE9F9F24452D5838905F330CB7E416B8AF836C5AC26AB8 +BE2ECC6EA4BDAA08C30995709E225C21D35DB6369167602CBFA8DB2697635925 +969002CD1BEE745DA2E56C17EF3F0C05E3847147F86963C37A221C8827195A8A +3D38993E4939AC915BFD9A212F5FF3F826F742B952018986F9FBDDB69C3AC65A +845F7F33C55D4BE60A1817EBBCA7E1538E8087E1BD5C083A320D52953BE65F31 +E8339C612A510B59CE48D2EF7061560C4AD258E7DC59694493E3AC878246F37D +6DE89253EBC8830C6B209E818213C4AC4CF1F391AD91D57BE76FB0E2924A1407 +E4A949C905E44F54EAED6419F13D59942C8079336A172D4758BEB5D3E786FB93 +3CBE4FD2EB53E4E1DAC34E821EB30FD44BC6CB4298242C38F848FC23AEDC9733 +52BE6F32E31E25F18301370F8936810B0566B664B042C7AE0D78ACF0A87E5BF6 +F9B66E358168B2CEA30DCD940074F3ADB793CDB136161FE2522905E87B8E463F +95D4DAB7E14A3DF7BCCE8141C5A08FCFA2BCE9F2D1B05A7642E75877EB840149 +AAB007CD239AE47AD115929427717F219B0A8907F0EC79ADE1B901DAEE87A2F8 +39361DAB43DFFF69650F601B24061A9353CFD619FF9626F63275FD09A5B13BB4 +8B3379EC4D147C41197E8387FC04DA7BE409524CEF74EA91DC066808A7FD0EF3 +957A44E2503EDA67B1C61827479486134E922E560A673BF314D601C66003CD07 +55569085AFC8428389A140EB976CCFB8F29E27587E46C413ABE2EFB51AF5913F +53EEB74063162E0BA1E24CEDCA320377D3E11BD374F0B44E132A5C35835B6E2C +D32948EF9DC7931D104C1385709DA882DED6458319F21C2329938396BC074106 +CB9CFB9E0A915F8DBC8435F386917AC87A2BA45D857EC30ECA66FB4044F5439E +CDD556B82A0E43418D179AD883C85AC276E1190CEC242E3E1D86E725ADC39E46 +BB6C47FE9E17E29F8EA81E870302A00D91434F3B7A05F243176E6EF1082541A1 +B9052191EE5C2B8E94A2E02DB65FC769653CA8D1C07A13CB853544AEC7FC35C5 +218DE3128AA31952DCE19C55C23FD69BCEA2C661F57B11B8F9E86BFA718D1521 +3346E78C701A5E51923D6D937E62FDE3669B214D240538F069A100A542720A86 +31DE88116DE775F7ACC2A49EA6C02A24408271A846990669F2AF60AFAB4C16F9 +7F4E88E917F0FFDCE68F22998AC0AF2A60A73258C3A4BBC42A2F918123128195 +196D0E150D79AC3CF4628503D1F3FC528265ED8324E56849A47B3B07C29940B9 +1BC270071E221D355EA51E9942D3BD7F99816304FFFC8F5B036C953B38759341 +ED5D7B9C8E6B70C409DD8362FD291201CC385E4A98D73E8518A4C0E544152563 +82032FBD2FCB6E403D34B85ED4053A8CB619BDD4DE001F4C3007B1F317579651 +E6D6662189CC2D95AB85D7473F65C5D7B4AC63B0FE928F3400035D5A9D443D0D +F3532B99F3AC26CB25EA3CD64C341159061E02EFBC7C033C05CD919BBD827A6A +BFCF3BD739E32E7FE909AEE068D50FAC33605FFF98C7D0115FB860178FD03DB9 +7985B78E0AC21F2EA065FA841F5928FB85163B2E2D8F850DC7EE313912C45C28 +2783F6762C67882EFEDDC7E7567F91C16B16FD8D5A1ABF35B5586307701B91AD +54984598F2AD46FEE3D68A2731BEAA754C8E730FE0E84952EF77930E4118F8D7 +2F3AD7552C48C6D71102367AF3DD19DD76FA71928B63D7918C3DEB88840FEB80 +D288565525B144453F03FD08340E2DD4777484B552E241EB0180BF47E9A19BCD +086D89AC4DC263E273CB0F1D2E2082E023038DA303AB252AA63564D26ED8721F +8EA7AB22FEE60F04C671961BD11F2080F30456DFBBC89894FF05BC9517EB869B +40A4E58290546539BFDB4BDBB450AA7A70D019BC5A39236EFEA6F93A9FBCB8C9 +7EC6DC89C5F27EF258F0D533FE882202FB786D0CE1A9D7D0CD18CEC7826291BF +1D3DF573690386F2ADABAEEA8E83960631A33AA07BB7B4970477C46E92D30D75 +6E9F27887A8D1CE84F20F88DB678A0D65A53FCC7638BC932CBB2715639B5786C +3E4C88CCFE8F7D758EB497C82FB73635E828F165B2BA010AF65D973D0FF3CBD4 +71CCEC76F7E415FE5C72FDF6E2D511B5105874E9B69AD641302FD432DAFC4D80 +6B6CD4D1D5B658D4A984B34A2666ED8A74B8A070D33AD7A0E411C644BBD42FFE +AA7FE68F9E5EEA0521867422FD6BE49B18BF8AC265E40049F851DBEA997C34DF +3CA77697F5D48FE22C64C303D089E0B928AC2712EDD68A0EDC595FAF83B5D4E0 +28EFCAFA72269A4FB0CCAEBFECEDCE66AC7D1FEB9DBA1FC28C33DB8B89D5CF97 +932939B64B63070D7C293EF846EB7DE76B5F06FF4DB59278DA0F1111FF97FD5D +25291C63D01506FB143DD9677CB27DD0364FB1D756AADB0D6DF4816B0B1118F6 +340C38E4FBCC4C393F928D47585ECEEF5A7F8A15FBBE393029B12DE7E9E4D781 +71AC2DFC33FD7D59FD80DC1A634C5D99A068803C674B94D56D1520BD4B21FFEF +E020A7B28948FC4534240839D1C825B4E6C4C0844F057A38EE984B7E5B9AD8BA +533B9492E64A43E7A04EEE064DA56DA3E08747D5705F44F7156AD5C65653164A +82150DE6717C614AE1F722D571745119BCDF5B8F40EBE4B73D8CA0A567EC9991 +9DEE71B60A72734E0E19C41457BC2CBF08FBA1B4E045DB90FC51E874B64D3ED7 +FB7487F36D12E8D3D95FE7D078976AD534AB074FFE6BC8279006DAB8CA55DBC7 +89A13800F9DAC874BC74E1C6A6E3A0318AC1656DA73FCC4F5A8727DC1A0F9595 +5EC9B02BC987B9C37CDCB45F921306EA22788C3930E3BD2C5E91C9FA8FCB2F52 +30BE9FDA1E9F58620F5D95AF91C389A6ACA28BDEE8BEFEB80DF279D17269CCD0 +279CD36DB612D1D0DB9F3B398C04A1D39591F3660486759C2C2B9EB9393BA61A +81B2DD33CEEF70E02173165D6C15FD36D3F40B5D7244F29D3C57415F60F19698 +4BB27B6B6DA60E7BDA42F2E66AAA8E40FBF06465B80B4AE49CF3607C79472706 +C29322ACCD0D0151F3D279ADD31AD7FFE9D694169DAA60CE6A67642202BCDCDA +6E29C8BD1D9705034FC1680ED7D7F44621EB918EB0F3233C0AF28372ECBBA672 +059017C88511FBF0EA1F3B7DD84411D019D17A915EE05E68D79DFC4F03DB59A5 +ECB39748A437A5882EBFC1574027684145EE9264D62757CF038C0AC868A13319 +EE14856DEE3979D82F249869C7A505A4B7AAD1BD0599CF398A32AFF95D3B88AA +12974DFA24CEF4D673E9BC4B9FB36398CA44F2B9FF23AA192D56E35056C2177A +ED4A6B1660520A05C01651D10A37748E1483DBB6FE13FD3EEBC1FAA34349AD82 +06111CAE95F2013F111D8FE902B996C77A1BE211C2B6F9BC4DF73FB024B4D2E1 +CDE9A94BFA9727D95619B30F332C018B528A8F292A142BD5CFB53AF214E36C08 +E986347EFFCC3C3C885857D04A85E2514063067F3141BD86B3452A1A2B495372 +EAE088FC784DBCA46CC744D9947BC5A8BF354F2C630BECA351DE6A2D47B30F80 +DDA9ADA37E50B1816F739DB303627C79CE5DFAC2E94A9CF79957C0CA9B8566BD +892431AE4F23AF6056C7D8F184818C9D4A9E57FB1CEA8D74CCCBD38E5D7E1BC2 +4551ECC268BDCDA07E675C206B2DCC7E5C7DAE865A4363D4122848B46F198507 +7E166303E4F30C50F0061F6EF316AC7EC5FF61662F088696E1795D75591E6CB7 +0ED973CED00B0D058E9622043AF118ABE8C2B757BA3A1A4D5CE2E6C06A2EB582 +B99ECB6C765811568EC35E38B81523CCBFF8327E2CEDBE765C18A70B9E054453 +1EA6E3E33B9975A49873F3E1CD0438BB53F056254E7051938D08A8173AB22AB0 +9B42C13A84F330DB43CAB3AB877A66C3F2A0295E9D8B6292EAB9546F02FABD59 +13A88D7CA669122B532C906C4081988C0BF556AF1991E1E4C9B2D6B3BC798B49 +A8A6943A242A0CDFC03B498F8F495661C0B32ADAA6C3CEA8C1CCD1E84BC3D174 +425A71F8A84A1F806489E2C926CF032CF157A1CFF0498121BB3A6DE04DC400EC +3D98FC20A2A20C110DB95B335C4E1682515292A12C8415E323EBFA11551F2B7E +ADBB7682960FA594CBE077E1EB10AA0158273659E8444562093B5A4C28A39E11 +362611D6907C0B34DC4C958DEF21D232E2D01DE7F9C649C45ED941A8108AE2D9 +775DDD587DDC8CA72A97C3E2E713DDECB09C09F67026284E674A5EF85DE699E5 +7258BF1AA40FE374FF2363847DD0953A20259C7C8191E0FE0A391FFD06DF9051 +3FA61907BA4F984D7089F1329579927E64A8076B5DC08BE067E449948BF1EC70 +03AED3DFBBE20C2B23CB113E3F4973DB01433A72E68335BCEDA94CFC7239E7CA +55939B5EC58B380871397F1F13D7A640D8FC6924AD183ADAFC447CDB9A6CB63E +BCCFE5C11E884CABA6261D5605CDA3EDE239737490593E4E4CBDADA0182C8362 +F27FDE36EFC56AC691376AEC6F3204D96AEE953AD141629A31132296FF60ED96 +0D54E153FFB5117845FCB6EA3B1D71FF4328CFA0972B2E3AD0B1430E33F6AF44 +5C12F58959EC611A449923604D95883E378D2DFDA4D2B2D43BC9B4F6D1538350 +D9FB3E6B5445C696D916E93A1FFEBF2C59973A523F8972BD8FD20E160AFEF38B +E355E2FBDC98F0971A4D04298C47C6781201EA4F16964E6C441331193383C6BF +B3109040BFEBFD7217655899FFBC57FFAC3778729924CF9C9504A25823CFEB22 +DE375E4AB029F99B91B037A1F956F4CB14E973D5847A3D1F15F400E54730E0AE +C9C15DD4322AF9DDA0CE77074EBE320435B9D82BD73040E5150DF87AE690115C +AEF26E5EB2612FD51F7761BD894DC139E79C7952BC319E364BC09825CADF4EDF +129D8F7B6D819BE5BCD1C223DBCA46785DB5A2DBF04FB42D451691B25F647B1F +3595EC997C631B70AE41317E8F80394B768C58E64CFC5F97417F88C9DDB98CAD +9F53DEAF7B225CC6DA84B79B21C1C4810D90C1871EE2B20E0D0B4783F20EE925 +0E91C1C8671B97FA9E248E8F03B15EDE15F4BA072879E90AA8CAED46886DE114 +D19E0A1BE52572FDA487FC97405B4571CD2A48B6135D6EF8C22420AE5C7C9B89 +84D96A38FE9067CB6CBC1826C490675DCA6EBC3AFE89FFEDCBB7C83F92D03A32 +30C76AFAA57B6F0854E3F4327BF892F0C4985DBDF87E476DB2DD76A5A235A7E4 +E750171DB3F4C945A6ED52112B1FB818CC513DF536B7DE1C16685B03589B3D03 +DC7056DD140F39C2D21DF867BC23237F697B6CFC080D59239AB465FE688461F2 +EA9F0350D62450EF80C454227DB6D60CC4A1156A2C3983503EC4C020B8072F7D +7D471D3D288CA1A1497EEFB7C826FA93CE0A31B1AE583E75E9A97E84CF0F39F5 +27694E23AD868C04440B4B3B674246712D89752365E32A6FD7DD024B6B2E9E09 +420420996C797C228DBBA33529D256565B4C479C9A4826943B79494816FE9AB1 +7A7CF2E0C3110142D10076589753AB96EB827399232E10EFCF1303500DAD9F9A +050FF4D2A7BE882CEC519E57C44AB791605BBD1CF9EB46F588AE695026ADD366 +ABA1988D0F692BD8ADA131CD77A6A1E3B44536DC67A00E6FAD10A2807F3B4A76 +7AE8F7C5CE76A10958CE05FEE5A6B9DF29540306704239A72166F38FB34ABD12 +189B5395FAC0CFBB0B9B743486E0A3E36103A60DA0CC52D78D3A6E646F04BB5D +533B1371C2C7BFEDB46DCDA8E7CF7A00FC29C1BA4F0554FCD1701E0FB3614C8C +E63A351C080E03B7779FF122014A34B32EE0D4557F0C3AB0EDB23EB6ED0179DE +34B1440C36BA2B40CB06D26DEDE8C2EF827E10BAFDB6800B60963FC5509333D4 +C6AEA8BDD3102EF19E1DCACE8402DB0E98343CBDDD6BCE24D2D9303BA4AD16B8 +EE56A24D80F464EB153987368F7E899F51FB67923DE8EE2F20D6D235E28D94B9 +8456BDEF0959A3B015462E79AB7B84ECF0299444CE4DEB3C8EE7E2BD23CA59BE +49E6E2C27C0E787376FB5F9524441F803ED572ED7A1321E3C775D8890EFB4A6F +A2AAD2B92BAAF651D09E1C7B3059AAB87EA01E1EA8CD7206186202B9115B13E6 +7995708F70E72A38BB9FBC9BAF38077D3AAB047A7B469BDC8CBC1D2DF9AA8492 +74D52FF2AF461CF685C751EC27E643EE8206CFAA38B9EE236E051C1847D58D33 +E2801A3F1DA3205E8F383832356366C6D83A22ED1051FB93AA1944A220FA05D1 +4D5FB1A3D14781160712140F698CB99C7EC5E4EA8F3C8DA526A7F92BACC1C67D +E04F1A5B080D43B0B8589FE343656B8B84E676ABDC34FD93E24F6D1A0EE4685F +DE701BFE614C49EE893F9E2D7DA3F6E3110C55324A3858E9406D1F098D53D65C +C5CFD7A5B8FAD2EEA008188F3CDCB6A3029FCE3E1FB6B7363E610DE04FF30604 +6262C8B4EF036C5BCC2FA76C09DC2106411E40E8382671BEAD16EC56C6EB5A5B +FF2650A38302C5E0A9E5B0456659225818878FD550DEA6D1C8704C6020D2A9A2 +9728DAC36B72ACF23991C122E9EA0E52DBBD639431A0C4375225D16C7D1C226A +B09C2CD2A6FE67209668B9B876D777B86F68C3AE872EFECD1730456F168E48D7 +23E7A26B783AFA95962E94AEDB1B158DC3DC3A6DA5C17BEA6F42C7D4D5A33206 +32A767AC088B9BE230BF67353507449272A35F18937656529A7D701C5D6ED11A +30391309A4FCCD5E7530BFDB769C2F3FBA44C27FF56FFC8BE6BCB316DBBD1B69 +85A75C6726A9C0A63AAC84036265EB952556A0610C2832FD04636488B89E2C02 +528754DA559FBF275565644798D4F11E33892AFA540C1F9573DB2DEC7B2832A0 +A538E9903EC4A97AE8ECE9F42B72EEC9B4B5560D1BA7248993C46DA23A3929C0 +EB18C32E4ADB24350F10F1B703A93BAE3B82D7CB66E0FE460DFE1C97FA5FB799 +74E827C03981CB1175E54682465C5946442B9C2ED1E5AE3430D7E95680D69315 +0603E5B2994FA3666DDB44CD35E5C8116CF2F5DDA46C61BD309353D3D89BF459 +7DEDC647A51267BFF24F029F7C34F4B82B9AA619B1B23A678E90003B710D801D +FD60E1ED36 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT12 +%!PS-AdobeFont-1.0: CMTT12 003.002 +%%Title: CMTT12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup +/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT12 def +/FontBBox {-1 -234 524 695 }readonly def +/UniqueID 5000833 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def +/FullName (CMTT12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 97 /a put +dup 107 /k put +dup 115 /s put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0 +7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3 +A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3 +4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C +A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251 +75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0 +9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507 +098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02 +ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581 +DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B +5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2 +F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914 +2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4 +E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21 +C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23 +42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D +4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068 +95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9 +830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FE62 +C7DBA30E569DD3565AC9C80B112E221E3878624A015F6224597D02C9A07B368C +F9FDC817988D12CB00ABFAB288C20A59AE40E7A75C235938C47F77261BED14BB +6574F633BC4DE9E8AEABC46E0965AD69748C315B6DB5F264D5E7635BE37E23FB +873E2488086BA27275142C774A4A241F92E8ACFF0F25E81E2565642D88F77DE7 +03BCCBC437BB1C9EDA969E92CF3423203EEDE585A9371A00BC54DD695BA12EC2 +461AD673A27B24AD38903C82D020A8B235845E40A00CEE82BF1B187AE84E847D +37D5098039C3B116C213771F69B63DC822F4B45806D038047C030721213051F4 +BD1EF230F86B915B67CC9624DB534F55A1B8739165AB9AB9D76473752C628AA5 +4FE057ABDE42A685535EDF4C814CF00F53E7B520B470A6CAC4480488D82E80AF +DA5B7A5FC15095787538038AA94AF56018AD0AA7573CFB6DA444E30A99713E4B +07B1CCBC5DF5779110370C81EC980C9555DEDEDE7B655475DE867CF94E57598F +5C70B80B05C94C00A2E8B33EEF429E909AA1BB0DD1EDC8E27E735B41BE8D7708 +F9E444DD44F344736EFB0DE4323B4626237B53275CEE1DBE65396BDA86047C81 +25AC606422F5D16179F6EBD2E6B39F838A5171DAC344BFAF5A31A3EC688D5BE9 +FEAFCC0CC06D38DABCB1982B30CC7CF3A0197D82D7CE414156525C452B5A6A0C +29A5287C47E4ECD1DAEC9237FBE4DAE723F7256D3BC1BC8FC9281A716C93831D +BB09ED556A845A038BF82B25CF4B2769836EDC4D3BB01B2ED52065564912A8AB +0B1FE169ECEEEF8D6BE91FFDF1DD67E6E969EC3B6C9EB47BEC81A34CB840F348 +D49AFB71BD8D9CEF11019F6CFEA9C6E179634796515B45211F19EE2917F1CCB5 +FF91F8329B6F04A62C0A430B8794C27D87CF0BFFEA9F5A96CB9D447D6B4FBB42 +1BD54CA909D19569F563701215AAF75F8C1B61F072C3DB38D9666F6D635F8FFB +4C6BB723EF2094DF5F6D9C2E1933F72DDA6DA9A6E14AF2D956D5135537EF0AFA +5085D6B9C6CB7B67FA4247FE3D193BE96B85A35ED1313B2255576490F2E0F5CC +3CAC51FB07EBC0C72FE58C577017429AC0D8B80A21DB1ADB042866C59D1D2947 +146808980B0BF886D3CBD5D883690698 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR17 +%!PS-AdobeFont-1.0: CMR17 003.002 +%%Title: CMR17 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR17. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR17 known{/CMR17 findfont dup/UniqueID known{dup +/UniqueID get 5000795 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR17 def +/FontBBox {-33 -250 945 749 }readonly def +/UniqueID 5000795 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR17.) readonly def +/FullName (CMR17) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 73 /I put +dup 80 /P put +dup 83 /S put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 118 /v put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9D6295729076BD8E +CBC0F4C1BE246922D2482233846A96D867B66D9CF25A1DB661141D36B8506E61 +A022F9EF8BC1F2F674EDF1533E67A78CA29A612AA9268E113C5EB84DA56CEDFC +D7A111403E6E2A8682DB04368889747E003A124395ECF0C7FC81218552EE7C6F +60BCFB4120893528670D0E8A4117EA5676915E3591AE5652D003EEF67818A41A +8882E102AEEEBECBD15DCF632ED246A6A58B6A7780DB6F1F9AE3FDAC8344585D +E104F2BA2DF06D68945889A2A3B6C262FB53FC670BC5EB7C56887FBFB7AA7026 +84115872CFB0652C6BB330447AFF8F0F665EFD6A41D6DB6877B08052F402448F +CB21C26BDC900636C99CA347B79AA73AFCDE9762A992CA3DDF7279E5C50F453F +52098529850AFB1F501A442D6A02E0A2896F81C8AC735AF1E7EE47208B4CC944 +649DF6802EEE813F1456205C6126D7D0B1821AB62DD65468F3A30575E491623E +0054E2E680E4402E1C8C538DA389B81603BE88D6DC287A076F92B224CD58A0AC +44B8D490197341808DEF243660971F444A560C747BC6F52707ED42A99736ECCF +EBCB694A561C3A70A319D204CD40D402FBF937A00BBCBE85DD26C9E3F91B7D10 +D85B9D314BC3AAD5A58B107F5F341BE2C53490924142566417D6BE03BB4977FA +6635EA58DEB9508E40B9FFAC75FF44C683680CF242FE210519C9BF92483B0A54 +83F48341318BE16D2F8C988FE3DB2E7914581F579D5E323148A31E4ED03BC24B +C990372DF5F3B0C5FA32EB2CA4FA0EA33316569133C87697BAA2292E685C26CC +F8CD40A2366E60B47D47CC9D0FA29D2836011376A07F78BA7664DE96E775CF45 +9BC91559A063073A4C2FAAD0893C517C5C46A1425D07EDCC2B57162E3A45103E +FF26A2D2F98B194256A4B052AAFCC08965A50EECD7B9E8F35AFDF7B6568B3983 +8030655E7C2BEC961A2F20539D617626E8454E3FE9EBD3EFCEF7F63498441DAE +16CB509BF239FBBE25EFEF07A3E16C9C71EB8D9DCB8403916FB40FD7F4E1A52F +72F2DFF94FD14D7D49FE775390C17C37C1BA0CAF35CF75D682B7833A83224158 +D54CE962CFBAFB1B2CA50B60CBEB1F8F58DDB2F5470C355ED9632342D9382AE4 +5D33BCA3A0A25EE9E5B39BE5370E7F20684C664EDB48E7973FEDAD9676F9EE8F +701CD4D8CC9B9EBC06E8C86EB88AD56E15CEBB8E1930E8F711CB6E01D5D14967 +D7E6C1BDDDE2C4D00384EF4CB02877DECC27AD53FC981338977BA0CC0257CF7D +B42E9BC91AF45D9722461EC3CD9DEAA8011FB855FE14B74BE0A102008EACA2B6 +0E287BB4F466FBFDD6E65A5262B9322F95E20DAB875A10A84572D982E6FC7ACA +23C0C37E5EB47B8E69C07507B53CDD98CD1B6445E1699CF35B3DA3E0DC56BB76 +F997C40E2ECE47DBDDB707EB527055960113F2DABC87FD9EC7D0AB36B400CE33 +0D54D4F197B2830B43DF0AA802DFB2BF747A4C44B31FB708B2C8BBE1955A6A28 +379C91AA4CC065A50098AEC0B837E180B76801865A43C74859DF18FE1DA1483B +C17843BF1C7E1B11A8C6D8BB8CDB1D552FE6A1FD0A696A8F7405F2320F8621EA +17C1A32056C45A9ED35D2BD12D02D8B26489CAAEBF4EF33B66FF4BD9B46E4823 +6395831A8F3366EEA0D0EA88D612DEBF63DA7FAA24DA979ACC1A52544BCAA007 +6C39946BEA6076ACF45722B2B8E4D0823EA2D12B14A98367BB0433A21FBD9F94 +18DF298C56F67ABC9DB1868D431A854DBEDF8E1F49E359A545C75A7AA1FA4D5A +50F1EE6B45FC68ABF65FFF257964E4E50D8B0C1FAF498DFC554073697C2F219D +4A68DA9E873B270B9C56F0DDBC9927ADAF9203FD684DE615F68C24ACFFB44690 +89C0D5322049FA69E7FD00EFC9C9B2BD177B5B339907F81C31496662847BEC1E +56B5DCDF4FE618970F4268F475B2EF7E0F28CC986DDF098E59DDAD818649CC35 +4080C0867A884B8177A6880F06F1E5CC130AB4243EF8DD8032FCF390765BAB1C +1F0C9728EEE261A09F8C1D7ABC7A6B1550551BE2A7D19D45B656650DB00B3A5E +B3E1186043E173BB4DD5EFFB379654F88146382AE3F7196F099BDCD6D245FB6B +AA2FA9B6CFBC9F0CD52798DDF2F13874BDE5B124DFFE0DD93E24C9DAEAE4C3BB +71A9A13AE2860F620B4EC789F95221015D9C510CB4AC775EF69DB9E32E59C896 +1AF82C9F0DCDB4812A37761859A3D3BA0CA57F244489C78065346FFA78F5F7C8 +0B2E8CBA9EE62FF5C27369D0BCD52857D40F1FB8F8A1441B83565A4150AB1945 +0B54D6E49F66389E43096269EF5CDD39526A288C0CB81E324E75D326EC9A182F +2CD966368CE300B41873B08E17C3E6BB51804460D2562AF5A12339966F44CD09 +114C6809AF246B5BA6937631842CB9417781A58944B6BA4FCF961465C208957C +81A662D560D0F81BD3CB53C06B6D979F04F6121CCFD5D52702CBF6C70C01EDBF +2040AAB9CB144321E68C4010E0E98CCA2603EB55DD62E881DB621C37EA4108D1 +528ECC7A0121B57C6BB1E26F8AE7161ABA7E88256D2D6A8B7CDE2E730D137493 +3FF628EF6030DD2330D747FABBA03B44CF600418C245C388F33EC5559E7313BC +4B530C4FC12530D38B27D6408548F25FC084DD0523B27D29D6518D3115AE7755 +37162CFD4CF528214466FE525B13782F9C3CD78F3D6C7423E63A134C0A371F15 +10F4ECE1D482C647B563D3D15586F80BD9DF7381BD53927825D5AEAF762E1CDC +3BD184F345029A95B3AD4D1B66E79AB4F0809418C0CFD4D503457A190D02F134 +3F57FC04FF655AEEB783D6791E4EC300755861837D3D50649F6B7F60766211B3 +8148F8E575E28D6C2DE75B15E722ABFC6DAADAE53D89FD295352781DCC2CFF6D +982F6DB778D6FCBF1B7BDCB53F3A23AE6EB499BBFA96E8BE04C3C8E5B660EF24 +01EB842DAEBE979F2C2DB72AAB4D21627063B1D3C6CD40944E4CB81655698FBA +A343766CB22E392E5DAE01DB33A00918D6DAA07F2F38B336A3C5DF3708865E75 +0DE04D3AFBCA27A249E97377D5785B4E28EE0E93F7D353619C200DB967372ED2 +153BF8BE945474266EB2FD30F80042A11B7E3586DE4AB1FBD4A741D36DE583E9 +1CA25DA345520AA60634EC819E7EB493CDB128BBADEC3890F055455F060A1100 +D5A41D7B180027E08AD6EE7E393DB9F83799544404FE397F557773BE6A130541 +157C0EB37E036C94825B5090EF85F8B4E3DB72895D86687758C20EDEBD6D1079 +196E9949DC6ED0113571C70B150B37E446E319EC54D44CC0CF6A14760953DF4A +D0E1F33A54D240E236AB63B35BA8E071D77776BE5B9312245F2C6E4FDB4312A0 +0D9CF723E7D9A3D8546C4739C00C301A89ABA60A02757AB1A0AC40B24CE6CF12 +5850485B11E16646D7150795EABAEB08364A53161111F46A7BC3423A0D3BEB69 +BF15726C1F8363914945DEEB29CB8766328318AF3B344FD6D77BBB92BD7FD161 +93356493D4D8252AD125708D47C124E44232FB2BF7DD75F87889496DCDB75D03 +F58A57D4122CFC194B75A9E9C4789C9A33C0435FB4ADA16AD4A6191928D1663D +05FB8152C0AA176FBA4755205F8A66713404787070757D3721ED6E6D55A59DF0 +C92BA8F05EC7BE05D0A2E66DE85E75373483EA3BBEE0F0DFC7E2FA5FBAFAB118 +058D095AA71FDFC8AF37E5A98406B64E58BF476C6926725D7EF3C2346CE3F662 +1E5A4A18D966479A37070859014719456EA2C7F23E68E1AB2F25ED3A0C00A18C +DD403506923BC983F89CCA125780DC76A411472E38173BC0DD4CDA7B43E13419 +B5AB0B9A35E77C58BBA12AA4F5C7EBF8A29996B059E4FAE6809565570442AEE5 +D56CBF4407E1CD9A4398B1F3ADFF023F64B230E3D29F526B62D964F5C8DF801F +E94295AD85BD9E1C18E6327977260A871E921C0745CA06A263E335E344686E7D +D6FE3ADB4EE0A7E462F3C00873C3E95D183CCEC71C0E5DC1D2FB310B28FC3611 +67C23DE336C374F72368F4973052B48E39969305791C986E6EE35D0350571860 +3A8ED849712CF21AEF444BA390644E8646CCA16559BA4642A5800827A0DDC453 +7CA0818BC47DF6348A5209A2F0A10CA39840CE6346E89CA0E842BE8692DEF25C +4623A5A0E0B98708B9492E9F564324BB3872D6B953CA59E9F393C477E2AB85EC +C557D333E88C111CF995FB79D9432DC94C2BDB3BFEE13C0D7D1BB920DAFA6158 +8548447AFC65CD5515D5021E0ED7D213B0C08C35BB424AA91885CA023D7AF767 +B83E619B15DFEF5588D2F0564296E14B5A6ACE03751E1016105C51BE76EA5ADB +4167BAED2A8899031FD7BA05C410ADA25ADD94A787EED1A7AE133B0568B1DBA5 +44B41BE013782CFCA3D81E8E8210DD506ADFCE7DC7E792EFEF438221164A7D1B +5E7089F476240C5F94988F081943F24DBF7CC3D1E58CB89E1C0C1624682CC3D8 +C95815ECC9183A4B3E353C7F920B7E64086E01672DAA7C8A81319BAA03C1FBB7 +8E5E84CC5BAE0E107754794C755B7AF00953504094E1A9DF357D51B578259613 +8D26F0BA26AAC459BBEEB90BCC98B865EDD26AA4DF533D6624EDAC762C446B6F +CF9F86DD2D8989D4655775E662B93BF51805EE3CBA0AE2293D95F166E80973CC +82C53042D0249C598B0821E9E7F218BA6114EEC86C158F277934F2651490B723 +7F0D0288560DA5BEBAFDDF243048E590871AD18B3B220EC56549004DF122AA03 +BAAD6971D790BC644369FDBEE74A324083CFA9496C2A333774F06E35299242BC +F4B26578907CC5AD1893613F2B8622CFBB7B55810162EEBFAAEAB2A6D69CB72B +D7859C73843E665125FF450631F32E64F13A6207F368103C7A7318DBAF2560D0 +F1CDD83C3E48CB30C62AF1E0896E1962C655D9ED98E1BB38477C1C60ECDB6B95 +067D3A638AD43EE886338F7AD2D2A574CE6FD2E21F6FCB4220EFEC85ABF8272A +82081CE70E4390A74EC717F1DDD168F4A4A080A79EE2ECE0F98A96871DA4B52F +78441601AF47763C2219F5A167604C32F478D498835EF3A6167936994F7C7139 +3019FF43C97E7978D3CDA641C1E391FEA572D308E759F28DDE2B40B5BC207A4B +C5EB6A93EEE26782016F8B6534420BE4D790A2E1A65B6CDBE9468152230384FD +14E9AE84418A44F94E6825DD7D77D0BB5486DE26A692B3DA96C81FA4440C5D44 +8E7F3CAA9B8DF38F87E09C4D78841F629F78F4E7CC8580CC44E59E5D9AE8B2DE +C0682F793AE7AEC12A8AE688636197E8A08FEB70EFDB6203681A60223B9B0D39 +2DA656E5E99B82130D4BE38D7AFE18568DD30B0CC3C73C1E2914ACE11A65334D +A9F18135E7B86157122CD221C33C62012FFB16D2D2F3473A53BE3E7B9FD4303F +66ADF0B07155C7B9B002EA68C6AC7247EB3CE7D2670A60138049DAA964F86A05 +22983EDA7242E6BEEB90DF61C937399B2CE1061DF1E551CEED4A80D86C2D4649 +C9FF9A1F93E96773CD392478D5B70D5336A03A274E0A6EF44BE8CB2274324142 +706BC2E340DC944339D647961FD7BF29944503B4AFCDC69A706AA6B0F6AB2CB5 +D220A96ACC1EE5E7826F6F75F044224E5260D581AE761AD0C752A06AA03FD935 +FAD65C9EDD4E5505396E331D45DE88F0D1A4303D766ABE0702C17E2A7F53C0EA +96A4DEC5A6B6186F5DBAAB05DD78E38AFE630465BEF0EC66ABA9C1C9232214A9 +795D105C33CF069F6BE20B179F4CC9F484AB63ED25C1212C457DF62CA0D56E20 +608572216F2D4C09010B03A8AA6D287C8F514BEEDC1C912552CC2489858BF4D3 +084882CE4F4B6FB9EE27C0168671E6DA154018ABEAD013C88E1D3EC918371251 +63D95BA0FE20212C20AD3F4DB614EE36B488A3F55D94C1EDFCA8E68E54A1EED4 +7DD168DCCF07C3DDB5E2B499DB5635C5C5056A7438120DB4839427D07F96AB8E +F842E285243E40259F6DF029E27779CCF3D3BD7206B2C341045A5A4AABACC2A5 +91C6830FE05ACDCFDE99046F16F2AC183426ACA4A89FE5F09B7EB2F811BB5FB5 +AF073BDA2886070B2327D582DCBA66B47E8948C3BE05E837BE4B81402A583403 +74FF9E938F0E9DC3B1CB81B93DFD4070F9EBAED40BA570DE8F9A5C2C0A097311 +22A6065139A6580E332473E9410D9F4C734794F79E41D0D437CEC7381919DF6F +A24B170E2BC97A6396A4E3AC3D844AD6E2B8FCE1C6AE97DFC5319F49130C3D6F +AF2541EB2384D5D4CCBEB976846EF8C2165DBF706112BDDDEC9A57D157F5996D +95229FD5C71B885D16B177BAB06B9DF5740A45C2A005778EE879193290419C0A +A4A339029E37E685B8A05B111DDF94AC19B1D85C8E6026E57E3D3B373C08557A +F96E6FE3916695ADFC1F0BF5D558565F42A71C61ACFEFC9026424397F0646642 +7EDAA05794BCCD164A645860B57EAD53CB6899B18C6E9496EA4DAB0A0C272639 +DEBC4FCBA94B3BF123F7771F602E7667C8F56E12429669F2219C7D8E294BE07B +71E88EA62F5616CAAB7C0198E6FF12A348E36B306FE2684A401399431B6A84CF +B46EE4BAA0F4099E65E9AF3B70274EDD6B6524F4FA38C23F9CD5273EEDC8C6C3 +E7312B6E0497C05AD3F3C246638F01387CC11DBCBD287ACF54D8E24759F51415 +35ED64132EF4158F54AB9F4D567482B3057880490F805822F71E7E2C52F7BC38 +8B1F803AC3731064B90E5E97AA3351D17E73DC2FE526CD6C91158636E395867D +C1150FD3BD12493FFFB813AF0D08C8ED0B7418A2CF90BD5B783364358605D075 +5DEA95A9299C0654EFB28E2FE8A41358A0DD124D0314A27558E42ED5F2D74BB7 +056DE04D2CF13B9B804A3CBBA29BC155A3F18B8B48283194C33CE8291677E1EF +0721138F8E0409D49BB99F217607586D2DF00C29A25536E21924B4CF6702CF85 +C02DFBFD2AA4DE3DBED1D2C02E21052A8D10F96629D0D18154923638FE0C48BD +E2DEAF11663E20717EA77A5453686AAA39D6FF7919AF09B1AD956FDBF734F49E +262F3076F62E77BD45122B55A5913902D9F91C4246FC235BA9C0FA4A96994291 +830638949BED423387DA2D455A3C9122484EFF27F5367D1D3DD27D207D973815 +965E1CFF36F43C653ED406F65348671D9FFAF55BA3FC266D438AF473181B7801 +164EA3F04FEC870743195B3F467DE36B3719BAD9BF15A18637A314C887D46673 +445BA3C212749B0A33136FEE9FE2C9A13D62E7ACC96378D257FBE0EB06AD4D4E +D41976AB92AC720DFD33B0677062C32E6F5C992A0324FD26E984B5341A58C190 +D20EC3F1144697D514D9157340A6C9F82E62AD8CFDEE59F6FF86C6250CE33D6B +BB82DDB4F65BEFC6F6D0E4044F7BF307CC346E2FFD191846E3CA288C6F91CB71 +5FDE855FEC5E38816CC635C470BF15263A10A409F0BC4877F7E6D4C223E3564E +E7BB5B320AAA5AAF4F32528F7413BFB97C70FF5E6843E1FE501472129BC9758D +7531BE576C75840CBC4CD3E6D9E5FF52559B68DE6E7827128BB2ED1BAD43F36E +A0CB68C1A147A7093EB02062AC5492DB7EEE08B1BDB187E15339A66269E459BC +67495937B4317AF66A498923322B087ECF47B601C26E253D223A784DB2D204FD +0668BD403A73723848018B7C86B627B9AE0BD9038F567CD5F670CAFC5C4D86FC +ECA211B713ACF8C1370191161CBB6C2592E8B9DBF3471133F2D9A60F15D72F9C +5E5539D59A6A7E124D9A38A6FF6EB7C71990716F88E1888295584F17D49144B2 +B57252D7D87CFB7BE009E0E1AF68C57E2041CB837A1F9DA290FC07240D616876 +CBA29ED23952F977F27ED97503F6C6CB48DA6611E0ED9D90FA865D099740C6CE +8A5DDBB1D6550B208321C365A5104F9ABD66A9238B8A2106AA74CAC58D1163F1 +DC4A62013C0F6DD8A3E8E1A6CC6E553746D570A744863FD8EA705890890AC5BC +2F0A068C740572F045B32289A2AE66CC44A1C13FB8BBD4E1834995731D19B47E +7C2FE360AE79DACB95856B01EE39EB3C7C9EAEB3D47348C47D928BC883B8E760 +6724D80DABC4D736411942BBA8CF08157F21D63C18924282193C5C8E44E09048 +FDCB8DB2E01C8A496FEE2CFC19A3A0EACA508237C8BD988ED6D33D01EB548B14 +61A546886AACDAFB7C8CA69056B1F428D72541D3F17007CBAB23C8ACC305A655 +BE646A9303F9D2FFA3E7060B7D0226EDD997605E246BFE131463B8614464591E +425278958D87871AA4DC5D3640060B9A435BE23AB2DE953A5365623BAC1A90B0 +8268AB3A27695A5AA2F8DAEAAFE88324267FCF88909155E959F90FC2656C6B17 +7B1CD6735451BED9CC0CB038F90AC4B632A9AFF99D1B4E85661C85F7DA8C5C3B +44322FA1D86EE66E4CF4FB3176B72AB7C9E33B530B4B36E2C05190EE3A6CC64E +8EC29CC693DBBC748C529600BE05904A48F62C4AE175FB7707E9A28D72C4350B +EFF065D7D52105471AC6949CF4E9D2E19BEED19913DD3996589C03E5471B1883 +B5ADD0E76316966869433D4D3C2D68897AD54BC0C1056A85F539FB568DD657EA +3AF8B955FD3EBD10BDC86B94651A10010EAA2D7B4CDAA9D04754A2BBEEB42462 +7801380BE02FE9C387FE93CE0B2E1D0F65BEF41725130FBAEE89B44B26490D27 +DBE1D0D49D3B70ADAC4B2A46991E436070239AD0154644FC4A2773AD68558ADC +A1AA62ABB46BB0FCE130DA7FC6755116118FF381764FBD03D1BD10AB0B8F4379 +2FE1C35AD8CFAD84738E5A5304387E958037567D2564B00219AFA30EAF2ED876 +BA2829A4D55D828E507C9C049796504220AC52CB108DBAEEF70149F452D85BA5 +F394C52C09A4A6C9434C40DAC48F9C126F06A5FE34240A16F69BBA11FCA9AC76 +CA1E62961CCA4591C6B96A84E7AE4964CEC00E7A8B003B5D8354CD1200489304 +0FA8BE1493A2408C494EEEBF30EF1BFF488852ADDCE5D087652063AAE0BB53EA +ECF423B32495E2FC461F2F2A18B639FD6CEC09EB7CE1BDD115B5DE66A1B3FB1F +77DF9779C16B981546E71198BBCA746E0F0ADCB09EA0F6F92608D30B9E77A082 +0BEE151189F51CDF0B7AA8AFF778DFEF01C988224506370FBE7DFED69D73FF45 +371961A0888F0DF215E909EDB9E08E56F50FFA9CDB0EBB16BED3956A75648DAA +E0035E589C65C12BBE6904794F8C19C23A830002C6E28217731DE5A0CA604EC0 +ECC0B451822F81C725F5330B1C77A5FC085E2A11667AF816D79EE262B99597B0 +750F27E862B2D7D9FEB5DEEABD05CAEAB50C5DD1F8E89AB2A6A76B6FD4F0AD21 +81E48E86AA9C52E272C0761D3264F78024C493058A5250DCCAF943CCF4A65FEA +3106D5359A584EF79D65DAEE9EF284524D0A40C6A6DC5033C49D740811673194 +CC1177FF10B3414334765C2BF89CA1C7D17C9EBE9486479B475A4513B3ED8AB6 +D1527B1146DA7325A9915A9E84520C043CD5806531B13773EB76B45F9E96B800 +A8C0A25FA1DC2EDB35E91AC6ED1300FFC9EB6D646155DC9FF8D12A4A676D506E +7F15BB5355FB7F84B2F8AE9C975BE738EB0E855CBB513B391B21A4F5366921C1 +6A0A2795C5ABD2E24A70B0BDB4BEF07DE92B18E47096E2C33731DDDBFA0A0B01 +3410CF285FAEAA7BD1179CC76799C366033FC51E50569E1528D7C978C45EB936 +AF222E13C08ECC2A9EAC3B482DEDEE702BCFE3D3A58E19E74018AC6805251FFD +BC6656DBE1B4C00F76DF3BEA8BBDCA1721ED61BD99AE4A61C0ECC9F295CC4B81 +FA6F1F8008BD5011DAE4CA73C55CCD441A5134813EC0202D634CAB14C4FDB927 +6FE8FA7C6A8DFEF29413A124EB0C6FD7217F93997C5613F02D5436BA7776A913 +B6E940D4FF0580CC1B34DACB0736ACF3A534955C9355B4B1E00EBBB6D5CD76C0 +49A1386A5552EEE2EE9A1F0C73DF8C00BD31CC14095385F0CD4FE90F8DC42E07 +588B28174D701A873121F1C71958AFB10610D90D436B1C23D8E3C4662E08646B +E73DF766E2BB4A1DCA606F70A6DD00499A3C842D826A6DC72EC3441F71FB00B7 +AD814CB8716A8955B9B61CDCD11AB857BF04E211868E4B1B158B4BB2E60DB2FB +25EDFB42586CE6C361A180F736354037A8E31D86231892E301CABF90DCE147DE +B44CB65C1E5F046C5B8087201B36A634CDCACE4846118BAA464D6990FB281D13 +A9B75142A4F86E274FD7F8487CC56EE38EDBB8E688337D8EA76273B98BB4F694 +BF1F5D3C7BEE18519C72E397D87F57AA7FFE59BB49BB70184E3EEB54B81B9A15 +3FE205274C24EFD4B8388562B500D672CD32D96A0F822507C352C2BBA12450FB +72956B639F3B56F43F77036B3A607687CA35EE92C6E1E0168709CC2454865997 +D89D968D384548DF558E27F1A213E09E5CF339523FB31BEFA5E45A9A874A00DC +C2843351AA96704783D4620EF95475925587F37C889BE748B33BF5D3C8D99C5A +95BB2B55B1AE23879901AE64B434F3E01C8B4493FB282F561393C972BA7BAD2A +503E18D111ED3C1BA70AE497D01C31E6D295C5B57871020771D6A96D22B33D14 +AC4EE6F9E4698D6BC4AE0A872705BDC1E0546697B5DB2A64CE4A1F400E643ED1 +5372ECB4F2B1B0747317DA34648E590BE041C1062B23F92013A6651BD853CD0F +2F49419C82435299A985075647C2B8F505F1182D24A3390A0718F3C255025BD1 +6919DEFD68FDDAF4C35FB75996FC3D0B793F888D1FF6B09797D8A528524677E5 +4A04F14D4EC256FFBE3846089ED716DD3567519F5F0EC8BAB700ABE6B1EC1080 +801653126A22D50D8F1964C77A371217ACD50C6D8989B3E8CF29A0FD20A5F896 +A1AF938DD27979543EEA1BA46D6EFCC1D101EE74AA0D5D110F8D1404DA4DBCE9 +4C4AE92FF9E4D7AAC3FB79BFC30B566DD1831B1D68BD0E067D963A725550D57B +0F652A65A2AAC98FD9CD979DCB81EF7A2A18A06661FF72E5CD5D593078D4A145 +7DB25ED6480383F1E3E30085EAE0F5230FCF4BB397866E5D465F7CE1FD84FFD1 +39FCC779F3072103DA48DF38BE65355781BC259C1DB6A4ED0BF805F51BFECA21 +AB0AEF7ABD154098EC0F3DD76B136833BCFD9222F331C8AC1456BA95080F9C3E +7B05A0CED7C26E24B03C7DC4245F1E3B8FD7BA40578CE7D61AD1E4A708C013F9 +8141F6834DB125035CEFF6A72B147027D49068B1BDB77DE7563F12994F933960 +68A87C4F50272C91B859CB83CC6488843529EF6F55977812E5F766DE23AF77B2 +DA859379045E0BDE87860BDAB3D0D37C033C05CDA9680B652FB1E2913B766CA2 +BA62CEF6BE7D6B266672D994BCFD263C32DC29674B45460E38BCB2BFCA4844D1 +1DD4BE395315946DB693E20B21031EB41C20A82495AB0E49D2DCB51D52B893DF +48A16E3180F04C9AE15FB60FBEF9BE5A80D33C51C9FB97B89FD9891109E25F05 +00253805C693E8FC4D58DB6F730D1D80C7F4E5ABC64F88F22D2E51D1A353C307 +5D8E6FF6A1D17347BDE026E6D1D00A2195BCAD9A4A375275EA6509FC3044C5CA +219840C08C3335CD820377534847A16EEA2EEA228D9A5EDFFE34454012E9AF65 +FB638246ECA0772825C3D72B32CF913DBA6921B35473721E263C209A7DC6414F +C066328E084F3E3D23D8DF87B70E31EC2E9479938162B353A15DCB1320DAFA11 +6BF06231AEBAC8364AAE499EB21E4C2C5238B3CF10F2F02B39AE0B29B9BE6C7F +86C90B6209B774317B5422BDB058AADCB888E9BDBB1CC80505089BF8A7281D3D +69F98EFCFB87BEC440009950D0ADB1EF1FC32F4265ECE9E7AD363EBC604389F6 +82CAE39E3FE7F3C17A92FADD0DA81EF29D4BFEF9EB143C9828BBE3FF15EE999A +A7F1D8F45647708B6AE7820AF8B82E8BDC890F2D535E3A58A94E16EA4B055FBD +9F4F24AF32BA7395D030E6D8D3FF0F5117CD5E8CB108CC1071EE9BBF59E8E90F +17FDC474037759BB28B9AF3DDD7E4D50F02AA3D2A161ADFEC0EB24566EE286EB +50D0DBC27A38CE66F1F78C44C3BA373EB0C5CBD11EBCDEE495A5BBE44E9CE999 +18E50F7B65E4EF21BB51BEF70CBD9932D182E67063BAACD5DB4FC516D03F8951 +D12D92887B9E726E064E1E1F0EC4CC09EC8A90F36A358012E5B5D7749B11095C +F8027A8C4F8D58C67EF58105AE39BB0276B7870FD90B45D73260D54D9977DD0F +F17EF66C257ACB65636E2FB1EA6EB9B66A77310A65C9F328CB212B612F1D86D1 +02AFCB6EDCB931CDFC0DFB5D8C145096878DDD85D0A621BEE643FB3991F6EABC +5C7DBE8FC841A401D00B7EC7C3867D0A51C1264B659A0F0D54B3733BEBA8037C +772057BE4EBAAA8B01E4140DCE5DB31943121F1734F4B5FD0E3F8C71FD0DAE50 +8A47BD2C7F464D787CAA1ECF68689A16D650BA5890AB06689B5F57ED69DDAADF +8D7EC1B634B294F523BC185FA525C6ADBAB0E0FD033128395B9F39D50722B2A8 +7CF8D529CBD2891F59876BCF302CCC06E9A301663B1D29F5F9B5B047EDB9F9F0 +96406FE1CEF3788ED72D1FD1733239875470A74633545ACC6E1BAD7A32FBFFA0 +9D3AAA7FB6DD0DF858D316D753B1AA5B38AB6F19A1606C68E5DE529E05F95BF3 +9FF1A51B4A8C0FAF6DDC0F2B7714A5AE4D16A1724730901236C637873129C435 +384A6D16BE80A7B5831F0495060AE8D3320018FDD68E5B3AD55E7D82D5E49933 +EFFFD35E73B26D813DF674AB7BDACEFDD5141036F433394BB5EDE175FC7E48BF +C9BE85ADB290549290BB464AAC93F4C3D52F5A9136F8C9B00063B49ACB25CFB5 +E5F9FF277172FEAD8A36B3AB87A2D82B65C78C59A470C94570AC8D0FB3BB6919 +4853AC866CD8890A73CFE28705B379B09C4D25DC3AEB0ACA921B98225C27FD47 +52A7F9071ACA940E605890F35FAD92C4D1330773302591720A70C9192E5FAA75 +700AF91056CD02A1D54129A3C573BCF54FB3ADE21A23212556673BEDD0F96F42 +CDDD606045D5EB18E12488162DB826FF09D0EF4C2B9DE91B6D1A4AB273CB63DC +F22ABFB8615FEAF4EEB614F3D7B3AD83B35FDA4DF8DDFE65599BB5EA87B72CC9 +3DB1C3D31CF99E2B9A8BB322885EAB2978E688CE00BDFF62AA653F72AA79FC5A +A53FCD50205C0ACCAA5B2B46FA5A4D2FDDF27494C1F02C347941CB2EF1082D98 +D7B0407ED524D4D0D24FA5C007D8E9E13B3581086FFD40E1B317152805DA6A8D +339B2F0CA3BFEBCA120414A5EDBA787DC0DF416DB643ED48C5AE3E1F7A91B4F7 +4898E267DF257D517700409FC72C74E267C19378D7B74201E6B2BE6FDB23138C +ED4A081628F6130640E6837BAEADA2FB35BEB16CD781386E951CE793A6F1689B +DEA3D1B479C33B43788DC9B61FCFC5CE75187EDA9E08C342CFB7DC624B03223B +F83C762189575E839A54F1AAE01462670E5D30E37D72AA9EB4F846083BDE9010 +232A026C3369B88A64992EB292A41FFE5B5FEF348429C26BA53F936D18613DDE +F50DE424D32D197B6482586BFF7659EC47723E3C8AB729B8050A7095CB757842 +DA63EA526AC4083DF375FA41CD04B1DCCEDA0C85EE4407CE858E2FAB980FE0A4 +31B02C13E6FFDD3F94E3DAC133B4DF54D2058E747F29F42782C5DBB6F5AFEC6E +10E1C0E143BA081061948BDCCFE0ED68FB0CB360CFD80344459D2DD754FED744 +0721973DE17B998B5EE7B2510524D93ADCEF1102BA70A0F24ACDCD364409708D +2C0CBAEB725003635E2D045711E6A84AF6F73BED391EC03BA777C9A62DEDF821 +697D6CF90BD4FD840A567A3191BE37677C6C6309CDF2670FEB739F94944BD82D +C908C9BF333C6D2213C8F5EDD12742708009DC4B63ABA99FC3C84565466FD369 +7DC0FA50A64DD755A62E78DC9625C7424BA4CAC2F8AAB5C2BFE2375648759AA6 +52D842E15FE76EB4273E91617ACF2F3BC395A4F7A7DAAD9B18B9ED21B247A927 +ACC803C8C3ED6720BF7399F4FDD3F84241820A323C96BB95F8037C618DC820EE +1692DF92CA48E08F4686888F155ECDB3DA21BD4A4F6EC2D498775D1163921B44 +21F3B4C6F2C8523ADA57D15B1C2BB6C5A9D25E32DD3A19CD6D6CE4E1B5691240 +F90489EEFC20F0C0A3E8FE36D61287067CE94CC364320F94A95CB244DC23C7A4 +8B4C2C5EA46AEC0D4D4B +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 39158280 55380996 1000 600 600 (informator.dvi) +@start /Fa 173[54 3[59 78[{}2 83.022 /CMSS10 rf /Fb 134[71 +71 75 75 83 75 75 50 108 1[75 58 75 1[58 58 108 108 58 +58 58 46 58 100 75 10[66 75 75 62 2[33 58 1[58 75 1[75 +75 82 75 75 75 75 33 1[66 65[{}40 83.022 /SkakNew-Figurine +rf /Fc 133[40 42 1[62 42 47 34 35 31 47 47 46 47 72 21 +44 1[21 47 46 1[42 47 41 47 44 84[49 12[{}24 83.022 /CMSSBX10 +rf /Fd 145[42 110[{}1 83.022 /CMSY10 rf /Fe 128[42 5[44 +1[60 1[46 32 33 33 1[46 42 46 69 23 44 1[23 46 1[25 37 +46 37 46 42 12[60 4[65 5[30 4[63 60 59 16[42 2[23 28 +45[{}30 83.022 /CMR10 rf /Ff 134[51 3[54 2[38 2[49 54 +81 27 6[43 2[54 49 12[70 9[50 1[73 15[49 4[49 49 49 49 +3[27 32[57 11[{}20 99.6264 /CMR12 rf /Fg 140[74 7[74 +9[74 97[{}3 143.462 /CMTT12 rf /Fh 134[70 2[70 1[51 52 +51 2[66 73 111 36 70 1[36 73 66 40 58 1[58 73 66 13[73 +2[90 6[47 7[99 65[{}22 143.462 /CMR17 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +/setpagedevice where +{ pop << /PageSize [595 842] >> setpagedevice } +{ /a4 where { pop a4 } if } +ifelse +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 407 797 a Fh(Informator)42 +b(Sym)l(b)t(ols)g(Av)-7 b(ailable)43 b(in)g(the)h Fg(skak)f +Fh(P)l(ac)l(k)-7 b(age)1500 1038 y Ff(T)f(orb)s(en)33 +b(Ho\013mann)1592 1233 y(July)h(18,)e(2013)p Black 0 +1460 a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + 0 1460 a 0 1460 a +tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end + 0 1460 a 0 TeXcolorgray 0 1460 +a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + 0 1460 a 83 1543 a Fe(Dirk)23 b(B\177)-42 b(ac)n(hle)22 +b(has)h(b)r(een)h(so)e(kind)h(as)g(to)g(create)f(a)h(n)n(um-)0 +1643 y(b)r(er)34 b(of)g(the)h(sym)n(b)r(ols)e(used)i(in)f(the)h +(Informator.)55 b(They)0 1742 y(are)27 b(no)n(w)g(a)g(part)g(of)g(the)h +(sk)-5 b(ak)27 b(fon)n(t.)p 83 2878 1031 7 v 133 2971 +a(Command)289 b(Output)p 83 3019 1031 5 v 133 3112 a +Fd(n)p Fc(wb)s(etter)431 b Fb(f)133 3212 y Fd(n)p Fc(bb)s(etter)446 +b Fb(g)133 3312 y Fd(n)p Fc(wupp)s(erhand)262 b Fb(c)133 +3411 y Fd(n)p Fc(bupp)s(erhand)277 b Fb(e)133 3511 y +Fd(n)p Fc(wdecisive)348 b Fb(h)133 3610 y Fd(n)p Fc(b)s(decisive)360 +b Fb(i)133 3710 y Fd(n)p Fc(equal)525 b Fb(j)133 3810 +y Fd(n)p Fc(unclea)m(r)456 b Fb(k)133 3909 y Fd(n)p Fc(comp)s(ensation) +201 b Fb(n)133 4009 y Fd(n)p Fc(devadvantage)196 b Fb(t)133 +4109 y Fd(n)p Fc(mo)m(rero)s(om)331 b Fb(U)133 4208 y +Fd(n)p Fc(withattack)316 b Fb(A)133 4308 y Fd(n)p Fc(withinit)451 +b Fb(C)133 4407 y Fd(n)p Fc(counterpla)m(y)282 b Fb(V)133 +4507 y Fd(n)p Fc(zugzw)m(ang)348 b Fb(D)133 4607 y Fd(n)p +Fc(mate)525 b Fb(m)133 4706 y Fd(n)p Fc(withidea)399 +b Fb(E)133 4806 y Fd(n)p Fc(onlymove)359 b Fb(F)133 4906 +y Fd(n)p Fc(b)s(etteris)416 b Fb(b)133 5005 y Fd(n)p +Fc(\014le)602 b Fb(H)133 5105 y Fd(n)p Fc(diagonal)401 +b Fb(G)133 5204 y Fd(n)p Fc(centre)480 b Fb(I)133 5304 +y Fd(n)p Fc(kside)537 b Fb(O)133 5404 y Fd(n)p Fc(qside)d +Fb(M)p 83 5455 1031 7 v 0 TeXcolorgray 0 TeXcolorgray +2001 1467 1007 7 v 2051 1560 a Fe(Command)265 b(Output)p +2001 1608 1007 5 v 2051 1701 a Fd(n)p Fc(w)m(eakpt)424 +b Fb(J)2051 1801 y Fd(n)p Fc(ending)444 b Fb(L)2051 1900 +y Fd(n)p Fc(bishoppair)308 b Fb(a)2051 2000 y Fd(n)p +Fc(opp)s(osbishops)192 b Fb(o)2051 2100 y Fd(n)p Fc(samebishops)223 +b Fb(s)2051 2199 y Fd(n)p Fc(unitedpa)m(wns)d Fb(u)2051 +2299 y Fd(n)p Fc(seppa)m(wns)321 b Fb(q)2051 2398 y Fd(n)p +Fc(doublepa)m(wns)226 b Fb(d)2051 2498 y Fd(n)p Fc(passedpa)m(wn)259 +b Fb(r)2051 2598 y Fd(n)p Fc(mo)m(repa)m(wns)280 b Fb(S)2051 +2697 y Fd(n)p Fc(timelimit)356 b Fb(T)2051 2797 y Fd(n)p +Fc(novelt)m(y)431 b Fa(N)2051 2897 y Fd(n)p Fc(comment)324 +b Fa(RR)2051 2996 y Fd(n)p Fc(va)m(rious)441 b Fa(R)2051 +3096 y Fd(n)p Fc(without)403 b Fb(w)2051 3195 y Fd(n)p +Fc(with)530 b Fb(v)2051 3295 y Fd(n)p Fc(etc)598 b Fb(P)2051 +3395 y Fd(n)p Fc(see)559 b Fe(see)2051 3494 y Fd(n)p +Fc(ma)m(rk)m(era)394 b Fb(x)2051 3594 y Fd(n)p Fc(ma)m(rk)m(erb)d +Fb(y)p 2001 3645 1007 7 v 0 TeXcolorgray 1856 5662 a +Fe(1)p 0 TeXcolorgray eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/latex/skak/lambda.tex b/Master/texmf-dist/doc/latex/skak/lambda.tex deleted file mode 100644 index 5285e9a5104..00000000000 --- a/Master/texmf-dist/doc/latex/skak/lambda.tex +++ /dev/null @@ -1,1146 +0,0 @@ -% Filename: Lambda.tex -% Author: Alan Jeffrey -% Last modified: 11 May 1990 -% -% Copyright (c) 1990 Alan Jeffrey. Permission is granted to Tugboat -% to publish any or all of this. -% -% A keyboard check: -% -% @ # $ % ^ & * ~ at hash dollar percent caret ampersand asterisk tilde -% : ; , . colon semicolon comma period -% ? ! question-mark exclamation-mark -% " ' ` double-quote apostrophe back-quote -% ( ) { } [ ] parentheses braces square-brackets -% - + = / \ minus plus equals forward-slash backslash -% _ | < > underscore vertical-bar less-than greater-than -% - -\documentstyle[ltugboat,Lambda]{article} - -% This document defines a whole load of extra commands, some of which -% over-ride how LaTeX normally lays things out. For example, ~ is -% redefined to give a hairspace in math mode. This whole document -% should probably be put in a group to stop it getting in the way -% of other articles' macros. - -\title{Lists in \TeX's Mouth} - -\author{Alan Jeffrey} - -\address{Programming Research Group\\ - Oxford University\\ - 11 Keble Road\\ - Oxford OX1 3QD} - -\netaddress{Alan.Jeffrey@uk.ac.oxford.prg} - -\makeatletter - -% The mathcodes for the letters A, ..., Z, a, ..., z are changed to -% generate text italic rather than math italic by default. This makes -% multi-letter names look neater. The mathcode for character 'c' -% is set to "7000 (variable family) + "400 (text italic) + c. -% -% This neat bit of code is due to Mike Spivey. - -\def\@setmcodes#1#2#3{{\count0=#1 \count1=#3 - \loop \global\mathcode\count0=\count1 \ifnum \count0<#2 - \advance\count0 by1 \advance\count1 by1 \repeat}} - -\@setmcodes{`A}{`Z}{"7441} -\@setmcodes{`a}{`z}{"7461} - -\def\Number#1{\csname Number-#1\endcsname} -\def\Label#1{\csname Label-#1\endcsname} - -\newcount\Lastnum - -\def\Forward#1% - {\global\advance\Lastnum by 1 - \csnameafter\xdef{Number-#1}% - {\the\Lastnum}% - \csnameafter\xdef{Label-\the\Lastnum}% - {\@currentlabel}} - -\def\csnameafter#1#2% - {\expandafter#1\csname#2\endcsname} - -\def\Bylist#1% - {\Map\Label - {\Insertsort\Lessthan - {\Map\Number{#1}}}} - -\def\By{\Show\Bylist} - -\let\bindspace=~ -\def~{\ifmmode \, \else \bindspace \fi} - -\def\start#1{\lefteqn{#1}\quad\\} - -\def\nil{[\,\,]} - -\newtheorem{fact}{Fact} -\def\thefact{\@roman\c@fact} - -\def\cstok#1{\leavevmode\thinspace\hbox{\vrule\vtop{\vbox{\hrule\kern1pt - \hbox{\vphantom{\tt/}\thinspace{\tt#1}\thinspace}}% - \kern1pt\hrule}\vrule}\thinspace} - -\begingroup \catcode `|=0 \catcode `[= 1 -\catcode`]=2 \catcode `\{=12 \catcode `\}=12 -\catcode`\\=12 |gdef|@xTeXcode#1\end{TeXcode}[#1|end[TeXcode]] -|endgroup - -\def\TeXcode - {\@verbatim \smallskip\hrule\medskip \frenchspacing\@vobeyspaces \@xTeXcode} -\def\endTeXcode - {\medskip\hrule\smallskip\endtrivlist} - -\makeatother - -\begin{document} - -\maketitle - -\section{Why lists?} - -Originally, I wanted lists in \TeX\ for -a paper I was writing which contained a lot of facts. -\begin{fact} -\Forward{Fac-cows} - Cows have four legs. -\end{fact} -\begin{fact} -\Forward{Fac-people} - People have two legs. -\end{fact} -\begin{fact} -\Forward{Fac-yawn} - Lots of facts in a row can be dull. -\end{fact} -These are generated with commands like -\begin{verbatim} -\begin{fact} -\Forward{Fac-yawn} - Lots of facts in a row can be dull. -\end{fact} -\end{verbatim} -I can then refer to these facts by saying -\begin{verbatim} -\By[Fac-yawn,Fac-cows,Fac-people] -\end{verbatim} -to get -\By[Fac-yawn,Fac-cows,Fac-people]. -And as if by magic, the facts come out sorted, rather than in -the jumbled order I typed them. This is very useful, as I can -reorganize my document to my heart's content, and not have to worry -about getting my facts straight. - -Originally I tried programming this sorting routine in \TeX's -list macros, from Appendix~D of \TB, but I soon ran into trouble. -The problem is that all the Appendix~D macros work by assigning -values to macros. For example: -\begin{verbatim} -\concatenate\foo=\bar\baz -\end{verbatim} -expands out to -\begin{verbatim} -\ta=\expandafter{\bar} -\tb=\expandafter{\baz} -\edef\foo{\the\ta\the\tb} -\end{verbatim} -which assigns the macro \verb|\foo| the contents of \verb|\bar| -followed by the contents of \verb|\baz|. Programming sorting routines -(which are usually recursive) in terms of these lists became rather -painful, as I was constantly having to watch out for local variables, -worrying about what happened if a local variable had the same name -as a global one, and generally having a hard time. - -Then I had one of those ``flash of light'' experiences --- -``You can do lambda-calculus in \TeX,'' I thought, -and since you can do lists directly in lambda calculus, -you should be able to do lists straightforwardly in \TeX. And so you -can. Well, fairly straightforwardly anyway. - -So I went and did a bit of mathematics, and derived the \TeX\ macros -you see here. They were formally verified, and worked first time -(modulo typing errors, of which there were two). - -\section{\TeX's mouth and \TeX's stomach} - -\TeX's programming facilities come in two forms --- there are \TeX's -{\em macros\/} which are expanded in its mouth, and some additional -{\em assignment\/} operations like \verb|\def| which take place in the -stomach. \TeX\ can often spring surprises on you as exactly what -gets evaluated where. -For example, in \LaTeX\ I can put down a -label by saying \verb|\label{Here}|. -\label{Here} -Then I can refer back to that label by saying -\verb|Section~\ref{Here}|, which -produces Section~\ref{Here}. Unfortunately, \verb|\ref{Here}| does -{\em not\/} expand out to {\tt\ref{Here}}! Instead, it expands out to: -\begin{verbatim} -\edef\@tempa{\@nameuse{r@Here}} -\expandafter\@car\@tempa\@nil\null -\end{verbatim} -This means that I can't say -\begin{verbatim} -\ifnum\ref{Here}<4 Hello\fi -\end{verbatim} -and hope that this will expand out to Hello. Instead I -get an error message. Which is rather a pity, as \TeX's mouth is -quite a powerful programming language (as powerful as a Turing Machine in -fact). - -\section{Functions} - -A {\em function\/} is a mathematical object that takes in an argument -(which could well be another function) and returns some other mathematical -object. For example the function $Not$ takes in a boolean and returns -its complement. I'll write function application without brackets, -so $Not~b$ is the boolean complement of $b$. - -Function application -binds to the left, so $f~a~b$ is $(f~a)~b$ rather than $f~(a~b)$. -For example, $Or~a~b$ is the boolean or of $a$ and $b$, and -$Or~True$ is a perfectly good function that takes in a boolean -and returns $True$. - -The obvious equivalents of functions in \TeX\ are macros --- -if I define a function $Foo$ to be: -\begin{eqnarray*} - Foo~x & = & True -\end{eqnarray*} -then it can be translated into \TeX\ as: -\begin{verbatim} -\def\Foo#1{\True} -\end{verbatim} -So where $Foo$ is a function that takes in one argument, \verb|\Foo| -is a macro that takes in one parameter. Nothing has changed except -the jargon and the font. \TeX\ macros can even be partially applied, -for example if we defined: -\begin{eqnarray*} - Baz & = & Or~True -\end{eqnarray*} -then the \TeX\ equivalent would be -\begin{verbatim} -\def\Baz{\Or\True} -\end{verbatim} -Once \verb|\Baz| is expanded, it will expect to be given a parameter, -but when we are defining things, we can go around partially applying -them all we like. - -Here, I'm using $=$ without formally defining it, which is rather -naughty. If I say $x = y$, this means -``given enough parameters, $x$ and $y$ will eventually -expand out to the same thing.'' For example $Foo = Baz$, because -for any $x$, -\begin{eqnarray*} - \start{Foo~x} - & = & True \\ - & = & Or~True~x \\ - & = & Baz~x -\end{eqnarray*} -Normally, functions have to {respect equality\/} which means that: -\begin{itemize} -\item if $x = y$ then $f~x = f~y$, and -\item if $x$ respects equality, then $f~x$ respects equality. -\end{itemize} -However, some \TeX\ control sequences don't obey this. For example, -\verb|\string\Foo| and \verb|\string\Baz| are different, even though -$Foo = Baz$. Hence $string$ doesn't respect equality. -Unless otherwise stated, we won't assume functions respect equality, -although all the functions defined here do. - -All of our functions have capital letters, so that their \TeX\ equivalents -(\verb|\Not|, \verb|\Or| and so on) don't clash with standard \TeX\ or -\LaTeX\ macros. - -\subsection{Identity} - -The simplest function is the {\em identity\/} function, called -$Identity$ funnily enough, which is defined: -\begin{eqnarray*} - Identity~x & = & \Identity{x} -\end{eqnarray*} -This, it must be admitted, is a pretty dull function, but -it's a useful basic combinator. It can be implemented -in \TeX\ quite simply. -\begin{TeXcode} -\def\Identity#1{#1} -\end{TeXcode} -The rules around this definition mean that it is actually part of -\verb|Lambda.sty| and not just another example. - -\subsection{Error} - -Whereas $Identity$ does nothing in a fairly pleasant sort of way, -$Error$ does nothing in a particularly brutal and harsh fashion. -Mathematically, $Error$ is the function that destroys everything -else in front of it. It is often written as $\perp$. -\begin{eqnarray*} - Error~x & = & Error -\end{eqnarray*} -In practice, destroying the entire document when we hit one error -is a bit much, so we'll just print out an error message. -The user can carry on past an error at their own risk, as the code -will no longer be formally verified. -\begin{TeXcode} -\def\Error - {\errmessage{Abandon verification all - ye who enter here}} -\end{TeXcode} -Maybe this function ought to return a more useful error message \ldots - -\subsection{First and Second} - -Two other basic functions are $First$ and $Second$, both of which -take in two arguments, and do the obvious thing. They are defined: -\begin{eqnarray*} - First~x~y & = & x \\ - Second~x~y & = & y -\end{eqnarray*} -We could, in -fact, define $Second$ in terms of $Identity$ and $First$. -For any $x$ and $y$, -\begin{eqnarray*} - \start{First~Identity~x~y} - & = & Identity~y \\ - & = & y \\ - & = & Second~x~y -\end{eqnarray*} -So $First~Identity = Second$. This means that anywhere in our \TeX\ code -we have \verb|\First\Identity| we could replace it by \verb|\Second|. -This is perhaps not the most astonishing \TeX\ fact known to humanity, -but this sort of proof did enable more complex bits of \TeX\ to be -verified before they were run. - -The \TeX\ definitions of \verb|\First| and \verb|\Second| are pretty -obvious. -\begin{TeXcode} -\def\First#1#2{#1} -\def\Second#1#2{#2} -\end{TeXcode} -Note that in \TeX\, \verb|\First\foo\bar| expands out to -\verb|\foo| {\em without\/} expanding out \verb|\bar|. -This is very useful, as we can write macros that would take -forever and a day to run if they expanded all their arguments, -but which actually terminate quite quickly. This is called -{\em lazy evaluation\/} by the functional programming community. - -\subsection{Compose} - -Given two functions $f$ and $g$ we would like to be able to {\em compose\/} -them to produce a function that first applies $g$ then applies $f$. -Normally, this is written as $f \circ g$, but unfortunately \TeX\ doesn't -have infix functions, so we'll have to write it $Compose~f~g$. -\begin{eqnarray*} - Compose~f~g~x & = & f~(g~x) -\end{eqnarray*} ->From this definition, we can deduce that $Compose$ is associative: -\begin{eqnarray*} - \start{Compose~(Compose~f~g)~h} - & = & Compose~f~(Compose~g~h) -\end{eqnarray*} -and $Identity$ is the left unit of $Compose$: -\begin{eqnarray*} - Compose~Identity~f & = & f -\end{eqnarray*} -The reader may wonder why $Identity$ is called a {\em left\/} unit -even though it occurs on the right of the $Compose$ --- this is a side-effect -of using prefix notations where infix is more normal. The infix version -of this equation is: -\begin{eqnarray*} - Identity \circ f & = & f -\end{eqnarray*} -so $Identity$ is indeed on the left of the composition. - -$Compose$ can be implemented in \TeX\ as -\begin{TeXcode} -\def\Compose#1#2#3{#1{#2{#3}}} -\end{TeXcode} - -\subsection{Twiddle} - -Yet another useful little function is $Twiddle$, which takes in -a function and reverses the order that function takes its (first two) -arguments. -\begin{eqnarray*} - Twiddle~f~x~y & = & f~y~x -\end{eqnarray*} -Again, there aren't many immediate uses for such a function, but it'll -come in handy later on. It satisfies the properties -\begin{eqnarray*} - Twiddle~First & = & Second \\ - Twiddle~Second & = & First \\ - Compose~Twiddle~Twiddle & = & Identity -\end{eqnarray*} -Its \TeX\ equivalent is -\begin{TeXcode} -\def\Twiddle#1#2#3{#1{#3}{#2}} -\end{TeXcode} -This function is called ``twiddle'' because it is sometimes written -$\widetilde f$ (and $\sim$ is pronounced ``twiddle''). -It also twiddles its arguments around, -which is quite nice if your sense of humour runs to appalling puns. - -\section{Booleans} - -As we're trying to program a sorting routine, it would be nice to -be able to define orderings on things, and to do this we need some -representation of boolean variables. Unfortunately \TeX\ doesn't have a type -for booleans, so we'll have to invent our own. We'll -implement a boolean as a function $b$ of the form -\begin{eqnarray*} - b~x~y & - = & - \left\{ - \begin{array}{ll} - x & \mbox{if $b$ is true} \\ - y & \mbox{otherwise} - \end{array} - \right. -\end{eqnarray*} -More formally, a -boolean $b$ is a function which respects equality, -such that for all $f$, $g$ and $z$: -\begin{eqnarray*} - b~f~g~z & = & b~(f~z)~(g~z) -\end{eqnarray*} -and for all $f$ and $g$ which respect equality, -\begin{eqnarray*} - b~(f~b)~(g~b) & = & b~(f~First)~(g~Second) -\end{eqnarray*} -All the functions in this section satisfy these properties. Surprisingly -enough, so does $Error$, which is quite useful, as it allows us to -reason about booleans which ``go wrong''. - -\subsection{True, False and Not} - -Since we are implementing booleans as functions, we already have the -definitions of $True$, $False$ and $Not$. -\begin{eqnarray*} - True & = & First \\ - False & = & Second \\ - Not & = & Twiddle -\end{eqnarray*} -So for free we get the following results: -\begin{eqnarray*} - Not~True & = & False \\ - Not~False & = & True \\ - Compose~Not~Not & = & Identity -\end{eqnarray*} -The \TeX\ implementation is not exactly difficult: -\begin{TeXcode} -\let\True=\First -\let\False=\Second -\let\Not=\Twiddle -\end{TeXcode} - -\subsection{And and Or} - -The definitions of $And$ and $Or$ are: -\begin{eqnarray*} - And~a~b & - = & - \left\{ - \begin{array}{ll} - b & \mbox{if $a$ is true} \\ - False & \mbox{otherwise} - \end{array} - \right. - \\ - Or~a~b & - = & - \left\{ - \begin{array}{ll} - True & \mbox{if $a$ is true} \\ - b & \mbox{otherwise} - \end{array} - \right. -\end{eqnarray*} -With our definition of what a boolean is, this is just the same as -\begin{eqnarray*} - And~a~b & = & a~b~False \\ - Or~a~b & = & a~True~b -\end{eqnarray*} ->From these conditions, we can show that $And$ is associative, and -has left unit $True$ and left zeros $False$ and $Error$: -\begin{eqnarray*} - And~(And~a~b)~c & = & And~a~(And~b~c) \\ - And~True~b & = & b \\ - And~False~b & = & False \\ - And~Error~b & = & Error -\end{eqnarray*} -$Or$ is associative, has left unit $False$ and left zeros $True$ and $Error$: -\begin{eqnarray*} - Or~(Or~a~b)~c & = & Or~a~(Or~b~c) \\ - Or~False~b & = & b \\ - Or~True~b & = & True \\ - Or~Error~b & = & Error -\end{eqnarray*} -De~Morgan's laws hold: -\begin{eqnarray*} - Not~(And~a~b) & = & Or~(Not~a)~(Not~b) \\ - Not~(Or~a~b) & = & And~(Not~a)~(Not~b) -\end{eqnarray*} -and $And$ and $Or$ left-distribute through one another: -\begin{eqnarray*} - Or~a~(And~b~c) & = & And~(Or~a~b)~(Or~a~c) \\ - And~a~(Or~b~c) & = & Or~(And~a~b)~(And~a~c) -\end{eqnarray*} -$And$ and $Or$ are {\em not\/} commutative, though. For example, -\begin{eqnarray*} - \start{Or~True~Error} - & = & True~True~Error \\ - & = & True -\end{eqnarray*} -but -\begin{eqnarray*} - \start{Or~Error~True} - & = & Error~True~True \\ - & = & Error -\end{eqnarray*} -This is actually quite useful since there are some booleans that -need to return an error occasionally. If $a$ is $True$ when $b$ -is safe (i.e.\ doesn't become $Error$) and is $False$ otherwise, we can -say $Or~a~b$ and know we're not going to get an error. This is handy -for things like checking for division by zero, or trying to get the -first element of an empty list. - -Similarly, because of the possibility of $Error$, -$And$ and $Or$ don't right-distribute through each other, -as -\begin{eqnarray*} - \start{Or~(And~False~Error)~True} - & \ne & And~(Or~False~True)~(Or~Error~True) -\end{eqnarray*} -As errors shouldn't crop up, this needn't worry us too much. -\begin{TeXcode} -\def\And#1#2{#1{#2}\False} -\def\Or#1#2{#1\True{#2}} -\end{TeXcode} - -\subsection{Lift} - -Quite a lot of the time we won't be dealing with booleans, but with -{\em predicates}, which are just functions that return a boolean. -For example, the predicate $Lessthan$ is defined below so that -$Lessthan~i~j$ is true whenever $i<j$. -Given a predicate $p$ we would like to be able to -{\em lift\/} it to $Lift~p$, defined: -\begin{eqnarray*} - Lift~p~f~g~x & = & p~x~f~g~x -\end{eqnarray*} -For example, $Lift~(Lessthan~0)~f~g$ takes in a number and applies -$f$ to it if it is positive and $g$ to it otherwise. This is quite -useful for defining functions. -\begin{TeXcode} -\def\Lift#1#2#3#4{#1{#4}{#2}{#3}{#4}} -\end{TeXcode} - -\subsection{Lessthan and \TeX if} - -Finally, we would like to be able to use \TeX's built-in booleans -as well as our own. For example, we would like a predicate -$Lessthan$ such that: -\begin{eqnarray*} - Lessthan~i~j & - = & - \left\{ - \begin{array}{ll} - True & \mbox{if } i < j \\ - False & \mbox{if } i \ge j \\ - Error & \mbox{otherwise} - \end{array} - \right. -\end{eqnarray*} -The $Error$ condition happens if we try applying $Lessthan$ to something -that isn't a number --- $Lessthan~True~False$ is $Error$% -\footnote - {Actually, that's a little white lie --- trying to persuade \TeX\ to - do run-time type checking isn't much fun. So the \TeX\ implementation - of this is actually a {\em refinement\/} where the $Error$ condition - has been replaced by whatever it is \TeX\ does if you try doing - {\tt\string\ifnum $x$ < $y$} when $x$ and $y$ aren't numbers}. -This is fine as a mathematical definition, but how will -we implement it? If we assume we have a macro \verb|\TeXif|, -which converts \TeX\ if-statements into booleans, we could just -define: -\begin{TeXcode} -\def\Lessthan#1#2{\TeXif{\ifnum#1<#2 }} -\end{TeXcode} -So the question is just how to define \verb|\TeXif|. -Unfortunately, the ``obvious'' code does not work: -\begin{verbatim} -\def\TeXif#1#2#3{#1#2\else#3\fi} -\end{verbatim} -For example, \verb|\TeXif\iftrue\True\True| doesn't expand out to -\verb|\True|. Instead, it expands as: -\begin{verbatim} -\TeXif\iftrue\True\True - = \iftrue\True\else\True\fi - = \True\else\True\fi - = \else\fi - = -\end{verbatim} -Another common \TeX nique is to use a macro \verb|\next| to -be the expansion text: -\begin{verbatim} -\def\TeXif#1#2#3% - {#1\def\next{#2}\else\def\next{#3}\fi - \next} -\end{verbatim} -However, this uses \TeX's stomach to do the \verb|\def|, and we are -trying to do this using only the mouth. One (slightly tricky) solution -is to use pattern-matching to gobble up the offending \verb|\else| and/or -\verb|\fi|. -\begin{TeXcode} -\def\gobblefalse\else\gobbletrue\fi#1#2% - {\fi#1} -\def\gobbletrue\fi#1#2% - {\fi#2} -\def\TeXif#1% - {#1\gobblefalse\else\gobbletrue\fi} -\end{TeXcode} -So if the \TeX\ if-statement is true, \verb|\gobblefalse| gobbles -up the false-text, otherwise \verb|\gobbletrue| gobbles up the -true-text. For example, -\begin{verbatim} -\TeXif\iftrue\True\True - = \iftrue\gobblefalse\else - \gobbletrue\fi\True\True - = \gobblefalse\else - \gobbletrue\fi\True\True - = \fi\True - = \True -\end{verbatim} -Phew. And so we have booleans. - -\section{Lists} - -A list is a (possibly infinite) sequence of values. For example, -the list $[1,2,3]$ contains three numbers, the list $\nil$ contains -none, and the list $[1,2,3,\ldots]$ contains infinitely many. -A list is either {\em empty\/} (written $\nil$) or is comprised -of a {\em head\/} -$x$ and a {\em tail\/} $xs$ (in which case it's written $x:xs$). -For example, $1:2:3:\nil$ is $[1,2,3]$. - -In a similar fashion to the implementation of booleans, -a list $xs$ is implemented as a function of the form -\begin{eqnarray*} - xs~f~e & - = & - \left\{ - \begin{array}{ll} - e & \mbox{if $xs$ is empty} \\ - f~y~ys & \mbox{if $xs$ has head $y$ and tail $ys$} - \end{array} - \right. -\end{eqnarray*} -Again, we are implementing a datatype as a function, a quite powerful -trick, just not one usually seen in \TeX. We will assume that -whenever a list $x:xs$ is applied to $f$ and $e$, $f~x$ respects equality. -This allows us to assume that if $xs = ys$ then $x:xs = x:ys$, -which is handy. - -\subsection{Nil, Cons, Stream and Singleton} - -The simplest list is $Nil$, the empty list which we have been writing -$\nil$. -\begin{eqnarray*} - Nil & = & Second -\end{eqnarray*} -The other possible list is $Cons~x~xs$, which has head $x$ and tail $xs$. -\begin{eqnarray*} - Cons~x~xs~f~e & = & f~x~xs -\end{eqnarray*} -Every list can be constructed using these functions. -The list $[1,2,3]$ is $Cons~1~(Cons~2~(Cons~3~Nil))$, and the -list $[a,a,a,\ldots]$ is $Stream~a$ where $Stream$ is defined: -\begin{eqnarray*} - Stream~a & = & Cons~a~(Stream~a) -\end{eqnarray*} -There's even at least one application for infinite lists, -as we'll see in Section~\ref{outputroutines}. - -The singleton list $[a]$ is $Singleton~a$, defined as: -\begin{eqnarray*} - Singleton~a & = & Cons~a~Nil -\end{eqnarray*} -These all have straightforward \TeX\ definitions. -\begin{TeXcode} -\let\Nil=\Second -\def\Cons#1#2#3#4{#3{#1}{#2}} -\def\Stream#1{\Cons{#1}{\Stream{#1}}} -\def\Singleton#1{\Cons{#1}\Nil} -\end{TeXcode} - -\subsection{Head and Tail} - -So, we can construct any list we like, but we still can't get any information -out of it. To begin with, we'd like to be able to get the head -and tail of a list. -\begin{eqnarray*} - Head~xs & = & xs~First~Error \\ - Tail~xs & = & xs~Second~Error -\end{eqnarray*} -For example, the tail of $x:xs$ is -\begin{eqnarray*} - \start{Tail~(Cons~x~xs)} - & = & Cons~x~xs~Second~Error \\ - & = & Second~x~xs \\ - & = & \Tail{\Cons{x}{xs}} -\end{eqnarray*} -The tail of $\nil$ is, as one would expect, -\begin{eqnarray*} - \start{Tail~Nil} - & = & Nil~Second~Error \\ - & = & Error -\end{eqnarray*} -And the head of $Stream~a$ is -\begin{eqnarray*} - \start{Head~(Stream~a)} - & = & Stream~a~First~Error \\ - & = & Cons~a~(Stream~a)~First~Error \\ - & = & First~a~(Stream~a) \\ - & = & \Head{\Stream{a}} -\end{eqnarray*} -So we can get the head of an infinite list in finite time. This is -fortunate, as otherwise there wouldn't be much point in allowing -infinite objects. -\begin{TeXcode} -\def\Head#1{#1\First\Error} -\def\Tail#1{#1\Second\Error} -\end{TeXcode} - -\subsection{Foldl and Foldr} - -Using $Head$ and $Tail$ we can get at the beginning of any non-empty list, -but in general we need more information than that. Rather than write -a whole bunch of recursive functions on lists, I'll implement two -fairly general functions, with which we can implement (almost) everything -else. - -$Foldl$ and $Foldr$ both take in functions and apply them recursively -to a list. $Foldl$ starts at the left of the list, and $Foldr$ -starts at the right. For example, -\begin{eqnarray*} - Foldl~f~e~[1,2,3] & = & f~(f~(f~e~1)~2)~3 \\ - Foldr~f~e~[1,2,3] & = & f~1~(f~2~(f~3~e)) -\end{eqnarray*} -These functions will be used a lot later on. $Foldl$ can be defined: -\begin{eqnarray*} - Foldl~f~e~xs & = & xs~(Foldl'~f~e)~e \\ - Foldl'~f~e~x~xs & = & Foldl~f~(f~e~x)~xs -\end{eqnarray*} -So $Foldl~f~e~\nil$ is -\begin{eqnarray*} - \start{Foldl~f~e~Nil} - & = & Nil~(Foldl'~f~e)~e \\ - & = & \Foldl{f}{e}\Nil -\end{eqnarray*} -And $Foldl~f~e~(x:xs)$ is -\begin{eqnarray*} - \start{Foldl~f~e~(Cons~x~xs)} - & = & Cons~x~xs~(Foldl'~f~e)~e \\ - & = & Foldl'~f~e~x~xs \\ - & = & Foldl~f~(f~e~x)~xs -\end{eqnarray*} -For example, $Foldl~f~e~[1,2,3]$ is -\begin{eqnarray*} - \start{Foldl~f~e~[1,2,3]} - & = & Foldl~f~(f~e~1)~[2,3] \\ - & = & Foldl~f~(f~(f~e~1)~2)~[3] \\ - & = & Foldl~f~(f~(f~(f~e~1)~2)~3)~\nil \\ - & = & f~(f~(f~e~1)~2)~3 -\end{eqnarray*} -as promised. Similarly, we can define $Foldr$ as -\begin{eqnarray*} - Foldr~f~e~xs & = & xs~(Foldr'~f~e)~e \\ - Foldr'~f~e~x~xs & = & f~x~(Foldr~f~e~xs) -\end{eqnarray*} -For $Foldr~f$ to respect equality, $f~x$ should respect equality. - -When we do the unfolding, we discover that -\begin{eqnarray*} - Foldr~f~e~\nil & = & e \\ - Foldr~f~e~(x:xs) & = & f~e~(Foldr~f~e~xs) -\end{eqnarray*} -$Foldr$ tends to be more efficient than $Foldl$, because $Foldl$ -has to run along the entire list before it can start applying $f$, -whereas $Foldr$ can apply $f$ straight away. If $f$ is a lazy function, -this can make quite a difference. $Foldl$ on infinite lists, anyone? -\begin{TeXcode} -\def\Foldl#1#2#3% - {#3{\Foldl@{#1}{#2}}{#2}} -\def\Foldl@#1#2#3#4% - {\Foldl{#1}{#1{#2}{#3}}{#4}} -\def\Foldr#1#2#3% - {#3{\Foldr@{#1}{#2}}{#2}} -\def\Foldr@#1#2#3#4% - {#1{#3}{\Foldr{#1}{#2}{#4}}} -\end{TeXcode} - -\subsection{Cat} - -Given two lists, we would like to be able to stick them together, -which is what $Cat$ (short for ``concatenate'') -does. For example, $Cat~[1,2]~[3,4]$ is -$[1,2,3,4]$. It can be defined using $Foldr$: -\begin{eqnarray*} - Cat~xs~ys & = & Foldr~Cons~ys~xs -\end{eqnarray*} -So -\begin{eqnarray*} - \start{Cat~[1,2]~[3,4]} - & = & Foldr~Cons~[3,4]~[1,2] \\ - & = & Cons~1~(Foldr~Cons~[3,4]~[2]) \\ - & = & Cons~1~(Cons~2~(Foldr~Cons~[3,4]~\nil)) \\ - & = & Cons~1~(Cons~2~[3,4]) \\ - & = & \Unlistize{\Cat{\Listize[1,2]}{\Listize[3,4]}} -\end{eqnarray*} -The \TeX\ code for \verb|\Cat| is suspiciously similar to its mathematical -definition. -\begin{TeXcode} -\def\Cat#1#2{\Foldr\Cons{#2}{#1}} -\end{TeXcode} - -\subsection{Reverse} - -We can reverse any list with the function $Reverse$, defined using -$Foldl$: -\begin{eqnarray*} - Reverse & = & Foldl~(Twiddle~Cons)~Nil -\end{eqnarray*} -For example, $Reverse~[1,2,3]$ can be calculated: -\begin{eqnarray*} - \start{Reverse~[1,2,3]} - & = & Foldl~(Twiddle~Cons)~Nil~[1,2,3] \\ - & = & Twiddle~Cons \\ - & & \quad (Twiddle~Cons~(Twiddle~Cons~Nil~1)~2)~3 \\ - & = & Cons~3~(Cons~2~(Cons~1~Nil)) \\ - & = & \Show\Reverse[1,2,3] -\end{eqnarray*} -The \TeX\ code for \verb|\Reverse| doesn't even take in any parameters. -\begin{TeXcode} -\def\Reverse{\Foldl{\Twiddle\Cons}\Nil} -\end{TeXcode} - -\subsection{All, Some and Isempty} - -Given a predicate $p$, we can find out if all the elements of -a list satisfy $p$ with $All~p$. Similarly we can find if something -in the list satisfies $p$ with $Some~p$. For example, -\begin{eqnarray*} - All~(Lessthan~1)~[1,2,3] - & = & \All{\Lessthan 1}{\Listize[1,2,3]}{True}{False} \\ - Some~(Lessthan~1)~[1,2,3] - & = & \Some{\Lessthan 1}{\Listize[1,2,3]}{True}{False} -\end{eqnarray*} -These can be defined -\begin{eqnarray*} - All~p & = & Foldr~(Compose~And~p)~True \\ - Some~p & = & Foldr~(Compose~Or~p)~False -\end{eqnarray*} -For example, $Isempty$ can be defined -\begin{eqnarray*} - Isempty & = & All~(First~False) -\end{eqnarray*} -This is probably not the most efficient check in the world, but we -hardly ever need it --- $Foldl$ or $Foldr$ will normally do the job. -\begin{TeXcode} -\def\All#1{\Foldr{\Compose\And{#1}}\True} -\def\Some#1{\Foldr{\Compose\Or{#1}}\False} -\def\Isempty{\All{\First\False}} -\end{TeXcode} - -\subsection{Filter} - -$Filter$ takes a predicate $p$ and a list $xs$, and returns a list -containing only those elements of $xs$ that satisfy $p$. For example, -\begin{eqnarray*} - Filter~(Lessthan~1)~[1,2,3] & = & \Show\Filter{\Lessthan 1}[1,2,3] -\end{eqnarray*} -$Filter$ can be defined as a $Foldr$: -\begin{eqnarray*} - Filter~p & = & Foldr~(Lift~p~Cons~Second)~Nil -\end{eqnarray*} -Another easy bit of \TeX: -\begin{TeXcode} -\def\Filter#1% - {\Foldr{\Lift{#1}\Cons\Second}\Nil} -\end{TeXcode} - -\subsection{Map} - -$Map$ takes a function $f$ and a list $xs$ and applies $f$ to every -element of $xs$. For example, -\begin{eqnarray*} - Map~f~[1,2,3] & = & \Show\Map{f~}[1,2,3] -\end{eqnarray*} -This is another job for $Foldr$. -\begin{eqnarray*} - Map~f & = & Foldr~(Compose~Cons~f)~Nil -\end{eqnarray*} -We shall see $Map$ used later on, to convert from a list of -names such as \Show\Map{\Compose\mbox\tt}[Fac-yawn,Fac-cows], to a list of -labels such as \By[Fac-yawn,Fac-cows]. -\begin{TeXcode} -\def\Map#1{\Foldr{\Compose\Cons{#1}}\Nil} -\end{TeXcode} - -\subsection{Insert} - -The only function we need which isn't easily defined as a reduction -is $Insert$, which inserts an element into a sorted list. For example, -\begin{eqnarray*} - Insert~Lessthan~3~[1,2,4,5] & = & \Show\Insert\Lessthan3[1,2,4,5] -\end{eqnarray*} -$Insert$ takes in an ordering as its first parameter, so we're not stuck -with one particular order. It is defined directly in terms of the -definition of lists. -\begin{eqnarray*} - Insert~o~x~xs & = & xs~(Insert'~o~x)~(Singleton~x) \\ - Insert'~o~x~y~ys & = & o~x~y \\ - & & \quad (Cons~x~(Cons~y~ys)) \\ - & & \quad (Cons~y~(Insert~o~x~ys)) -\end{eqnarray*} -We can then define the function all this has been leading up to, -$Insertsort$ which takes an ordering and a list, and insert-sorts the -list according to the ordering. For example, -\begin{eqnarray*} - Insertsort~Lessthan~[2,3,1,2] & = & \Show\Insertsort\Lessthan[2,3,1,2] -\end{eqnarray*} -We can implement this as a fold: -\begin{eqnarray*} - Insertsort~o & = & Foldr~(Insert~o)~Nil -\end{eqnarray*} -And so we've got sorted lists. -\begin{TeXcode} -\def\Insert#1#2#3% - {#3{\Insert@{#1}{#2}}{\Singleton{#2}}} -\def\Insert@#1#2#3#4% - {#1{#2}{#3}% - {\Cons{#2}{\Cons{#3}{#4}}}% - {\Cons{#3}{\Insert{#1}{#2}{#4}}}} -\def\Insertsort#1{\Foldr{\Insert{#1}}\Nil} -\end{TeXcode} -Interestingly, as we have implemented unbounded lists in \TeX's mouth, -this means we can implement a Turing Machine. So, if you believe -the Church-Turing thesis, \TeX's mouth is as powerful as any -computer anywhere. Isn't that good to know? - -\section{Sorting reference lists} -\label{thissection} - -So, these are the macros I've got to play with --- how do we apply them to -sorting lists of references? Well, I'm using \LaTeX, which keeps the -current reference in a macro called \verb|\@currentlabel|, which -is~\ref{thissection} at the moment, as this is Section~\ref{thissection}. -So I just need to store the value of \verb|\@currentlabel| somehow. - -Fortunately, I'm only ever going to be making references to facts -earlier on in the document, in order to make sure I'm not proving -any results in terms of themselves. So I don't need to play around -with auxiliary files, and can just do everything in terms of -macros. - -\subsection{Number and Label} - -Each label in the document is given a unique number, in the order -the labels were put down. So the number of \verb|Fac-cows| -is \verb|\Number{Fac-cows}|, which expands out to~\Number{Fac-cows}, -the number of \verb|Fac-people| is~\Number{Fac-people}, and so on. - -Each number has an associated label with it. For example, -the first label is \verb|\Label{1}|, which is~\Label{1}, -the second label is~\Label{2} and so on. So to find the label for -\verb|Fac-cows|, we say \verb|\Label{\Number{Fac-cows}}| which expands -out to~\Label{\Number{Fac-cows}}. - -These numbers and labels are kept track of in macros. For example, -the number of \verb|Fac-cows| is kept in \cstok{Number-Fac-cows}. -Similarly, the first label is kept in \cstok{Label-1}. -As these macros have dashes in their names, they aren't likely to -be used already. - -So the \TeX\ code for \verb|\Number| and \verb|\Label| is pretty -simple. -\begin{verbatim} -\def\Number#1{\csname Number-#1\endcsname} -\def\Label#1{\csname Label-#1\endcsname} -\end{verbatim} - -\subsection{Lastnum and Forward} - -The number of the most recent label is kept in \verb|\Lastnum|. -\begin{verbatim} -\newcount\Lastnum -\end{verbatim} -To put down a label \verb|Foo|, I type \verb|\Forward{Foo}|. -\Forward{Foo} -This increments the counter -\verb|\Lastnum|, and \verb|\xdef|s \cstok{Number-Foo} -to be the value of -\verb|\Lastnum|, which is now~\the\Lastnum. So -\verb|\Number{Foo}| now expands to~\Number{Foo}. -Similarly, it \verb|\xdef|s \cstok{Label-\Number{Foo}} to be -\verb|\@currentlabel|, which is currently~\Label{\Number{Foo}}. -So \verb|\Label{\Number{Foo}}| now expands to~\Label{\Number{Foo}}. -\begin{verbatim} -\def\Forward#1% - {\global\advance\Lastnum by 1 - \csnameafter\xdef{Number-#1}% - {\the\Lastnum}% - \csnameafter\xdef{Label-\the\Lastnum}% - {\@currentlabel}} -\end{verbatim} -This uses \verb|\csnameafter\foo{bar}|, which expands out to -\verb|\foo\bar|. -\begin{verbatim} -\def\csnameafter#1#2% - {\expandafter#1\csname#2\endcsname} -\end{verbatim} - -\subsection{Listize, Unlistize and Show} - -At the moment, lists have to be built up using \verb|\Cons| and -\verb|\Nil|, which is rather annoying. Similarly, we can't actually -do anything with a list once we've built it. We'd like some way -of converting lists in the form \verb|[a,b,c]| to and from the -form $[a,b,c]$. This is done with \verb|\Listize| and \verb|\Unlistize|. -So \verb|\Listize[a,b,c]| expands to -\begin{verbatim} -\Cons{a}{\Cons{b}{\Cons{c}{\Nil}}} -\end{verbatim} -Similarly, \verb|\Unlistize| takes the list $[a,b,c]$ and expands out -to \verb|[a, b, c]|. \verb|\Unlistize| is done with a $Foldr$. -\begin{TeXcode} -\def\Unlistize#1{[#1\Unlistize@{}]} -\def\Unlistize@#1{#1\Foldr\Commaize{}} -\def\Commaize#1#2{, #1#2} -\end{TeXcode} -The macro \verb|\Listize| is just a \TeX\ hack with pattern matching. -It would have been nice to use \verb|\@ifnextchar| for this, but -that uses \verb|\futurelet|, which doesn't expand in the mouth. Oh well. -\begin{TeXcode} -\def\Listize[#1]% - {\Listize@[#1,\relax]} -\def\Listize@#1,#2]% - {\TeXif{\ifx\relax#2}% - {\Singleton{#1}}% - {\Cons{#1}{\Listize@#2]}} -\end{TeXcode} -This only works for nonempty lists --- \verb|\Listize[]| produces the -singleton list \verb|\Singleton{}|. It also uses \verb|\relax| as its -end-of-list character, so lists with \verb|\relax| in them have to -be done by hand. You can't win them all. So -\begin{verbatim} -$\Unlistize{\Listize[a,b,c]}$ -\end{verbatim} -produces -$\Unlistize{\Listize[a,b,c]}$. This is such a common construction -that I've defined a macro \verb|\Show| such that -\verb|\Show\foo[a,b,c]| expands out to -\begin{verbatim} -\Unlistize{\foo{\Listize[a,b,c]}} -\end{verbatim} -For example, the equation -\begin{eqnarray*} - Filter\,(Lessthan\,1)\,[1,2,3] - &=& \Show\Filter{\Lessthan 1}[1,2,3] -\end{eqnarray*} -was generated with -\begin{verbatim} -\begin{eqnarray*} - Filter\,(Lessthan\,1)\,[1,2,3] - &=& \Show\Filter{\Lessthan 1}[1,2,3] -\end{eqnarray*} -\end{verbatim} -Many of the examples in this article were typeset this way. -\begin{TeXcode} -\def\Show#1[#2]% - {\Unlistize{#1{\Listize[#2]}}} -\end{TeXcode} - -\subsection{By} - -Given these macros, we can now sort any list of references with $Bylist$, -defined -\begin{eqnarray*} - Bylist~xs & = & Map~Label \\ - & & \quad (Insertsort~Lessthan \\ - & & \quad\quad (Map~Number~xs)) -\end{eqnarray*} -This takes in a list of label names like \verb|Fac-yawn|, -converts it into a list of numbers with $Map~Number$, -sorts the resulting list with $Insertsort~Lessthan$, -and finally converts all the numbers into labels like -\Label{\Number{Fac-yawn}} with $Map~Label$. For example, -\begin{eqnarray*} - \start{Bylist~\Show\Map{\Compose\mbox\tt}[Fac-yawn,Fac-cows]} - & = & Map~Label~(Insertsort~Lessthan \\ - & & \quad (Map~Number~ - \Show\Map{\Compose\mbox\tt}[Fac-yawn,Fac-cows])) \\ - & = & Map~Label~(Insertsort~Lessthan~ - \Show\Map\Number[Fac-yawn,Fac-cows]) \\ - & = & Map~Label~\Show\Compose{\Insertsort\Lessthan}{\Map\Number} - [Fac-yawn,Fac-cows] \\ - & = & \Show\Bylist[Fac-yawn,Fac-cows] -\end{eqnarray*} -The \TeX\ code for this is -\begin{verbatim} -\def\Bylist#1% - {\Map\Label - {\Insertsort\Lessthan - {\Map\Number{#1}}}} -\end{verbatim} -So we can now stick all this together, and define the macro \verb|\By| -that prints out lists of references. It is -\begin{verbatim} -\def\By{\Show\Bylist} -\end{verbatim} -So \verb|\By[Fac-yawn,Fac-cows]| is~\By[Fac-yawn,Fac-cows]. -Which is quite nice. - -\section{Other applications} -\label{outputroutines} - -Is all this worth it? Well, I've managed to get my lists of facts in -order, but that's not the world's most astonishing application. -There are other things that these lists are useful for, though. - -For example, Damian Cugley has a macro package under development for -laying out magazines. {\sc Mag}\TeX's output routine needs to be quite -smart, as magazines often have gaps where illustrations or photographs -are going to live. In general, each block of text needs to be output -in a different fashion from every other block of text. -This will be handled by keeping an infinite list of output -routines. Each time a box is cut off the scroll to be output, -the head of the list is chopped off and is used as the output routine -for that box. That way, quite complex page shapes can be built up. - -Mainly, though, these macros were written just as a challenge. -I learned quite a lot about \TeX\ and needed some \TeX niques I'd -never seen before. It was also quite pleasing to see that \TeX\ code -can be formally verified, albeit in a rather noddy way. Without -some sort of abstract view of lists, these \TeX\ macros could -not have been written. - -\section{Acknowledgements} - -Thanks to Jeremy Gibbons for letting me bounce ideas off him -and spotting the duff ones, -to Damian Cugley for saying ``Do you really think \TeX\ is meant -to do this?'', and to the Problem Solving Club for hearing me out. -This work was sponsored by the Science and Engineering -Research Council and Hewlett Packard. - -\makesignature - -\end{document} - diff --git a/Master/texmf-dist/doc/latex/skak/longmove_king_bug.tex b/Master/texmf-dist/doc/latex/skak/longmove_king_bug.tex new file mode 100644 index 00000000000..8af601c3f54 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/longmove_king_bug.tex @@ -0,0 +1,23 @@ +\documentclass{article} + +\usepackage{skak} + +\begin{document} + +\styleC + +\longmoves + +\newgame + +\mainline{ 1. e4 e5 2. Ke2 Ke7 } + +% \lastmove + +\showboard + +\end{document} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/latex/skak/makefile b/Master/texmf-dist/doc/latex/skak/makefile index 61218d5c820..cacef853585 100644 --- a/Master/texmf-dist/doc/latex/skak/makefile +++ b/Master/texmf-dist/doc/latex/skak/makefile @@ -4,6 +4,7 @@ # Version: July 1999 SHELL = /bin/sh +LATEX = latex # where should the .sty and .tfm files go? TEXMFROOT=$(HOME)/Library/texmf @@ -14,13 +15,13 @@ DESTTFM=$(TEXMFROOT)/fonts/tfm/public/skak/ DESTSOURCE=$(TEXMFROOT)/fonts/source/public/skak/ DESTDOC=$(TEXMFROOT)/doc/latex/skak/ MFSKAKBASE= mf/skakbrikker.mf mf/skakbase.mf mf/skakinf.mf -SKAKMACROS= skak10.600pk skak15.600pk skak20.600pk skak30.600pk skakf10.600pk skakf10b.600pk tex/skak.sty tex/lambda.sty +SKAKMACROS= skak10.600pk skak15.600pk skak20.600pk skak30.600pk skakf10.600pk skakf10b.600pk tex/skak.sty .SUFFIXES: .dvi .ps .600gf .600pk all: fonts doc -doc: skakdoc.ps tuggame.ps refman.ps informator.ps +doc: skakdoc.pdf tuggame.pdf refman.pdf informator.pdf fonts: skak10.600pk skak15.600pk skak20.600pk skak30.600pk skakf10.600pk skakf10b.600pk @@ -44,27 +45,30 @@ skakinf.mf: mf/skakinf.mf skakdoc.dvi: doc/skakdoc.tex $(SKAKMACROS) (cp tex/*.sty .; \ - latex "\batchmode\input doc/skakdoc.tex" \ - latex "\batchmode\input doc/skakdoc.tex") + ${LATEX} "\batchmode\input doc/skakdoc.tex" \ + ${LATEX} "\batchmode\input doc/skakdoc.tex") tuggame.dvi: doc/tuggame.tex $(SKAKMACROS) (cp tex/*.sty .; \ - latex "\batchmode\input doc/tuggame.tex" \ - latex "\batchmode\input doc/tuggame.tex") + ${LATEX} "\batchmode\input doc/tuggame.tex" \ + ${LATEX} "\batchmode\input doc/tuggame.tex") refman.dvi: doc/refman.tex $(SKAKMACROS) (cp tex/*.sty .; \ - latex "\batchmode\input doc/refman.tex" \ - latex "\batchmode\input doc/refman.tex") + ${LATEX} "\batchmode\input doc/refman.tex" \ + ${LATEX} "\batchmode\input doc/refman.tex") informator.dvi: doc/informator.tex $(SKAKMACROS) (cp tex/*.sty .; \ - latex "\batchmode\input doc/informator.tex" \ - latex "\batchmode\input doc/informator.tex") + ${LATEX} "\batchmode\input doc/informator.tex" \ + ${LATEX} "\batchmode\input doc/informator.tex") -.dvi.ps : - dvips -o $@ $< +%.pdf: %.dvi + dvipdf $< + +.dvi.pdf : + dvipdf -o $@ $< .600gf.600pk: gftopk $< @@ -89,6 +93,12 @@ skakf10b.tfm skakf10b.600gf: mf/skakf10b.mf $(MFSKAKBASE) skakbase (mf "\mode:=localfont; input mf/skakf10b") install: fonts doc + install -d ${DESTPK} + install -d ${DESTGF} + install -d ${DESTTFM} + install -d ${DESTSOURCE} + install -d ${INPUTS} + install -d ${DESTDOC} install skak*.600pk $(DESTPK) install skak*.600gf $(DESTGF) install skak*.tfm $(DESTTFM) @@ -99,7 +109,6 @@ install: fonts doc @echo "Remember to run texhash!" clean: rm -f *gf *pk *.ps *.dvi *.aux *.log *.tfm *.mf *.fd *.sty *.toc - - + rm -f test/*.dvi test/*.log test/*.aux diff --git a/Master/texmf-dist/doc/latex/skak/refman.pdf b/Master/texmf-dist/doc/latex/skak/refman.pdf Binary files differdeleted file mode 100644 index 098140006d5..00000000000 --- a/Master/texmf-dist/doc/latex/skak/refman.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/skak/refman.ps b/Master/texmf-dist/doc/latex/skak/refman.ps new file mode 100644 index 00000000000..e273f763c38 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/refman.ps @@ -0,0 +1,6586 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software +%%Title: refman.dvi +%%CreationDate: Thu Jul 18 23:26:37 2013 +%%Pages: 3 +%%PageOrder: Ascend +%%Orientation: Landscape +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: CMTT10 CMBX10 CMSSBX10 CMSY10 CMR10 CMSSI10 CMTI10 +%%+ CMMI10 SkakNew-Figurine +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -o refman.ps refman.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2013.07.18:2326 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: pstricks.pro 0 0 +% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.12, 2012/02/12 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/DashLine { + dup 0 gt + { /a .5 def PathLength exch div } + { pop /a 1 def PathLength } ifelse + /b ED % pattern should fit evenly in b + dup /X ED % pattern array + 0 get /y ED % length of first black segment + /z 0 X {add} forall def % length of the full pattern + %% Computation of the scaling factor as described by van Zandt: + b a .5 sub 2 mul y mul sub z Div round + z mul a .5 sub 2 mul y mul add b exch Div + %%%% scaling factor on stack. + /z ED %% now, z is the scaling factor + false % for the length test below + X { z mul } forall X astore %% modification TN 04-08-07 + %%% Checking whether at least one dash in X has positive length: + {0 gt or} forall + { X 1 a sub y mul } + { [ 1 0 ] 0 } + ifelse + setdash stroke +} def +% +/DotLine { + /b PathLength def + /a ED /z ED /y CLW def + /z y z add def + a 0 gt { + /b b a div def + }{ + a 0 eq { + /b b y sub def + }{ a -3 eq { + /b b y add def } if + } ifelse + } ifelse + [ 0 b b z Div round Div dup 0 le { pop 1 } if ] + a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse + setdash 1 setlinecap stroke +} def +% +/SymbolLine { % on stack [ x y x y ... + counttomark % number of elements + 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + + %% for negative SymStep we calculate the distance + SymStep 0 lt + { %XYLength SymStep div abs cvi + /nSym SymStep abs cvi def } + { /nSym XYLength SymStep div cvi def } + ifelse + 0.5 setflat + /Shift Symbol stringwidth pop 2 div def + /deltaX XLength nSym div def + /deltaY YLength nSym div def + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + nSym { + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + currentpoint translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + deltaX deltaY rmoveto + } repeat + /YA YB def /XA XB def + } repeat + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + XA YA translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + pop % delete the mark symbol +} def +% +/LineFill { % hv ------------ patch 7 ------------- + gsave + abs /hatchWidthInc ED + abs /hatchSepInc ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + 2 setlinecap + systemdict + /setstrokeadjust known { true setstrokeadjust } if + x2 x1 sub 1 add { + x1 a mul y1 moveto 0 y2 rlineto stroke + /x1 x1 1 add + hatchWidthInc 0 gt { CLW add } if + def + hatchSepInc 0 gt hatchWidthInc 0 gt or { + /a a hatchSepInc add def + CLW hatchWidthInc add SLW + } if + } repeat + grestore + pop pop } def +% +/DotFill {% on stack: dot radius + /dotRadius ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform + pathbbox % llx lly urx ury of smallest bounding box + /y2 ED /x2 ED /y1 ED /x1 ED + y2 y1 sub a div 2 add cvi /Ny ED + x2 x1 sub a div 2 add cvi /Nx ED + clip + newpath + /yA y1 dotRadius add CLW add def + /xA0 x1 dotRadius add CLW add def + Ny { + /xA xA0 def + Nx { + newpath + xA yA dotRadius 0 360 arc + SolidDot { gsave fill grestore } if + stroke + xA a add /xA ED + } repeat + yA a add /yA ED + } repeat + grestore +} def +% +/PenroseFill {% on stack: scaling factor + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul} + { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall + [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto + i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25 + mul j l + S rmoveto}F i L j L stroke }F}F}F}F + grestore + pop pop +} def +% +/TruchetFill { % on stack: scaling factor + 10 dict begin + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /ma a neg def + /ha a 2 div def + /mha ha neg def + /tile { + rand dup 2 idiv 2 mul eq { 90 rotate } if + mha mha moveto ha mha lineto + ha ha lineto mha ha lineto +% closepath .1 setlinewidth stroke + contents + } def + /contents{ + 0 ha moveto ha 0 lineto + 0 mha moveto mha 0 lineto +% 1 setlinewidth stroke + } def + /dotiling { + f ma mul a f a mul { + /i exch def + f ma mul a f a mul { + /j exch def + gsave i j translate + tile stroke grestore + } for + } for + } def +% + /f 3 def + 5 srand dotiling + end % local user dict +} def +% +/BeginArrow { + ADict begin % hold it local, for end see EndArrow + /@mtrx CM def + gsave + 2 copy T + 2 index sub neg exch + 3 index sub exch Atan + rotate newpath +} def +% +/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict +% +/Arrow { + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /a ED + { 0 h T 1 -1 scale } if + w neg h moveto + 0 0 L w h L w neg a neg rlineto + gsave fill grestore +} def +% +/ArrowD { % the sides are drawn as curves (hv 20071211) + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /Inset ED + { 0 h T 1 -1 scale } if % changes the direction +% we use y=w/h^2 * x^2 as equation for the control points +% for the coordinates the arrow is seen from top to bottom +% the bottom (tip) is (0;0) + w neg h moveto % lower left of > + w 9 div 4 mul neg h 3 div 2 mul + w 9 div neg h 3 div + 0 0 curveto % tip of > + w 9 div h 3 div + w 9 div 4 mul h 3 div 2 mul + w h curveto % upper left of > + w neg Inset neg rlineto % move to x=0 and inset + gsave fill grestore +} def +% +/Tbar { + CLW mul add /z ED + z -2 div CLW 2 div moveto + z 0 rlineto stroke + 0 CLW moveto +} def +% +/Bracket { + CLW mul add dup CLW sub 2 div + /x ED mul CLW add /y ED /z CLW 2 div def + x neg y moveto + x neg CLW 2 div L x CLW 2 div L x y L stroke + 0 CLW moveto +} def +% +/RoundBracket { + CLW mul add dup 2 div + /x ED mul /y ED /mtrx CM def + 0 CLW 2 div T x y mul 0 ne { x y scale } if + 1 1 moveto + .85 .5 .35 0 0 0 curveto + -.35 0 -.85 .5 -1 1 curveto + mtrx setmatrix stroke 0 CLW moveto +} def +% +/SD { 0 360 arc fill } def +% +/EndDot { % DS is the dot size + { /z DS def } { /z 0 def } ifelse % outer or inner dimen + /b ED % the color definition + 0 z DS SD + b { 0 z DS CLW sub SD } if + 0 DS z add CLW 4 div sub + moveto +} def +% +/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { + /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto + load } if ] cvx newpath 3 1 roll T exec } def +% +/NArray { % holds the coordinates and on top of stack the showpoints boolean + /showpoints ED + counttomark 2 div dup cvi /n ED % n 2 div on stack + n eq not { exch pop } if % even numbers of points? delete one + ] aload /Points ED + showpoints not { Points aload pop } if +% { ] aload /Points ED } +% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol +} def +% +/Line { + NArray n 0 eq not + { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def + n { Lineto } repeat + CP 4 2 roll ArrowB L pop pop + } if +} def +% +/LineToYAxis { + /Ox ED % Save the x origin value + NArray % all x-y pairs on stack + n { 2 copy moveto % go to current point + Ox exch Lineto % line to y-axis + pop % delete old x-value + } repeat +} def +% +/LineToXAxis{ + /Oy ED % Save the y origin value + NArray % all x-y pairs on stack + n 0 eq not + { n 1 eq { 0 0 /n 2 def } if + ArrowA + /n n 2 sub def + CP 2 copy moveto pop Oy Lineto + n { 2 copy moveto pop Oy Lineto } repeat + CP + 4 2 roll + ArrowB + 2 copy moveto pop Oy + L + pop pop } if +} def +% +/Arcto { + /a [ 6 -2 roll ] cvx def + a r + /arcto load stopped { 5 } { 4 } ifelse { pop } repeat + a +} def +% +/CheckClosed { + dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq + and { pop pop /n n 1 sub def } if +} def +% +/Polygon { + NArray n 2 eq { 0 0 /n 3 def } if + n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + n 2 mul -2 roll + /y0 ED /x0 ED /y1 ED /x1 ED + x1 y1 + /x1 x0 x1 add 2 div def + /y1 y0 y1 add 2 div def + x1 y1 moveto + /n n 2 sub def + n { Lineto } repeat + x1 y1 x0 y0 6 4 roll Lineto + Lineto pop pop closepath } ifelse +} def +% +/SymbolPolygon { % on stack [ x y x y ... + counttomark % number of elements + 2 add /m ED + 2 copy m 2 roll % copy last two + m 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + /nSym XYLength SymStep Div cvi def + /Shift Symbol stringwidth pop 2 Div def + /deltaX XLength nSym Div def + /deltaY YLength nSym Div def + XA Shift sub YA Shift sub moveto + nSym { + gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + grestore + deltaX deltaY rmoveto + } repeat +% XB Shift sub YB Shift sub moveto Symbol show + /YA YB def /XA XB def + } repeat + pop % delete the mark symbol +} def +% +/Diamond { + /mtrx CM def + T rotate + /h ED + /w ED + dup 0 eq { pop } { CLW mul neg + /d ED + /a w h Atan def + /h d a sin Div h add def + /w d a cos Div w add def } ifelse + mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div + /ArrowA { moveto } def + /ArrowB { } def + false Line + closepath mtrx setmatrix } def +% +/Triangle { + /mtrx CM def + translate + rotate /h ED 2 div /w ED + dup CLW mul /d ED + /h h d w h Atan sin Div sub def + /w w d h w Atan 2 div dup cos exch sin Div mul sub def + mark + 0 d w neg d 0 h w d 0 d + /ArrowA { moveto } def + /ArrowB { } def + false + Line + closepath + mtrx +% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) +% setmatrix } def + setmatrix pop +} def +% DG/SR modification end +% +/CCA { + /y ED /x ED + 2 copy y sub /dy1 ED + x sub /dx1 ED + /l1 dx1 dy1 Pyth def +} def +% +/CC { + /l0 l1 def + /x1 x dx sub def + /y1 y dy sub def + /dx0 dx1 def + /dy0 dy1 def + CCA + /dx dx0 l1 c exp mul dx1 l0 c exp mul add def + /dy dy0 l1 c exp mul dy1 l0 c exp mul add def + /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def + /x2 x l0 dx mul m mul sub def + /y2 y l0 dy mul m mul sub def + /dx l1 dx mul m mul neg def + /dy l1 dy mul m mul neg def +} def +% +/IC { + /c c 1 add def + c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse + /a a 2 mul 3 div 45 cos b exp div def + CCA + /dx 0 def + /dy 0 def +} def +% +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +% +/OpenCurve { + NArray n 3 lt + { n { pop pop } repeat } + { BOC /n n 3 sub def n { NC } repeat EOC } ifelse +} def +% +/CurvePath { + %% for negative SymStep we calculate the distance + SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if + 0.5 setflat + flattenpath /z 0 def /z0 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def + x1 Shift sub y1 Shift sub moveto + gsave + curveticks + { x1 y1 translate startAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { startAngle rotate Symbol show } + ifelse + grestore /z0 z def } + { /y ED /x ED PathLength@ z z0 sub SymStep ge { + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore /z0 z def } if + /yOld y def /xOld x def } + {} %% the lineto part + { /y y2 def /x x2 def PathLength@ + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + x Shift sub y Shift sub moveto + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + } + pathforall +% curveticks +% { gsave +% x y translate rotAngle rotate +% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto +% SymbolLinewidth setlinewidth stroke grestore +% } if + z +} def +% +/OpenSymbolCurve { + OpenCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/AltCurve { + { false NArray n 2 mul 2 roll + [ n 2 mul 3 sub 1 roll ] aload + /Points ED + n 2 mul -2 roll } + { false NArray } ifelse + n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse +} def +% +/AltOpenSymbolCurve { + AltCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedCurve { + NArray n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + 6 copy n 2 mul 6 add 6 roll + IC CC x y moveto n { NC } repeat + closepath pop pop + } ifelse +} def +% +/ClosedSymbolCurve { + ClosedCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def +% +/FontDot { + DS 2 mul dup + matrix scale matrix concatmatrix exch matrix + rotate matrix concatmatrix exch + findfont exch makefont setfont +} def +% +/Rect { + x1 y1 y2 add 2 div moveto + x1 y2 lineto + x2 y2 lineto + x2 y1 lineto + x1 y1 lineto + closepath +} def +% +/OvalFrame { + x1 x2 eq y1 y2 eq or + { pop pop x1 y1 moveto x2 y2 L } + { y1 y2 sub abs x1 x2 sub abs 2 copy gt + { exch pop } { pop } ifelse + 2 div exch { dup 3 1 roll mul exch } if + 2 copy lt { pop } { exch pop } ifelse + /b ED + x1 y1 y2 add 2 div moveto + x1 y2 x2 y2 b arcto + x2 y2 x2 y1 b arcto + x2 y1 x1 y1 b arcto + x1 y1 x1 y2 b arcto + 16 { pop } repeat + closepath + } ifelse +} def +% +/Frame { + CLW mul /a ED + 3 -1 roll + 2 copy gt { exch } if + a sub /y2 ED + a add /y1 ED + 2 copy gt { exch } if + a sub /x2 ED + a add /x1 ED + 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse +} def +% +/BezierNArray { + /f ED + counttomark 2 div dup cvi /n ED + n eq not { exch pop } if + n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat + f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse +} def +% +/OpenBezier { + BezierNArray + n 1 eq + { pop pop } + { ArrowA n 4 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + 6 2 roll 4 2 roll ArrowB curveto } ifelse +} def +% +/OpenSymbolBezier { + OpenBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedBezier { + BezierNArray + n 1 eq + { pop pop } + { moveto n 1 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + closepath } ifelse +} def +% +/ClosedSymbolBezier { + /f ED % save showpoints value + 2 copy /yEnd ED /xEnd ED + counttomark -2 roll 2 copy /yStart ED /xStart ED + counttomark 2 roll + f + ClosedBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath + [ xEnd yEnd xStart yStart SymbolLine +} def +% +/BezierShowPoints { + gsave + Points aload length 2 div cvi /n ED + moveto + n 1 sub { lineto } repeat + CLW 2 div SLW [ 4 4 ] 0 setdash stroke + grestore +} def +% +/Parab { + /y0 ED /x0 ED /y1 ED /x1 ED + /dx x0 x1 sub 3 div def + /dy y0 y1 sub 3 div def + x0 dx sub y0 dy add x1 y1 ArrowA + x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def +} def +% +/Parab1 { % 1 end | 0 SP + /ySP ED /xSP ED /y1 ED /x1 ED + /dx xSP x1 sub 3 div def + /dy ySP y1 sub 3 div def + newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto + x1 ySP lineto closepath clip + currentpoint + newpath moveto + xSP dx sub ySP dy add x1 y1 ArrowA + xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def +} def +% +/Grid { + newpath + /a 4 string def + /b ED % psk@gridlabels in pt + /c ED % { \pst@usecolor\psgridlabelcolor } + /n ED % psk@griddots + cvi dup 1 lt { pop 1 } if + /s ED % \psk@subgriddiv + s div dup 0 eq { pop 1 } if + /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs + /dx ED dy div round dy mul % \pst@number\psxunit abs + /y0 ED dx div round dx mul + /x0 ED dy div round cvi + /y2 ED dx div round cvi + /x2 ED dy div round cvi + /y1 ED dx div round cvi + /x1 ED + /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def + /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def + b 0 gt { + /z1 b 4 div CLW 2 div add def +% /Helvetica findfont b scalefont setfont + /b b .95 mul CLW 2 div add def } if + systemdict /setstrokeadjust known + { true setstrokeadjust /t { } def } + { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add + exch itransform } bind def } ifelse + gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse + /i x1 def + /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def + /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def + x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if + { i dx mul dup y0 moveto + b 0 gt + { gsave c i a cvs dup stringwidth pop + /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse + h 0 gt {b neg}{z1} ifelse + rmoveto show grestore } if + dup t f moveto + g t L stroke + /i i w add def + } repeat + grestore + gsave + n 0 gt + % DG/SR modification begin - Nov. 7, 1997 - Patch 1 + %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } + { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } + % DG/SR modification end + { 2 setlinecap } ifelse + /i y1 def + /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def + /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def + y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if + { newpath i dy mul dup x0 exch moveto + b 0 gt { gsave c i a cvs dup stringwidth pop + /z2 ED + w 0 gt {z1 z2 add neg} {z1} ifelse + h 0 gt {z1} {b neg} ifelse + rmoveto show grestore } if + dup f exch t moveto + g exch t L stroke + /i i h add def + } repeat + grestore +} def +% +/ArcArrow { + /d ED /b ED /a ED + gsave + newpath 0 -1000 moveto clip + newpath + 0 1 0 0 b + grestore + c mul + /e ED + pop pop pop r a e d PtoC y add exch x add + exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c + mul neg d +} def +% +/Ellipse { + /rotAngle ED + /mtrx CM def + T + rotAngle rotate + scale 0 0 1 5 3 roll arc + mtrx setmatrix +} def +% +/ArcAdjust { %%%% Vincent Guirardel +% given a target length (targetLength) and an initial angle (angle0) [in the stack], +% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0). +% This computes an angle t such that (x0,y0) is at distance +% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)). +% NOTE: this an absolute angle, it does not have to be added or substracted to angle0 +% contrary to TvZ's code. +% To achieve, this, one iterates the following process: start with some angle t, +% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]. +% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned. +% +% Another difference with TvZ's code is that we need d (=add/sub) to be defined. +% the value of d = add/sub is used to know on which side we have to move. +% It is only used in the initialisation of the angle before the iteration. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Input stack: 1: target length 2: initial angle +% variables used : rx, ry, d (=add/sub) +% + /targetLength ED /angle0 ED + /x0 rx angle0 cos mul def + /y0 ry angle0 sin mul def +% we are looking for an angle t such that (x0,y0) is at distance targetLength +% from the point M(t)=(rx*cos(t),ry*sin(t))) +%initialisation of angle (using 1st order approx = TvZ's code) + targetLength 57.2958 mul + angle0 sin rx mul dup mul + angle0 cos ry mul dup mul + add sqrt div +% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees +% (if the ellipse is very curved at the point where we draw the arrow, % +% the value can be much more than 360 degrees !) +% this should avoid going on the wrong side (more than 180 degrees) or go near +% a bad attractive point (at 180 degrees) + dup 90 ge { pop 90 } if + angle0 exch d % add or sub +% maximum number of times to iterate the iterative procedure: +% iterative procedure: takes an angle t on top of stack, computes a +% better angle (and put it on top of stack) + 30 { dup +% compute distance D between (x0,y0) and M(t) + dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt +% if D almost equals targetLength, we stop + dup targetLength sub abs 1e-5 le { pop exit } if +% stack now contains D t +% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]: +% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 ) + exch dup cos rx mul x0 sub exch sin ry mul y0 sub +% stack contains: y(t)-y0, x(t)-x0, d + 2 index Div targetLength mul y0 add ry Div exch + 2 index Div targetLength mul x0 add rx Div +% stack contains x(t')/rx , y(t')/ry , d +% now compute t', and remove D from stack + atan exch pop + } repeat +% we don't look at what happened... in particular, if targetLength is greater +% than the diameter of the ellipse... +% the final angle will be around /angle0 + 180. maybe we should treat this pathological case... +% after iteration, stack contains an angle t such that M(t) is the tail of the arrow +% to give back the result as a an angle relative to angle0 we could add the following line: +% angle0 sub 0 exch d +% +% begin bug fix 2006-01-11 +% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180 +%(we don't want to make the ellipse turn more or less than it should)... +dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse +% end bug fix +} def +% +/EllipticArcArrow { + /d ED % is add or sub + /b ED % arrow procedure + /a1 ED % angle + gsave + newpath + 0 -1000 moveto + clip % Set clippath far from arrow. + newpath + 0 1 0 0 b % Draw arrow to determine length. + grestore +% Length of arrow is on top of stack. Next 3 numbers are junk. +% + a1 exch ArcAdjust % Angular position of base of arrow. + /a2 ED + pop pop pop + a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig + a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig + a1 cos rx mul xOrig add % + a1 sin ry mul yOrig add % +% Now arrow tip coor and base coor are on stack. + b pop pop pop pop % Draw arrow, and discard coordinates. + a2 CLW 8 div +% change value of d (test it by looking if `` 1 1 d '' gives 2 or not ) + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse + ArcAdjust +% resets original value of d + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap. +} def +%%------------------ tvz/DG/hv (2004-05-10) end -------------------%% +% +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +% +/RotBegin { + tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if + /TMatrix [ TMatrix CM ] cvx def + /a ED + a Rot /RAngle [ RAngle dup a add ] cvx def +} def +% +/RotEnd { + /TMatrix [ TMatrix setmatrix ] cvx def + /RAngle [ RAngle pop ] cvx def +} def +% +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +% +/Uput { + /a ED + add 2 div /h ED 2 + div /w ED + /s a sin def + /c a cos def + /b s abs c abs 2 copy gt dup + /q ED + { pop } { exch pop } ifelse def + /w1 c b div w mul def + /h1 s b div h mul def + q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse +} def +% +/UUput { + /z ED + abs /y ED + /x ED + q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse + { x x mul y y mul sub z z mul add sqrt z add } + { q { x s div } { x c div } ifelse abs + } ifelse + a PtoC + h1 add exch + w1 add exch +} def +% +/BeginOL { + dup (all) eq exch TheOL eq or + { IfVisible not { Visible /IfVisible true def } if } + { IfVisible { Invisible /IfVisible false def } if } ifelse +} def +% +/InitOL { + /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def + /Visible { CP OLUnit idtransform T moveto } def + /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def + /BOL { BeginOL } def + /IfVisible true def +} def +% +%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%% +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a +end +} def +% +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +end +%-----------------------------------------------------------------------------% +% +% END pstricks.pro + +%%EndProcSet +%%BeginProcSet: pst-algparser.pro 0 0 +% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $ +%% +%% PostScript prologue for PSTricks algorithm parser +%% Version 0.04, 2011/10/21 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%%-----------------------------------------------------------------------------% +% +/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez +% +/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin +% +% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13 +% +% 09/2011 DR factorial with ! added +% +% E->T|E+T +% T->FS|T*FS +% FS -> F | +FS | -FS +% F->P|F^SF|P! +% P->(E)|literal +% literal->number|var|var[E]|func(params) +% params->E|E,param +% number->TOBEFINISHED +% +%% E expression, T term, SF signed factor, F factor, P power +% +%% parser +% +%% str +% +%% C->E<condition_operators>E +%% STR index -> STR index+lenExpr +/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def +% +%% analyze Expression List (separator , or | ) +%% STR index -> STR index+lenExpr +%% /AnalyzeListOfE { +%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar +%% NextNonBlankChar dup 0 eq { pop exit } if +%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if +%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop +%% AnalyzeListOfEPostHook +%% } def +/AnalyzeListOfE { + /NotFirst false def + { NextNonBlankChar pop AnalyzeExpr + NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse + dup Strlen eq { exit } if NextNonBlankChar + dup 44 ne 1 index 124 ne and + { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } + if pop 1 add } loop + AnalyzeListOfEPostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% E->T|E+T +%% STR index -> STR index+lenExpr +/AnalyzeExpr { + AnalyzePreHook AnalyzeTerm IsEndingExpr + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% T->FS|T*FS +%% STR index +/AnalyzeTerm { + AnalyzePreHook AnalyzeSignedFactor IsEndingTerm + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FS -> F | +FS | -FS +%% STR index +/AnalyzeSignedFactor { + AnalyzePreHook 2 copy get dup IsUnaryOp + { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp } + { pop AnalyzeFactor } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% F->P|F^P|P! +%% STR index +/AnalyzeFactor { + AnalyzePreHook AnalyzePower IsEndingFactor + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { dup 33 eq%% is there a ! DR 09/2011 + { pop 1 add NextNonBlankChar pop EvalFactorial } + { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower } + ifelse + IsEndingFactor { pop exit } if } loop } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% P->(E)|literal +%% STR index +/AnalyzePower { + %% depending of first char either a number, or a literal + 2 copy get dup 40 eq%%an open par + { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop } + { AnalyzeLiteral } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index STR[index] -> STR index +%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def +/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% recognize + or - +%% chr -> T/F +/IsUnaryOp { dup 43 eq exch 45 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadNumber { + exch dup 3 -1 roll dup 3 1 roll + %%read mantissa + { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop + dup 101 eq exch 69 eq or + %%% there is a "e" or "E" -> read exponant + { 1 add 2 copy get dup IsUnaryOp + { pop 1 add 2 copy get } if + { IsNumber not { exit } if 1 add 2 copy get } loop } + if + dup 4 1 roll + 3 -1 roll exch 1 index sub getinterval +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadCondOp { + NextNonBlankChar 1 index 4 1 roll + { IsCondOp not { exit } if 1 add 2 copy get } loop + 2 copy 5 -1 roll + exch 1 index sub getinterval 3 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can contain only : 0123456789. +%% chr -> T/F +/IsLiteral {% + dup 48 ge exch dup 57 le 3 -1 roll and exch + dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch + dup 97 ge exch 122 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)? +%% STR index -> literal STR index' nextchr +/ReadLiteral { + exch dup 3 -1 roll dup 3 1 roll + %%read literal core + { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop + 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a clpar +%% STR index -> STR index STR[index] T/F +/IsEndingExpr {% + 2 copy dup Strlen eq + %% if end of str is reached -> end ! + { pop pop 0 true } + %% ending chr -> clpar, comma, |, <, >, =, !, + {get dup dup 41 eq + exch dup 124 eq + exch dup 93 eq + exch dup 44 eq + exch dup 30 eq + exch dup 60 ge exch 62 le and or or or or or} + ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a +- +%% STR index -> STR index STR[index] T/F +/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or */ +%% STR index -> STR index STR[index] T/F +/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or ^ +%% STR index -> STR index STR[index] T/F +/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index STR[index] +/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def +/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def +%%%%%%%%%%%%%%%%%%%%%%%% +%% DEBUG +/BRK {false} def +/BRKtrue {/BRK true def} def +/BRKStop {BRK {BRKtoto} if } def +/BRKEvalStop {BRK exch if } def +/BRKBRK2true {BRK {BRK2true} if } def +/BRK2 {false} def +/BRK2true {/BRK2 true def} def +/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def +end +% +%-------------------------------------------------------------------------------% +% +/tx@AlgToPs 12 dict def tx@AlgToPs begin +% +%% algExpr -> PSVector +/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def +/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def +/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def +/Strlen 0 def +/EvalListOfExpr {} def% +/EvalNumber {% + ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx + exch 1 add array astore def NextNonBlankChar pop } def +/EvalAddSub {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def +} def +/EvalMulDiv {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def +} def +/EvalPower {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + pop /exp cvx exch 1 add array astore def +} def +/EvalFactorial {% DR 09/2011 + /ExpressionVector ExpressionVector aload length + /fact cvx exch 1 add array astore def +} def +/EvalLiteral {% + ReadLiteral + dup 40 eq%%% there is an open par -> function call + { pop 2 index + dup (Sum) eq { EvalSum } + { dup (IfTE) eq { EvalCond } + { dup (Derive) eq { pop EvalDerive } + { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx + exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse } + { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def + dup 91 eq%%% there is an open bracket -> vector element + { pop 1 add NextNonBlankChar pop AnalyzeExpr + /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add } + { pop NextNonBlankChar pop } + ifelse} + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% the derive function : Derive(n,f(x)) +%% firstparindex lastparindex -> +/EvalDerive { + %% manage the function descripiton + 1 add ReadNumber 3 1 roll NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + 1 add NextNonBlankChar pop + 3 -1 roll cvi + dup 0 eq + { pop AnalyzeExpr 3 -1 roll pop 1 add } + { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll + { (x) tx@Derive begin Derive end } repeat + ExpressionVector exch /ExpressionVector [] def + AlgToPs aload length + /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def + l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add + 1 index length /Strlen exch def } ifelse +} def +/EvalSum {% + pop 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll + 5 -1 roll 4 add array astore def + %% keep ExpressionVector for later and create a new one for internal Sum computation + ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def + 1 add NextNonBlankChar pop AnalyzeExpr + %% add each term + /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def + /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add + array astore def 3 -1 roll pop 1 add +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +/EvalCond {% + pop 1 add AnalyzeCond NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + ExpressionVector 3 1 roll /ExpressionVector [] def + 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def + NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add AnalyzeExpr + NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if + ExpressionVector + /ExpressionVector 6 -1 roll aload length dup + 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def + 1 add 3 -1 roll pop +} def +%% CondOp STR index +/EvalCondOp {% + 3 -1 roll + dup (=) eq { /eq } {% + dup (<) eq { /lt } {% + dup (>) eq { /gt } {% + dup (>=) eq { /ge } {% + dup (<=) eq { /ge } {% + dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator } + ifelse } ifelse } ifelse } ifelse } ifelse } ifelse + cvx exch pop + /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def +/EvalUnaryOp { + 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook {} bind def +/PreEvalHook {} bind def +/AnalyzeListOfEPostHook {} bind def +/AnalyzePostHook {} def +/RollOp { 3 1 roll } bind def +end %tx@CoreAnalyzerDict +% +%--------------------------------------------------------------------% +% +/tx@Derive 41 dict def tx@Derive begin +%%increase ^^ for each function added +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable -> PSVector +/Derive {% + 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end +} def +/Strlen 0 def +/InitParser { dup length /Strlen exch def 0 } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable index -> PSVector +/DeriveIndexed {% + 3 1 roll 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u,v)'=-(u',v') +/EvalListOfExpr {% + 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe + 2 copy 7 -1 roll dup length 4 1 roll putinterval add + 6 -2 roll pop pop + 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (-u)'=-(u') +/EvalUnaryOp { + 4 -2 roll 4 index (0) eq + { (0) StrConcat 7 -1 roll pop } + { 7 -1 roll 45 eq + { AddSub AddOpPar true } { false } ifelse + 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (number)'=0 +/EvalNumber { ReadNumber (0) 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u+v)'=u'+v' +/EvalAddSub {% + 7 index dup (0) eq + { pop true }%% du=0 nothing added + { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false } + ifelse + 5 index dup (0) eq + { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0 + { exch + { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added + { 5 -2 roll 7 index 43 eq%%something yet added + { AddAdd false } { AddSub AddOpPar true } ifelse } + ifelse 11 1 roll + 3 -1 roll StrConcat 10 -1 roll { AddClPar } if + 2 copy pop 0 6 2 roll GetIntervalNewStr } + ifelse + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)' or (u/v)' +/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)'=u'*v+u*v' +/EvalMul {% + 4 -2 roll 7 index dup (0) eq + { pop false }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if + true }%%du!=0 + ifelse + 5 1 roll 5 index (0) eq + { 5 -1 roll not { (0) StrConcat } if }%%dv=0 + { 5 -1 roll { AddAdd } if + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + }%%dv!=0 + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u/v)'=(u'*v-u*v')/v^2 +/EvalDiv {% + 4 -2 roll + 4 index (0) eq%%dv=0 -> u'/v + { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse } + { 7 index dup (0) eq + { pop }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0 + ifelse + AddSub + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + %}%%dv!=0 + 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar + AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add } + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str1 index str2 -> str1 index +/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def +/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u) +/EvalPower {% + 4 -2 roll 7 index (0) eq + {%%if du=0 then (u^v)'=v'ln(u)u^v + 4 index (0) eq + { (0) StrConcat }%%if dv=0 then (u^v)'=0 + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if + 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if + AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse + } + {%%du!=0 + 4 index (0) eq + {%%if dv=0 then (u^v)'=vu'u^(v-1) + 5 index dup IsStrNumber + { dup (0) eq + { StrConcat } + { dup dup (1) eq exch (1.0) eq or + { StrConcat } + { StrConcat + 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1 + { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006 + (*\() StrConcat 8 index StrConcat (\)) StrConcat + 5 index dup dup (2) eq exch (2.0) eq or + { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse } + { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)) StrConcat } ifelse + } + {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u) + 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if + AddOpPar 5 index StrConcat (\)*\() StrConcat + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)+\() StrConcat + 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (\)*ln\() StrConcat + 8 index StrConcat AddClPar + } ifelse + } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for factorial ! only cst => null derivative +/EvalFactorial {% DR 09/2011 + 4 index (0) eq + { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll } + { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str -> true/false +/IsStrNumber {% + true exch + { dup 48 lt exch dup 57 gt 3 -1 roll or + exch dup 46 ne%%. + exch dup 43 ne%%+ + exch 45 ne%%- + and and and { pop false } if } forall +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalLiteral {% + ReadLiteral dup 40 eq%%% there is an open par -> function call + { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec } + { dup 91 eq%%% there is an open bracket -> vector element + { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented } + { pop EvalVariable } + ifelse } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% first last parpos Expr[first:parpos-1] -> +/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (f(u))'=u'f'(u) +/EvalFunc { + 4 2 roll 4 index (1) ne + { AddOpPar 4 index StrConcat (\)*) StrConcat } if + (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Func derivative -> Eval<func> +/EvalFunc_sin {% + PreCommonFunc + { (cos\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_cos {% + PreCommonFunc + { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_tan {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_asin {% + PreCommonFunc + { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_acos {% + PreCommonFunc + { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_atg {% + PreCommonFunc + { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_ln {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_exp {% + PreCommonFunc + { (exp\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_EXP {% + PreCommonFunc + { (EXP\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_sqrt {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Fact {% + PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if + PostCommonFunc } def +/EvalFunc_sh {% + PreCommonFunc + { (ch\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_ch {% + PreCommonFunc + { (sh\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_th {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argsh {% + PreCommonFunc + { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argch {% + PreCommonFunc + { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argth {% + PreCommonFunc + { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/PreCommonFunc { + 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop + 4 2 roll 4 index (0) eq + { (0) StrConcat false } + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse +} def +/PostCommonFunc { + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +/EvalFunc_Derive {% + 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs + 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add + 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval + exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_Sum {% + 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop 3 -1 roll pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if + 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat + 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_IfTE {% + 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond + NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + 1 add NextNonBlankChar pop dup 5 1 roll + AnalyzeExpr NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add NextNonBlankChar pop + AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat + 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% advance in str until a comma is found (no error detection!) +%% str index -> str index' +/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for condition.... +/EvalCondOp { 3 -1 roll pop } bind def +/PutIntervalOneAdd {putinterval 1 add} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add close parenthesis in string at the given index +%% str index -> str index+1 +/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add 0 in string at the given index +%% str index -> str index+1 +/AddZero {2 copy (0) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddMul {2 copy (*) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddDiv {2 copy (/) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a plus sign in string at the given index +%% str index -> str index+1 +/AddAdd {2 copy (+) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a minus sign in string at the given index +%% str index -> str index+1 +/AddSub {2 copy (-) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a pipe sign in string at the given index +%% str index -> str index+1 +/AddPipe {2 copy (|) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook { dup 5 1 roll } bind def +/PreEvalHook {} def +/AnalyzePostHook { 7 -1 roll pop } bind def +/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def +/RollOp { 5 1 roll } bind def +end%%%tx@CoreAnalyzerDict +/tx@AddMathFunc 12 dict def tx@AddMathFunc begin +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% NEW FUNC +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2)) +%% x -> theta +/asin {% + dup abs 1 gt { EQDFasinrangeerror } if + dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad +} def +%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x) +%% x -> theta +/acos {% + dup abs 1 gt { EQDFacosrangeerror } if + dup dup mul 1 exch sub sqrt exch atan DegtoRad +} def +%% function arctangent in radians +%% x -> theta +/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def +%% HYPERBOLIC FUNCTIONS +/sh { dup Ex exch neg Ex sub 2 div } def +/ch { dup Ex exch neg Ex add 2 div } def +/th { dup sh exch ch div } def +/Argsh { dup dup mul 1 add sqrt add ln } def +/Argch { dup dup mul 1 sub sqrt add ln } def +/Argth { dup 1 add exch 1 exch sub div ln 2 div } def +%% modified exponential funtion for 0 +%% x n -> x^n +/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def +%% modified exponential funtion for 0 +%% x -> e^x +/Ex { Euler exch exp } bind def +%% +%% factorial function +%% n -> n! +/Fact { 1 exch 2 exch 1 exch { mul } for } bind def +/fact { Fact } bind def +/! { Fact } bind def +end +% +% END pst-algparser.pro + +%%EndProcSet +%%BeginProcSet: pst-tools.pro 0 0 +% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $ +% +%% PostScript tools prologue for pstricks.tex. +%% Version 0.02, 2012/01/01 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +/Pi2 1.57079632679489661925640 def +/factorial { % n on stack, returns n! + dup 0 eq { 1 }{ + dup 1 gt { dup 1 sub factorial mul } if } + ifelse } def +% +/MoverN { % m n on stack, returns the binomial coefficient m over n + 2 dict begin + /n exch def /m exch def + n 0 eq { 1 }{ + m n eq { 1 }{ + m factorial n factorial m n sub factorial mul div } ifelse } ifelse + end +} def +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% subroutines for complex numbers, given as an array [a b] +% which is a+bi = Real+i Imag +% +/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] + dup 0 get % [a1 b1] [a2 b2] a2 + 3 -1 roll % [a2 b2] a2 [a1 b1] + dup 0 get % [a2 b2] a2 [a1 b1] a1 + 3 -1 roll % [a2 b2] [a1 b1] a1 a2 + add % [a2 b2] [a1 b1] a1+a2 + 3 1 roll % a1+a2 [a2 b2] [a1 b1] + 1 get % a1+a2 [a2 b2] b1 + exch 1 get % a1+a2 b1 b2 + add 2 array astore +} def +% +/cxneg { % [a b] + dup 1 get % [a b] b + exch 0 get % b a + neg exch neg % -a -b + 2 array astore +} def +% +/cxsub { cxneg cxadd } def % same as negative addition +% +% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3] +/cxmul { % [a1 b1] [a2 b2] + dup 0 get % [a1 b1] [a2 b2] a2 + exch 1 get % [a1 b1] a2 b2 + 3 -1 roll % a2 b2 [a1 b1] + dup 0 get % a2 b2 [a1 b1] a1 + exch 1 get % a2 b2 a1 b1 + dup % a2 b2 a1 b1 b1 + 5 -1 roll dup % b2 a1 b1 b1 a2 a2 + 3 1 roll mul % b2 a1 b1 a2 b1a2 + 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1 + 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2 + 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2 + 4 -1 roll add % b1 a2 a1 b2 b3 + 4 2 roll mul % b1 b2 b3 a1a2 + 4 2 roll mul sub % b3 a3 + exch 2 array astore +} def +% +% [a b]^2 = [a^2-b^2 2ab] = [a2 b2] +/cxsqr { % [a b] square root + dup 0 get exch 1 get % a b + dup dup mul % a b b^2 + 3 -1 roll % b b^2 a + dup dup mul % b b^2 a a^2 + 3 -1 roll sub % b a a2 + 3 1 roll mul 2 mul % a2 b2 + 2 array astore +} def +% +/cxsqrt { % [a b] +% dup cxnorm sqrt /r exch def +% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 + cxlog % log[a b] + 2 cxrdiv % log[a b]/2 + aload pop exch % b a + 2.781 exch exp % b exp(a) + exch cxconv exch % [Re +iIm] exp(a) + cxrmul % +} def +% +/cxarg { % [a b] + aload pop % a b + exch atan % arctan b/a + DegtoRad % arg(z)=atan(b/a) +} def +% +% log[a b] = [a^2-b^2 2ab] = [a2 b2] +/cxlog { % [a b] + dup % [a b][a b] + cxnorm % [a b] |z| + log % [a b] log|z| + exch % log|z|[a b] + cxarg % log|z| Theta + cxmake2 % [log|z| Theta] +} def +% +% square of magnitude of complex number +/cxnorm2 { % [a b] + dup 0 get exch 1 get % a b + dup mul % a b^2 + exch dup mul add % a^2+b^2 +} def +% +/cxnorm { % [a b] + cxnorm2 sqrt +} def +% +/cxconj { % conjugent complex + dup 0 get exch 1 get % a b + neg 2 array astore % [a -b] +} def +% +/cxre { 0 get } def % real value +/cxim { 1 get } def % imag value +% +% 1/[a b] = ([a -b]/(a^2+b^2) +/cxrecip { % [a b] + dup cxnorm2 exch % n2 [a b] + dup 0 get exch 1 get % n2 a b + 3 -1 roll % a b n2 + dup % a b n2 n2 + 4 -1 roll exch div % b n2 a/n2 + 3 1 roll div % a/n2 b/n2 + neg 2 array astore +} def +% +/cxmake1 { 0 2 array astore } def % make a complex number, real given +/cxmake2 { 2 array astore } def % dito, both given +% +/cxdiv { cxrecip cxmul } def +% +% multiplikation by a real number +/cxrmul { % [a b] r + exch aload pop % r a b + 3 -1 roll dup % a b r r + 3 1 roll mul % a r b*r + 3 1 roll mul % b*r a*r + exch 2 array astore % [a*r b*r] +} def +% +% division by a real number +/cxrdiv { % [a b] r + 1 exch div % [a b] 1/r + cxrmul +} def +% +% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian +/cxconv { % theta + RadtoDeg dup sin exch cos cxmake2 +} def + +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { % on stack must be an array [ ... ] +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a % return the sorted array +end +} def +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +%-----------------------------------------------------------------------------% +% END pst-tools.pro + +%%EndProcSet +%%BeginProcSet: pst-dots.pro 0 0 +% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt <tvz@Princeton.EDU> +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% Modified by Etienne Riga - Dec. 16, 1999 +%% Modified by Etienne Riga - 2005/01/01 (er) +%% to add /Diamond, /SolidDiamond and /BoldDiamond +%% Modified by Herbert Voss (hv) - 2008/04/17 +% +10 dict dup begin % hold local + /FontType 3 def + /FontMatrix [.001 0 0 .001 0 0] def +% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv + /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph + /Encoding 256 array def + 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef + Encoding % replace with given dot names + dup (b) 0 get /Bullet put % get the numerical position of b in ASCII +% % and save /Bullet at this place in Encoding + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put % 67 + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + dup (P) 0 get /BoldPentagon put +%%% + dup (k) 0 get /Asterisk put + dup (K) 0 get /BoldAsterisk put + dup (J) 0 get /SolidAsterisk put + dup (h) 0 get /Hexagon put + dup (H) 0 get /BoldHexagon put + dup (G) 0 get /SolidHexagon put + dup (f) 0 get /Octogon put % 2008-04-18 hv + dup (F) 0 get /BoldOctogon put % 2008-04-18 hv + dup (g) 0 get /SolidOctogon put % 2008-04-18 hv + dup (a) 0 get /Add put + dup (A) 0 get /BoldAdd put % 65 + dup (x) 0 get /Mul put + dup (X) 0 get /BoldMul put + dup (m) 0 get /Oplus put + dup (M) 0 get /BOplus put + dup (e) 0 get /SolidOplus put + dup (n) 0 get /Otimes put + dup (N) 0 get /BOtimes put + dup (E) 0 get /SolidOtimes put + dup (i) 0 get /Bar put + dup (I) 0 get /BoldBar put + dup (l) 0 get /SolidDiamond put + dup (d) 0 get /Diamond put + (D) 0 get /BoldDiamond put +%%% +/CharProcs 47 dict def +CharProcs begin + /CirclePath {0 0 500 0 360 arc closepath} def + /Bullet {CirclePath fill} def + /Circle {CirclePath .9 .9 scale CirclePath eofill} def + /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def + /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def + /SolidTriangle {TrianglePath fill} def + /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def + /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def + /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def + /SolidSquare {SquarePath fill} def + /Square {SquarePath .89 .89 scale SquarePath eofill} def + /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def + /PentagonPath { + -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto + 0 574.7 lineto -546.6 177.6 lineto closepath + } def + /SolidPentagon {PentagonPath fill} def + /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def + /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def +%-------------- hv begin 2004/07/25 from: er 2003/03/24 + /HexagonPath { + 0 550 moveto -476 275 lineto -476 -275 lineto + 0 -550 lineto 476 -275 lineto 476 275 lineto closepath + } def + /SolidHexagon {HexagonPath fill} def + /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def + /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def +% 2008-04-18 hv + /OctogonPath { + 550 dup 22.5 tan mul dup neg dup add /xMove exch def + exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def + /SolidOctogon { OctogonPath fill } def + /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def + /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def +% + /AsteriskPath { + 20 0 moveto 10 250 180 500 0 500 curveto + -180 500 -10 250 -20 0 curveto closepath + } def + /Asterisk { + AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath + 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill + } def +% + /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def + /BoldAsteriskPath { + 50 30 cos 100 mul moveto Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp closepath + } def + /BoldAsterisk {BoldAsteriskPath fill} def + /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def + /CrossPath { + 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto + -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto + 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath + } def + /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto + -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto + 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath + } def + /Add {CrossPath fill} def + /Mul {45 rotate CrossPath fill} def + /BoldAdd {BoldCrossPath fill} def + /BoldMul {45 rotate BoldCrossPath fill} def + /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def + /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def + /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def + /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def + /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def + /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def + /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def + /Bar {BarPath fill} def + /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def + /BoldBar {BoldBarPath fill} def + /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def + /SolidDiamond {DiamondPath fill} def + /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def + /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def +%%% + /.notdef { } def +end +% +/BuildGlyph { + exch + begin +% Metrics 1 index get exec 0 + 0 0 +% BBoxes 3 index get exec + -1000 -1000 1000 1000 +% -571.5 -742.5 571.5 742.5 + setcachedevice + CharProcs begin load exec end + end +} def +% +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +} bind def +% +end +/PSTricksDotFont exch definefont pop +% +%% end + +%%EndProcSet +%%BeginProcSet: pst-node.pro 0 0 +% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $ +%% +%% PostScript prologue for pst-node.tex. +%% Version 1.13, 2011/11/21. +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +/tx@NodeDict 400 dict def tx@NodeDict begin +tx@Dict begin % from main pstricks dict + /T /translate load def + /CP /currentpoint load def +end +/NewNode { % on stack: { x y } boolean N@name type InitXnode + gsave + NodeScale % a bugfix for xelatex, it's empty for dvips + /next exch def % { x y } boolean N@name type + dict dup % { x y } boolean N@name dict dict + 3 1 roll def % { x y } boolean dict N@name dict def + exch { dup 3 1 roll def } if % { x y } dict boolean + begin % { x y } dict begin + tx@Dict begin + STV CP T exec % set scaling + end + /NodeMtrx CM def % save CM + next % InitXNode + end + grestore +} def +% +/InitPnode { + /Y ED /X ED + /NodePos { NodeSep Cos mul NodeSep Sin mul } def +} def +% +/InitCnode { + /r ED /Y ED /X ED + /NodePos { NodeSep r add dup Cos mul exch Sin mul } def +} def +% +/GetRnodePos { + Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse + Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse + dx Sin mul abs dy + Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse +} def +% +/InitRnode { + /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED + /NodePos { GetRnodePos } def +} def +% +/DiaNodePos { + w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup + Cos mul exch Sin mul +} def +% +/TriNodePos { + Sin s lt + { d NodeSep sub dup Cos mul Sin Div exch } + { w h mul w Sin mul h Cos abs mul add Div + NodeSep add dup Cos mul exch Sin mul + } ifelse +} def +% +/InitTriNode { + sub 2 div exch + 2 div exch + 2 copy T + 2 copy 4 index index /d ED + pop pop pop pop + -90 mul rotate + /NodeMtrx CM def + /X 0 def /Y 0 def + d sub abs neg /d ED + d add /h ED + 2 div h mul h d sub Div /w ED + /s d w Atan sin def + /NodePos { TriNodePos } def +} def +% +/OvalNodePos { + /ww w NodeSep add def + /hh h NodeSep add def + Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul +} def +% +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +% +/XYPos { + dup sin exch cos Do + /Cos ED /Sin ED /Dist ED + Cos 0 gt + { Dist Dist Sin mul Cos div } + { Cos 0 lt + { Dist neg Dist Sin mul Cos div neg } + { 0 Dist Sin mul } ifelse + } ifelse + Do +} def +% +/GetEdge { + dup 0 eq + { pop begin 1 0 NodeMtrx dtransform + CM idtransform + exch atan sub + dup + sin /Sin ED + cos /Cos ED + /NodeSep ED + NodePos NodeMtrx dtransform CM idtransform end } + { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse +} def +% +/AddOffset { + 1 index 0 eq + { pop pop } + { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse +} def +% +/GetEdgeA { + NodeSepA AngleA NodeA NodeSepTypeA GetEdge + OffsetA AngleA AddOffset + yA add /yA1 ED + xA add /xA1 ED +} def +% +/GetEdgeB { + NodeSepB AngleB NodeB NodeSepTypeB GetEdge + OffsetB AngleB AddOffset + yB add /yB1 ED + xB add /xB1 ED +} def +% +/GetArmA { + ArmTypeA 0 eq + { /xA2 ArmA AngleA cos mul xA1 add def + /yA2 ArmA AngleA sin mul yA1 add def } + { ArmTypeA 1 eq {{exch}} {{}} ifelse + /Do ED + ArmA AngleA XYPos OffsetA AngleA AddOffset + yA add /yA2 ED + xA add /xA2 ED } ifelse +} def +% +/GetArmB { + ArmTypeB 0 eq + { /xB2 ArmB AngleB cos mul xB1 add def + /yB2 ArmB AngleB sin mul yB1 add def } + { ArmTypeB 1 eq {{exch}} {{}} ifelse + /Do ED + ArmB AngleB XYPos OffsetB AngleB AddOffset + yB add /yB2 ED + xB add /xB2 ED } ifelse +} def +% +/InitNC { + /b ED /a ED % second and first node + /NodeSepTypeB ED /NodeSepTypeA ED + /NodeSepB ED /NodeSepA ED + /OffsetB ED /OffsetA ED + tx@NodeDict a known tx@NodeDict b known and dup { + /NodeA a load def + /NodeB b load def + NodeA GetCenter /yA ED /xA ED + NodeB GetCenter /yB ED /xB ED } if +} def +% +/LPutLine { + 4 copy + 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED + 1 t sub mul + 3 1 roll 1 t sub mul + 4 1 roll t mul add /Y ED + t mul add /X ED +} def +% +/LPutLines { + mark LPutVar counttomark 2 div 1 sub /n ED +% t floor dup n gt + t floor dup n ge % to allow npos<= hv 2008-08-14 + { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse + cvi 2 mul { pop } repeat + LPutLine + cleartomark +} def +% +/BezierMidpoint { + /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED + /cx x1 x0 sub 3 mul def + /cy y1 y0 sub 3 mul def + /bx x2 x1 sub 3 mul cx sub def + /by y2 y1 sub 3 mul cy sub def + /ax x3 x0 sub cx sub bx sub def + /ay y3 y0 sub cy sub by sub def + ax t 3 exp mul bx t t mul mul add + cx t mul add x0 add ay t 3 exp mul + by t t mul mul add cy t mul add + y0 add 3 ay t t mul mul mul 2 + by t mul mul add cy add 3 ax t t mul mul mul + 2 bx t mul mul add cx add atan /NAngle ED + /Y ED /X ED +} def +% +/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def +} def +/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def +/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit +} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd +} def +/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def +} def +/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def +/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { +exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark +VPosEnd } def +/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 +roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx +def grestore exec /LPutVar /SaveLPutVar load def } def +/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def +GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { +LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { +LPutVar VPutLine } def LPutVar } def +% +/NCLine { + NCCoor + tx@Dict begin + ArrowA CP 4 2 roll + ArrowB + lineto pop pop + end +} def +% +/NCLines { + false NArray + n 0 eq + { NCLine } + { 2 copy yA sub exch xA sub Atan /AngleA ED + n 2 mul dup index exch index yB sub exch xB sub + Atan /AngleB ED + GetEdgeA GetEdgeB + /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def + mark LPutVar + tx@Dict begin false Line end + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def + } ifelse +} def +% +/NCCurve { + GetEdgeA + GetEdgeB + xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 +roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA +GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict +begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] +cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines +} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def +% +/NCAngles { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform pop + xB2 yB2 mtrx transform exch pop + mtrx itransform + /y0 ED /x0 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def } def +% +/NCAngle { + GetEdgeA GetEdgeB GetArmB + /mtrx AngleA matrix rotate def + xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform + /y0 ED /x0 ED + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA1 yA1 + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCBar { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx itransform pop + xB2 yB2 mtrx itransform pop + sub dup 0 mtrx transform + 3 -1 roll 0 gt + { /yB2 exch yB2 add def /xB2 exch xB2 add def } + { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCDiag { + /lineAngle ED + GetEdgeA GetEdgeB GetArmA GetArmB mark + lineAngle abs 0 gt { + /xTemp xA2 10 add def + /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def + /dY1 yTemp yA2 sub def + /dX1 xTemp xA2 sub def + /dY2 yB2 yB1 sub def + /dX2 xB2 xB1 sub def + dX1 abs 0.01 lt { + /m2 dY2 dX2 div def + /xB2 xA2 def + /yB2 xA2 xB1 sub m2 mul yB1 add def + }{ + dX2 abs 0.01 lt { + /m1 dY1 dX1 div def + /xB2 xB1 def + /yB2 xB1 xA2 sub m1 mul yA2 add def + }{% + /m1 dY1 dX1 div def + /m2 dY2 dX2 div def + /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def + /yB2 xB2 xA2 sub m1 mul yA2 add def + } ifelse + } ifelse + } if + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetEdgeB GetArmA GetArmB mark +% ArmB 0 ne { xB1 yB1 } if +% xB2 yB2 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCDiagg { + /lineAngle ED + GetEdgeA GetArmA + lineAngle abs 0 gt + { lineAngle } + { yB yA2 sub xB xA2 sub Atan 180 add } ifelse + /AngleB ED + GetEdgeB mark + lineAngle abs 0 gt { + /dY2 yA2 yA1 sub def + /dX2 xA2 xA1 sub def + lineAngle abs 90 eq { + /m2 dY2 dX2 div def + /yA2 xB xA2 sub m2 mul yA2 add def + /xA2 xB def + }{ + /m1 lineAngle dup sin exch cos div def % tan alpha + dX2 abs 0.01 lt { + /yA2 xA1 xB sub m1 mul yB add def + /xA2 xA1 def + }{% + /m2 dY2 dX2 div def + /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def + /yA2 xA2 xB sub m1 mul yB add def + } ifelse + } ifelse + } if + xB1 yB1 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetArmA +% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED +% GetEdgeB +% mark +% xB1 yB1 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCLoop { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED + /xB3 xB2 yB2 mtrx transform pop def + xB3 yA3 mtrx itransform /yB3 ED /xB3 ED + xA3 yA3 mtrx itransform /yA3 ED /xA3 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +% DG/SR modification begin - May 9, 1997 - Patch 1 +%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r +%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add +%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 +%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED +% +/NCCircle { + NodeSepA 0 NodeA 0 GetEdge pop + 2 div dup 2 exp r r mul sub abs sqrt + atan 2 mul /a ED + r AngleA 90 add PtoC yA add exch xA add + exch 2 copy + /LPutVar [ 4 2 roll r AngleA ] cvx def + /LPutPos { + LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC + 3 -1 roll add + /Y ED add /X ED /NAngle ED +% DG/SR modification end + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def + r AngleA 90 sub a add AngleA 270 add a sub + tx@Dict begin + /angleB ED /angleA ED /r ED + /c 57.2957 r Div def + /y ED /x ED +} def +% +/NCBox { + /d ED /h ED + /AngleB yB yA sub xB xA sub Atan def + /AngleA AngleB 180 add def + GetEdgeA GetEdgeB + /dx d AngleB sin mul def + /dy d AngleB cos mul neg def + /hx h AngleB sin mul neg def + /hy h AngleB cos mul def + /LPutVar [ + xA1 hx add yA1 hy add xB1 hx add yB1 hy add + xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def + /LPutPos { LPutLines } def + /HPutPos { xB yB xA yA LPutLine } def + /VPutPos { HPutPos } def + mark + LPutVar tx@Dict begin false Polygon end +} def +% +/NCArcBox { + /l ED neg /d ED /h ED /a ED + /AngleA yB yA sub xB xA sub Atan def + /AngleB AngleA 180 add def + /tA AngleA a sub 90 add def + /tB tA a 2 mul add def + /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def + /x0 xA r tA cos mul add def + /y0 yA r tA sin mul add def + /c 57.2958 r div def + /AngleA AngleA a sub 180 add def + /AngleB AngleB a add 180 add def + GetEdgeA GetEdgeB + /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def + /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def + l 0 eq { + x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn + }{ + x0 y0 translate + /tA AngleA l c mul add def + /tB AngleB l c mul sub def + 0 0 r h add tA tB arc r h add + AngleB PtoC r d add + AngleB PtoC 2 copy + 6 2 roll l arcto 4 { pop } repeat + r d add tB PtoC l arcto 4 { pop } repeat + 0 0 r d add tB tA arcn r d add + AngleA PtoC r h add + AngleA PtoC 2 copy 6 2 roll + l arcto 4 { pop } repeat + r h add tA PtoC l arcto 4 { pop } repeat + } ifelse + closepath + /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def + /LPutPos { + LPutVar /d ED /h ED + /AngleB ED /AngleA ED + /r ED /y0 ED /x0 ED + t 1 le { + r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC + }{t 2 lt { + /NAngle AngleB 180 add def r 2 t sub + h mul t 1 sub d mul add add AngleB PtoC + }{ + t 3 lt { + r d add AngleB 3 t sub mul AngleA 2 t sub + mul add dup 90 sub /NAngle ED PtoC + }{ + /NAngle AngleA 180 add def + r 4 t sub d mul t 3 sub h mul add add AngleA PtoC + } ifelse + } ifelse + } ifelse + y0 add /Y ED x0 add /X ED + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def +} def +% +/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB +sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 +ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB +w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos +{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } +{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } +def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin +/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def +% +/LPutCoor { + NAngle + tx@Dict begin /NAngle ED end + gsave + CM STV + CP Y sub neg exch X sub neg exch moveto + setmatrix CP + grestore +} def +% +/LPut { + tx@NodeDict /LPutPos known + { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse + LPutCoor +} def +% +/HPutAdjust { + Sin Cos mul 0 eq + { 0 } + { d Cos mul Sin div flag not { neg } if + h Cos mul Sin div flag { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { r add neg }{ l add } ifelse + X add /X ED +} def +% +/VPutAdjust { + Sin Cos mul + 0 eq + { 0 } + { l Sin mul Cos div flag { neg } if + r Sin mul Cos div flag not { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { d add } { h add neg } ifelse + Y add /Y ED +} def +% +% +end +% +% END pst-node.pro + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +TeXDict begin @defspecial + + /landplus90 true store + +@fedspecial end +%%BeginFont: SkakNew-Figurine +%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003 +%%CreationDate: Mon Feb 02 15:14:46 2009 +%%VMusage: 120000 150000 +11 dict begin +/FontInfo 15 dict dup begin +/version (001.003) readonly def +/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def +/FullName (SkakNew-Figurine) readonly def +/FamilyName (SkakNew-Figurine) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Weight (Regular) readonly def +end readonly def +/FontName /SkakNew-Figurine def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 78 /N put +dup 88 /X put +readonly def +/PaintType 0 def +/FontType 1 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox {0 -114 1241 842} readonly def +currentdict end +currentfile eexec +D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 +1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 +204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 +429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 +FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 +C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691 +6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9 +5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716 +C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0 +DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98 +218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549 +1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8 +7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563 +F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F +401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39 +B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD +9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88 +68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC +067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB +3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E +E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510 +6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA +AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90 +A73760A26EA9F28C74DA6FD1AEE7BD8F21404F8FC3215606F8E3838371563F7C +27C0833ED579C89FF32E4F2275FE27F5E70B4B6D62EBB0E0E26724A5B882D939 +13C29A0FE8B6823CF7E0FD24EAFEE0B17FD81119F9E9E730F889E0E6A6BF83C4 +C3AB5B3335202013A4C07D71EDCB645D75EBE01B6D98DF536ABDCEDFCFE0C622 +333D69C242E78C42BDC2E33ABEAC4122F4596B941EEE41F2B753588999185585 +F81C9AEDA32A0BD44F9524B9507F56322B2F69125FA7879FE893379DB4E9B623 +4A4284E77EC96EB41BD5014C4D2C952C8B879ECDD46A7D6F765AF5CFDC63EB48 +F3F635F1FD8DA05FBEDB7792CC93AE900A7E6D0D5E651DB84901133618EF2A2E +0171B1265CD7728C0BE06A039942CFBCE56565997574AAB2E4D872A51D8BF02B +8C9FF495D51DA88E25C017DA0BCFD68F818DBC70C21B0D1A5BFAA10D703FD9EA +70DB8A6D0713921E6A9F06D18EB8C923D578B49B56B957F2829078137A1654D7 +07092331189B3832622448CAEA135A077CEEFD9F115DBCF8F8EFD10A7E9ACED8 +465CAAB3C01D7DA2DA499E4356F15DC5F39D92C89652D2076DA4156E2F6FF1CC +CD25F6103A1ADA4D804AF9713EDC2E735305BF84268AC987D25E618FF5830ABC +664C7D24F5BE04A94B10508F995F25551F09DDE397411C32DFE1DE7BB4B362EE +F0E89BCC857F6A90A2E16A87B235EA5F907D242886828533DE028CAF26599169 +51786065E65083F6E7998D450209A662EBBE0F47FE9F857830D0A53FB713BD10 +1F617F1534AC91EF42C29F809333A085CF82E28FD4C4CE70E005C968FA255598 +FB48DCDB10D59E0BDEA6E48DB2DC38A73D7DDA26E4DC6C20D789C9DE0FD07DBE +77C505C5481790BE351E82B2E71797BC63C4FD2E5A3D2200FC869C8731D1C4D4 +52927DB2FB6A9A9D94E5A9B82386BD671317D335068F327B80A76B76821197ED +7477E1A0F3E825319F38B5B19D8D4254A568404F573503A98486EA3FE9D90B49 +B8FB9A14C78C398FEE336C6C06D26094253CB3C05DE94D479246F98955525E5B +D396DB0463D820EFE630E45FDE82A1AEC969005BBBECF953A4E4D36FEA40774E +257696BA1AA6893D8F50A739291882B49D194AA6CB52B6A9A5A0BA572D888611 +1D820E39A37484CB2F59442267F69CE3A98AA183B301EF970EFE0CBA542946D2 +B9A3376F2EDC866218B68FB3B04F95DAA1414BB2044863226EFBA073668EB743 +D77E06DF99647DBDCCD31821EB3FAF7FE8492230D69863CBA258F0E0AB8D706E +32C3D545CFED4D6B3EC8D75B6D44B0CBD3D101217C9188711C50D7F96001B86D +A6FDFD52372F09F7D4F9AD059B4C16E96F4E4B7956D7BC1A5202FCCD97F69580 +EAE80A741927F939513C39258BEBC1336F60F2F9E1BB946CCB222BB5F7923A0E +54AB540082DD231B11E1F262EBAEA0E01E90D212BF3CBA3CBEED477CB1823C4E +B98F9D1D10B4E036AD5E21504A2B9257C6A0183F194E9C048CB520DED328F39F +5BC23801CB9668D693FBA408A32D9FA99A47FB3B29D8 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMMI10 +%!PS-AdobeFont-1.0: CMMI10 003.002 +%%Title: CMMI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup +/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI10 def +/FontBBox {-32 -250 1048 750 }readonly def +/UniqueID 5087385 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI10.) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 60 /less put +dup 62 /greater put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2 +1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C +7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B +0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085 +EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37 +404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133 +78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF +A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE +88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4 +C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC +BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88 +98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760 +E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44 +143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3 +981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490 +88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285 +4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683 +FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F +347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F +FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB +C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04 +B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733 +F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA +29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66 +36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12 +048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0 +80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C +9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B +75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E +4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC +74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B +D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355 +E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097 +EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D +543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883 +710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6 +EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F +7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93 +03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2 +01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89 +500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F +F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208 +AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE +1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915 +85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C +4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1 +6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F +55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18 +085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02 +BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951 +2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D +CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E +BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E +D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1 +991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125 +6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754 +E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80 +E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1 +B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3 +4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65 +1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB +B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7 +8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA +FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6 +AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E +BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051 +E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD +38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3 +7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751 +2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27 +DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D +22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6 +8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB +44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90 +D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A +42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF +C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E +0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE +66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6 +E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1 +6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E +1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10 +B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B +897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E +EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40 +A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3 +F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA +A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126 +2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6 +51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3 +598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F +87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE +178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6 +4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78 +7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6 +AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6 +3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379 +337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547 +C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5 +DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA +7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD +6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC +98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355 +821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4 +C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886 +7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6 +B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16 +A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325 +23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF +C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3 +969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10 +3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B +9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725 +1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239 +B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966 +95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7 +FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE +44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986 +FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4 +E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA +633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D +6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F +FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD +375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2 +6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7 +EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C +E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D +F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156 +DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891 +D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538 +D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4 +9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B +9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6 +B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0 +D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF +8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93 +FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26 +B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F +00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50 +909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49 +5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF +7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA +BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0 +C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1 +BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37 +BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D +4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075 +94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1 +F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9 +E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA +92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0 +63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A +CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271 +B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9 +5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E +86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0 +AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180 +3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC +35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD +155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580 +AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255 +E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F +226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496 +9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B +8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B +919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE +A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7 +9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0 +523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7 +88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D +2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF +AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66 +B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D9173633D9B50449E0 +F9026E7A4CC1A3694D6C030E5AE53C0DAAF90B0046E22E14FF2787AC8194C42A +4B8846856AFE4CA20940A4E53896A851344E2E5538B9550721332077A972C793 +89CE532A20FA4A52F80B5D7EE0FF0915523A98E98B71B8ABB4D7F35DA6C05364 +A8B3D5DA9B1716C5C4D4402847C5A9BDA2F668709D51041BD566B7E1E675DCEC +1AF4BD172F05A73329FBB30BC7D1D7EC85FEAF5CF1ED6BE70F7526E115381BF2 +47D955C5032404DA2FD82824C73F530E15E157EF023A2D9B50F4516A611B3F99 +3803C6EFE49E08AE983B4D15CE6699B5111C0A45913DE61EAC437709143AF4ED +0D5136428AEEEF3776F9BA48212963150132D63DB4098AC124EE86C3AC7138AF +B90A504A1E15524BA2662D7E0FFD6377FF7CAA3B6113DAB8AF64837C4A99D99E +A499EC597828133A4C6421E0707E7E978C9B2A459620D0CB189775816D1421C1 +87110675A765C25DC2FB607ECCD8C53F705B406932F41A9DFE08 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTI10 +%!PS-AdobeFont-1.0: CMTI10 003.002 +%%Title: CMTI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup +/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI10 def +/FontBBox {-35 -250 1124 750 }readonly def +/UniqueID 5000828 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def +/FullName (CMTI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 110 /n put +dup 111 /o put +dup 116 /t put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E +2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A +EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD +8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF +CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 +7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC +32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 +482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF +118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 +1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC +C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA +8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 +61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 +C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 +3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 +9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A +D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 +125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 +34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A +30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 +39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 +9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 +2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF +0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 +3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D +9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 +802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 +FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 +98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 +5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF +AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD +A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 +5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 +DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 +4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC +8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B +A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 +E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F +42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 +3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 +A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F +7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 +49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 +D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C +0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 +CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 +1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB +8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 +6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 +83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 +60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 +42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 +1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A +21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA +206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 +D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 +7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B +55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 +6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 +4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 +871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E +9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 +DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 +41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 +2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F +220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 +A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D +981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F +337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 +139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B +1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC +100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A +1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 +F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB +72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 +A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D +310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 +7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 +1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 +8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 +80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 +3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C +C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 +4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB +865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B +301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 +3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 +1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B +E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 +0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 +30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E +2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 +C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 +14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A +44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC +CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 +DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 +9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 +4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 +2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 +21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 +47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 +F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 +D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F +03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 +886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 +352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD +9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 +9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 +92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F +821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 +3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 +47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 +F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B +9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 +AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 +C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 +B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED +D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD +F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E +81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 +970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C +6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 +97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 +A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE +AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 +971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 +514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 +8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C +392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 +3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F +464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE +C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E +F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 +911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 +261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED +D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA +147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D +C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 +C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB +61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD +FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 +F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C +2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C +7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 +11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C +9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 +C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 +1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 +5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 +6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 +EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E +F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 +AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D +8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 +376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 +B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B +02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 +4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF +9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD +751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 +3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A +40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 +2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 +D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A +0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E +8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 +AFFD0B2B724EF0F28393F3DEFD59E05F83ED622EF1906B1A24A599C58E9CB8EA +E9A28325A5DD621EDB3642FC06FFB416FB3029ADCFE5D7D23192C650FCD7D1F8 +ED7AEDC7166E26191B12F8E56F060D2D08D41E533813A8D64E5B7F2F151EC8E7 +E2333ACD6F78ACA804CD809616BE4342A5047C07E7421CCFAFA7B057B6F5A801 +21254E447FB15A8D020E976D8544D374B3A5974A7F194FDB147A2350923DDABE +457B7AA8A2D05B2B993D1E3D64D048CEB465BDDB93249897B7470D7885E09640 +0C493522A4B260106698DC076B24ED70A29B29ACAD8E0976BC0C4C647716BD75 +A008490BD634504BD01639C0260C04DF791FFA51D5BD6DB0B4881071E7BEA3B3 +B457217E778ABF7E5CDFFE6E0408A8414C68F7BB0D5E2DFD34798763D6EC004D +0C5E1CD575A379579F80E0036A8D3CE7C9A033D993567AF9959567FF8FC473C2 +A2545ED18E039847BD1FEBA958F0C9E5CEBFBC3EA8301823629A588F77AFABB6 +5309BAEF9A4E762A1C56434E83FD96ADF1129585E409D3148E4BF724A0E0FB52 +8655FC71A34655C85F6D8A0CA2801A97547AA83ADF8C829D0392B985C9F2D60F +8105103B2EB1600189CD93ECAB2449CEBC5D364576B73EB26E8EC760AD31848F +065DDEC8D51DB284D7395A719237CF2262946EA7A90DBF818272ABD8799DAD3D +98FA7ED773708399D198399306D44717CCBF6030C5B68A5FA420B0132974120B +D9C8A6FA8D096854AFBD4DF4E9188CA4D9CD3AFD65DA452D7B642DFA305F8627 +2ED7406E4E11D522C3B700C1C5D51131D6A8813D89CBDC469AABB4E8EC4A5649 +EA75095BEDED116B9CA61D884285A326F1527686A507912D8B44333032BB168D +58A2B5532A76142B3B7F2157D17E70FC65BEC4A9DF1830F40A19FDF862001A66 +EF30F571470D58962352EBBEA70134564F6BFA8D0D3E5738875018EA87587137 +990C1F817EEBC1C5EE77F4001F9B9AE40ECAB505BC87EB382E6D7D1328E391B5 +6925F46E63D26EA1539FC422C4E7C70D6F8B3EC291709E3E38E4BF8A613D5973 +FBF6EEA30CFCD0EADA75E9C148EA563A0EA36DBC72D99E72D3EC18EC +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSSI10 +%!PS-AdobeFont-1.0: CMSSI10 003.002 +%%Title: CMSSI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSSI10 known{/CMSSI10 findfont dup/UniqueID known{dup +/UniqueID get 5000810 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSSI10 def +/FontBBox {-97 -250 1077 759 }readonly def +/UniqueID 5000810 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSI10.) readonly def +/FullName (CMSSI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -12 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 44 /comma put +dup 45 /hyphen put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 53 /five put +dup 56 /eight put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 69 /E put +dup 70 /F put +dup 75 /K put +dup 78 /N put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7E94DF619E5D4CC604 +78288A019B254A5A0A8E2D5ED465C9DB3CFEF0F444DA2A7DB2022495EA1B3FF8 +BA3E769C503BAC77336BAAEFA8F7B4BCF9BD63253ABE621C7C696DDD22E0EDDE +ABDE1706338BB5F604B4F42356E2A96751B8EAF1112A1BE30B618E7F7BAA96CC +A264B5EA7138FD007E2CBE19B1F008AE13B47252D2956A06299FB28035624C39 +08E9E5A4BC08DADE08861DB9940F6F0FA67E97E9A73C9F41525E865D0BF68F8B +6D48D1595EB69B3FF78F5F4B18470370BA219A010F9B5EA904289205DF20C7EC +91A2B866BA05251BD3D00FE5229CE2D2F220B6E25DA5B3C0EAC68979BB312E2C +532264814FF214CBD46C8B9C8E45878C9E28FF334C5CC7DF9D378EA5A37986DF +0450E2D5645371B8C577C28A008AB7A702E89FF337A17D05AFB0FDC55856AB3D +FFF997FF51AAD70FED81A5D307FFBE26E862070E361DDF6D162934B7852D2FC2 +F3FE611F218E28CE0B964BE311E59D8729C7C0FC2B2D5781F73C87D64E6388D1 +D7798FE70E74E76368174F5E055FB8CDA3809536768B0E6028826436C7E6454E +895EB7E435FF8AA342BDAD46A2C7BE5FEC83B8AD16F2C773F55F58870E70F2D4 +FFCA12D89B06A706CC204383C0238C17EFD01E0118FA4CB77681CB7260BBACE8 +30C8E7B16669700F884F234C36EE9694841EDD4FE5644949AA28AE2745FACFDC +CFEF1590F99B0DE494BB0851205DF4E7F2EB88CFF794DFA7958F6EC9197021DC +D4C3590B2729779345143AF6C349CBD2F17AEDDDC23AA8F0998C27170C44FE2F +163C1E2FC314C6CE27D6CB497C3A12F6D10B92D699E1578C23B5D9A907EEA297 +4BF7D5C4ADFACA310E61EBE5655745FDCC48B661CC2D3EC016A87632AE410B69 +C2B98B87D3F46491EE8611E31CE17843B05C05924FA42FBAD7687003C14599DB +08D72670855271EA55082BBF6AC146D452C1531338138D9AAC7E4D2F0CA1FDAD +11E4CB830A9F38A83999F6F0ED15D12FA631B8604D4E3018E625C8BABD8E1075 +93F5E17CAD3CADA2210088E71C02CC6654DB4E12F8C2B6B7EADE37E52FAD3FD5 +83E45B62FC9B573A6068EF3B43856CD4B6C3E096BA93728B05AEE2BB96C60AEF +58214FD24DEFA63E3FA299289B211A57E4B0CE9EB58414FB78E20151BCED3F4A +9AE6B1D7ED559B3B619385AA8496D6F56D2B353E4B1BCCFA0A50247E283B1540 +4300E1119F710664ED5DECAAE9087B8C0CBA63F3FA09F217757B8448D13648BD +D16FEAB50D245C198EDF27C8628CC7BD02385EEB04AF8F4C76308BEF4D640C8D +6F2FDA7BED98F1498CEB1226F009BFAF6425265EC0D13FCACF4909B7495F4211 +BA32B04A3B0BCBAC89D6A9088C47C47B4BAC36FB59D9B5D73B2E9E926A9DD183 +1AE00AC58E9485379FC6DA119EEA3F6E478F22B60A464F192B2F43379407D4A8 +795073B4309C27D8E945468055493D0204B4A57C39CFDC951A04E0288775FCFB +DE3993852671BE697999C9831A33CADEA75B369C179EB8A807CFEEA5CD97BC55 +1B0EE49DCC4B6BF4137124123626A5C91603B01B4E0AC759526C129F6AC5BE74 +B77B4E431B596E29C17BCCD1CE8279E9C00DF7557AB25770FC9B02762D7EF141 +84FFB4730BB8451A485F784A34647741D9B8D2127D158283E01B38BDC39BFA8D +EAE249871ADB347827989E11FAC23F76C2389F8E883B01FFD1EA4968B44D1B1D +760A1FC8F79B50385D8327D6A6381923BE9A2FB8AB0CC6ACAAF5C7701C8F7BDC +81424F63D2CB312235AADD050FC4B71448EE02B7B25C82B6BFB070261919DC1E +32F5E6DD4C38691581D472C254BAF83D7F568016B5AFAEC895187E88AA4D05C8 +FEBB3AEBC348AAB84907BC4D85C1F888ECAA5ED2714598384D7369F5FBA0B92B +ACA0B6BCD2D22F9F10B27FBF11A8AF204794CED402A3597D2D469A99CE64BF1C +9242867251B8EFEC0001A1ED0F470A4346BCD9DA22C005A079EE1DE3E33970FE +56620C318D2FD3DD9DFBB773B4FEA7FEECEA9FA1923AD4B2F49DAFEF48E1C529 +DBE9EC77299E02DEA39C7B91F9E4F6D68EB224F4555F53E66CD00326CCB5FBAE +70243CDD407BE63DF7BB85E70A99F8B58BEC1562C290D8E50666E1E4EAA484DD +487C567B7BBFEED34A65A6407E3D8925E3C667AF40DB0EFBAE2C07EBE60A83DD +C1A02842861C994C4D314A87986CC94EE74DD4E29AA9E70F393CF956D3BE586B +AC618055571DE00541BA60D022DB49CB62C13FFCB3932DFBFD2D52C8F0C72F1E +9337D95767E376B80AB35264405CC5C385ED6DC9F95535E00C5252DE66961AFC +BC7C83ABFCFD5E0A055E37E7D261A19039D47EE792CA30EA673F80C48C0EEB20 +DB21686ABD169A45DB94E35FF086C9946F51409E9E0836041081B04F861838C1 +87157DB76A983928BB4122798551318EEB70A32C11A412FD56B7805BDA93AFCD +B11D35FE799224AE30C3BD09D971AC651D06184FCE45D898D09685009DA35EC9 +CAB63751F8241297562AE2FEB577AB074D36381B0E5FC0DD5572E3A3079B166F +56C42FBE6147FBDC7EC2ECF6380A70F87D1E44CFD02A70BB3AF4BD9D350C7B21 +5DDFD4FE288F0D9EB2FF4C24612FA759B41D0854C04163DC973570B974BAD7B7 +BF766AD59D543E808E8F56F831472ECFEECFA7BEA74CBCCB025AB04079AE0838 +75852BDC83E1D723824761459DA6A8920A27282043C38BDDB43157A70D552072 +400E84CED5FDFDA0F09DF94431956F304F6E92F3DE5F99874F995B467E2038A3 +B9C787E650C4A31B2FEFF078BCAC93ACA5816F5DC3FCE322C9DDB15E34856182 +BA15F2D56FF4E91573BD2D8B34767974BE928F10EDB3525C2B259F320DF99B88 +87801826F2B6AAB2C178270B27730496C44CC83C8036EE6D7D33D6D4C0D871A3 +62B7BBC8D8A4E86AEB2CAE76CC7B091B7DF5516EEF043C7D2727FE569B2E28FF +F6BCC6FD3696A85CF5ED26571BFD346494CD6C0974BDE257EDD4A2C53C70FA89 +C81F9D32F5CCBAB39A7C00A1BE116FA1254F291AD26C1DE4CBA27BC03C5E5561 +8E960A7169F86C0DF884419ECAC607FA82B00CE0B41F7696B2C384582AF6A986 +5A9FF800D3A1F4B6C2524F1A4300B9FCDAE2C2050B9882BE4F512FF539FA6BE4 +C9577484EB323E7BFA5BDF628875A3634214B14947F7C16541CCE359F72A0E27 +C0DB4CCD1653693F7D0BA68D02D5A61AB516173E794BBE4C2C3F34ED9C33BE3C +4A9E20A687498DA1DF7BCB1F6C595B90A5730A10070A54180318A1BD01844585 +E78C6EA28EEACCDCB49F1CAF1D21EE97B1DF74523291FCE2ABFE2C000E8F061A +7CAEA494183B9261307CEAC6CD13B362130AE56A651DFACBBE7A6F6747CB61BF +F94BF393769F2A1BD493E1E6502A3507416984FE0F7E509D901A106B857E2448 +7284E7ECC2D316EC1C54EE4FD7DC9972DE33B46356E414C92CF8DF9E472F7FE6 +7404362C8DFF6BE223B8886503A83A83348F7E9F88726CE068C904D45496494C +641E4443D9474344508ABACF3FF3424383D79A8BDFE6E9D9138E660EB3FFCDCF +8F4E01B24B3070E8B480064D946D0D200F4468EDDF7BDE9D3DAFF03B6D8165F4 +0CCB584D542D40DC72554A7597A19EFF3BD72B8520EA71A51048F15E2CA53F3B +C3432278CC19751B38AEB52534BE6CD9BBD489444D313F8C78C2C252AB25AE6A +5EC7D05F3FC21202C4B30A7FF9E1BDC6AE3F6B39B1E09F65E95292FBB1915D20 +44D7212A60408FC0F5A2E957BCEBE93DDDAD35D05D23F7E58A3602FB3FC1D431 +754A3A21F181C437437D7A22C402DC82275DE903E256979985B6E794B459FEFB +393317FE573DAA5416AC52AED36AE9E79040097E2BAF6A0C6CB68C346E4EB059 +5E8A6AA1C751CA4A4094257C39ED48FE4414BE73B4E0BF6394FAC05CEEFD1C3A +F5F5233CEB4625752057789ADF113E1E2F77F5B471A0AAA761AEB46CF37C2360 +E701B0DCAE13D4583D8DA516BE2E264230DEEE5053AED15368B6CD81DB761A49 +9987A07FC48E1EC246D04D80D86B32F7A093AA23B769B0DBC554EE48DA202C28 +55847E3D36D80B7C8E779DFE6EAFE3EB35811A1EF80DC639195D5810D90B4DB9 +6BABF8F4468AD92939567DEB43BB00CADB46964B73AE13ECC82C3A57A63A23A9 +92A46206C70B027CE34FB81E6919828462F8C2166AEBE9663259CE5D4CD8084A +8BA479CDB203F1B0C3579B3E0B8B8E7AA616D798970A11423C391C25EAD95351 +A46A856512518A92C7693B42BE92C2E375047E9DF8620B624AF8DCF2836FB1BA +801C822472AAF5AAA719038D3B53D0AE481753F2EC689394CFF9A911C42BE535 +C5B4A187712D487C63A0C8607D67D1DBD0EE766B526184768A93416366B2CCF6 +364F2D24B44021D0935CAEA289B120A613378399B53E2B50C11F67B7DC4BB1E5 +861D745B7FA3C7906AD591765884FA7D746A19EF86C30309DE0F43D4747EA290 +8E3C68BAF4D5F4C0C4E08DCA301E46AE3A0141A58074BA2EBBAD8B3F326C240E +ABE33FA5AC689444E7E04B78C29E49D3A128567D08E712C5EC42EC1BD3D95E19 +5A7337B8AB2AA410EF1C0EB31D5766575340016CE477CBA3478FB68A98362C60 +18CDC9BA410A545AB339B2AAA2934222DA734F6A1AED9942B43B18BAF77FB63A +71059FA66EE04B76730B499FA022A52139BEFF9CA6CE3F9855C7706E3F804F6D +D622A6929D049F921079DF979F31828C31A73CA0238C0D2F11BE2FD68F2228EF +BDE9837348C10E9F08477F754F6343A39736386912D6BC865BE30D1862BACA23 +0DF2061049CDF9F894D73A549C10E7BE7790043F9A642E4676F9DE2B934A7F8A +7B0917DDF3255E6FE122D88DBD80252D0C1C8047A13F835E3FCFBFC0AA1D92CD +F1CAB8D1C673EBDC5601B84615F513E4D9FE1F8CBF2337C9FFCDDAC85B6922E0 +0BCB0DEF0FA647E6828DED2F5B20F227AF3A792C0C63AD888D7AF39B10171FB1 +A24840EDC55158FF3D8513C89F666A2DECB4AA4A1D46503919A4CFD911977DAE +4779F23271C23BDF14F4EF8352D9C66A7C24100C28CAD7BCD89E6E344EEE173F +CF8BD462E1C67F06D73A9085A2AD1EA3DFCD19EB5FE217406771B80C8A3EE798 +A4CBFAB9AA93672B8FC9D02014F7076FBB477A777867C6A6AF2E6FFE3CBF3917 +1E4F68BCED22EC345F87A92480F4568006BAC16A2DAB940CB9F3462D254614B7 +78ECD86F7C3B3A7DAF06DA2D790F353D9254133C38D668C38082D0CC1BDC226B +4A7EBB1460735A5CB04BCA4D71995483CDDC9EA7D3E070C00D5EA6DD4AB539E7 +E5C8E436656C99F30B3B464E5BA6CF7025E098C1FDED8B76260ACF62D1A08DB1 +F126517B05C47376D20C999565399B06CC686A817B226101AEE3644A706F3767 +372117607576BC2B9AD2637DD13C76F9CF2A356F1B9101496868EA8875C94C3B +D181936A02D5387D1C3C285F2DBEEA25457F6A74FF7E00449FA41878776C0DF7 +C58FE07009574AE6B457F3BDE448E71CD04AC7E3C22E0CC8AF56B8B5611C4014 +3CC20A39A5FA3D9F6A5599495BA0457109823CE71BAC2B7057AF826DC623213E +A6738E640DAECF08E69FE365741CFF8858337131B53A0AF9E49C3655F62E367E +DE824A37A5DA853E1DD5970EC07D3594A59DA1AA85D4FFE3E9E7745FA7FC7F2F +AFD4B9405C7907F383A5149D4DEACA083B457151CDCE3BA5F0C350945E8B92A1 +635239241B8FAF7704E3013EE5D21F421254F23194B537C36F8B673E70073189 +8B2DE6C30159232A2D054AB8254A450759ACE9C0B94DE035D9D6E5024E8AB56B +644A5C3EF00A5B2EAC0F89C5FE8D7DEB9BC817EF1F87C2BBD956AFE4DD4B50C3 +A3BA4931A32827E612DC3059E97069D3894234BAC0E9AA1DB7B7EEE7F97C648E +0B7E7012CA4977258733C72CE466A2EBA8F2B391BDB7652BC07C2343FC8A4B5F +7C6B926D1B751BFFC6FCFDFAB9CBFF6D630CFC8BF374DF4DFB4B0845237E1E0A +E2D044324B4F05C8C96970451C9348E8AA6F1153EAC8BA1C57FFA09B3A181CF1 +3EACE89F204BDBA7884FF6F90D1D0CB578DE1CDE56F526AB11F9DEC4FC09642C +A68C8F1DD2EFC7BB301279F474967B1B10DD7FBA6B09B95E7B4D34F66CAAE07B +F792BFE7755882FC790961FAD109A7C35258021DE25BB14410828F9122E01428 +D72EDC917C835553A30FBCAE5D067266A205DDD3AF3A4734371426968A7BF7C7 +9F48A5D91B596D765E15356F388E74D100B2243D230BFB33147BBCB298320930 +000670CB15B7EE9C787EC751621851C3BD5EA6E70FDE66C9834189A9B0D796C4 +1FA4179D594B7E8A39987A3DB806F337945A02DDD2B33D43F1E39FD20F41CA25 +BA3B5ECD3B32F961F4A98BE40604BF61732690F3C8B247C6E381AED4F277788E +223F8EBECE8CBA7F48801118966E39D4EEEE3F04B254A87EB21C2E4B00F15AE6 +F1E2E59DA6353A45BD0A5BF4B822D86E0E7237809C1F0129B83BA2DF82D5D54A +522697FD78DC73D8A75DC6BEE09FC523E5DDEA837BEDD90DEFCF214640DFD4E5 +477FD73B86A08885AC44CEE72F0E27AA63A901F2DCC7C42EC261EDD9699A278B +507ABA7BE7101057297C6A3D67C37D61CA4015E7A46C30202617F3585D719309 +7DFF48AF4FBDFC7DD9F66E9549B8B800DDFB2D8AD69B3C6D2C3410E982559191 +93498926825E6A96A2CB12F8FD15F858AA28E4F9A9D1457D7B9AB16D9B9D4D45 +8FD6853853DF5851C529D134CBE17C6B99A8286519535CC1368407909A5B3CF3 +C75B4F86A40BD2EAB1918F03D93A283EB119A8F63E346E7502F0CFD12369B2B0 +09A2AD610FD210E8CBAEF4C0498B0E53BF4EE1A00B0C067C113F88E5E000E6F4 +FACE37B09D72B4242CD320E4F72F5E123E5578ACC48F604124A0A45559E1DCD9 +B58D9EE14F3BC6B4452B9236F6A3CAD7FB7E7D5C949DF2875CE44537DBA8B1D4 +C7ECEB76F55EA06D56209E0BAC984AD37A459B6C45B4D7F8B84CA66BF274F1D8 +02BF247751733715BDCAFBD55854B0F436BCC787F66B44784838F56AA29F83B7 +7D46F0D88835E45159413BEDFEC525BDEDE44291003D313CD2268E240C2388DC +37380A430557D988332DF505B16CE488AF68C8F8626B7EA790121D6ACB87D94C +83418919E0CAF58E41A3E036DF13D13C6B107500902A747CD7D7BF12235A766C +00539129C31EA3E738733C4E443698673AAF4E9588AFAFBD00577721011A12BA +D556591A82E2739AC4234917DD7A850C05F595BD87E0F7719D42DCBD9D724C85 +520006A9069E1CB2557D2F97D7A0C54AB564DC62759F793D60A4760854AFB05B +AE445CB9131D0C14B6A6ADFE12DB225684D8254EFD295E7542031CCADC4B27E4 +F579C84F35DC502F17DAD24C1775F15F505888F0C3E0FD42357ED07FB5076E78 +E862016F7E5835CD5BAF87CECAC4BC92375B426E9512928E748E0328947B1844 +E251F3A6E99BAA5B97045D1ACA798296D0CCEC2044E59F32075BB7CB7C636BDE +755916CB59C802761A99B211EEB550EF9BC14AADC70818D0053993C9F299B3D5 +AB1427B463A4D76459385F036A95770A8157D225FB75B2C92CA39D1AE7411AD7 +19AB8DEAABDE9A2F7530B474CC7119E4335AE12A9CE84BA7FA92AD46D6A7AD54 +A676EF1B2B0F3A73E6FB24B20F9702ED522DB7BC30DD2212ED63C88128ED1FA3 +7B05D70B0BD95BC58F1330343EAD91AED48EB4252314CA3B7FF921B61E040858 +EB3F545F8A8ADD86FD770249BDAAD02613AD5A45C3997E33188E59E004E2255D +BDC14AFFD80F49365D5006821F2A4A2F801820D4D1DA9D11F02CA514EED93425 +742D97CC8F84E529FDE0BF4C6437A849A6630BD6760B31870D69C4C15EEA09E1 +831354F7C4A70C5F04DDB4B27952C3745B76EE5B168F047E59360CDD5D084D3D +BC8BA0C569C7DDE62033CE401D65C35DF34D2875D4E6E83E7854E73F44EDBADA +9368225C6160F4B0C4032A9800198C83EABDE656CFC1C1B65993D629A1BE0263 +41D83EDDCD589F05D1135AE5FDF759260CAA81FFA75E52E7721686F09ED30B6F +A7E3A8B23FD647A7156FC46A098835E130519E9B03D51BE72D93AFD1C8E26369 +1003E8DECAB113FB42AFEC3EB1B58E4D4C57DA6A7EFF05766E9640AD6221244D +863351C7E11AAE874D2C37B6AD9F9324344621662E0F626F85F2466C4DD58751 +8CF9D2ABFFE134E2281BEC8D06F7B41B1E46873EDDD6D5EE7953B988399A6C98 +57B8186F02ED58B05FA74B94FD084CB58F31EBFD5EBC64404C2DAEF49047078B +06C8A968F278BA7BCA00EA900B268D520162BD000C1F8359A11D488DCE3E1240 +72620E53A10E1A0B555FC30C8CC126593508297A962130FF121C9621988B5909 +B8DAA24AD638AF9C9E4B9A8A99F13E8E0E1A1C7666BA3372C3432B5BD650F404 +BA14C3E9EAF67AD47B14035E4555E73E38D51BE87D6819BBE989CAF6F7B670C5 +B0D37784AA64A2F9636175C36B9997A071BDD275850A4F13A09FF65D57BA71AC +87EA99A7C3C898D707553AA905E009F13662C2CCB8A22A4D6A236642F9EB8BF5 +65CFC666A8087C4B9D2B67E91911E03F9D9898B246E414AACB8CA8A22522A688 +2F513EE7D3DA11312A2B33128BDD0D9611564C99CDD4218B6097B1A8D527250E +D06D7A6E316CC400C43D101C708062E98B2E3E6F0C2B4843A7615CB8F7A62B41 +1B6E77C241BB03BCB2A0FDF5C777A91F0B28330E00E9D2C9BF34F9861C47C420 +B509E436C446CCEC37AE97A88E17EDFE1C1451E1F922E7D6BF1C07FCF5BA55E5 +086C44F64DC8CF01E5B7329985500E0843243FAE19FFC776DD40D3CDFD3F3F5E +380A603BE26E115F1581FA37FDBCBC3F74BE8B7481B377258AB9883A9FAF4AE0 +2BFB5505446BCA1A571E27A0D6DAAC312F7F5893A55D366E629237CD018458EA +ECD90980C2E25FF13A928153E48347A50DBC46E60BC23F2AB1A25255C7C43B56 +ACF69FE81D608DA6A4744E88A4E6B3BAD37085DCAC470CFF413429B3CB33647F +DE74E89C657FB6E95DFF863F70B0FB9C9AEA84AD4026907A4F2F1F5B73394E54 +5F24857D07F27C2B7F05565BF9B8227CCC870E578EDA8333B280CFAF6AB53FC5 +986EF9B3DDD2F97418526B89F3C166735F1E9FB8DCDF274326E41A9475789638 +29DB011B8508B09FF0D016ED1993382FD8B112AE89215955E34DC8117544FF86 +9BBEDFD821636C4666D5F85A6285B4F072A6B2BB39983E940AA149335E5CA57C +9227EFDCAC25D1389D048192A848E2B57A0DADBD54D759E24B73CF56A580C38F +6C0A41FD898F28B86A7E35F1D9C6301237C35828229C43A10D5C2F624EE80616 +CCD087884A919301754DB026DD7B5D0BF7F92FDD3663935D92716C0A6D73E432 +55E60BCF8E257E2B16BFE9BCEB5E1CADB082EFF5BC8362760F9DBF482AC53550 +DE8E7307CC94A17269F4E072C214C30965FF8001302A33A6682FF1B646E7FBD9 +82FF696174772548F04BF5703272CC5243915C0BA12E1E16A8A13FF1CD91832D +14EFEB996D87395BE57985614DD69A438F06D3EA35C1984FFB124253DF153BF8 +7A23E50A601A34E20EC2ED6060B4A305BFF150E99F8C1DFC5FD0B149AEA55338 +4CEAB0B7673B8B33D18E2BDD3BFDE7A0B0269645E99D74B913CA74225D35F3F0 +4B7B868BAA796203E6FC720E6CD5753ACCC84BE4A4693D83A216C3D2EBA24606 +EC2AA7D30ACEE8DB8724D14D4DA28FD3D0BC8CAE5F05E8F667308D5D291DC1A0 +6A04107B93A6F3BC4F5C43DD989CECCAE3C263F32E1D87BE884203FFF304CCFE +AB8D782E001263982E436750E53C5A21BE7B9F25D6B6CE178C529CD741BC14C6 +A9DD3CFBFBAAE1381BF375F622054AB84E487A9715EB718C09072EB43F173BEA +EE0A3D981DF89F3E2911C8D0180B2FB117022CD3BD2728FD7A2B210D22863741 +5B67D94A4512A6CBF00F451E27AED24BD1E94D2C33CC1F5BF10618840106C79C +0A70C547B6A739AA763B975C5AEEFAF3ED37DFCA33BEFBB6F17E8DE96E6E9D93 +DDAAF22A7F369F9564E688729112E25BE2C8952B496196705B72AE20FD65DC7C +177B4564AB3F5E2C0D744209BCDC6E7D732071C9EB9F35386C29174C110D3714 +00420597CE811D2A891F845029FAC350278A79641FC2E62D8EF85DC4DEAD6362 +0945B22B25EA8ADA8AF3CDC1B907510BC028EEDEAC9EC1048B64B576D3B95FBB +0864D96DBFE6408C5E680717A4C6D6BEC5D997699DEAD866315D28483F96CDAA +490643EEAB079C47836DA0BE6EB432467BA84AAB278888E0E3520072AD999759 +B3BB99066BCDDB347467C1185CDD9BE1B6EBBA0D1348D1F4E41A78FCDBA97AE8 +D0A3A4619754685259ED1F24CDC39E36651307384467D51D7E15707B8C0EE506 +1C9995949B334E4891E0107BFC45849AAD5D13CB0500106B9E35D30F4C201AC4 +6C7F64C49DFF7921BF765BA7A840F757C192A21986765CC69A0B8B5678BA03EC +06392E18756AFE81DCDCF2303EBC515E7314A2F030D6D5982E971B6E76B75553 +6EE103CAEC61923735BE23826E6188D2026B9BDE6D5EDCE539AABAEC01D390D7 +1036913A7D9149AA8B386999B5A78B7EF5315A0A07D6125CB2A3E0C6A6FCBD0B +627325730E613C31937DA670530780EEA08AECA730C1246DA651357B7E4CF808 +ECF5E9E2ECC28357E4F5857E21396BC04582D0CC7647049A830AEC277DA82E31 +FD28E305C18C408AF4C2EAAD1A780BC7165494EED0B109E7A61265441D0FF0BF +716E3A275DDAEC49579CEEE0CAF3C1BDD39DE0E958848550405962DE23E298F8 +EE78171374FB6D4ECC267AAE3A44E986CB5067958AEA67E2F5FAED6F3455395A +C9D57CDAC571B5225619FBC801C322004589CB676D04CE4003E534FC74AA77FF +1A400A6888EE3A1F395D31CDC412C39B27A758835DA380D319A7C4586FA682DE +4C2C311F3CFA0AB281D2298B97053039AADA6136ACBD090582D552F7E5DC2335 +2F3920C0B7AE12AEFEF44EBE0E5C46F1C8723DEC22F8D4A4081C88105D41D305 +99F11751E1CDE4F9A4FD1DC5F46620B18ACF5273A0556B046C2CDF9272A6B093 +9EDC8F4A07457095C29D741DA644540C97C8CD4DD6422931A875B7D508ADE031 +30AE4E53B076358780D154B8DEC44CD4634415BD6F6A5ED4FB67B6C8BFE46E04 +0825E942E3372DC12364DC4258D4581A53C84F7B40FB8C2AB487C40C076FB2E0 +2119C09604DA55D04A3CD71A64FE3CC40630FCF4526CD23D9209C38A63CEB5DC +5A38AB584937F75DEC7849C7B87B986D2557EEC20A621101055EA371E13B0F44 +695CBC4E1399DDC577E9B254F10144357C88F1F6FA97B2E7C589BFC16A4EED08 +85B17967429FDCDC16A22EF656935BB2C5AD7C1F7730EE9CAAFDDC680A876555 +0039AB74B913EDCA4B4847C9EC328BEEA65BB634FA3CB8A830E3D244C25ECADA +9C3F7B64242779AC2CB12A43A90994D3233D447EE89AA1439FEA5A924AB77B15 +0321BC42C8129FDA3AB471AA002F9EC629E0E59D792A6EC43C7DC815C83BD7B3 +E8859C3CF707C700300BF475F585B2E61599AB988728DE07E8FAD97794F7F72F +FAE04D436AA069C28DA27482F62102FEDD78B0FBB3DEC60EEF6F3B34CAD38DA9 +4C580279EDA8B9978315805539D3FA0F91E8FE31BCC0D841EEF75CD810F95714 +19CF1FD5834AED4C2ED817B62E571D4C42971788692DD2C4323DAA4032323A2A +1F8E91BE8CAEB35992C890159DAF1EF50FC2A400CA13F716A694FAC7EB165714 +68133A6889C968D989CF9A3130AB5DB9EB2403D07EA6B6A9790B31F54FD5D039 +749D2B1D5BB579570600B5C051F83E2EECCAD8C087879270B60AA966C3FFE28B +C8F7E805074D665524205E93B828909410FEC4494FE71D2935EA75B8231CD600 +B13411538D73B2EDE351F5C135A4138F10EFBC2EFB255FA3583B90014BFC5476 +5D9DF52DED61C7B8D1D03D2AE323E2F97448546BD4EEE26C24AFB1F0F07B461E +7DFF0C40040385B56080F2D4C0F9614450A26A73FF410FA05DAD6865E207E3D7 +CA06CA08FACA85DA4BD5494E2F6E59040063AA4D5554DDA97AAAE956C340D46A +04A3D90448FA9C2E4D803525F04FEA55FA48FF888CA9859560F90EA2884F04BA +EFA2ADC837D0C3BDD94AFC36171FB44FBF6C9410115348A4A0C3CBD799F05C60 +AC944711AF4444B5C1B9A3A4D8486B036E8EB5E0A614FE46D0BD2C851AAE1A62 +E6BC80F4DF23D2E8219D124D0EDA1A1AC4E0F6826F90583D1FCCE6072E3BDE39 +D7AA16E0F84140812F906A63F1BD8693FE1F60259D3CF28BAEA60CA4F96A2243 +C09331B283F4825A85FE23D27093A102335ED62571FDF43760A5C0B6780B8AFE +BB793C128307E65058A06B9CCD1FBBBAAE2A761179C4C4E1AE06743178940C58 +FD24711ACF0B16C0A1FE73AD4A2D43A7E986B3C401AEC31A1282BC489F8B2856 +2671F43D11CC7120789CFF12384E8048502BA3C5550635FE41F4B53D2B14FD50 +B4531FEACBDCBEBD7FA6F340732F0C820A5FFF7A1C505E9B82AA5E805CAE5E5A +A979CB66A9821A8443D5A0C30C459ADE51B87B2088A12ABBDB85B12E8044F994 +900FD73E924A4EE76A9FD4C5B72AE3278143C79CAF1C58993C575940A6CA1CB8 +5DF299A27CC978DBFC845517A1F45DE76057CF1EB854044E1F0DEEC492842C13 +C46509DCD78185EE8C702826BAD9988370CCF24C7EE4F64866BA4D61AA2CE114 +153FA58F17B5EBC87EA46F2F23634ADA8957101340092A3703C3E7AD3A7C2C40 +73FC655531DAE01E1901F71C2920F825D5BD2E60A8B4C4D05518C631CCEEA92D +729C8ADC9359D1C5B8CDC769D945A11E7B7B0B5A7136145DD77C84EFD04DDB7D +AF1305234C5235D94FE416BB2DFD7342C8FF24B11A07295240C9E4519B4E3ABA +45582FE5007A008602885FFA8D0C0C6E4929724EC8A1B1919ACEE2A84BEF4E04 +182BC6D6687784B6DE7FBC853AAE9A30F903FCED1D16EB9B5FF9DC1E5E6EDB2A +D43F7E6497BBD11C5A668E6D76EB494790816FD4B3AD01F7FE4DCD3D045DA8E0 +8D98B214195ECDA182F6052E443B71AB6EA5D68086449390B613C69D3A0DAFEB +2F29F4F306A47200CA7C1842E7F329A77F9D04EFF1636899B3CF49FAA3260ACC +9B278CB5E006A172134D2423396B476758B49C4B75E970F179936D2FF45887A4 +04E9A6D932EC8AC7B3427F44D0085C80AA5FF08C8BC5FD470EC499AB11772920 +8B1868513D048867337053C886F4D5048210BEDC4C589375CA9A1440414F2FB9 +E80F9FD5729157E6DD07B2B0068F6AF9394E9C17252AB81FE68DEB609AD8A42E +50D5879D4D638EB76573BEDB6E78C3132F016BBC547D4391558D228FAFEE9A84 +ACC27C6981A7294C55C87F6E3C4B4226C86D99D17E12FA91DF9CD0396B740874 +7B3401AC08F2F3CDE7FFC1C95B8CC48D63AF009E4F6FA1D12576EDE381B150F4 +0372997921D0E0B55C94169835A7091A4C335CEA972893D24386A1934F9DC7CF +31FB39CD70EC9E5D29D76BB9E12D3012F1B771D0B0F5E97C323332F4F89BECD0 +DF217CE4C2B0FFC095FFF3DA9644FF0DF043562D3DB1E40D61D2236E43245232 +F48C21CDF7E1E7C7B67B823784E45A178C724199532F5832916E44A0003A82A7 +6119AFEA841CDE11182F04E133033CA72F75BD1C911D914455D9B1DE47B93E80 +F74593BD8385E33064F7524BFE81BFA79544B1A2F7E96885054DEF9FC36B52DB +7ADEBC340616BCA96959170EECE50AB2961DCB39BAD3C648028803BB5DC10090 +0F0AB818841F736B268E06EBC317A45905C9F723078561177D580BCEAD729328 +4C987E6071267252AE217839E7213E96170EF8B24BEF73D40A65D501A63A5E7D +614F88F7B00A0BE3BBA4AC04F2704D9367231BC7D23C353A264E6191F67398F4 +83FF7E7E9365B476138A083D378A4C448436542DA895CACA5F1A465A188F55EB +B9BBFEA0AEFCEEAA5F2536AA8EE03ADE16A1A1B0B34E53ABAF34E4311FD26FC2 +81557A04F4D890B6A1E26018FC3E28DD57E46109A30A5FB65AD121C182672DCD +F45D1A738E62B64B4224FA20FD0F22E492548B07CE1F6CBA0966ED1D86914424 +C0BCBE258E38F5A6972122856AD38F87840BBD154EDEE7DCD9BACB834E63AD7D +3862D8F37BDB71AC595D8378DFAC81BA749C7CB1687ADF5F05EC8A18A9C57075 +D2D82275CC9B8150054526BD78284B43C6DC180468A386C655503A3EDE694FBC +7905C8DFBD8F573BAEB0839A3C85E9434F19BBB569827FBA207666FFD37F1BDC +F0CC71A277FAA9E3C25B5D6E3D24AD9FEF1782169ECE7CB2A2095613095232FA +60CA70D962AFEEAB0199759B917D83DF7F695BAF5FB55DFF040C9E18F219D59B +A0429CA824B655448210888BAB47F407E878EF29933577268FA8CF3BB764DEC8 +0337BF121ECAFF024EC0EF18B56617CC47A7F7BD2030C6838D5DBB67675C7A79 +D0772A8B515DCE57C04DF173CCD71159721672AE541B91A1BF7A45292D95FFCF +2062E7E4A01693750CDA8B9A09E742D96C0A9A17C5C39C0EAB3B1214182E7D55 +873BCE23E46912F44EF6B9E3C7E50E340926C30A1FB1AB638EE15617301B4197 +B85C1C703F9A54D51CA10FD6CFD0A7659899D0B3525A8608A437279160D49393 +88E6E3FFBA88E5CCA8F833B6FBC30F32DF89E717347C464619E0EF172C72ADE9 +628FC3F22F6FE185ED66D87C992823EE779316BD7016B42A8B31D5C08A4C77A0 +24BEFDAA4FC771A54716DC19BA9A3FDE31A0127AF69730A5C038C96540980E34 +A60C64683997CE491CAA40829171EE1799665B3DF16F8A3CF1E4391EA3FE2E55 +41E19008BACD478B900CA9CA3553F854F6C506CA466D9CD85F77092EBAE37D77 +B6217ADD9C1E70A20988F3DBCE74FA45B0FA5A850A051A216A090F69BCC1AA8A +2C5494E79DC7A74355D890F2E38301CBA018F73ACFCA9CA9FDD84D870A1174F7 +D36FD7B1DF9B668CC8399924E5AAAB1C1D5EAEB66CA9A45DBE10073E35826ED9 +863EA4B88CE8A3E0BDAE1A709F951230712B0402C670C17C886919154C974220 +935E16E146ABCCDE8EB50E7E1D569C03E1D8CD3CA1D2CEF7C3D5596EF61471BD +0071EAC87F998209F6B77EF4FD8CBAF201F96BD911DAAD9AE38D4474B77F222E +DCC9D0BADFEF1E5683884511DDE519ED77F655222C54FD3E6C6689AE542CBCAD +173D609CA323F55DEF622D8973FF50B0291D7B29D5AB1B922BB8DC0ED492A49D +3FF1590B5F01A87BC4E40D3A2978D09927DD0C7081F48C967EBCCC49A9DA5057 +78CA0C +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 33 /exclam put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 58 /colon put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 73 /I put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 87 /W put +dup 88 /X put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 124 /emdash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 +5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F +4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F +E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF +9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 +89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 +7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 +AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26 +71B72D15270CD8CB1D59CA2D9DE884C96BB923B1EC8208BD7DCEAB0FC2293629 +2AA1F72C6B470701C381E335C2364CFCEBACDD20CA36182CA7E70AFF5B14B02B +75CBD0738E35DAD8E60CB3DA4DDED557FF9ED386DA52D10615E700751C842FBC +85D89C0E713F556814E051C6CEFE7E83C2F379B88A801DDA565BE73013DD56D9 +44D97798564787AE6D5A6A9FB777EEB850C7481B4A353EB9279731512C9B95D3 +2ACA3A0D44585E55AFD968135F6492A9381FA2D126CF50373AB7D47B509AE6F5 +C4B100BE8334ABE2268DAFB7983BF339540A8D8280F3576CDCD4F21408AA7D92 +BBB218043ADCAB60ADF6385516C2A5A9BFC5C3845124E0954EC5C627FA7C65AE +AC1A283A5A9670ED2A2073826941E9AAD904A05CDB5B692AF725B6B9102574E2 +461D2FAE65B7321C0093A2A34996C214331F7A91B4F74898E2FAD14576F81B1D +688DD9ADCABD51FF07C966B61B0118F09E24354A9F75277B03026CA1C783CF92 +76255E2A560768B3A8764F0BBACFC2BCEBF870EC12EF096A2BE42692EA401E2A +3A12BA99AA66F8BEC315412BA9A17E6574742A624447122C877F80740924F346 +0E22CA288DC767537CFC7236CB28E31AC2C563B89563D0A57F798CB843680E9A +26A03BAD01DA05792528BDD89944986C15BEF8D3E84C08B3CFD68AD25993B6A3 +903A215F9BAE352E428CA0E862EBFCED059D65F3C47D22B2B8E48E97507E8399 +AD4FC0BE438049A369F1C68E0430642B5CA02080DD55A96E34ACFAC469B18732 +655CE5C09F9E499346B2E0DB6FCD5D64384C2F529685F91BFAED8E85CD5704A2 +54E457F74B77B97BC47EBB0F292F8B9839D248B20DFA40ED6AC6C136A7451F9E +57FE699CD9F0CABE94AA602DD5F17214F05886AD032731EDA504B76A19DCB8C5 +02B38C86D8D507AC17AA803E5A22632DD205AF07F8AE35EE4129EB0B37E20231 +463C95CD9943F718E9635F8765BC693AA01D8B18E0318D56BE2225A82EAE9027 +257F2186CF716C6853EC7389FDC1874319631E4C662C9C68868890B42D93A44F +4F90FF43CABCCE04E27E3D9DABF95CE121CA4B3389E3FAA8AD725CFCC84AA3BB +820A654E2172ADDF88F7AAE1EB3E34869AD5A9FEE87CB3C125AE6CC4F723DA9E +6E7040E6A0131184185A428C37E133A909D6CBEA24B0C9920CC4A8F933F7D7E7 +1505B73C16EAE85FFBAD53C403EC4BCD0B75DF8008633BCACB1FF8C6275B0025 +F5169291029FE697BD123AA4EF021B951DAEE133E2A1C17F6B89FAC0D0D8829B +994386AF7574278AAE385AD7B587A7E8E59EF92E6CC1D2BC815E17AC56D1946A +608EA2655E2E2A8DCCBE54353F36F4E774CF776840DD148024FB210E217E0852 +031A7D7F36BF1B708F787EDD1CAA6A64AF0E4738E5785A13DDAEAD02B13FBD8E +CAD50825E0805A6B7C6A9B3D9363DEE1FF11AD7311DE1E29EECC0B3B592C4E22 +637826FEE4F51D273ED865B89F6E1A6A781D86A0C662DA545F41320F1BC615E4 +2A6E79BAA8C8D4127BA30637E2548D045FDFCB7879A80950B920717296570932 +E1456B873972DE35878B25BE36FD03D80D7F0FAF3C270451B5A9923E57A4F551 +67FE8A2F947030413B8C42BDC2E33ABEAC4132883FC9107AD8C633ECBC2EC7B5 +5F467F12BB61BF99669E3449EAADC717918F45CF83D8C5A955A34E87ADED2BFF +B3A4972640A8BDB9A8A3593C10F20A118BA6B85CA52B36DF9185814B65B339B6 +79F5830E4BDCCF6D32E9BB5B03E860B59A297D7DCF797C8F18CC0644CFED52DD +450B0D34EBA62E99CBD1AC1A0CB1E7BB27C347E379817760012E134F225CB1B8 +A2C0F7339B45431179AB4CC2F2E6B107A0F419AF8DD2D9B46E1F8C42A3D70C7D +DABE98B213EA221F1129ABDB9B85AD5549133EF4D6C4D74EB5448642FC41D20E +9994A1F6C35E1C0A7E812419A59B5310567A38E88190011E19389EC52BABD91F +477B06FE855C45A924199B057DAE78F8DE0451BE2D39031BCFA0FC4F604F7F00 +EC0A18AF6E0C71CB53D01ACFCABB35BD34693C21BD24037CA7A96E3C66FB6A93 +CD041D9A34FC79121E46873EDDD6D5EE7953B988399A6C9857B8186BCF91C21D +63B69BF99C8690A400D1CA2FE0E78ED83CB3D71908740B1CAEF5127D119986C6 +0E8474360DD1D3A7ECF49D9E6EC014E952660E9E16109F9CC8170475C298C715 +49E86B585CBD2B71DFAA94111B892DCA762BCE71DA37C609A831C2C5739F4629 +05B1C1244304606C26777E858635C1A842070CF69B7333D58873663239C9397C +79645EE1471EB95D5ADDF0821009F5686D8E1027A7D7B9990F04DF98ADD8468A +EF74790EA23BF76211CD865F328F54DBBEF0181E9379C2A199464C4E1550F7B9 +6BD586A956F89B8C0E91891321A1DDDC6B39335C85E12121AC8CBABF042A6A15 +7BBCC127E2E2011181E9DAA9C0E01D0F11FE571BD75E0493A03EF1D6982AC51B +003A4D5A6099CFD9D88FAC3D958013F8DE7F22E7FB13ED50BD3F26AA67B8FC1B +1350787B084ABDB846B808969D529740949C437A7DDFFD4C18A858C2ED18D068 +E2C6C21E7D2A1403C4ACB7DE2DFA80E34A90B12646B3A5FECF77538CE55BF99A +E121F495A9135BFF73C1A531D5F9AE0D448ECAC997FB83DD9C099B73ACAAF2F2 +9B7AFB6D1710CB6E2D3C5E05D7A90B5BBF36845CD641E85C4F6D5103FD92791C +A43F0AE5BE4ADCCE414B562824672DCBCBEBF7F69B2C513EDA46C9AAF35264F5 +A590CE01ABC8EFFD9B0B6F1AA6DAE282D69E25CB2C0BB3B039CABA8FBA79D946 +765AAD67418EBCC961ED8FF9D514EB7A5042D9D52A210969CF48AF899CF2272E +5D4A4C2001B71D52D3E83FFC086397EABA35C15A5B0610214F0A6CBAB285A0B9 +DA9475D34528238F3697113D936DA8B01806128E41A91EE43C4EC19A0D63112D +71A72A8ABCF89071C9EB5BEBD2166E7CAE33C7522AA1AB43F5D26BB072F2540E +9612D605E39346DF44036D0E11020AF2C67BDE0D385104C7C0839389DF2DE45C +75BA94A27BD08AED6F66E7C536F6759ACC4C6FBF1E3B70E1A00E87EDA4C7B9E7 +AA036CD174EAB0F5CBE249C234AC0A313FF090EC82E0BF9FBF432EF46FEE4E36 +2E91A4B5F518445A66CE1C1B433FFE0DFA8F2BC135B4DEB7D540E46CD2824DDD +A8CF5C7004C2A603DE8D88BC029D03BCECD2516B26D8C8D2A4F3F90F622382CC +9ABB385D300EAA72C74E18A9670D2576675EA38B6FB6CE8134B888F972723266 +4259182202DB21A73395BCA830DFEC0A2252A1F976B7A48101ECA141ACD68FCF +7E1E3791E910896957AE263EC2EBA316F10AFE92048510BFB0D09B560FF43A19 +CA43E66167AA9A49D8948ED4D54325986EE678833815E2F744AF97D7C02586ED +B98FBE60B6F7491BCC891E8688AA96B495873B270AA3E60391407D31B5C62854 +B3D276E1EF1B97C67A3A2A384C92029F3941F8768E3FBBEFF11615453BCB4D3A +C46CE7AA1C6AEC94CBD224C35F11523178F724DB01EC7E67FCB37C0796597233 +D90A21249238E0092A1708B1A968EB32FFE46340DC10B9EC7590C31F3DA4CB96 +A4B4D3F47AC0B592C30DB09B415495635BDFF798B9CFBA71FFB5F4FCFB4ED010 +74C776108CF5F166883E54D1FDBD0316F104DC95DDBD1FA5CC26D439A9687BD9 +F33D19327646851E976E986092C6850FC3B010EE523352299DA2A2209688963B +35C3521EBE7C5497413D4BD74244CAA8BAE0E25601F2EDE3CF3F028E00965DEF +CCE3E144F053F55B75BDE37DFB709A424799F8DF33D9271E20F0913AEB920AC0 +3641019D7735DE32DC8120E63045002D044B71370D2195B07457A646A203D58B +74C3A4A0927374A0D87992244FDD432B79605E1591E19AD0E79B616787F348A0 +66401EAA31ABFC926F03982C54D7D03E02278C3CDF154D1DCA305FD1D602269C +73C8B107D49B98E5E0C823066636932D3B9A492B777A5246BACE613DBC2CA3C0 +30354B824DB613D561C49C85A31472E074183D3427FCA4CB60FBD2CF9261DCA3 +EEED67EC08D704A5C76187E8FE00747407A1C3C0D2CD37814E058AC017CA546F +6C4C6B34EEA836994665A4E41C750E53E61A74BE0CF33EF1B7F5B2138AF50A52 +AE4A7EAA8D51402EF8AD97296C73BD7041D048AB23E6A8DC8F1FB53400CF2CEB +91C815998B9080882620469AC4D0251F21FF313C69074164C253326CCDDFC28F +B32AC6A369680233B5F65CD966D4A24C782DDC09305942D9D5334058573A75B7 +2F5BB465941B59D8ECFC37031A9DE46A8FA9ECE13E0D01EB0532153D5C6216D9 +C9F43ACAD6C5DAF01B737E30BF4312B139CCEF00722ACDA099D2E3B026BB1896 +3A81D696FB4E01A4F028DC5EF2E073BD163C11B1D33DA05721E17313490F4CDE +233ED8AC7E69264270AF05EE7FD59641A99D3529DD3B8224D77F85FE0C0FA84E +5982631047678177BDB1EC93DF74839B0D2B28C3EC7D6505E47D6E76BD5C9CC6 +EC08DB9DEC5670442C353BFF38589785CF58BD802870D89C85F9ED422C5FDE3D +C0FF5DAD20F71DE5A8EA592AA84FB05F2673F4CA1A38DC169CC6B40412A7F5CD +26A041E7FD808475B0E9F612EC00075FA5D1419F9A6EE0D3DEF420127F7C3C3B +405D04931471FE89F97A171C4E8118331723BB811D3E9C54875B2146E9555BE7 +87A8BA43CB32D81E9A0328E93EC7C5D9F10B663B4A29EFCF6A0C6CC0E315A83B +AB96B42A9792F731C249271CC9FB13F198D4B2A61465C958D38C79FC41348ED9 +C56652892C0BD2965A1F5B6132C363163D1F60CF7601DEE167F5F2576189EA61 +289B87371E8089D21977D5E9611F4BE039132A78B7F60C1B896AE1214578E550 +75B781E183F46FADAA2D1C235B021121ABE6D0F3F07AB62D3E9AA5858D29458C +9FD93DAA342F7EE545CC302E87B5781993A3571B347735CF8743EEE9BA042D9E +09F44EE4854F5312AC651BB7042A1DEB52F28334EDA5BE5A647C3C98BCB9E123 +B8520BCACCEC7E44C1B460FF152DADAD834A4337A4F3ABD7BD597B4547380FAA +E6D63A5452671713BCC9475BD6D9DF05E57E2CFA6521C575FEED4BDDF41F3DCD +EF0A62D30B5D646E907407F6671708D2E93CB86E2E14E7A13680158B6369888E +623215498F8810A77688D932305700C0BAF6F531D0AF48CC858945C7AC4D2155 +BACEA3DF2351DCA1E675A9164BD9E45715F46574FC956197B0DD7B3689184396 +DA726793683C16CE628F19377CBDCA9497951EC5A5380DABFF783CA37491E90F +E85599447DEA5FB3CB6C2EC95CBFFF9AD28992870613722CF009287F2618A354 +56A0137B99EE21355A7A2950955D1483F5FEBD36CECB32C41E234840D6B3E15B +2B858BC442594669827B752E4F0C4C21E3120615A67A445EA6BB8E192215EFE5 +B63E669303FD91D72612DC32427AEB32AD1F48CFA187C7D08E41191C9CBB1DE7 +0DAB1289079E84AAC599CAF4692EC27C297C2F419D579A5B46B0EF83532AC9D6 +854D8CA02890BA2948B126BB018E2FBEB9E96F3B52EC41A7776C5A35140F3893 +EFF849FEA4963554D300193E89B3879BA0011B35EB850B78D70E85B5BF8C2C22 +762B35F4478601FC3AB06413D6C26AD26D57934033B1AFF5245946F87B6D8307 +B0BB18EB1C848C6F6C82D5AB21E42F25506C090F9B89CE5047476F2034FEEC96 +E6C1847416A0543775F266E73D534E7773871FFAAF646D62315F5E3A47D09445 +B18516E452AE332560A1793F80D9F65CF464223A9740A7291F8314EA87FC11EC +E41D489A1C263A0B11C7D838FBD8C8E13DFA6F3CB88C163DD95749AEF53B2C52 +18A0D7E64AA1ED89A7B7BFBE653CF5B287636A94809540D7197900BE39D18C7C +D060BEC1843ADBDBD5AB1F8DA35720A7D4133C14C19C81BDA35BECD81AEBB4CA +E45903E6D944386B92F56165F27CAF7B20F3440AE425E167D2CC79CD5307D190 +8F288BE070103DB7B3C506BA455A223744CBB0D921B270DA922287758A6D3912 +E32CF5EE0121CCBAB5DA252B4BABEF2C61908A21E2BA209750ABD4269034FF0F +3980002CF653AA398268E8E2560D32C090E3F6D90B77A87C08D82444D0AE000E +8CC562C0773B8E0AD16B9B82D177B6ACC21E91EA84CC8AE62F63EFF6D632F30C +27CA5B9A3E6EA20CC7BE934007F73B056E4CBB6041935806ADC46D9AC3AB7AD1 +15041F513191DAC59745AFB67A821BF400F4C41EF7E1D056016248BA883E89B6 +260C62AB9F70090D04D91DBCF3D315C9E13DC7141AE73174E152632252F22CFD +DDA96F8B25840BF6C1FDEB6EAE57E6DDC58399EE8540614F2862475E273DA1E1 +CAE15E7F9AF4C9A74A66BEC3854BEB1196A3E94E53E2C6BBD98C291719E53030 +BBA9CBB1FAAE31389D324A0B00B9CB380694149D74EEA7186C27A87CE961E0DD +15B5D3C1E452E1E22AE11250737C5215D5F187B7739A5EAC13BDD829D1081131 +AE6CBA39DA326A846711E5E33E9B31B082A6A7A7AECDC771B8F2380073A20803 +4B14B7777705CA83AC0ECCA867C89FA4B2B654BC5EF0654DA81DE1D9B03729B8 +0CB0873477B739476D4A23A81EFC63260FA461611960F689B94EE9C44982552B +02D710A283E84A67102B57B53942435D22F798F5B4F164CA3B17C20B9D94BE97 +3BBF2D7C7220CC6D41C71E83A013104F5AA9F7E1353D115B622B5F5EFA95296A +0C97FD912206C8C7C467286A685F713FE527D94B04426DF78DD44A19DB94A158 +5F66F8D1A93152E465827884CF5693C5B69C7AD7A104AB1A27FD74784F0378B1 +2AA00C7B04FC5D788F0BA82C81DEC0CACE755181DF72E231D46B8E5A97C88681 +0CD9F476FAD370FBB2668E48B31D55BB964A078D40ADA170A17263C32E35E40C +9C27F31BB31ACFA06261583D4224689D53B61A56E252F0A936BB747E0167EB64 +18AF31F967DE4878F3B4B354A43F8A32B703424E9614F26D67F1D3B2BAC82C30 +C25830F63614D85B362E0EDB01A2D46D8C16D6D154116EAA6310644BE814FCC1 +E5594C05D6A7485F7433176651F1B8329AA5334CA26B3501654E770B3C00176B +4E34B6AB7502B668369F81BABAA8C34ACDF5C02D3A7B72A972D5F3631D12B3D8 +04F5309F74D52FE491ADF7B0FD4C79D452478F055A5A7AED37B374190331C1E9 +32795E40596E940DA034BF1BD6181A2E7D84DF61B4D1B72FDD793C064693DBE5 +8152EEE1752C8B38F1A0AEB2089389CB7BF2C353334A805204DA8496B5344059 +E30CD43DF34C5BD40FE52D9D90E2713F0CA5E0231E06423B6F62688EBA17C137 +5C2DC50BECE8AE23D030FF1D8371DCCF73F1F8BA83B6FAF26FA8F675967EAF0F +4AB529600B0A1781FCDFBAAB30F9DD313E834EDFFB1F64512C1FE701098F77CD +8686F7BFA53730CD3BE819315492E77E135677EF09CC71B1A4DFFB8A491FA2C9 +052783A8FE7BD599F8B1D47B3E440C6CD94DF036BB823110AF7F7EA4A09BCCCC +B8093EECF3C734294704EC67269E3FE3E59DC6DD39DD5D0BED8080B2197BEED9 +E164ED36CC893993A6484414DE23A4F59E4323C3E04C15A992BD7256F98F8113 +2E3BE53E4F79C03BF22B934B64B7153E5EC55F0FED4E80940A1DF5ADFA515426 +38A87F84FBBF73C0CA39C0FA920D784CB39E0A482868B102C93D68BF7D2321F7 +3DF74F937A890A342025958C696919E885BEC8BD87889ECEC76D739460DFC5D6 +357FEB46D7393341A4C50D4E99075883343516D912BEEE2C390F1536F13B2CED +965D302CAE3245F40EB6241068A36D0A63724AA3F8D618C4AB110D2E40B33CE4 +918962E7D2C367D69C4B930C8D486C3A17EEBCA33BC20DE3EB505CF188091216 +14BD6620BDB1CF205DF5CBEAE4830A480E1F616E14D022C92034E628848A1B17 +8646CA6CAD8A94292781DA0754C4A117678089E04DEFF6BF2A3942656EEFDD0D +E1E47F92E822BD83FB9C492B67137C4D01FCEC010A2019680A7B179FDB772223 +932862E227D0B25249B5D5DA3CC1EA8C07BD0F89D723D2853D6ED3A2A504712E +53550F30F9CB9E587C16AF687A0F5F8D444C2AAAA08D270BAD2CF27F14B6A918 +3803B204EE11FD092415B90633E98F3F73BA7BD790F084E337ABB96B056B3F24 +6F061F9AF1C33D69FF08CD41000B9C8F592615E8AB55A05C9E68B7EE0B47644B +35239B81663A5E6A21848E7AEF7AE5FB1523DCA5496C277190FC32E4020AE860 +B797EB58B8FC4ECFAF926B627FCCE7879FBDDDA998AEE234052AB98B6AEE3859 +5CE50666C056B32A85DA0CEB5190B246B52A27E8F499989B384B6B0DDFDA82F9 +48E0E8A7B3F1EEE51D66A0E2F6EDEF3D0E095446BA683851D0B89120918EF4E9 +E5BAE8ABF8D0ED16BECC8A14AE5BAA50A6507512690D2DF6A339B703BE33D035 +794EFE575ED176256C9CE036213A7D85ABE09D942F1A81D574E8CF5A5F289528 +E630680B44CFD4379E15E6F8E10373AF66786767FA3BA060C0A60B6A6BD7DFB6 +FBFFA93BB13F75B1148751D1EBEB4FEBBC4E5AB6CED0373EBB31819A3412E544 +FFBB67EF665BFC7E09D4FFC65DF77538E2515C68DA5228107A5250C4E586391E +9F12EEF67ED37562D402E5539504F49435C6A8FC38D3E69325DF1C381CA3B18B +4BE3185DF2B0C95C1078F1A1BF01C5E6294A15F56874D348792FF90E5C150C18 +BCA828B1059444B2EB9714779F128F503606AAC7E1BC04EBD0CD799D8DE68E68 +5A26855C559F20576740910AC79CD410EDFDECCAAB44DB171DB6CDB0FCAE2978 +3E078B7C99DE96543C338F2040C8483C8FAE98C21B7E8DD17C48082912B2A04C +580E9B9EB6784848C00BB1EAB3C6C08819B80E0F227EC8F4230EAAEAE8E95809 +392E23E62D96F7F7024C75B312709B8F2ABE6BB23F57B5C52F41C934AC395EE4 +DE5D574D44CDBAFE76C414AB9A57A5FB6B8B9652CA2FE6C2A8F9ED3B0F63C84A +E13640A6EE2A32B2950F54B61EEDF443C3A5EC2A3748249DD2FA0426622BBD13 +7B7F3A5E2C5CDC2F41C57A110705EFC67D28D26DD05FF4A75EB51AAD244F8CA2 +04D4D6C2B97770B1CB1A31780BE0E2DB62B8E22CE7E8FBDC0D99AD3EAD3C9BC8 +F6A1E01EA13DF95F15051F28909650EDD5CF2A39DFFE7BC67B814C3EC266F53E +D8298B663E2E98E96B18EC7AC95CBF828E195AD9C2A816921E0DED82A9D002C1 +DF25A3AD7DB63C076A64C40344350397869C01E70CDC0110EECE0C4A0CFB86ED +99892DEC28F4357C165569373DE0E518D7A6270E9BECD50BE18528261984E026 +37E83516546DAF23579C03FF778DF6A5953B3229E46EAE38049EEC99AFCEF595 +1305A40F82391CFF8DC915EA884B8F24386DED2DC26C28A403BB6D84417A38E0 +BA9DCC37764F44E80B38439E12C85CAE8CD62C2672D74CA554FD16982CBBAA62 +F05AC754DA56C395B64F66E609DAB1E7B869F293CAB2F8431A91315B81A8BDE6 +7F564A054443472B8900FC9A096ABB404C016D2BBBBF08F538376EB6761375E4 +690280C2A65AF639E6F884B0C6A98BE4D4F3241B29D6D90505B8C5458DC5DAF2 +B71D37D3BF0E6B0C5982FD145FA7B1DEB84BA31F9CEEFF193E098AA125E63B22 +037AC5F33A40740C97D869E9DE483E26EE6CC605D6D37C62C3EC5E2D70731B7C +1C1A810FCE38719CBF746B19A6B6407A82A5CA6CDE5579F331BD6D214600103F +2CB1DB5E4EA115A2B7FDBD4AD3711F76F0AF388A9C0842492692C9FF85311A99 +2438A7BAB685F0B2D595356DF8900149D3DA7CA2B07D5CC1137196FD6DCEA0DF +9ED738DC0E4EBCD7E89B19CF453B751ACB6EF68623036CBF47D49012E2D05F0C +C4133842495E939E3825F22804B6D40525DB77FACCFCD9686E19E8280B1B0FE9 +97C741F3E31E8343F77A96D73680AC7D15FBEC9FCBDAC770C7074ECF9B9E27C2 +A57CF6FADFE0A853E39C904FBA7E72A361726B359962FA59D3BD0239821E3334 +E2A244E66440804188355C2F92C5B096FF20A9AAB29ECC193557ABE31C9AA46E +A964F52EE49BF794083FAAB661F1A114A83550DE9DAEC62AC24BFE480AF01107 +E7C0E1D17955049D48A4C82485E0AAED3855106DFFCC1EDDECB1F002E8C1BA6C +84628613FBAB88D412B456EA77B3ECC04F8F689086BB7F43F4CEEE2AAE3444F4 +63C292726DDA4CAF38788B1293A733B4FF579B43C3C82739B7A12346B442CEAA +DF67303018171991C7702B4319DD83367635BA74A5233BA0487820F95E037B1B +DBA168CB85403096205F625E8E4BF3143CE998121A2022429B5F314508328199 +60364E00D907D1F8F0D81F4896F6611F85AC2C2538E4158477ABA1B2C26DCEC4 +75517A0A2400D35FB2D63518E33F23C5A4F7210D38AEB82542BFB6EB7E06BE80 +EA27362B337D53F340B0ABB809CB20EEC536B9CBD9399D9B603C94509A050D31 +A685B29F16F3F2ED4D8E715E1CB28F0E4D2897F7C1DD466AF64590F4AAAEB337 +2E4154FCFBB5F5044D046811B66F16C2887F3220802589B3A6FD9819CE72307E +63EB146B4B76F24403DEA09456D8613A8236057D1B0FC6B0615DB595EE64FE13 +22533431344B59D93BC85B572041C47FA26FAFD56023EEDCA2BD827E2AED7D25 +BCA2547A6DDA7799741699E5B55C5F9D900FF10C9F9837A9636A47208122D144 +B6EDBE1849A0FF8764066A277F9AC4F670657B2297FD202AB52A0DEE3F42C3F8 +22D060E7E12B68655E7BE0FD98C8F9D9EA2BF6FFE8D56EBD3A475201BE41FD57 +CB378D548E0F60C1B39DFA6FDAC87144701477B9D5D95C8F8221684CD1CF8410 +8765B9E53345A7B4EB6D93A246F0AC92F2DFCA5608EB92B3D623DBC69899BB7C +20175C86EE09D92D2283CE74597B93E684111F97313C2CC1E607C1EE5D387200 +A16A545C4207CB5A0853FFAAB66363A505D13F9455734A2E4AE72FCE46AD4953 +60EB6D986792CF5865BEEBDD9628CD910E6305B9E537910C36FD2A4EFC35BD7D +75C8B2A3544FE04DE229A9F5613FBBF36AE361CDDAE57DE5C41AF3237DC67736 +B4DAFC0AFEA42CD956E6B9B53D3A013986B49FA8BFB1D8E179BFEB990C439CBD +E183F7B34462E0EF3F3FAE54C37A50A64C0423C61DEEC1201B57989FAFB71310 +68921101D459C1E637092B31D2A9645742C236E019B65EB8CF51F0281F2AF327 +45A9CDFFB267301075930E104A86F481958E3A1A97FB52B606950F5A663C1072 +8B50D82DFE3CE783D1708C7BC1EE5429923889EF180BD52AE93C907B4DE30767 +27084C5815D99CAF65EB5B17DD0BD989FC77885BB82D0F58B7FFDB8556062D14 +F5B0E6B44C5467F1B0BFACF7D41B111DBF57A03D28FF4F7488AE938785F56C21 +84FFA937ADA59F1ABD0EF17D05D0076F444EC3BA12E2E135B0EC8D61458BBA60 +E44CD9AC676725D9E256A1A97C462E9685353FA83D1B12164DDF740D71DB4ACF +E9647570736718BDA388244D96ED6F22ACA77316ACC455064A334049FE24CAC6 +A031EAC85CAA93DD1CDFBA587818820A1AF7459EE70422024A7111D902068F83 +9C9D431C6CF675FE99AD3DD83C941D86AA50DDC7A991FE7D7AC375142E1330C0 +8160D2D92096E90B00631E609E77A6B19542D3D8C62FDE9901533D876285031B +EF6DF462373B595EDFFC36E585621DF391EA65F7DF3EF92E2CD268F9368CA91A +46E040C184F9B9F4147F38CD0B55DAC9D5CBBDEA0F9A2E1627FB9D1BC8391553 +122154028E7E48BA9B29244C1674A8D3BACF50C70C8B2C2EA06CC77FFDC3BC37 +DD535985BA830172D0204028CCA20EC05F494E5EFB08A37584141C1222A4E214 +9B69F1647CED393857B574E3F16C128EEB36750E88191E381D44835FF636827F +EAA630E13B47C2C93FF668CB1F17B9ADFB497AC91FA84C78DCBF083587330523 +811BD811CBD8E4FF4EB894C7396183087F8445A451BB8D5CF86515FFAC955548 +E7BCF576E064604DCF9E142244EEF7B5561BCCEF28AC11F6AF8154FAFB8A75D9 +F89BE523BAC02924C2099C316E331CFC39DF04B952067853692DD30CC84D3E53 +9E55253BABB9662EFDA1D26007A117082048F15E7C809035014C5E4B546CEC44 +C1F75A8FA429C7B567605F0F9C3A0ACB86C6AEB80D0EC6640EA518AEDC4ADE86 +CDF9DC9DF91A1523C0D3FD6B532D07B72AED86742DFFDE8BE485E5CE0141CF2E +F7DD73E2F0E4C14CA03F06F1D11EF523F72AA7913710624D1BD536FAC0BD73F8 +C8B3E07C89D6AA0F28782D5FFF7E8BB3108485C51D0EFD13C7FCC532947843F3 +72AF0C42F480BB0CCA42B642F47D97BB14E2F183B5E14CFD14B774CF506A8684 +3E75715C44A5354A3D1C388DF88B5FF977BFB1EA0AFA6A9DB641DC86D3322E80 +18491B35AE50C3DA3923A0998BFCDDA0B23B226F2F7266D530EC8B9FA8A3FEAA +54C6F30069F1F075F348B7207CC2A4D881F7268B79B064839320608126FF6A3D +9AC1E4FA459094363A03D6B43AE53D2B5E6692F65BB35B2500EC243DF50CB14A +8633DD76882E6883C19C7F06E1406DA82241BDB9F204C02BC2E7C5CA389FEFFF +F842670BD9860530E7376108C089A67B07657932ED08098D84015360D1268865 +E92644B365827C0ED09A1B2043F297C603143D57477D8F1777370D9417B8CCAA +A29B707D61A273589AA16C9D854173DD8F0A384393A1DDF2F3DFBAE60DBAC13C +52FDDBB4521FB8AC6EAF0788ADD6414C1230E3A7F9426BB5CE7A755AC2D95987 +4FDC1248E830DF7388FC7D459DBD219126ED47366297FF1A54950572FDD07A44 +E9D6D28B569884E2E013C53EC0D36B6FBD675D62415B0C8B7F7E4387145F4F6B +6706847CDCB928701934132B84A25577680B36F76B0FA9DF164524BA090D97AC +65551A510C67ECF3258FB3BB2236439B2FA1AF55AB4AC70897E2F3B015D53344 +2E218ACC544D88860FCFEE30577A9AE910F3093E397117F79FF6949595B9FA23 +35FE83BB2D964310674BAF62144DC98A91EDADA24A85049B03B0F3D4FA9BC452 +B51FBD53F07BEBE5CB31A9A06CCE0D3C99B9575854CF9F5595B56A90863642BE +F3CE7A131083215226F3748E0F427ADD3C952C8982357ACD7CD7B6F5F4E48FA6 +74C13E9154AC725E5AB161386FC2B2EB089064622CB4E96E5D55BCD90F5759F8 +AB42B5C0FCC592363C839F683348AEAA0A20A0DAF1FBD75AC1233833E1995272 +A3EC0DBC8E2DF182E44F9DEF9BC76804ED16305F8A431B757C0F5459C2C780AC +3451C86C9650B6A1A6922EA91C9D57945796E6141347D1B66005EBCC3B0A327A +90E16092E78B5F2D98632B99991AC4A127D4604914E113429635889965CE8B3A +F587D96C71F213294DAB6560EF1913CABACDD05893531360C9FF47B42FB26349 +17685C52DC0255357CA502AB8AF4B6F56331F44DB16319D401AF8374F88A2619 +89FC1975C5AEAF11625F935B8A8D86FE7FA475AB8CEC2B023BDAB07D750E56D4 +6A73D5F985098AE8EE5A90E0B177E48F9D6B522B869DFAB57BCCAD899A3107F5 +66B70F9EED4C1A1B18BD1316034E69C4F6D2D71911577ED1E71C29277E208680 +FC5461C8F746A8CE09BB2A83ECD32F2F16E7FE65505CD5371461AAF620EA7AFB +A5E6B75A94BAE9DF3A64737FE596D7DED0E5DC8DCF4C32844B999E057AB3BDDE +B344F9931F57B59B61A29A88687F83B36056CCEDF294BF50E4EF9EF1301B8FF9 +09A6D0A9F82D0D1E077787BB1B8ECD8C90BAA891E7D8BE930E97F60F8D701E66 +7B9B3BE513063B2B8CF5404B22855BEFFED8C74D762B45A75F606AE16BA0A7AA +B7947C9A55FC77A9A1A2B6EDC05DC5E056D5A2400E0CB20D28648B152E4E049C +509D38C97550753CD8D47FE1AB02E6737913F8CEE99D40D075DE0C839BF4BCA2 +98413EB9AAE34AF3F7CCE9ED39E3421AA0F101BA284DAB29624EA761B70EB436 +D648FEF00EB1AC11ACE5054897BDE77E3371520032301CE52DB6B9E0393289B2 +0F38B51E7E459C4BC65102E834B12B905227B0E83828CC83A5106F702F0C7890 +10DD4AD72F4B46A107C222D38DE41A73F7E7CDD174EEB4E844160D80B8B30BB1 +D7D4048E5F4BC0A40C37B2512709447C377D29754F33C51EF8BEF48CDA91BB94 +0A3273D31BD51249577A2440919206A031F3685AEDC1DC219D81013BFF457A53 +0BC8844CA44E513FB470B59846AA40A4127955BABE057B586555F018C131166D +11087267B05AC994CA6E4A120D7F4B83241550988CD20CCFC8AC30D4F7691BB8 +74776B791AA81CBAE360E47C9D3E1AE6CC53ACE31AA52AE615864906AE7DF80F +806D1C1805D030209F38B908C179CE715FC3DE41E0DAE8EAE6021835E3271437 +9A39BB9317E5959441B0C274C396A0A23BC559E9C487BE315D4218FCCB2F4B77 +4177A43B78976D9A772D58F707A95E77F301D7789DEFE284EF1C921710524C68 +D58C46DCFEF1AF5BED73CA78CC045C193CA472D316C4AA5F8171365626392397 +7C5BDBFF28CA3CDFD75E4C4CF7836E8C5DADDC733AB5EB3B3011DA456B979544 +151577F38DF3888F45330801FE208ECC29503191ADE4BB98C9BF2F2B0999772F +433F976168DBC18E928682C90108C38F54E9E2EC164A17899C88ADD7348D3E65 +2BFFF124FFD09FF0355F7A30258359849AC8B955DD11D417CA487F3E7538F278 +358E2CE00BAEB9FF195F542D2F5F7B09F8BF5F04BAC7976155C3A0DBEA415682 +D20F267E76B0886865DB7F7D34B4CAED1A5CA8EA2CC276CB18F663FE570138B0 +444F4E61DABADDBCE7D501BD4A9E06C947B93C44B028053D52F933FE4FD397A0 +F1A43CAD67BE4B97069F84FCE6BF9085335FB7FE6A65420F93879A00ED5EC1D5 +5166B6DD5A1F0BBBA087007B69F3431B400DD2AA8211283B9F26A97116BA13C5 +2A96078B665AD62C60BC10E5A9748B2C7CF049F688CD1AFDAC13F82A6F2F5489 +062C9DEE23435EAAF352C22EDFF7BE110938B52077A6E1306C90FFEDB6933CE1 +384FFE323F92AAF5314AAB2B29BD85A2222275102ECAC3D7BA95913E317ADD3E +85053BE91937B2EFBA797583F59884D2EE1675F355A6EDA48DDB894CEBAB9DE9 +70B50D1F2F02B033ACB7280D22A2E538FC8CD4A5C0F7E1184DC534869E707B35 +5D257495423B03CFE7E00DF966CB5AC5D877CA87A377ADBF20271815570988F6 +563163B440FA92B6C8D48DD818257B22C997CB2A9E3882D30D132E83037463E0 +C1AE69D8F29DC825DF19C0F1DD2EEEEAB6F8E2C02D837D9D71BED1FF77327EEC +79738DF541913DDDC18DF5B5F75DF06A3037B078B288C197F12057CB0A418393 +6557014E5FB2201F77EE19D1A1247577FCC26128300AEC98E69D73B86C622870 +FCEF2E9AA65BB6BF2A790883DDB1D3C6B17747DCB177E6DE97D98B81DF5CFBE7 +DD609CDAB8C2EFD920471013908BD8426A8F797371FF7A379ACFA1EA334397F7 +E589BB9307AA7DBCB06FF7915DF8DD21783BFE27B679DE290EC0432048B3289E +C1A6D07A355B8E4DE93CAD903EA3AF7D01BBAA1B57E2AD9806279FBA6743F3F0 +976EFA1E424DEDA446CA1EEDC0557975DC0AEFCFCC1DF586E7E6DCB23A94AC1D +D345FFB1194F23179355255D757DBB00FE9D09022963AD06D3DEB5DA2ED62F8F +53D63F4541EF8CD1570FF54E5CF93EEF7BAA0950FA0B564EC0F769531130A51F +AAEA05F0637A988EBB1F615347B1FAF64E4A03A38C76F6846C8B8B8A7C02A54D +A981D08A948049E8FAFB8B5226695974A3B69B79E45726392D398838012510BD +20875A839E7243CBDDA8BD71B2ECF2D02A9A3C73F5F859E2AB66E9992FC9F9B8 +F6CDE75A0EF66FB252F3E18A7852FE2373722421D7AE7C37A6EBE5591EC81DC0 +F79A89F76A94BF1B421CE8D1E5042452B582A46C2263E8961974CCAA1FC44CBE +8841D70C177694412822E894C7330D833BC0DB52A442E8BE93BF972DBFEF76D1 +341E66FE8D9E973FCA21E7F06595B200845E0D53EE5C41600A6D9B127C5A90B3 +3249FF9EF55343A77DC6071369FDCA3985BD8AF29CA7B739248C6290A279ED35 +8D5ADC7D2B54426C90D94337472039AAC2C6DAC946617D9C7B5AD44AA702B6A7 +E216C05DDF46B5741BA5E190008DFF1D952B3C7C18CA5AE940CB9265DD577C9C +65D7561A6790973B338194B5237B5D9948A86FDE27171A3BA227BF5443BDCEB4 +F330604421130276C0D5C0AD3BF73076893929B7982C59E76E657172BC6E0BA1 +5402E65D6812F1BD0DB84E9B28B9F86FA6708AF865170BFA902F717C30AF22DD +DC6063C732A6F428C0930FAEFF1D2470D07AB6581D4B7DBBD6D9E246B5227BA9 +8D399415D1A9068963D707C29504B8730E87D260984760C4C7B7E0B4AC08A96B +B4909B3BE711FDC8581C8834EAFFCFE045B1D45A327EA56BF4A61EAFFAFD5F29 +A99E798A521D8114490670E527BC95332DBF95DE70C076C137D3D5B0AC1B80BD +C75F147276CF75AF31700C32F301848A6039F6F5A164CC33E4C8320706CE4148 +855B50E3C37C4F8ED4CE7D79B796732724A0A8F2F828CB1DD315C636253FCF3D +6026D040A2D8BE827E39E7E0B06B1B0C4E7685BE712D925656D23317D0FAD0E6 +3EBEA4DAC99574E813AF4F72501D78FB92A8A32F408C758F785EBE774458D65A +E1C0699D9F64D0D6F462A49979BD6FCF474E97B4E0A7FB9206B33F7A59A17A5E +83794F56962D76B876D11CD33C610204905422080A852323A8834D981922AAAC +2D5F2BCB0A0BA66719B60B37801E203754E1785D185EA29513F3C9BE6191F255 +72452B3698C34C32CDE4AEFC297530DBBB9E8F402FBA40C3D2E93BA0A6C911D8 +D3B73AF2689026B2F255D95FA0F097430840CEBA3C00838CCECF62709DD989B3 +8BC03B5A233DF75B7D1213329980CFCFB12A1360E9119B536CA3848C620F7645 +5B20F2F4CF50B1139F1DB6903AB982845710838B729CEDB7836F1EE1809E80B2 +6C85BF301606266F400204C11B430C89BAA234E6D354688EC1014A607B2C51B4 +2E9F464124C8F862CF5758AD7CF1415B5DDAFCE95E8AC06FB0B847E0C0E26E07 +4BD48BCE629C4D9BF6117DACC9A9972CD0CBFE537A86AA0E6C1A0D3635EF3AD4 +D2DF2A0607C0019A3B7CC9292874ABECADFEA3F3DEB90A2D99517A35BC451831 +7C673BBB207594EDA347E486C3F70EC67C55649BD4783EA351457683186BDA68 +0794703B5B337E5C912707E4122CB2200EC7E672B0B13B3D0DA532D2F7087F32 +05BA59D9C0BE703CD07CBF7A8C6EE352B1C4CF7CC990ADF8D81A672772807AEA +BCEB36F56B59D8230C42647953A07169127F3E85B3CD2B2D3B2D06A940CCD5D3 +BACE10C323F429126F5AE12739FDE06D9DC43183C48000BEE64228990E59D9F0 +B282F6C574262E4622B2CA73405E82F418144ABA58E5C033AD0C0FEBEF8F330B +F6970510A30E39212199729BFBEEB59B41D106B9C8C491C94D59FC570FD31858 +FE93591098CBFFF2285604FD976CFFB42CB4E3E7BDF00FB502F59237381069E5 +8ACD6FA8A324649434C09D08EBF19C7F02C11FDA51250502EE600EA717D41B5D +65EBF066867A98793E5C1360814308E4B74EE3510705C3A105527BC7379B8129 +CE2ADF113BB01E9009E16CB43D886805437AE7BAEE8D109C4D529E6E816F7DDF +A1EC3D79388DA5BD29DAA58AADFFC1B635F71D4280D2B1D5A9B62919F08EA188 +264EADE8D32AA577415897DE9345C42308A90D507106B457CB841BAEECA71950 +CF5091FFE041426108185EB7F58EB7F3D6C684FB216A6B8A4AA9715A93CAC34C +6D04D0ADB51AFE9B73054A41BDD7BB24BF4A1024278687CD3E343B8650B550FB +B706205C4705507BC67423E7214B7EB04EEDD30B3FA29048BA3C0392C196B8E3 +8BE3BA3E3360B7EFF8542CF72DD07FB73D081DF6B6E562D863E959B5972DFE80 +3B7E68DFEB6CB76F52D27DCBC3286542D9EBA6F112F5C0C747A30500DF890462 +18FA6023A59AD8690D5B665561EB70D54236782119D73879441DBD758C96C041 +9A36E9EFF7E397AEC27F49BDC1B0FA9712DAA076344598AF7AC32008EAEBB9F4 +0CFA76396A6678176BF27AB8AB22293AD9A13BDA7EA5FA85929735D5F5AFED43 +A04794308C1A55BCE37F79482BD65D5AD1E47AC669EA276620386E6323031479 +0060A65AB8756A92EC055CEFDC55BE91D24B4D7680A3A6EF4146FFF03F2E396F +E8FD53B43EADAFF1A63ECF0D268A11F2B980E1DDB0E0A926919509712901FD04 +4F3A3D6B69C9C081F089F66796D3559FFB24D0F977A1177F8B88A42469E7E5AF +0FF0E6EDA585E1095E6A9375BD675B202E24D76C86A7472CE931C39A9518620F +31F9CC61496C397A1A46C69FA1888DFDF4DC5424339744836CB1C0A13F013D73 +D0C6BC868A8992EA2F747FB603CE960D43B48C4CADAA902FEF43372D5D1D92FE +7D143FBA8719B87AE4AA8D7BF8C1F65FB2CB2D603A722684D2FBD652D747CE86 +2CD3C06E30B3566E444084682D76C854B7A997D157253CCFC757EA239EBF3A1E +728F64F3C092477F1C44C8D723454C4D98F2369FEFFA88B1D4DAE41FBDC7581B +60F3ECC73743D7B7E81E4DA90AC98CC9ACA77C8C7AF106C1C7145DC5D315D8D8 +2E2017F203DF0A8298F4273AEAE0268C8518A3288EC8C56D4CCF898798FA3350 +509335DD4D051015D94367B2D236C9E8F639578E3BBF140DEFBA03B813A4E7C0 +FF078C21292D8388CC990D4598A90723CA6F9BE62C08F31256CAFB6043490966 +7825417626E45CBEFDA8EFAEC8D03AB6185424C85963D80340D56A96D580A0B4 +C8B69A054CE529CD9C36104694DF3B8BB5904F2581340557C3D668337A1EBCC9 +3F282475F3CB81AD29B5E0753DB80463876F311E6C572A38B97E1CE6741E2025 +4715B704DF7080D9FFDCC0412267548215190DAA9970887D990BC8D29A5F9E7D +4F59DEE71E0F936C9670318E90CC10EB63F3425E8CE88058DCD2CABA070FD78E +C96E6DB7F554299D893F30806EF60DD0FB11A07A2DBD9EECC2E57546546A2550 +2FE08B3BA75E5DC2E66C100A4D72C335DE605393675F8FE5927E9BD2DD24EEA0 +7E991DB13B685AD13284E0CBB7A41DC6B7015219480FF73E0A676B3AF36DAF64 +3FBA5F10E5B789C27EE99E9C689EE66519EEF26C7300E4D90DC9FF73A9A2F938 +7F009E6211108052984CAE0F368C741A7ED2350363F148BDF963B1E31C55637E +D1CBC916A5C8C5D6B30C5150A9A185CF001EB3FE363F7566B6937589B6EAF025 +33163043D40433305D5D6C67B98CA049B0A4F1DBDA9F0A976F346D9B3D700785 +6CD75048380B1C88FD441BA10B8F6630A9B3CB2E19484FCB6DF49BD628D46993 +C68960091CE02B457DC31B04DA70E8972F3A347B83DD922B13778E4EDE3C5121 +F411473C5B1669840BA412B7D5693E0B5F2A59CA51BCF84BA45F3F3837987709 +EAF7AD5678C7DA763E23A0B7F3BF09F0F8F4E0D9A44BD4AA7A8DD46BD1878572 +566FA20256649867525587AF615902407949DD45119526B2C3D29456192901DF +C6E4A0209873EBF15A4A990A5E42E1E99999D535BFB68FCB1CF91AF9DD343B10 +DC8B9A5432989BE7B4AB989476FBA0A6A645AC89751912DBC2BC6EF3D85D705F +9A7FD52FFC37BEBD42B388E73618D6A4CF61AB9CC08AE7E65BDD1C39EBC98ED9 +183535A6F05DA10849978B1325CC654EF0E799E5B56446D797F423C7E5D1EA3F +22D801536A7B9EDFA7AD42C7C07EE168A78D116DEDBD7B3C4EAFBA5FFD7B1D83 +0B400EBFFAF9B2432FC80C38E0A144CC731BABBE8F71E70720B1F6A9120B513B +2D6A3C54B82025296B46BD00A249A682D4353F84ACFEC7710D87905040508ACC +7A1A974BD03C1D +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY10 def +/FontBBox {-29 -960 1116 775 }readonly def +/UniqueID 5096651 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 102 /braceleft put +dup 103 /braceright put +dup 106 /bar put +dup 110 /backslash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 +3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 +91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 +E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A +11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 +C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 +D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 +B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 +93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F +10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D +7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF +B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B +491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB +F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 +019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 +915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 +356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 +5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D +9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 +3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 +FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 +720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 +D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 +BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 +7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 +DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 +AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 +A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E +0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 +AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 +CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 +0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD +5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B +5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F +E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB +54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 +E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F +A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 +4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 +4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 +038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 +B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 +5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC +B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 +A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD +2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D +CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 +455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE +FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 +16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C +16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F +483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 +67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 +3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 +1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 +93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA +051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B +8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 +8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 +6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 +06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 +84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 +D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 +DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB +0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD +8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC +C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 +754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 +1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 +CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 +1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F +153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 +905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 +617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 +8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A +98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 +53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B +888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D +052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A +CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 +A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F +07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 +B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 +10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 +CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D +3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 +D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F +849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 +648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE +84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA +2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD +2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 +9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 +B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B +D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 +135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE +EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 +C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 +7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 +4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 +9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 +050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 +3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 +C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 +843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 +CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B +B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 +3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 +19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 +FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 +17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 +8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B +CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 +F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 +1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E +4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 +2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 +9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 +E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB +8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB +BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 +04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 +C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 +ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C +4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 +84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 +C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 +09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 +D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 +56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF +035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB +FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 +CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 +B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A +F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD +CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B +0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C +B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 +33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 +4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D +F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E +2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A +CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 +88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 +17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 +55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A +A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 +2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 +406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 +AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B +60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 +C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 +5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 +822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E +94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 +D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA +343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE +894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 +DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 +DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F +8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 +A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA +DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 +E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 +DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC +4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 +5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 +02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 +88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A +60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E +71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52 +9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016 +A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44 +A962226E1AFD39AD32B28B924B247F85B87CC4CE00A01F0DE7DCC439C05297F8 +AB66A0899A135B400DA86109FFA7A6A6FDDD10F23FA4FB84C626402F2ADE388F +8E15FD1310A54E213599843C7E4F6320D2E6ACD58DFA107554985C62C277D580 +6AAA79CCC71454992970B82C1EC19345B393A2D13A4F5110BA6AC7747674EF31 +6A464E208F1A38FD21BF1F62E1DA0E31C3E687393FA84708A1063BAC1B5E2640 +DFA4A30DC75B3347473A27915F6E9B3911C0228107405CBE945D5A92E25E8C65 +F9129501B87E1A3E5572A24F2436C08C2D2FF1D1A9B11052AD1E15B69C9342CA +A71281C67CC3EC0D070E3194BA9F01F68658F210974EDE91EB4B1C67F2DF1CA8 +21C6594D49E7DE5ABD9CD93196989B7B5176E1C7F301C5163BE92DC79799757B +7CC33A6A525423164BC94F98256EC2CD929AAF141C1810BB3D302F83C1A49903 +8C1EA4A568D9C3C27F3CEE245A9A4AE9A376EB2BD898C915B56DBD063054728B +A69C0132640395A84760DE8D09CDC9CD54E3F5F268980C2860B66195045FF6E7 +7508F5D23E6A51A2AE1E3C7058E3F4FCE6D8147E319FEB8A5836F7810AC8D5B9 +F85F8135F813AC9F41E62BD1C10479BA112E79B080359E6CEEB2611323D69994 +5913A228E0E1DE2847E4D50C4C63EAC9F884BC3683351FEC27274728B2727421 +B6DABB1F89DD5CED4D4E75583E6A7CE327F89D70190BC917EA887E3DDD87C11E +F838D58317721257F2CAC9E991BBDEF6ED51F0719CE1F0B4446596A78A0737B6 +0802CD6B543FCC01ADAF847C21E6966A9B2FFFEBE545D3B2E8D24732E7C44C38 +62C4999D769C15F24299D76A71DBB3178582A15CEAB6A8CF8F3E6B0E75BF73CE +C5280880B7C88D6E9BD4B8D5A3B18CE41C681D6BC7C73CAACC7B533EEEE2B234 +D38C22612FC6D2075E4303D8470FFC72BA88618D7FF7E138199232D1BCFD1F9D +0F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSSBX10 +%!PS-AdobeFont-1.0: CMSSBX10 003.002 +%%Title: CMSSBX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSBX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSSBX10 known{/CMSSBX10 findfont dup/UniqueID known{dup +/UniqueID get 5000806 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSSBX10 def +/FontBBox {-71 -250 1099 780 }readonly def +/UniqueID 5000806 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSBX10.) readonly def +/FullName (CMSSBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 44 /comma put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 71 /G put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 85 /U put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 121 /y put +dup 122 /z put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7F4437ED75BF2F7BA7 +02F85142A4EADC8C9C7F11ABE2AE2A9DEA79CBF9577DD8627E31D25A7E4DED9E +FBB1C413696C88A07E5C937451D40A9211B29E24C9424635CD4FD6B16FA7D76F +5BA1DF0EC26097EEADD70EAA577531177A26B5017A32675C68052E90E68538DD +E779AB23150FCD1653460CDDCC713599EFA381C3322175809A73447720F6911C +6BFBDC0458C477D2CE69BBAFD05B5C2DA1D2E3E8378A2112066B045243D3D080 +DAB211DCC25430973C18E7FC5574A814E3EB79F34FF5197453873C8AC66E47AB +5EA57CB3C8365D5235E7746C8584734F002E9A28C38B0C25E3753D85A1D2F3CA +B8DECFE14A7AFBFB76CF3E91A1E0203FBC8052C2DF967693C9BA0ABE86B5D264 +BC345D7954C9523B3E70C4AEBBB0F2D56BAD6D76E095F9390FBE2CD607F3060D +F713ABF47F0FCA5D5C27CBCD4140C668F733F769FF5326917C0AC5D4C72F99BC +5AF4540DB169622644D320872947BCF1D30DA4EA150AA22D6D53777345858DFA +3286EB68314E30EC650C8BCC572D72879E431FB4297AAD6533C8F4802E0B9902 +8360C57504D4176C1DE7F57382FF2E2C0A3D5285A061CE91D3149E3096B91076 +1E914125CCA8D1C9230B72427990ED4468CE79C11E8F0CB89A3213C535B040E4 +0C5784E6D53C96696EE45C87B5E0DAA80D3A06E5759D0676ACF99020DCFC3E8B +50002675B01959500133BC30223C75A54948DD28FA83F399924D4ACBE33F1F2E +D85095A76AF6DD92EAD139A8D5673A35B3633D25EF3B10A40A7E28F329D6E7AD +DBF1DAD1E666931611FB107D1FD3576F11A22B50943C536DC2BA477EBAA52BDB +B65A98268602F26DCA5EC761526CB7F33CB5B345110B7A90E1D078A21E332F78 +33A0CF88EBB2CE852384DE3435F7B3564A0AFBB2024F79A633BA5B6EB7CC5389 +C43621C82972D60F7DAC71FD9DD38CAAB865D7DE4ABC39D71879BF31549DE649 +4B9CD8C149880504E5B34C2153E963B3FEEDA0D59F70E0ADCD24EDBBB8EA961A +90E5AE4ABB26E1AB1757E25572622D5A2541CFFACAB673665C7693855473D78B +847FAD590B657CC0B8289034AFEC3C54FE97B010535F70AF67ECC88E21B077D3 +A9C2C52D25CE9714EE430735DB57991AEC946C96B6988B2C85D17C8BC80EA844 +3A076618A686040ABCAC347F1B1C14676B05E13C239E99C3A2B63D0388CB50F2 +BC119D6F74F70DD96BB5343D5458950070576BD6E319AAF5792EBB9DA5778CA2 +58DE0976AEB766DA6A865F09FD6753FB4E7E0E9A06AA1A06C2636AFACF787460 +9E73BAFC4A56A99277DCB14F52555EBF6DC5E5785EF7745521FA061227B725B0 +7A5BA223D5EE9239A7A1694D4F9EC1132FA23DA44ED0FB0AFD8987A01F9FAE15 +ABD485BE098CA7B1AC780A9A02AC58DCF0425D4D110226DC7B5982FE31BB78A1 +C0AAF9B712E8D478FC4F85400B5E6D71AA653F9BB2E967A76D02B04887CEB9F0 +0EF50A956AF7F790400EBBC07467D9A8BF8BFE8200F8F7EEB5DF3E62A9A332B4 +513120FD9F8A93ED683CC47551C629B5313E4E20A207845CC37491ECC3945EE2 +71A0C5633B353B03B1A7727D5D9A0478D20D67A981F6E5CD8737548ED4348A91 +82F2CE805724A028E346E6B7C542FC69CFC7935E6CF3320ED9701C6127FBDFD3 +B20F0DC2D1F92DC69E4FEE57B457E82D5721D932B140CD6DB9BC86B961E7E6A7 +5816F42AF937D97C3149DC2AB0054564592448D0CF52427B766FD38E3B040B81 +59AA9030CE06A9A9E3A0572A11BDA85531060B75DF8791176CDEC0A9BBF472EE +BD433BCDAB926689B8806CC8044D0925814C1784A41CEA48ABB9AC039485BFA3 +026FD30CCE84AC57DF09B1581ED01B3A840AC5E9208465BC160238EECC7A6753 +D5B65B159FB08E0DFE4C9F2EF5986352C0E0C4DCA0EE62EE5C19BB6C486FCADE +99D3519723B70B20FACE685ED8D364905EA64A15981B00A6DC06D7B0E3D38FC0 +9DDF04221696F7A8F3CC7FDBC25A61D9AAF9F65D3A64BCAC4084CF13BBED7195 +6BA4C2445676804C333DA6569E4AB7E6999505DD1988C3E62495DF61B722A6E3 +00ECC4EC698E33F7B8225FF591B746E449D2D178880741074D0C3CA740312D21 +1F8B0B1A855FCA081AF1E69D14C9131B1769943EA6D5D6210E10BBD9E404B445 +FC3E2ADF8C9AB6AC07BC2FC0482515625523C04303F7884283D5CC35A4A6ADAF +59738F3DDDFB51E7134327AC4CA577BAB076F3B588FA3828971FE9D561F46358 +24BEC4C7F84D8FFEEAC94E2C632AFA5AED635E867AD362E373CEA718C750B4B6 +954A7CB6E4CB2614A4E1C707412B7B09F8969EBD5B6510B66818A2F5AE4EFEE5 +9DD7690A3520C477DECB7D61FBE5F84D1C655971FAD7CDA78E695C18908016CA +48B468BB6B43EBE1DDBC49F43B7CD667B4131D7B0C9BB048178A31D0CB70A76F +527DD352F7A9F0F35226117FF305A9DF4AEDF474FCD5C7F31FB06D4B2CC40629 +1BE1F40B6347201F84BF35CB5155BC4D2E1DF2A5C7613C27A0EE77BE55A744B6 +DF7DA5741AB55F133D518660751B0A91E6BE43B527E9C97E2F06FBEB58DD0215 +BF4105DAE1B2A29DB05FA204D0EA6E574C7344C3B3F44092F7F997654D61EA9D +4C811CE6087BA1615A31F8D107DC64F1CFF707234135B728EAA0ABB475E678D8 +9200950F24A8A61AE6AA18F34A067849825FB3925A8E01D64E849546FF7F4418 +19C0FFC2EEEEBDC7805612F7849BBA7BBD954BFDAF2E6FFE3CA520B79070F8E6 +B1509EE0040714C9F5023816250F40FD1C6867F77FC8ADD3A16A3A6275CD6F5A +21BC03274B350EEFA6EE929AE91DEB8D8B309E3B3524807B4562C7758794A8C8 +4E3C6EE0C0859AC9B799428EAC242BC4AD9564F2444E3C79F11D4C1D5672DCF3 +2E191E25165C77EEA2DB51753ADE07F5E7E748704000265649A2E1DF68909F38 +68F0D5F415330C9537A065728D2104C34CE05458AC1B2A53946890DFDD67563A +E044E7AEDA111FCBF431546D410D67602985F6E13988999E46C80A983C7F12A9 +FB56C6735454F1E194F63A1B6B21683A281AC6164B3229AE25B1189366C9DDB4 +09D1BBC8429AC3D64F8BBFEF1265611E7C2FE1D3A2FE24FBF3ED96A5CBA6FCA7 +847F5E3AD4D14C0C77C225588FBD0DA2E960FA3901DA1B46B796121DC804FE82 +C382F75AA0495312A80EF9350CE0F80CE0D18316E5D02B7BD78667C2DAABD879 +E17D5EB8F274DD2B1BFBC04EA2F72EE5376D01DAA129FE257162BD19D19B13CB +C13181E6DBC12826AFFD87AB152A59D67D0FBBE5D9CADDB1CAA8C27689355AA8 +FDC556015E4A9708995E51E46D6D1ED7B68A61625561FB594B9BEF87A1720222 +64E4F8A47637705CA32B1B4CA5B8473F1D67FCB7E4041502B7ADA9FA4B16CC6D +282FB636979D3DE7C76F3000ECA08AD6E116B1558FADCA251D67FDEB4607CD3A +84BCA7DF488C97FAA4FC195661D7977A08EF04A7D9A2D619EFC7AE291D7DA633 +C6DBCA7DA01EF336E378764F6B4E4D6C517BE05F10BD1FCDB20E5ABA7F65A8FF +17D93CDF1E60787712C40775A5C3808AD05A2F276C94B05E10C6042604F592C8 +AF1F25B98A0C78AA7BE1DE9ACF2273965F0795B0D79ED6CE2753FD0FD7B41A18 +FB490B06B5467561DFE5161C27F58E48EA5F38A5477C9CD0C2FA13683271E55D +8B08DA0C96BDE97C653B0B18096EE7C0E6BC3894057F14E83A902FAAA4C2AC7A +566A9EB8F9D622476DD4E722F55F28230124F67501866FFE952AE93DF5BBE2D9 +4B9CB9955320A9E256E611EA3838ACD9073107936226140ABEE92A096659764C +4ED2485B33E75BEA57CCF19AB9409B684EB14103ABF6811E7A8C0AE0C0C11BBD +87801F3F0260D04A8921FB9EBDA2A2048F4B5C47DF63051A0BA6DDBBD895E0B5 +F9F0F3CE62CB118B86AF595F4F34359DABD9EA354798E8561599CB32345A43B5 +93B217C43E316BD10BCE1C66A10C9A8041A14570ED7FFDD95AAA76E92EF52042 +69F0B8FBE21CA4E37647DDC890D13AF489606195900063DB0CB8D71968C1311A +D56155D2B2382119E603AA85E9ACF1785E4C0ECA137E7E4F5EE7915E8A080509 +02FFCD2494DA2D3B2AD27DE5F11684BFFA2366B6C834AE309D8E07F98B7B556C +DF3E0B42559610F1B78C79254AEBD7B0F5B3D7F420BA725AAA91EA20D014334E +8FE221BB02BE7B59FC3D03D8ECBAE21F5E37E4A0352C475F9F29C5D2FCE8CB9F +2A059AC06AD9E6F13C39F2781D7D4B3FC34291D165E5C66C5D01B5AAA2AE8F72 +9B3C634FB38FCF35283792048BACA9F7EE6789621D9243B917234405BF194BF5 +A4F137680ED10F216076AA2767C1D220AE71EA7393C7E252209B6ABD94213AE9 +F61FD2CB3160F41C4328DB8563483E13EEBA83A7935E4AC11A97DB7988585184 +6BD3DBB8241EFA1F1DC5CA9C2E16EC1EE12CAF4471FA83605DA85672B34B1F9F +8CDBAB6907D6CAB6DD7E00A7D636EA20961BAC97D1AAF32C8096003E096855B0 +EF4845013B9243A29BD509436CA78C6F8DF4F90DDED960A0D12BFDBFCEA539AD +BD4BF883E09542C9D75DCB8A4AE82DB495B0B918D330979F347A76D73B19995F +4039557D337FB55B8C5922F35B354F6C8E4D861A0B66B3D803C9862C9C507404 +5EE039245AEDB521E90F83F15E44F42F0802F8DAD6A9BF6176C364286601FC80 +E14926FA518CC035337904132AEAB9785361709CA01AB0F352317294B34B2B20 +FF88CFBCC8E89863BFA2D3ABB2A596C9D9DEB261CFE48E403F88652150EEDF05 +3390F002B2E4B53446FB39C488E3D0D4EF4AE2AD19019710FDE56FE29B58B00F +0A6D5B26B814BF64F13C35EE903FA2190F460F9438924E1D7158704F305E326D +66CB529B3A4836DB0FE383EF989C975A2F603332FFE0748E0D695327CC8D9AB6 +E036E0E6409261C30B80977BCC3CFF8FF8A9BCBB889ABE47B0CE3450783E1EC7 +1C030CC18E074E01605908C3FB61B78CF4FDCC8E8CB13EB77CE6FF2BFF91D658 +51FB05DEDBB20B0E4C5604AE3CE6D41A4C8D71A1F90120B1F90C83989B892253 +31D06ABB335DE237CD0CDC91256A54797CBA5E284B6CEA6FAE01F7BEFD905E5E +139D57E163137B5751A765B46A3AE6F653FF2551988CE792011E0548CFAA6ADC +E32B876763AF6F6FD6864E7B55E341C97FFA711913F8A7FBCC1FDCB4CF2F4D3F +17358EBCED45C975F2EFF3FB9F77A22EEE4C9DDE63360DCB2DA2C1AA4BE44BA9 +3F9CE6F27631809DBC45643DF7BEFE247E79AA7937C409986500EC1026ABFDB2 +6C30E0A4852A6976A73AD7483C36F1717460327BBC05DE729E23D370B78630D1 +7E87C99A5C3A3C0FFE204EA81A8A33D7DE80DF3C0EAB557F4E86DDF8E03AD072 +61B1D8E1BA05452A6FCA404D9BB8FE9831A367B0AB31041B474DA9536035E7B5 +EC83DEF0AE17DCE958DA19869DD51F53D4A4BFCF7CFA635D6F9F882E6F0215A7 +0494E76F258D44FF72EB5A1104E8F73AD2F6F2ED337D854B81DF4083E6A2D679 +6B5613D76DA2347118CF009E8A88924C2A42B154DF1CEFC93C89DE0ED8DB26CD +8C2EDE2670F494DC591E79DA26CF8B5FB76613296FB1F39AF2001BBDAAB12CF4 +3906B4C304CCF1D066524DCF92FF484CC682C2B197CD797056555F318279C3A3 +7AD8EA9CB19724AF57EFC6706157A5E2F51F104F6232F252594510E0E4BC872D +D610F4C99BC3ECB668139331216DF1AA8F6358EB90CE1F0B8267B878B19BA7E6 +77A53A674E0B029E9142865CB92A1596D5AB97FA12FD05A04369AA00BDCBC2DD +1AECE1A4AD55A93885C626004B41FD277AAE6DF68161F7443EFA7D9C913AF909 +970F4C6292A694AF033B953CE37116A2AF2439E482867EE9EE2BFE1093A738DE +24D3C408DD105CE6D7B8967994F7C5CE49FBF61AF135F8F7799E2FEF29A168CD +B2F16F795FB475204FBC41AB78AF87E4E80F992FDCB770A3DC0501AE1D786ED0 +449956A1BDC93876934331C24CFE4392AA860A1ACCA39978BA8AB90A2174F5F4 +97539772660D3920E1B57E9E0674CD34C9EDA83B6AF1B06B26207FE5D67E75DB +B170F1D01D512CF6D586DABFCA32404253F0A9985A29D46641A81D5A810469C2 +8081D7774B3188423822003AEB638F21661E0BA7AAC765CF8321F9677C85A562 +88AB1320B3256EA9FE0C67E5B69A5127DC1B13E4062CD0C9ED10AB36CD370105 +8FA04F89E3F836B01393F1E9365077A30D8E46B67400DDE8EB0AF8C815729699 +469773FC3F0ABCEF752A5768C9DAA1931421214E69053775A238553AB6620E9C +E875223681E60B7F7B25BEFBECDD4FF799ADF34BFB397AA114515E2133304A57 +B422E97EB3FC5314F64BAADDFEF9C0EC719A78915B26E7E3F381435563F650EB +7587F11CA3B14875F6B1D817C1EFA0B89C85B888E8391C74D77CBCC6A990C36B +1062D049E20876B40CB030367818A3CD3E2CC354CDCC9A0FBB8DFCF7135FB2E6 +A0BB0C3A441CEB8D5FE849AC7299431DEE27CE28B33AB7E836D6958104D1777F +8010546687CCA23DB48E53376A446136F449A92C07102315D4D0A897521313ED +1A3A8456A70C16EAA50A3E67336DC89FEC56AB54A579EF264377A103939D5EE0 +0A90B4F20AE1F2511469C34B5984A04D5AB8A162F18DBE4D613BA1C1C85E994F +80AFE3C18A045148018045C63376CDEEFAC53A55DA67D5980E3A99CC1C981FC5 +5C25CD0A685E3AA6F8C0B8FAAE157DB91AAA50A2B5F7D8860624F29B8DD87606 +C30F84C33D802DD5B95E090BD7AA4400E090DC1913BBC392D7E5E87717AB14C8 +A031737560F3D132BAAC0D6DD88C586322804BC2D8C505973F015F7662571FD1 +C89CA0281CD48AD84B9ED8D70D240A4EFC2715DBE98E545B987AB64FA259D81F +3F768326717675A3A2E22F4EEEA22A5201797C6D5EC644318CDA28A2C3CCD123 +B0159205FD52E1F9A60A69AF7B40C4F7189FDED20EAC3869E5F53F4955CDA0C3 +2B06D72EA2B8CA5F0B557E9A36B8E9BE7EEEF96B5EDCA6F79F53F83234B2BD45 +6B3D631B1C9CBF7D283F377177C60B3D65ADD945D31458164043A17B8DAC8409 +B4261A4A0EB36E18BD104A8E66F45C3AECC07F4E8FA9F3D2A27334F95AB79BF8 +06C18D57EA745116DE0B36C12B6F5411A9805218B5A31731CA0A35D9AB6BF5AD +928726A6EA61E0B69FF0F4FDAB2CF5B222FBF9BDF4F89EE47373AA3944678328 +1EB230EACCEFF4243D6B4F8797482DAB78C1A053F2800144A4C76BB839E536EA +2D4DCEB625DC0F754EED8BE3FA53A7AC3ED17C92757CCCCDCBE21A9D733291E3 +61235172F117D4B8305B45D7728DBB2D71411954EE599B0EE786D7603D61CABA +AB241062BE3776FA150680F9CB8784FC7A94790FBD2922772EE886254B59D0C7 +4A4DF7A2C1C4ADA1DBC51CE27D3FFF7F96BC5FF7382864369536BEB2EBA6DE2C +1C427990F6BC84E92CF718BC6D4CE9EC1F2DDEB8637AB1FD673C5BCE1A090146 +171717B39B9A83F2DE0B79CB1B836390828B3EB6DC397AADE45B21F55D1A3583 +C3A5BA93A4ACC08CCA4DB80B78AEA6002D80C5513A705E7232938D8423FFC72E +1B96313ADB255D43E2676DD2B00B51D116A328164BDA8475741EC234EE6581DE +06162F006405D6D823DC47DDD14536BB530D132975C0C436F08F9243F1A9AD16 +898823B8E2739B4428E62CE0E41C291157F1886BF937B3D3B9B6DF0D0EAA38C7 +D7F17D962490AF81157E76074422D746EBA97ECE803A205B482B03FB06D080D8 +05CFE4868E62494AE445824BC127FB7367DD9F70B2168F2B8CA0CF190BB838C0 +67563169C8454E5D0DA086467F1536F5E8A1E4D3E727B1688F745FFB4F9E56CE +4DF06341FC891C28C943B570A7A38C595E07707E41935285DFDCA777CE731DE6 +B46EE9D1C3D61DB6EB8434F17B15274840BEB842587F3B9AED05B97988E18380 +9095E88840F703E9BF997E8A666691909635B7CE630194962E4183C3838D9401 +260A743CC9A7FC4713C309364EC95DE29F6D6E1FE8C348E25A878C7133EEA500 +102E3952322F6337A44AC6070352D2594952A1234035388F5E4A9BA075B48F2B +BB86E2FB3FADE2F7F18B865A1C5CC0DA17E34F9F8127A8D020AF96CCD64B5BB9 +90D31E59E4B8258173740252A2667C765A7567788E9F64EE4F71E704C8F7037F +43BAA8BC434FD9680AA039F1DE6EB2DA3D71B47DF439558CB59EE04921B2E186 +4F99469C7FB363F4D59CCBEEAFA09987B5978A87A278F8D21AE383FFC43C30B4 +51DAB7F784178804D2BEB5031508FEB0ED5ECF846D99F9AF8DF98647196DEEBD +0EB21449B5C2CE51E49A07044356A8C6C8B9C3F3E00BAF3B3C58A4DDB1BB6711 +98ADCD04C76640DE3524BD0622A445AD11BB43D8C4628D25551C686B0F7FB8E8 +1951064B4E1834FF5CAA8BBA6DFC1B2F6E8A9A91B0267E96D73A17951D0CB96D +4B8F9CCEF3C84EAEC4CCC5C1E4B7D14AC0EFE5A42FF7077083405236F7B6BE76 +A141F2C6ECF4A6CF8E183B5D71E7EA9D370D20A8FBFAC9AAB39662E6D1DE6DB7 +00D37402DBAE9347BBF0D65ABB6224F5E5DA0FC52A80C3C2A0580D065DCECE2E +FE228239DA44AE72F8730B607591F517CCA3BA9D94A72BFDE1AB707BF3B45F5C +D26C958C757167ABA99BDE64A35AF5C80A1450986080788AF2E70979C4696B5B +057E03522CF0DF8CFE4F4ACFE7114AB435241AA75EACFF4131EB35987377FC45 +32E001C04839E46FCE7C80C0AC8F720963876CE7947198C2DF6AC8869E15EC16 +D6867AC12F40F7FC462E55952C1CFD9B01A7513A6C0D273E88B504BA4429CCFA +E9B65D65F8B3CEA519DC3A48DDF2185AC8B1DF1AE3A3115352DC3C7E17413B20 +5E111B8140646020648F9677A27019A909954D5C4C02366F97D8DE10A8EAB4F2 +D6F6EC7137544FB6D10F9577490D9588B730FE9A349A7F13641DA4F0C6A8309C +E5BC7E0E00B732FF41483EB5A5751A722648BC8C8C7996060C9118EB00C227C1 +2BDE3E261A4CC4D74A0F20733C42AC4E1D88BA79AE7124C17057675387FD1E81 +CF24F6AB1512B8A9AEA7FBB6E53D7DAF283BF863EB3DD7F9F55C21A04F1AAED8 +7C854F0EB136FB76BB96D8503D6844B79000254377EF99CB72433AC6DB6C8CCF +F47E4D44F2B4BCA4F750BE236F541C763CC890DBE03F39C90EF39A352FEDAE19 +B261BCCA04AEC45E8C9D3276D4B5062522F44A925B555A6EA6E5F16C33474080 +C50F068696F90B465620CCA8B2181CE92417030D00AAE28A85BB1A31B0FC5A91 +404F77036F0EC33C21773C46EADBAAFF95C07F50083319EB83205F2B8137B343 +02AC094DBCF0506C3CC757D3663A9C06B49FB9B251DCC4D2708499C877D26D03 +4FDD5735D5EB233DE2C17258DF16DF6D4974916F5A6D014C600CF7AD18A3153A +39EF17B01F13524EE7DCAA5CCC0D80EEC526F59DABA970CB5651CD6E9E71BF4F +09F7356C2DB0A1DFE82C4C4969DA1CB1D0AE0E263A53B8F0529AB5BF0FC1F653 +DEB838C8ED968AFA0BF8D9B7D51A645C95A415931AE587DA37213C0C51CD34C1 +66A69B1FF7DA7E1A1BCF8496AB284E326786963B59D9A09C7AD30115FFF92536 +FE458D70AE2DE5EFBC54763176A52565111C05A0E81468F58F5BC98E55C12193 +DBEDEA09AFE84A9292983E882ECC6620278E7DDEC5C6D8FCA4AC3DB1FA0E39CE +B198CBF6204C25A8BEEFB45D53FC0E6895B29AE2F95160723B11DCFC06E34E0A +D4D216A8148F39767D142A14FA96E7F0B92DBB7886ADFB4E55B7A7B4719AFF55 +0FFCB6C913D3D0A5287EE3E01476802F3996854E1C43C5136C6BF73ECA3092CE +5A42AB40AD6B235330ACF421637A07B4C473FE0F8373D3721C56699078D0737E +A90587194647F24785B302C756C44D900E0286628A3C560715D504F578890B8D +E836F9B058CE94DACA1E8D1F985B6FDFF6A333BC8FB9E0CDB5215E2157D7D044 +56CA63DA9955A67AF2E74AA249E4F4E9A6740195F8F7F217B724DD78BF229051 +CF865DEEF4DDA79B66C410C224CCE4E887184A706A278A6E280DAEC8A6DCB4F9 +729E9FA77B7A71210D5E9FF8493C6731A2E06CCCAB2DDF2609462F7AE842CDAC +3B330E77DE11F8933D0047F2AE7C1511D91C9EFCDA71B665F941ECBB02C25A0B +9F93498EC1D4FF58630DA69C0EF224669A64764A2B7CE2AA28267A54EE7D6D30 +3129BEB24FDB02F234C87DFED18F99AEA42292262E0250275E3CBD337FFF75C7 +7A24D5FC81E9B92EF35EAF2C94D9DA8B7CDA46B4D5D04B05A8012549600C01FD +0A479208058DF898F9F2D66CC5800D3AAE341037684012239F852B33353B90EC +A187BAF521E12266FAA1F2147B524C14719A22EE48ECD5C1904403F6D24B423C +6F2581355A55186009E57266D206DDED832CFF38AE62A7C4C2AF813A84B38867 +EBC5AB8BFC2F6DD92ADD7C25EF6861A2E858CFD9E8071A927E8A6D21F32E1D2B +3841261A0A65453FE299AE9D9F92343FD3E59BF896BE4F8F5E37301E1FF54445 +29A78ABADC532F573B3AA814A2B8E8F3BB7384C9B1E2CF076D6A4CD12735B732 +D86A6060745C3F2259532F2F736121695C9E68DF2C492600351418EB5A898BA9 +EA56103B5E362C368671D30A51312EA1ADC0D461FA7AD0AD0F1E12138DD4EF42 +D95EE63303C802CF9323EB0BA982F0762222D2FAA808075BDC3C98E921F335E0 +A165821C5D5D94B74C9A58085EB4F4BF49D6890F31D0A36188CFE1962C14D5C9 +4E38FB3CA04CBBAD7DF0B93B54B73981C9CA5B0F29AD880B4DBCCAE5362BAC2A +CFF5287031DA97EC29D758332CAB38B1FD366ADE966771B5AF7472B9CE45D1E1 +4C8E7CCE80EAC82E3F862AED69465CD0A5BEE34490CD77F0B0AB6283D0211F2E +AB4E11B8C82EA079623B4C72C5F515DC6328210AF19C3A7DFE965AAF74D505DC +22EBFBDBD9C9D60D6D78A00BFB189B951C63457EAA2EA85914C8B170EA410468 +2E73B28DD36AC2BC59970500FA332488F1B926EBEB43F37CEE560190963D6862 +0C8F7F9CBAFEA3855503B8BC04A75CA357C3415584E9A6E7AD11D3ACA0E48032 +3263292DB49F5B2D68BF08438B2DD99B53CD91FF206FBC520CA93CBD1E94AFFC +57A10246AE461AF37E2A30DDB18766C17506A9913783A336C9DC4948E7B78CE4 +F773A12606424260A6885E032BCF4499464C12ED15E0D01A2CDC28DADB8746A3 +81D4AF22F02D075C5D2694363AB65E2383B629F572B6A3327507A5D0A0E3BDD5 +8ACFB96368A60FFF7F1FDDB27FE8CCA96B64022E2FCB6F0BFDCE088C3A26D8DF +DCFAAF3A2C3D404B7A6CA002C9DC171B02F806F0C9B7F571B5474F4D9318A005 +AD6A983047B23BEE8F55C980A4255386BBA9B1DFC45374670EBDF72EEAB0E5B0 +A3F2940FD70CE16F5F598C6B0F6A38048F2EA10F68D5F0C6FFBC07BCECBD0E3C +246A53B0483A0A9F1FAD2815B97CF5D3115B409DDFFEE27545D2772043025537 +3D04EFA9EF5563F3E5F6379580EFB79941EA961E77D42B1C3CACE31BA462B82A +DFDCAE87FDA2392032FD811DDDED35864E4A85EC61B68DC5A55361B3F3B54147 +05F683DE5555BA3065BC0FF577624D6AF22120A795A9906AABFCE03E0399B7E9 +31A53030B2014B57E32A2F2548C4BBD88D112D86819A74DCA21E4F24F9BC632F +4B6A07180796B05E1C329E3B137C476E7833F42516D71A7E6E8ACC3EFA2AD8B0 +E243EEB86E8764BAD95237D0DE6DE8C96D5A850B6B4AADE1BDE62B7A29DADD01 +D8AD258A291F98B57EB56A7E53CA2CA37E400FA52AD8EDA9992538B3DC69D5F7 +55052DB9BE972F8CACF0F1820DF5672714597EBCBDA59BB8A91F8C9D353895F4 +6FFB1301806BB3A194550C798CBA7F2E1799CC7AD8816C97F5D42DF44285AAF8 +D94B22BA2DA93B961C3447A9E36E73E62C3158BAB675BC46BE0584140D58621C +F80E5225EFD57459055CB5FC8D17E3FDBF1355A4FA515E39663EDEAA66BD677D +E9FFABECF40E2836AA7CF8D7438C244BFAFB343D1866A5504D55F6B5219D0FEC +980B7B91C718AB802A8C3EF19D4C33550034D686D04385DA603A6A099C986622 +00C64E39E27C95596652640F26938C248D1FA7F2ACAF5F0DDBC70F8C6DA2EC74 +315C590692BEB807927B7A60F16061AEC0A57119A73D88FC3EACA1BE1537BC80 +CC963B2FB7EADF916B506C78F32930FA2159F23B8F9C8FC73FC998C972128278 +590F4000F567F85A6362284DAEDDE4E7996DF5F18FDD5985AA379CFC8D501F55 +62F68333676C1A750B344A8C2950024AFFE8322B86BEB28B00B1A179F48B2A7A +3B814C840BD47852FA6EC5D1A6948BE58E5AD931A4CF3249BDD8C945CD9CC2E7 +FA20A3A6DC3D5E43DD88B1A85003CFB546C6CE4E5278D0C60DB1D6200AD5FA32 +682C9E3F4B5C95D0788CFB2E2BB042ED6BD0A9643F8B31DA412CE97F665FB356 +08488ECEA5D18F6C38746545422F700150D32D86ED59AD1F7A32D185A38D555B +3992FE710B379B4CB6ED0612FAD4EB10EEE8B915E40545EC924BF0434AA2E15D +E8958604E80F2EBA44CF0F3D0FA461A20BC31369FDF487BB8F820D226F1F5013 +660B935F40F6FD5BA538780E569618F25120F26CB6903786F0D38E20F504AAB2 +52D7170871A73C6C9FEAE12A0CDDFABB0D133EBD31598CB8D14A1559DB8CBFE4 +301BB7B8C811D4612F91496FCFCAB7D110639F49BE71C3478EF633EBE6EE4ED8 +B7AC835A975B2FF6684810BB0CF57BB88ED5FF8A00FD00F28F7D46F8BA089BCF +F7CCF4DA30DEFB2330DBEBCF928875F40ACBCA8C815F7B3A64E297CF3FD626CC +47D247CCAB9B7B772BC934F0983E6643787AE1F50502B4D6DD3824F3963AEF8C +62353F8CC09FDFCBC69B3EF51F1B2CB8907B8E26E8792E22DC46B9A9F2CAD94D +0916F6FB3F189B5621D374878E636EFD089E81B7DA5C7F67131B267AAD36124D +E3DC8BC08B7FEC1D8EFB873798613528E04B694780E2C4AD132B212D59CBCE57 +EB0D92B5C590ACE21F79233FF8FAA9F03141F84CC59AEAB1622A76034539DF61 +59DF9E448B7DDDAACBCBDC996CA2A2D2281A9FF9DC3085FAB099E0538174DA8A +480E6B2C82DB804FF228992270E1039CAE24FA6C7ECCF47FC8FE3DC93AF5CE5F +FDDC9D104966B8C098232486727FFF7D7174451D1C559AB0AB4E75BC64785F74 +2569C78EA16F0F516CE3065C483E6923656E924AD61027D7B2D33F2FD97B783B +D7171AA6C02534543F76F56D0D397C8E981C0D32DF71845ECB1B0E8DE3A09FA6 +A232C2B120A80FF68B779710493AF2EFBC22090C190AF97C4445BCB7690518C9 +4E59517C36935BB565559D1F36A1F9B6C9B4773265EB63902568FF99E7CDCC8F +9AC8F6A1130294527F59187DD7E69A0412D5BD5AD4E1EE12C5A4A5E21E460D67 +16A5F7279FCABCA3BEA9655A159036417018139F31C43D2B50F1EFE12DEF52FA +24BC855751201D413AD322E884CB4BD220725C53B4534084958FB53862A9CF34 +996E9491B848A9827D1856E2F4E83BA71C15C2132B64967509802798A11089CB +47E0474D0D62AB4BC9AB39B7B41F93332B2B68BAC5979BD46403FA4B079B20F1 +E36C5DC8CDAAE3C5D97A289538A8BFB7B2F425D94FBAB3632BD44064EE1FCC01 +CACC75076BA87D29A4079B24C20E5AC57645B3BBA1D67FBDCDEB134FBA62E011 +F50B8728B5DC0E0517EB39551A6DB31E332CEA857E8E5FD62C8204EA4061018D +83B9A441D730A05332FC7FA9DD10C9F785B14F4A6B9CD06CD0C3DE492FDD9B4E +BFD04C5E38B10C2D12B10A1475B753E1E4906D4EA72C7F2ACEE0D69D0FDADC9F +982B151078F96328E9909A9C39F282028EAAA4CA6D95938D8BF9CD1034CF0501 +9AB0CD7B19AEFFE54EA25BB0418DB5D068B68DCC68B45B2027C5D534B9D66984 +CA6ADA7A52BA677F8DEFFE844656347B514ADB52AD0509FC0F9986D8D33311D6 +C014E6B8BC0EA58721D9C4D92A55E8B973FE59BDD6DE5451280ACFB0C2FFF54D +FC5184B2390C02BC342872366B98CFDC692111A5D2D5322AFED9C4049B1A5276 +9283F09F362344DEABA5B5EFF2748964C3D3149A9DC92A4A7B66E1C8E3F2D3EF +075DF53BFBCF1790B255C7FA87B398CB4DCFDE1692673ACE41A49921A00F2E96 +F2909E3C8DD7315CA1DC44A9F504084BF32B442B72566E9041BCEC2DCB2EEC02 +532A7864D00CD9AF4676C0BF7ADD7F82AFD03E94062B2297B32EE22EC57E39FB +82A52D9E53F446CB7EB9E1372CF30C269C4CE5BC6ABED3887C679948711CE525 +FCFF55A15AFCB88BD9B03DE2D4A8FCA7F1A5F75124677237E667DB4A19ECD57D +9FC9EDA5A7DE854C8C862AE0133C993D19643BC7ACF722FFE9CBE54987B09E21 +BC24DF15E8669F1B89BB7606D791ADCAB5747F29DC814A33DAEA5E7E239F9ECD +08DA565A271B15BB9A0201B80999D067DD96AA2BC79B4C5FF94127F50C5C62B9 +C0F805F54C5C11FE40952D962624DC8EB57C6494780926F0266AC161A7D6538B +5E536518D99D9397B37199ACCDC7E5D506782ACC9E455A4FF2EEBF6E32804402 +6CD996ED3FD8D834B7BF693EE569320688672BCCCDB2CDC454A54D53D2F58F99 +B6F3FE0AEFBEB573FC054159F73E5806B9EDDD6CA00B982159CAE4D6AA001322 +1EE16D0A7F1249277EE4A12249864167F38DECCCEA91A86514425C2677589A51 +CCBA755E7A82F864AC991071504DCE6C21253F3C952C4A8844826D2682168573 +DDB07F5E27A4A5F5DCE16120B0AF579C546B73BB3003F0821A071EAF4DAE7BD8 +79789F0F4B9198716F023A0B79E021F588D0E60E8B1BBCD4C4A0065582AA89E7 +9097077CAA4A35D34BFE16290ED3443AB1ADB5468D78C3B3064E96BCFF71EFDB +BA0AB8A4D2439A51F31591622B7766078FC2D5E7D6F727898A197E818992AC10 +C6199531D60C8E8B10AE0974C979DAF7F30EA87C2A52A2394D49C8E76515F861 +8B596E17FD9B599DFFBA26C8CFDECE79DE4F871859DE9D0682A68BAEDC176967 +60F808C7FEF13F630E9307BD239914F8774A1B7072E27EF5D7F1DBB7AAF3D0C5 +AA448D07F6808A5A72D5DBB9EAE4B9D906D256C1C5691386EBF0365DD89DAE47 +66E2C29C10A1A3D1D17FFA107C5A8EFFBC7C8431A12536B464AC96CFC79BCD12 +CE09467797C6C73097AF2A9A948244FA7D310F1EF9EA900DBFD80B822B5A7B1B +0AD222516C5BAA35AD8588597FDD75721BB4E23B4AE1F79835C8D6766A18CCDF +F179A2510DA9DE4D5BFDFE44E315661D93E1634E7F043D9A04B6428D3B9AE1C4 +F22CB3A3AC1978C93E0DDB57311825AD1FD13AFCCB67B2391E967555F9E3A3B2 +4F453091A719A0CAE3CF514BC9B68ED65E928AEEA1E61BC9AEB1EABDE876522A +9ED439A92433CA8A95B441D19C1236F1B1EA69DCA366F92E4C3F0D4E1151CEF9 +C083470E2F8202C06EDE655E14B239D6F5F4458E30414DC9A247A10932BEE664 +946450341BD1BD5C3F5A6111D1BAD32EF1EB5ECE513335576A9089BC3DF2A586 +7CB8CF140A3B9D181AEC90CD17999B37F1947926B2DC12DACC6652DB4E399C6E +B878862850F2FF07B04A16FF88E81D97AD93BE222C39C9BCFD0473E04C26DA09 +CEF8BA97B832790D52092DBD362C987D15D6B3E586 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX10 +%!PS-AdobeFont-1.0: CMBX10 003.002 +%%Title: CMBX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup +/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX10 def +/FontBBox {-56 -250 1164 750 }readonly def +/UniqueID 5000768 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX10.) readonly def +/FullName (CMBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 49 /one put +dup 50 /two put +dup 101 /e put +dup 105 /i put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 115 /s put +dup 118 /v put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB +B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A +6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6 +39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8 +407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4 +F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF +285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33 +DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185 +53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108 +74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D +ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2 +2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89 +8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D +718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61 +C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B +03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2 +767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09 +FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377 +547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A +3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62 +57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10 +9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84 +1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4 +822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB +1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B +28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A +B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893 +9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B +80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7 +D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356 +582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89 +4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB +323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D +CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC +2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717 +0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C +E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1 +9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F +9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237 +E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814 +9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF +A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45 +8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96 +BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921 +5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928 +6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711 +86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990 +0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713 +6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05 +64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377 +879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B +63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE +2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667 +9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317 +47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F +F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387 +9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F +C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB +6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2 +BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238 +4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751 +125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E +37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6 +EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E +7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD +A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986 +410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E +8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0 +064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9 +28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B +3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759 +8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5 +E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08 +EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4 +A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0 +0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9 +24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373 +73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7 +213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501 +3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6 +B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82 +FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E +E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9 +42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE +4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B +8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10 +CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D +13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D +52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493 +FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3 +760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5 +5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D +C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58 +0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6 +E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974 +A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED +16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C +25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8 +B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B +45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E +C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE +4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06 +05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A +D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00 +63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B +35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC +DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75 +BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40 +70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F +BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71 +169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A +BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3 +EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441 +FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC +6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9 +05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C +EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30 +69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D +813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70 +EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552 +19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340 +1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024 +D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D +8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6 +17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24 +96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8 +14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668 +4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635 +5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE +027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215 +A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96 +BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551 +66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD +92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F +93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613 +83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963 +093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6 +30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C +1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9 +DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E +D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE +6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F +9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183 +BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8 +5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB +6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133 +BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548 +DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A +5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2 +913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E +243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609 +51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A +A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4 +C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239 +E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945 +942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589 +3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348 +A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D +BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060 +6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB +926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9 +E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D +08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26 +8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E +42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88 +C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0 +BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3 +6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D +DC158DCD1C1BC03B83FF94C60B1DC71CE8A86B46DBE661C9F8F4677F8A2C7CF1 +E41A91EBDA2304735147BE66CDFF2673F09D408297302124C127F0B35690CAE9 +CE1679120CC4D582FB69550AD34A047DDFCD9D411724554CCED753DB52D6AA7B +22B0C55EB698ADDBB0F8ED15C971AEF113C74B9E25DA29199237B98DA4023665 +C2A63A837E4CAB38F8DF37DBAB5DC80C0C3FA72C8A70DC76B5B36B2EEADDCE74 +23CF794B66E4DD3B35BF99893789063BF7B01D5F186B2FDE518B2CF2EDE51F81 +38244BC64548AC3433A80B86D6A0CA26D77F403C06D65B7394BF1FC7D06D37A5 +E70ACD844E3367DE4DB71312CBB85ADD21D5A1F99BB8427F252D90ABB66D7154 +EA5AF4A165DF6415A0880AE784071E6B3E2101F0B663DE14DB1ABF8B7CE0E6D9 +D24F9CDD9F80028D37C9CB4067A28D41E879AEFECDA71F649EB3C250BFF809D8 +1E427E3BF24E85C75F080D93E0314883988B3A4A2B72A1B4A3D2189AB6ECFFBB +C58151AF05AE335200711ED945E18B4BBCE24A8A162BD9BB26137253BA8B5819 +41E759A7CA7CBA129BAAD438E87189F2F6AE7C86F4EA099DEB23705A500332A7 +4F141D8778EAF3910486B2EA25AAD16B60DD804D0E5BAB0FEBB77BC95EDED08D +B8941E040D99E8F44E70FF842306ACCF65C0AC9673859DB9C3A724238CB8CE62 +255BAF0145692EE3B52643A0DE3E667AD03EEF6C753F57E34AECAB0CFEC7B07A +150D7151E57BB3A026D50C7A88DF5F480147D87DFEFE463F76122EEB5128796E +46CB0AF4B537987C2ED552B37D83F393222659DB735F2A293159AD84AF082B95 +6F1454471FC36D805485D619D58FC53FBD6E3F72660ABA559B91ECDEFB267268 +86A75650C3919962B0139409A29F5E3FA70B901CD5D2C49144778CFFF1D5B63E +099C92AABDAA73D54689812279C95FB7A4F7E840DD53DD3197A4E6D3099446FA +C0032FD40411E8F3300A8A8934B5216B01D916D41DDB32513DC4ACFCEFE43D6B +22FEF13D3567B047C6B35C477ACF2E172701FDB0FFFBE01DD58D7E54398EF4AF +DA5A404E194BCC39BEADEE5C76D7CD1E602793B950256F25871A9760C80B1EB4 +D1E1179C390BC240DA061C9D539B20F4FCFB72DD0C1E860DEA2988E749819787 +F04BA7A9CC3EDBF9CDE46895FE31EF0F8DEB63E295E8826BF920C8FEAE3B2080 +8C98DC43DB22C6537028798198E2D3B0453ED725B774686310F635AE6153D9E1 +8A0514882D4CCFE9D2D2465513E42E548F64A50ED78AEC9D62E0F9CF61EBFC9E +E8832D60E91796C916FAFE58F51818B80BBA52C1C06D94E602481654E5378C8D +137E3A872753CCDE4B2618C031CFB13EE91C91335441C434296DDEF61CDFBF8E +8FAF25DB3B6D6796FCCE2711938D605AAC00F0A58DD1A03FCE8732DE541E5E8A +41FC87E1FCA5CD9B5E8D63E7A7D6CEBA67D8A83EAFCF490DB7185AD55ED0F43F +9A1290E91C463895BD12E8A831DAD661E36E1B01ED4C112B8E1D0991D0294BB9 +A13B7E9A8835B12A7133E834379B3477DAD425B7996592FB0395E3B4FEDADF4E +23A07F6C0E1387DD54F5C8BD071C4E9E4CC98BB16FD06B69192A2146790B67AA +56FADF3E66C9DE6A975007BF6EFC3BE05801B2FFB32162A41F22B8CEC7D01555 +1B07AAD8C85C6196DC28076CF4C4A1C4569E58941EC067EC4C03A2F8D4D19690 +C2AFC60AB75F8A618D455B3B13A9AAF2BD7442D393B3431CDD133C7C3BB39FB2 +4F9C16AF9C4EFEE51EF298B5F6040755C8EC13E0CB4A7EF88E3592E577E044F4 +2EC01203E8C0EDE2D696E60DFEE5F15D5EA092DCC4D49B12ED573CDE6BCD32FD +6801B199C3BD68C675412849099612EA52BCD504367D0DCCCF62D091D5276CE5 +65DD41674FCE08A600644BA6809C10739E3DC03011481D2AD6D0270F9B030756 +2905FC6B07D20248F857B32920AD49354FA7A748A71FC9BAE2F5714E57C8F6AA +9362E8A8C69E14731135956DDDCE694AA0656AE18670DAA3BC88E7A85599FC79 +4A93D7F051F55968F63A8507C386FCB705BBF46AAE7CE33D950E79953DDE9F3B +04019CE057473CE62550F2DB9D317DCCAC277B9FDBCCA8E99A035B26D05EC9AB +5B3FDEEA5E6B5F589744DB14DA1B182397CF03F07D66C46A4BB5842DB2F4AB03 +FD01A2657AE0E24179E719D6674DBBB512BA97E4085C23730EEBBBC2D1323B23 +9944FC0727155B6A248DE14B83C7B313FE192599F5C1BE52AD65C5F78B048C00 +28AFD0E5B70F8524CB12BC34CD34C3251813CE12B7620D9B713FC26F35AB339A +BB48DD4EC07C9F30EF7E85931AED5B2CA6B68415E301B14680A3B9650D699C9A +592C464FE65352F56E7855FEEE8886025336AAF350CEFFCFACC48629586C7D5D +F306BD03A3C8BB99996749691B0E9C8A3C32C3C394AE9B2E7E7CC48F7869C019 +717E4F7691688FDB8B30E08C9681BAFB0F0EC7233746DAA9EFE32783C300FD83 +731BF72F6C13EFF7AF02A722D5BFA4EA491DF016DEEEC4AA85D17812F9302EE8 +C0D3169B31AF7034155870747FCA1150FF64B719550BB63C46244F0115F1CFD2 +7B102E3AB251EB9FD654EF7057A74C206BE178320D01B4DF145D6DC515C88CCA +36F894B4EE4F16964E6C44133145FFFDA237FE9329F03A34955CD521F35DE66F +1E96F90A8FB2B785287A4A6D77D423F8B82923BCF82ED05DB98A2EED951E7A3A +24E661E7F98C07845CD85D5A41A317A9D1F5F14377D75506A966334C622CEA33 +2147C7E17F4E7D1A3D592C795528D30A8F10854D497B84048CC3954B44D35852 +7B20D9741AE93676CA3925E9D2221524FBE68BED4C64FF1B61A76FF8FEDDD552 +F26F829E105E486C829264B058D390127F6F40CB8387218CD94EF127847A48B6 +48FD0B691D5E1AB0CD9B4F53D76767CEBB5907ED1D486993131F24D58247DE6E +D8D91F32EBED2672A3B75FACE3944869DE18407AB99EEF38F110610C982A4797 +32DB1F8AC46237680ABAEAAD15FCC022B7E44A97CCFC95552FB1189648FCDB9B +4E11514A957757D2A7DE972650DB9E7822A7E76D06CA8843CEEFC991073DC00B +B1B12F5F1FD47AF9F648A4883EDE733CD79552BE2C55747D7A733196FA6DCAEB +E4C8059F524810E76A41D85840139298877221F8DD695404E083A59089A726F8 +627C03F34D3497CB9A895D5B84664934FC4D65BC6B73CF85EA4ED9C2FA5127A5 +1CF68FD2DCB05FFE2923670AEC10EFB838FF77A47366316DFAB72FA65617E1E1 +1F6E58380B604CA1B1E67715D33A3405DB4C5BDA12D6BC74227FFD29102910A6 +2F9B937CD016F3A2C486C0397CA068EF73F6745D4E07AE431935C86900995600 +1CB414839555437CAA2596E7676EED3BD4C545BC36CBFBA3BA1C7FFE79A00837 +C7DFC6CB623C871E204A2AB5880D33230F4D14DE16CF1379D6DBBF1F53A4AF06 +079573D3CE3D7A70B9FCF6415E8161BCF58257C1D243EC2E0C788FD9013759B4 +AE948304ACF34F0661254C4C0E9A795A7AE38D94CA85F0AB987BC6CD15782D3E +0A907EF1071494B3B43D3615675A9BF0A25A2E73283DDE5D92BAE6709F99AF03 +F923F3B1759FA3857F76636634E05397AE767968ED4CF408AD2EABA2C58642D9 +8F284D433AD44CE6D656AE33137CB508A718F2C6D6255A1BCDD5A8511F6D51BA +9929B3035FF57C27A39E08164F4D7FABCF7890A8D05CA70DF8343F630C406FCA +83ACBA24FB6EDF0966CED4754A6D5E5492E7C6D7E68199C72CD505B705D047B3 +7BD0389BEFBA9FFAAC78B6814B1CEFD348CE29484BEF3A598DD4999F5423D0AF +7E21A589EC463F659591DFDF6482CAAA3605853256062EB72116573126F1507D +CF280F96F425238C9D82D79D7CD399DB5F8F75FCB66645C65CC17FA55B4AC8FE +B1CFA98C1A8BD360F943B9761203DDB59CDCAF6474107A53B880B69EB00419FC +D8DF80A69949E9B431C524F8FC6C619D6B61BB35990323493358266FBA0DDBCC +242FF0D9759B6E9A190924BB180C2FC480AD23D3D1F968DB91CB7C898A5B6A31 +6285A79B0FF893563999F00422F81D3C7BE97C850B177E32FBE823C3D59E3513 +B895446BE443236ABD095D25589231F995BF177E03D35E12870B680CEF505645 +8BE5B45860D905315BC27700F5C17D23B6224C27161748515E4D3D0CD17BDEAC +F137048C626C3AE67867BD5488F6895BD9225BA59B6F41B00EBEF04483754FC1 +09DFE918660EBC9E2E3682D3F3DB37231A086DA36C6F7B8D4A33F28792C259E4 +572A425EC1761D3EB74D8B46DEA01A89B0376662CEFD2D632379EEC34D5DFCA1 +94ACF58358B7D9F6B65DC32200E796531DE450654662753BB8241CC0600389EB +42FCECF23F7781B7985CD6BEDC5F3FEF7CD5A48EBD652ED5352C713E9D36D936 +1BDA95D18DAD5E7E48C901F7C0BFBFECE431D937DFBF86A034B36E7F682E4BD1 +E7F229341795ADDEC27BD550478DBC031DB8A1198C703E46FB2DC7F4BBB4412D +93C126E77D2461AB00C3FCE46BFD20F8F03F223B6B698D07258E7BE2FD1A3FB8 +C8FA19011078B8A498F1972CEAC6B4E5A30553EF75A12F65918AAE593CB46C10 +670C95387DD01F86935DC105E7B4ECB3C33F198B90D14433093DF9BC994A07D6 +DAFB9FB081F123EE651C868F2ACD0B50B1AE66A64180106BCA4A5279B40D3CB8 +C64E50D8506AE17B131D6F8D078C98BFD1260D731189BA6F6B411D7D250D4EBA +AE115DABBA864901E69539643F53608DFEA8738645CF29CEF244C62509562164 +666195274757A3A8269DCB600E81811AE932CA1C37814854BACBC0AEF9D75056 +B8400563AE9EB767FE8478CDA103295B951C397136BF6CD87D0F5EBB4B00CA22 +711D948F36AF201B749F979B0827D78D99B470B9385FB67BD2011C1DC5AF326F +B7B08953FA7F0FBAEB12947BAE2C5F7FD30F410CD86C987888F3755674D5D4B9 +51BD9D7C6C07EFA27F0A87BCCCA6895EC8676AE98C8B490BF565B6AA0CA274E5 +A028B9D12E52C47B2564BF2F4484118D1E77E6B672582BA630A6B7D7A61EE5DA +DA8B7D5BB579EE7E05E2EA92980364BD59A9DCC0BAAC3FB8DE34D8E1F9786933 +721DD0A73C10EB61E1E1DF623E13EB0458996DA50E295EF15E804186EDE46608 +BC4C8A0851887DC87D4EBC41CDD34ED1EEA66C7F30A9C890A95A65AF81168041 +E421D2D5AA1D756FD5DD +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT10 +%!PS-AdobeFont-1.0: CMTT10 003.002 +%%Title: CMTT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup +/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT10 def +/FontBBox {-4 -233 537 696 }readonly def +/UniqueID 5000832 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def +/FullName (CMTT10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 45 /hyphen put +dup 46 /period put +dup 51 /three put +dup 52 /four put +dup 66 /B put +dup 68 /D put +dup 75 /K put +dup 76 /L put +dup 78 /N put +dup 83 /S put +dup 84 /T put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3 +7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260 +6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89 +14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0 +0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397 +3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4 +BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F +D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0 +FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB +556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F +8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E +F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB +B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673 +125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787 +A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77 +4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC +56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178 +E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F +15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385 +2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9 +05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390 +6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD +04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728 +C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4 +70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA +4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A +A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473 +62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364 +240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D +69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2 +ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84 +121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4 +0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB +D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A +0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157 +D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C +550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844 +CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A +9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4 +FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F +7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06 +E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6 +50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A +2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05 +9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2 +44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE +49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9 +385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091 +8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011 +6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C +EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0 +E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB +C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE +484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29 +4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0 +0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C +6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F +5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C +1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3 +909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8 +BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506 +CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0 +2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0 +CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08 +EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811 +0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6 +9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A +D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4 +21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0 +7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F +52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A +FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD +AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7 +F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429 +067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E +E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431 +C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937 +5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B +0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD +CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC +2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD +E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714 +56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957 +F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F +E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F +0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D +67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046 +EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7 +CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8 +9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5 +9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0 +C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861 +327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203 +F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC +60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD +A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4 +B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5 +0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F +1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1 +DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D +55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C +7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E +75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5 +E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149 +8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E +F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB +8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F +D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914 +54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0 +49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9 +CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0 +34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276 +1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA +6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A +DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4 +E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD +4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD +2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC +ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934 +3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE +97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C +FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570 +A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF +639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4 +D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615 +E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2 +1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E +A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3 +F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780 +5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5 +4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50 +664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844 +4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8 +35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04 +1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6 +01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A +5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82 +2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0 +DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C +BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507 +39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1 +C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665 +99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481 +7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE +D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8 +6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184 +5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38 +6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B +F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81 +E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9 +39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81 +7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5 +ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77 +6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882 +2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230 +1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41 +06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE +5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A +288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E +7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F +759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF +E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E +03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A +6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859 +314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266 +74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D +906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36 +673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E +A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901 +931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B +CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390 +E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1 +4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136 +2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE +F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B +E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE +E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE +251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71 +7329622828B2785C1A8B26351BC7448C1719C88FE99BCB73F7DEA427FBFCDF4F +00EE079B0C712F7D2C8DF98D4830A9D8C8B70A8C5D54BC1DF3171135278BED55 +DA1CF0E696B12935EB59B606AA3C0CC50C7A259AF32F4C81D9B39470D9993CBC +8644403D2833B34AF40511654F96BCE0064860F39849DC62E4A0693F75308FF5 +FF450EC05F142D5E300D3850C66D432BA581D5D8DFA97D901589C53181CB5057 +7FA8B2C95DF751A861DD1A614B2F32ABD284607F40B3462FB05C79DCBB586B43 +B853D7F77AF5ED7AF2A913FB2CE66241C5102CAEC3992BEEF19A4F760E98EAF5 +063E373A084CD6829DC18D063618B4AE443B35B63BFA956368397A69D41DD715 +6C5ED849CFCB2825CCB577C1669626E2C87DE60D69559B3CB98FAA07F1893EE9 +DAAAE01D549A252D77E79AD37BF64540DAF7FDF2FDF4017F94D9D89F1B6F249B +CAAC5BF817A1979163F3A316640E382B501A6BE18C334DED469CA5643FD07D8F +6E37275108F7168F45BFB5024D4FFBDB140741D2C8AA4AF19F22592587A05FF0 +A324A0DD415F312D653513ADE6EDE9E560BA16573295F6B3A0427A15A585A40D +5265A4CB711011332AAE28B05BE6E4B11B1B3C178225B2108D94089E6544907F +DDC2496B0B36E2E8C1494640BC702AC192A3CF82B04FC836B9A8F2B42AD59DC3 +77DB2F1D8B7F9C0DC9CB7BD85C3D2C7730AF276E6F22D1158896CA00870B4B64 +B72731CE69E9A92BFCA929E0834456AA81EEDF26F58D771229C2A3A491455426 +500E410A707ABAA26C2EBC0178A2DC6A24350823AAB33A391820EC085C6C7F35 +65B4A26C6C28C08567BF5860D0930D7EACCC5227BCA1589504504DE109D1AAC3 +9B97AB1FF22BF698E5C01C812B0C32F4F0110E37BEB86AC57D1842C8DD13102D +2AFFAE9B89C5965994D167E4008EEF6ECA04DF853985B8E7E5783D62CB82BD0B +1984EC07B99D887C2344393FA940D33B693F074E58FFB1B0CBBDD1263A9AEDB2 +9E4B3D4C87EDB94FF5664A8B29A0FAFE5E61900FAC8F910C7F073FA7C227DEBE +F9D38482DCFC5F6F6E6590E30852211E3953CD7AD902B72051DA4A839D61846C +633967FDE5A3C7F8E670E4BA0CD7D2227F5FFBE12A10FB29634CAD38F0B948CB +022868DD84BEBB8142D95D00364B969F8AA651DFD7BFC5FC1ED5CC71B9F43B5B +E8837EA00B304EF419E41F0169D250AB650794B7BA5F7F92FA3FE7A7DF7F4EE6 +D26D6C66A45541320F1BC615E42A90EBFF77422970D01D5A056E2D16DF2FC184 +D547684B190468BFB7BF81602799930DE5E32CBC4CDB2199A47BBCC9753491EB +90F9FD2E532F971AAD224D6E9A5A869916E8F6A31EEEC01E83B18DE3C0BAA2B0 +8F811A23E1897EFB01FAA2676E16FCF3BB0E6BBAFCF65D434E8A92A2CAC20ED1 +7BF006616A3453365758F50534E6ED6794D38BE3C3E79047A38BCC6BEEE1B892 +52A246887920976D383241758D0D5EA9018EB689C9F20EE15F98A4010CA4DD07 +82520D170267CC9BB5EB439D43ACA47BC3DF2C96046816223BE4157F0A4307D1 +18828992D032C341F9B8CDBFDEA3CBF8189CAC95333DBC8305E2D7B5D30DA9A2 +E715D31B2A9F95A6306F7D5261C85D4A011886DDD520D8A429FCDCA476EDDFE1 +5E63310A8BE3EDC46871AE21A24A0AC523379D9F2ADD4BFAFF031C32BBFFB33C +7C11726F5B7DB8A8D7F3E1C56E50C986D9DE03CCC5709F6D80ECEE69FB2D921E +6819C33950E7DF87FF3B51680A23603F2267173EDC0E27D2E91AF18427CA61F1 +7DE1E2FE17E87E20B973635459474A064BBF94DB3DFFE16B447FFF69499F029D +2AA21FAC0ADB16ED438E9577B1DB34F9DA70EFF044F21E58E6CCBC63A6415ECD +55BE2301E115BF38212DC6A01F45384CC706BF6B6F85F1407BB061886BF564BD +D888F397697A70416E36E9127419F27499232B36CE27F29A9BCF43FC7B4676DF +805447BD7AD01EB17C5D14F4E6B98F584664D911B0E64203D75D3911C3E60CF5 +683BCDC2F4524323E067A69959FCFE3179134C3CA13ECEEA7A16305AA80B0CBF +0B5A64309B4D30CB87799DA576274B6896EA3FC5082386B939F6C6B628B89501 +1B8DA347EE03B97FD19D4CC070A06FAA516DAAC180C7FA5CCEF819CFD86A06EF +122451DD2380BEC359FC48129FED52D8782A2D295FCC07346BE82080C78085AB +907493BFB424316E1AA433892A68A36C0A7E8FB0AEC8429706986B502216EE84 +2B1B7EE5CFBF9B70964B3A8AB43FAF4980FBEFDDFBE9DC4CF11BE9CE560DD2C1 +658D75329245640329667BDB2B79A6C97B54B8BFE82A1E6D7F3FE9433BC4B809 +68AD1178A8DDBF0175562C2E450B9BF2902FE31CF600427C11D65BD670F22FEA +570C34D7C3320F4B0562FBC0AA2A4525AB8C8AC6D254E74DC132283448AF16E2 +F6896603072ADB6CCE65BD6A3A5D23E96C0B0616DA2E2448F499AE49E8437431 +EBF58521D5C9ACF119025B3EBCC8A2E60ADF67A1867B9E09A5A39270E37AC4E8 +08834EA5E1F1409C0185280F62DD2CC436E9D88A6B89D36D0DCAEDE5018EF41C +5D418651E3B1EDFE3F14ED7BA85AA036C15338BDC24238BB910C11D23439CBBC +7CC32B387E42044765E800D817BFFF2D0818403A26D1ED01722E83609862BD36 +44ED8993C4CBE39FBE830678A19912E7197A423405389974C5CE46B247AA0FBE +DFBB823DDD3AA01A1B487324E304F996BBF6132EB91BC1D37E1D9D351DA60B65 +08F49A8E959132D9929266498E6D409FDBD910BE7886D6172393058EA872F7D6 +3258654378484F5700C33B474300FB97FD7DAC00B46C36448FE2DBFDE99043C9 +E69434290C26AC940EA1D3D6433BC3EF7F2748F126BFFCE0AF7438B170502CBD +EB3982F857D11869F41C4B4624238448EFF5A1FEABA071E9F7701FA7DCDDD053 +008FFE748BEB9851EAD2D9A4C9C6B422548DA9E80C85B746408B794212E5BF33 +63A7BD9BCFC1DBF4B3F47A82596075BDDED840436A6D487EA59EE1F031D2F369 +5C5087A2F4232EDE2994914DA29155F292E9A75BAF7EF413888DF12274EFA541 +405139C62EF85E7F14479E7D8C80DAC237C034AB6E55ADD91D7EA476932AE079 +07D1B1454F424CFF149DEBCA8B8CB54B2FB900F1B1924443A85BB87581AC180B +181C09E46669C52C5BBC47E007174C5C3722A5EAA0C8F43F36429A5804997ACE +90D45F5E89A171AFB5FC5CA1075DABA918C3B0A45780F0BA276D794533BCC224 +FD990347DC10307365919914E4B235D91FD6609820C578E77BF103C7D76A5C3A +026693A3834D9D286AA159AADA7D1C3CF5E5B078C27B4399B1B79177DF54231B +D83337B400038A80286DAE1DEA5C1A0C9CCF8A427FB7A9D3C9F850D2328DB47A +624C0296013AF251918EE824878018A3048EEE1FF3BE6C3516B3742777A5C1D4 +34F2BCC7AFC5E4E9F9F14F8567573E95E13AA99BE913021FC2D6526821C6A0B5 +8808E1555A49AD087347116E6F068B8037575FCD1AE8F191CE1ADAFE01B1B25C +62A0A6F94AC26199811C7A46615AA20EABA3B8C7CEEE8C1273E59E12156FA535 +50780F7707B23695100CBFC23DA2636FBBCF8F974B4B63B2FACB13CD9094006C +EAE505D8A58107437BA59253D9BD9A431921C9B0D5FA31AB145E989D0488F073 +A246A06DE64816BF3494EC3A25B1A7018000BE34C03B566BCC75735473808936 +89001FD98067E231F6A17A1E6829DFE906D0F26BA8DAAB40EBD5460074555ACA +3D9A06A85A6BFCB9A89D9D895426FCC9E1786A3BBE8572FFA0ADFF4FA441B1F8 +93A1F2825F83D0F39AAD50F81C9C502C4D2A389756BF7CD41F40B7E00DB971F3 +1F79BFAFAD4F5C1DCCC295E9D7EE3E8C935B948F63A37BAC3A8C3395B768AF90 +9D7A3BDE3614159D5BE42A302761E70913C419B8735DB8BD003C88A222AEE9B2 +7ADEA0AA9867E56479A35B982CB227C30DBC0B17D89F8BB736AAAF64A85CC8FE +D6F3F3C38F09982D6B9863B2AD1DD209F7D7CCC73C20EF069FC21A17A7F5DD8E +5E909B78A23D621B1B715AFFF927BA680DBFFD0FACA27A007D9B7A9D6149AF19 +DB19133B02845DF2D5B41AC037D2F1E0207909DAAF7AB7AE4ECA6F1576E56B43 +2B101E445F5DDE49CCC1E220951621D1B375B38AF2C8B8060C2AE4EC36BECC2B +8E48175BCDA6404B9A9776FDE9ADC7D846CFE341A490E4F84BF9C88EEB8CFA0C +71C7F9C70A166EB4A3D7B285DA39595CD5C58A91445D1FF01A1772D2C6A30924 +CF4AE0A521DFDE9321AF5D9BD9BC88424C5CE13FC4BB9768848499204A1CE4FF +3E19E5CAA58870A24274A1E8B8B7FD81979448506B37A05FE47206F82F1DAF24 +93745F328137A5FCD09950C59DBF30F335136ADAC47EE6DF56688BADE4BE7F93 +FB60EF3C8046C68E7A5C1AF812E30F6E6A21B5E0195B6DC383ECAC0AA6BF76E3 +8BC64B9F68E7F7EE86C91B6590C155CC793BEA88B7BC142439E8A554039AE55E +EAE7456BC31486F997635D756B98AD011345E4F96361CA12B051F81B17DAEF91 +1DD10F5CA9FCBDD6B371872D18EE12EA51D3E7C6BC0A188C47C2773ECF4441B7 +AD94735E327264FD738137A23312C40648F125B75CB7ADFC904C00E72BD74B47 +E5F5EB75CCDAE8B11CE33E468014DA1E87EF63BA7B898E61F03D414C8B67FA9E +F5AB2C74903BC196D200E5E9DA2116DC5F6922F35A0AAC8CBB81AAAB95C1C337 +64FBCCC1635FB1203A4D8F545189048DA98E7938B05C6A5468464ECD5E2512DC +1E7523890987ED095FAF98CE425474E813E5DF4C6EE9C0441A5DDB75E8C158D8 +1649907A0A136D52288962B150E3749D993CE76C3F1376E0899E8C3B06767563 +A71E0F94E611A71BBED10E4F00310BB1803FB3DA376892E57557E6B049AD4848 +D205FE19358BDD9A78AD754BC39265E51DCD45F39DD45C9DC4EA3776C726C111 +0CA3754CC7B2FF7067B0E86AB24417D8AB5CC849A80132816DBA63F8F8E266DF +66107F9533DDA3E0735E5F32AC1E39ACCE64E45F7958B9D69BF52F87B21781EA +A7B1193BA98C4433407C56ADFFDCEAC621AB4B60C0C293BB158A8CBCBADF4F88 +BFDAC62243F57757EC33990AD15E0C3F202661210AEF980C50F26786532AF1FD +162FD82D10CD1C130B8DD72FC7819EDDFB455548ADC5AEC93169E26130275557 +A40E3A0507C33ABD1337B07546E470942FB1B44ED2D4B961FBFBA2DF21F8C4AF +E90BAA5E8F73A090F63696CE0F5F2A78621B7A0BF579856DD6D2C4BC10392663 +9B15EA5E63F0407962576373A6B462BA09394ED5E1D2F80DA13FBF3E77AC1992 +2BFC86622B4E5F3F19B941B2E74CAD1674EF7656ECAD894C17D7F1EB8F616A08 +5F940B8BA909EBF960B60FBA0C107C3B8473890125AA7FD77CB534E74F59AE7B +BA364BC989382ED656A2512BFC5146DE7B11EDF42309163B94600861140F125D +D0C0305C2DED435F98A9CD52C07EF2C8202DDBAD4F4CBCA1BB2A991BAB9261B6 +C8949B70605D0B3FF8145CCBF3BC642A363E4D432BFA03F772CACF35CDE51CBA +5BB14B426DDCDF08E275786A9C1CF040A8945AC2FD369BC53F2262F1ADB27871 +E711B7F0C67D2DB65A4FB892FA72F88BDF2DE1C3D3877BE6149A335519702830 +F27F07EA02C921A73E44A4DEE6D4D11ED16C9DF2E914952865AB0F1A9E46FC43 +4EC18296BD068870F1FB936B814B16E8C83200DC078DA0E856AF477AEEB3BE4F +4C98AD0BD79DAB678BC97E122664AEAC251192C3C6A0A02EF9FE7CF81EE3DAF6 +BF9E8459B5128F2C270FC1C452701BEE026EC93BD3B1373612C37560D7E73DB5 +88EA90EBCD1B78E579AC0983899B9C092A2D870C519F44DD29596F9DDD98944A +BCBDF56BC16C02A3B34B39B422C51B6A003E8C31A7F552649913ED5B190EF3AA +5D9A285613ABB7A88212A5FE1FDB1E7E97615A94C79F7255C11AE7768FF3D795 +43F3F9B0C5ECDF9715A1148DD3E9868372D3F8967D34FEE7A6E5ABCB3976AA59 +D6C205C7652A54D2EC8A988EE20C4A675E4D422823FD8DBD93CB0EE12AD86C87 +056903A7639D91572C54D193336F145E45E1C2B1E4C1348BDDD96B06773D6F23 +2A424046A7AC21324A2A4C339C5F849A0189C91006CAC30600B3347919B41D62 +01CB3103A5116818A1D986A49CD294D6A0D44894201C8DA852338DD7D177B719 +EFC34429B60AE19D1CC1CC6E3C653C677CE6F0D175A2A4F33E509FA3AFED1C3F +27C2BE2ABD0D00CFAD4C28D8DCA9E8FEC4DF43C85EB11250498F3B6743023976 +72B9FA7EEA0838AA5BF59349DAC852E1B712E0F42F6F95DE73EC1EE585B6D08B +3039232559B97270F88FDB8A9971757CD4F74088C8E4386BED2942137FC603CA +5C48A08AF753C720544DDBF419CBBFCC0094ED6E426A6914EDCDBFF782FE5904 +986716E075C855002B5AE15C2E8DE58E70F94FCE9CB3F15EC963A84FEFDAD012 +F7E49F220C9C7EB9F387D95091882C688F5A661ABD214C3AB891FD4865D734A5 +42FF37007306AEE7883B5D229A41A20622BF12A06B907A938142CDBA5B2323A2 +3FB3C5407F122AE2580772252716F1C249AB457EB21EA14C919C426D99A8C1A5 +A71FB14516B931ADFEE851C106C32F9973F95644B141CE8B669663BE3B83FDBC +BC7AE9C07DBC14EB54F98F657A62B3ADCAADB9C3D3985621B0CE816EC7538EAC +7AB801FA7C688C7925C3B69D93862244C625421ED707199D1E1DFF6000B0BC36 +6251E989FA5A3584B32862DCC65ACC44444E9EC15D742A4A4E860936B4B18237 +FEC4021295A1523DEB1B3596968FE7B65B18B04D73B3D331E18403A6E9FF8767 +6D5BEF04E9D500932BCC6D47DFFAB2A1B12048A717D14C9A8C2416CA600D3EAA +22DF60124EC9E1A177498EEECDE88F9214CBCC14520DCA6EA0AEC710E345D10D +DEE7ECDEA83810A6A9F5A8BC2655FB6ADE99CF1F3C9D2D6FB809016DBE406872 +AEBD3F1A3DEE15E28FC00FEB73A075C85D2088CF1CDACA30BD55C9E2F7B4D2E1 +6C3C59C6CD18384AA4D7618CD68022A3F9964D932C98351A9E26C6C8B150B8AA +91165D6E1D37C2E0D59760C917610BA3116867A0225191297E533991033EB770 +28EF61050962894BECD66FDDD5EC8194279E5280025594CA2D24576B34B89103 +18BFA198F06ED188B8341EB63A61FB11483754248C7D395A835E57C90618CF9C +962E7B59B0AA6319585E7AD5780C70F634607ED4889DFC82FA600996832D770C +C75A1D1A58976A1222E6AE38354742C05F133FF64CF1464FB468A5212768DA0D +1AA4BDE59CE93FD594052BF8B476B5889ADF864D4347684775C778E838AD245D +D04A5A0CA410949A02855F70E7C0C292D7C0BC7FC7BD58659C167B65ECCC1BEB +D3BE173E7899AE4E1D03A5A96FF6C6E7B40D368CB23ECD3225C27A1A81B11C1C +BABB8F3C63EC967AB3F5A43D7C3521F2526E2051DD950F00ED71E4E4BA26F747 +E4CB2C607FD31D237DAC9E5BDDC4B076633909F4F50FA76DC152259140146C14 +793FBFA0FCCFE05F29761CE7A8A0ECB677AFC17642A5067072557CCDCC56532B +F1805AA83D4449A15293A75B559A55B7B6B27166746C81FC3D320291C0D88E2D +FCBEE754190B5C3C00A35721BC469C4BF045D5695E827152D4FE496F593BAB40 +E8305381E7E6615C14CDDBB962D84373508BC3764A52412383478C3760EC5B9A +B28FB151E8F93C4CD097F2F5842D84AC330921C1AFCF3C978E81F6D6CC52CAEE +D1C2080B644F32C97B9571B50DE6932901EF9F3C232AB9C5ACA7B9834558C2E2 +62834B6DA12C3F6AB98CAA7537D5DEE061A7CB2BC0787517C75BECA2658A422F +C69B8493B314F3531A8C24A86E3C7922DDC1FA642B69664AC0F79A8FE45429EB +C52897FA3528BA6BBD3679DE7304A69A49BCC57D7E3463F32BCCE93CF501B524 +03C1F1B08901EB3F0AADE811709AF1C53918874BD5A1F5FA8224E6E6E4BF2FFD +1F75848B67F57183BA93C051D5DF6CEDD84ADDC305185D12789EBBDCBA92058B +A464D44049C7BDF71C67383A6DC38528D9B2B4328431C9FED18431855DB98AAE +BC85C4CA37FDE476CE0F4EE25250462CC747477446BA6375CCD72647C3A62E27 +759FE92621522A5815F02819F1F127805078D1945C6B5C91A09133C05E38CF15 +11966BA0C0C1EDB2601DACCE3823FA8F0B7C147EECE12C27CA629DE958EE88C7 +506FF8ACC164AE2F84263A84871664A411ECD21F38E580646DDA140824F78E2A +CFA4F230256C8C6ACA374358D705EEB228FE6287590C09AB3945C5781282E983 +531D2346F4F3F8A9D7DA641995E291E65493BB49D4C73D5848B771EBA7887C90 +9EEA2ED6483AEE6B872A85ED677335A3444D643B1ACD8D8C7A28CC69CF436F29 +CA1BB157E48C50A7C5285E6EF96E3462AFBAC03EA387B1C740A52F3286FE44C5 +019771E29CB71E6A8DBA063966AA7E7809FEBED3D6DD8B59DB1148BAFD00070C +4348FA2C3D4C79D415465E2BB2AB7955D8AFC378EE7FF7AD30495425AA8E1CA7 +26F94AD3E0CE97A54BDAB5541A66064C987A445AD31BD84B3956E7C7A7490BEC +C71FB27CF47B1C1BBEF350B1A292AE42274EB8951E6317B22C44A6B41F5FFD8C +EA0E2B153A55FD5959AB20563D0AF87834641F3E088D94BC83D918FF6C135FCC +DFBCEE2C0D72A8D860824C6D5D49CA061A7FC66171206AC522801B88BD99981A +3F012715D19F9F75DC19C39E106EE07FFFD5902E6E650EEA932325FD0F3C06BD +BDE3796DE7B2E4844273CBA2EF29BFD210168261C396ADBCA70F4D0B8895779C +099D09B84516A1494A25C4DCB93F1DAF7C616301A793E55308CDC1EA165AD12B +45C60F2E0131BD59951F840DAC5E316E4E287A6DD7CB39DB811DEF405F76D739 +5FA11220DC99F4E773AD6E3AC8355E2F002DEFA280E1C9871B6E9A4D344400A8 +E2C3B8B1270B0BBEB5D0D00A91FE1920CDC950CC041D73BCE70E19868132DD46 +C042E2B5531B227A38794189273BEF0D0AEC976386D3A6E1A9E094D5FAD1F28E +FC34357DE397C66809C369A42741F0F7495B49C27D630EE2424025A26E426F83 +1E1463482E81D9759B16C5524CD32BA173512B85940776E27671C52DAD1CF777 +A238A175654E87DFF60BA6DD49CD44726EF0D477698AE57741241FA90E362C82 +E11C98E05BDF19AD96DC237B9336F4D672920A99C36BE42165244FFAD5796406 +520349F098DE9C9D6F2368CF5B6318C5661D2ECA41B7118E9F27156EA140C2C6 +941375A07DC940293E378FC0CC742FDB4A15C8C1A9DF90DD4E87A7CEAEFD6AE7 +50A8755630AB66DB2812654ABB2D69041CF9F90B9A9C64F48FC5E12742169D +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 55380987 39158274 1000 600 600 (refman.dvi) +@start /Fa 167[50 9[75 78[{}2 83.022 /SkakNew-Figurine +rf /Fb 193[65 1[65 60[{}2 83.022 /CMMI10 rf /Fc 139[28 +4[42 47 110[{}3 83.022 /CMTI10 rf /Fd 134[38 1[57 38 +43 30 32 28 43 43 42 43 66 20 41 1[20 43 42 25 37 43 +37 43 40 3[24 1[24 7[46 54 61 53 1[59 2[58 4[47 50 1[53 +55 55 8[42 2[42 3[42 42 42 1[28 23 31[45 12[{}44 83.022 +/CMSSI10 rf /Fe 131[83 1[37 44 44 60 44 46 32 33 33 44 +46 42 46 69 23 44 25 23 46 42 25 37 46 37 46 42 8[62 +85 1[62 60 46 61 65 57 65 62 76 52 65 1[30 2[54 57 63 +60 59 62 6[23 4[42 42 42 42 42 42 1[23 28 23 2[32 32 +23 5[23 20[46 12[{}62 83.022 /CMR10 rf /Ff 145[42 3[23 +2[42 42 102[{}4 83.022 /CMSY10 rf /Fg 133[47 50 1[74 +50 56 40 42 37 1[56 55 56 86 25 53 1[25 56 55 33 51 56 +49 56 52 11[76 1[61 2[70 1[79 97 5[73 2[79 70 67[{}31 +99.6264 /CMSSBX10 rf /Fh 134[42 1[62 42 47 34 35 31 1[47 +46 47 72 21 44 1[21 47 46 28 42 47 41 47 44 14[58 2[66 +1[81 9[58 61 61 20[25 32[53 11[{}30 83.022 /CMSSBX10 +rf /Fi 137[50 2[38 39 2[48 53 4[27 3[44 50[48 48 2[27 +46[{}10 83.022 /CMBX10 rf /Fj 135[44 44 44 44 44 44 44 +1[44 44 44 44 44 44 1[44 44 44 44 44 44 44 44 44 12[44 +44 4[44 1[44 44 6[44 1[44 13[44 44 4[44 44 45[{}33 83.022 +/CMTT10 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +/setpagedevice where +{ pop << /PageSize [595 842] >> setpagedevice } +{ /a4 where { pop a4 } if } +ifelse +%%EndPaperSize + @landscape end +%%EndSetup +%%Page: 1 1 +TeXDict begin @landscape 1 0 bop 0 TeXcolorgray 2220 +-242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p +452 -209 4912 4 v Black 452 -5 a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + 452 -5 a 452 -5 a +tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end + 452 +-5 a 0 TeXcolorgray 452 -5 a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + 452 -5 a 0 TeXcolorgray +0 TeXcolorgray 83 x Fg(Up)s(dating)38 b(the)e(b)s(oa)m(rd)452 +214 y Ff(n)p Fh(newgame)452 313 y Fe(Initialises)28 b(the)g(b)r(oard)e +(to)i(the)g(op)r(ening)f(p)r(osition.)452 437 y Ff(n)p +Fh(mainline)p Ff(f)p Fd(SAN)g(moves)p Ff(g)452 536 y +Fe(Up)r(dates)33 b(the)h(b)r(oard)d(with)j(the)f Fd(SAN)g(moves)39 +b Fe(and)32 b(t)n(yp)r(esets)h Fd(SAN)g(moves)452 636 +y Fe(according)26 b(to)i(the)g(curren)n(t)e Ff(n)p Fh(mainlinest)m(yle) +p Fe(.)452 759 y Ff(n)p Fh(hidemoves)p Ff(f)p Fd(SAN)h(moves)p +Ff(g)452 859 y Fe(Up)r(dates)32 b(the)g(b)r(oard)e(with)i(the)g +Fd(SAN)f(moves)38 b Fe(but)32 b(do)r(es)f Fc(not)39 b +Fe(t)n(yp)r(eset)31 b(the)452 958 y(mo)n(v)n(es)37 b(|)i(this)g(is)f +(useful)h(for)f(commen)n(ting)g(a)g(game)g(where)f(y)n(ou)h(w)n(an)n(t) +452 1058 y(to)29 b(fo)r(cus)h(on)f(a)f(certain)h(p)r(osition)g(after)g +(some)f(mo)n(v)n(es)g(ha)n(v)n(e)g(already)g(b)r(een)452 +1158 y(made.)452 1281 y Ff(n)p Fh(fenb)s(oa)m(rd)p Ff(f)p +Fd(FEN)d(p)r(osition)p Ff(g)452 1380 y Fe(Initialises)35 +b(the)g(b)r(oard)e(to)i(the)g(p)r(osition)f(describ)r(ed)h(with)g +Fd(FEN)f(p)r(osition)q Fe(.)452 1480 y(The)28 b(format)f(of)h(a)f(FEN)g +(p)r(osition)h(is:)452 1580 y Fb(<)p Fd(b)r(oa)n(rd)f(ro)n(ws)p +Fb(>)g Fd(w)p Ff(j)p Fd(b)i Fb(<)p Fd(castling)d(options)p +Fb(>)g(<)p Fd(en)h(passant)g(squa)n(re)p Fb(>)452 1679 +y(<)p Fd(50)g(moves)g(counter)p Fb(>)f(<)p Fd(move)h(numb)r(er)p +Fb(>)452 1779 y Fe(The)h(FEN)g(for)f(the)h(op)r(ening)f(p)r(osition)g +(is)452 1879 y Fd(rnb)r(qkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR)452 +1978 y(w)h(K)n(Qkq)e(-)i(0)f(1)452 2078 y Fe(Note:)42 +b(the)30 b(50)g(mo)n(v)n(es)e(coun)n(ter)h(is)h(not)g(used)g(b)n(y)g +(the)g Fj(skak)f Fe(game)g(engine,)452 2177 y(but)g(it)f(is)f(up)r +(dated)h(to)g(sta)n(y)e(in)i(sync)g(with)g(external)e(programs.)p +0 TeXcolorgray 0 TeXcolorgray 452 2370 a Fg(Describing)37 +b(moves)452 2600 y Ff(n)p Fh(va)m(riation)p Ff(f)p Fd(SAN)26 +b(moves)p Ff(g)452 2699 y Fe(This)20 b(will)g(t)n(yp)r(eset)g +Fd(SAN)g(moves)25 b Fe(using)19 b(the)h(curren)n(t)f +Ff(n)p Fh(va)m(riationst)m(yle)p Fe(.)32 b(This)452 2799 +y(command)c(undo)r(es)f(the)h(last)f(mo)n(v)n(e)g(so)g(y)n(ou)g(ha)n(v) +n(e)f(to)h(start)g(one)h(ply)f(bac)n(k.)452 2922 y Ff(n)p +Fh(va)m(riationcurrentt)p Ff(f)p Fd(SAN)d(moves)p Ff(g)452 +3022 y Fe(Lik)n(e)j Ff(n)p Fh(va)m(riation)p Fe(,)f(but)i(do)r(es)f +(not)h(undo)g(the)g(last)f(mo)n(v)n(e.)452 3145 y Ff(n)p +Fh(continueva)m(riation)p Ff(f)p Fd(SAN)d(moves)p Ff(g)452 +3245 y Fe(Con)n(tin)n(ues)j(the)h(v)-5 b(ariation)27 +b(but)h(undo)r(es)f(the)h(last)g(mo)n(v)n(e)e(\014rst.)452 +3368 y Ff(n)p Fh(continueva)m(riationcurrent)p Ff(f)p +Fd(SAN)c(moves)p Ff(g)452 3468 y Fe(Con)n(tin)n(ues)27 +b(the)h(v)-5 b(ariation)27 b(without)h(undoing)f(the)h(last)f(mo)n(v)n +(e)g(\014rst.)p 0 TeXcolorgray 0 TeXcolorgray 2949 78 +a Ff(n)p Fh(wmove)p Ff(f)p Fd(SAN)g(move)p Ff(g)2949 +178 y Fe(T)n(yp)r(esets)36 b Fd(SAN)g(move)41 b Fe(using)36 +b(the)g(curren)n(t)f Ff(n)p Fh(va)m(riationst)m(yle)p +Fe(.)59 b(Example:)2949 278 y Ff(n)p Fj(wmove)p Ff(f)p +Fj(Nf3)p Ff(g)23 b Fe(giv)n(es)k Fa(N)p Fe(f3.)2949 406 +y Ff(n)p Fh(bmove)p Ff(f)p Fd(SAN)g(move)p Ff(g)2949 +506 y Fe(T)n(yp)r(esets)44 b Fd(SAN)h(move)k Fe(using)44 +b(the)h(curren)n(t)e Ff(n)p Fh(va)m(riationst)m(yle)f +Fe(but)j(with)2949 605 y(.)14 b(.)g(.)g(\(or)42 b(something)f(similar)g +(according)g(to)h(the)g(st)n(yle\))g(in)g(fron)n(t)g(of)g(the)2949 +705 y(mo)n(v)n(e)35 b(|)h(can)g(b)r(e)g(used)g(to)f(describ)r(e)h(a)f +(single)h(blac)n(k)f(mo)n(v)n(e.)60 b(Example:)2949 804 +y Ff(n)p Fj(bmove)p Ff(f)p Fj(Nxd4)p Ff(g)23 b Fe(giv)n(es)j(.)14 +b(.)g(.)g Fa(NX)p Fe(d4)2949 933 y Ff(n)p Fh(movecomment)p +Ff(f)p Fd(Chess)25 b(moves)p Ff(g)2949 1032 y Fe(T)n(yp)r(esets)38 +b(the)h Fd(Chess)e(moves)44 b Fe(using)38 b(the)h(curren)n(t)e +Ff(n)p Fh(va)m(riationst)m(yle)p Fe(,)i(but)2949 1132 +y(do)r(esn't)28 b(c)n(hec)n(k)f(for)g(mo)n(v)n(e)f(n)n(um)n(b)r(ers)h +(lik)n(e)h Ff(n)p Fh(va)m(riation)d Fe(do)r(es.)p 0 TeXcolorgray +0 TeXcolorgray 2949 1335 a Fg(Sho)m(wing)37 b(the)f(b)s(oa)m(rd)2949 +1474 y Ff(n)p Fh(sho)m(wb)s(oa)m(rd)2949 1573 y Fe(Sho)n(ws)27 +b(the)h(curren)n(t)f(p)r(osition)g(from)h(whites)f(p)r(ersp)r(ectiv)n +(e.)2949 1702 y Ff(n)p Fh(sho)m(winverseb)s(oa)m(rd)2949 +1801 y Fe(Sho)n(ws)g(the)h(curren)n(t)f(p)r(osition)g(from)h(blac)n(ks) +e(p)r(ersp)r(ectiv)n(e.)p 0 TeXcolorgray 0 TeXcolorgray +2949 2004 a Fg(St)m(yle)37 b(selection)2949 2143 y Ff(n)p +Fh(st)m(yleA)2949 2243 y Fe(Cho)r(oses)27 b(the)h Fd(st)n(yleA)f +Fe(for)g(t)n(yp)r(esetting)h(of)g(mo)n(v)n(es.)2949 2371 +y Ff(n)p Fh(st)m(yleB)2949 2471 y Fe(Cho)r(oses)36 b(the)g +Fd(st)n(yleB)43 b Fe(for)36 b(t)n(yp)r(esetting)h(of)f(mo)n(v)n(es.)62 +b(This)36 b(is)g(the)h(default)2949 2570 y(st)n(yle.)2949 +2699 y Ff(n)p Fh(st)m(yleC)2949 2798 y Fe(Cho)r(oses)27 +b(the)h Fd(st)n(yleC)37 b Fe(for)27 b(t)n(yp)r(esetting)h(of)f(mo)n(v)n +(es.)p 0 TeXcolorgray 0 TeXcolorgray 2949 3001 a Fg(Size)38 +b(of)e(the)h(b)s(oa)m(rd)2949 3140 y Ff(n)p Fh(no)m(rmalb)s(oa)m(rd) +2949 3240 y Fe(The)19 b(default)g(size)f(of)h(the)g(b)r(oard)e(t)n(yp)r +(eset)i(b)n(y)f(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d +Fe(commands.)2949 3368 y Ff(n)p Fh(tinyb)s(oa)m(rd)2949 +3468 y Fe(The)28 b Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h +(b)r(e)g(t)n(yp)r(eset)g(in)f(a)h(tin)n(y)f(fon)n(t.)p +0 TeXcolorgray 2887 3717 a(1)p 0 TeXcolorgray eop end +%%Page: 2 2 +TeXDict begin @landscape 2 1 bop 0 TeXcolorgray 0 TeXcolorgray +2220 -242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p +452 -209 4912 4 v 0 TeXcolorgray 452 78 a Ff(n)p Fh(smallb)s(oa)m(rd) +452 178 y Fe(The)c Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h +(b)r(e)g(t)n(yp)r(eset)g(in)f(a)h(small)f(fon)n(t.)452 +305 y Ff(n)p Fh(la)m(rgeb)s(oa)m(rd)452 405 y Fe(The)h +Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h(b)r(e)g(t)n(yp)r +(eset)g(in)f(a)h(large)e(fon)n(t.)p 0 TeXcolorgray 0 +TeXcolorgray 452 605 a Fg(Notation)38 b(and)e(mover)452 +743 y Ff(n)p Fh(notationOn)452 843 y Fe(The)28 b Ff(n)p +Fh(sho)m(wb)s(oa)m(rd)c Fe(commands)j(sho)n(w)f(rank)g(and)h(\014le)h +(names.)36 b(This)27 b(is)g(the)452 943 y(default.)452 +1070 y Ff(n)p Fh(notationO\013)452 1170 y Fe(The)h Ff(n)p +Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(sho)n(w)g(only)g(the)h(b)r(oard.) +452 1297 y Ff(n)p Fh(sho)m(wmoverOn)452 1397 y Fe(The)e +Ff(n)p Fh(sho)m(wb)s(oa)m(rd)e Fe(commands)h(indicate)h(|)g(with)h(a)e +(small)h(b)r(o)n(x)f(|)i(whic)n(h)452 1496 y(pla)n(y)n(er)32 +b(has)g(to)g(mo)n(v)n(e.)52 b(Note:)47 b(this)33 b(only)f(w)n(orks)f +(when)i(the)g(ps)g(option)g(is)452 1596 y(used.)452 1723 +y Ff(n)p Fh(sho)m(wmoverO\013)452 1823 y Fe(The)28 b(dual)g(of)34 +b Ff(n)p Fh(sho)m(wmoverOn)p Fe(.)p 0 TeXcolorgray 0 +TeXcolorgray 452 2023 a Fg(Selective)j(sho)m(wing)g(of)g(pieces)452 +2161 y Ff(n)p Fh(sho)m(w)m(all)452 2261 y Fe(Mak)n(es)27 +b(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(sho)n(w)g(all)g +(pieces.)452 2388 y Ff(n)p Fh(sho)m(w)m(onlywhite)452 +2488 y Fe(The)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h +(only)f(sho)n(w)g(the)h(white)g(pieces.)452 2615 y Ff(n)p +Fh(sho)m(w)m(onlyblack)452 2715 y Fe(The)g Ff(n)p Fh(sho)m(wb)s(oa)m +(rd)d Fe(commands)i(will)h(only)f(sho)n(w)g(the)h(blac)n(k)e(pieces.) +452 2842 y Ff(n)p Fh(sho)m(w)m(onlypa)m(wns)452 2942 +y Fe(The)i Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h(only)f +(sho)n(w)g(the)h(pa)n(wns.)452 3069 y Ff(n)p Fh(sho)m(w)m(only)q +Ff(f)p Fd(piece)e(names)p Ff(g)452 3169 y Fe(The)33 b(argumen)n(t)e +Fd(piece)h(names)38 b Fe(is)32 b(a)g(comma)g(separated)f(list)h(of)h +(names)e(of)452 3268 y(pieces)24 b(to)g(b)r(e)h(sho)n(wn)e(using)h(the) +g Ff(n)p Fh(sho)m(wb)s(oa)m(rd)e Fe(commands.)35 b(White)25 +b(pieces)452 3368 y(are)30 b(named)h Fd(K,Q,R,B,N,P)38 +b Fe(and)30 b(blac)n(k's)g Fd(k,q,r,b,n,p)s Fe(.)47 b(Note:)c(called)31 +b(with)452 3468 y(no)d(argumen)n(ts)e(all)h(pieces)h(are)e(sho)n(w)n +(ed!)p 0 TeXcolorgray 0 TeXcolorgray 2949 78 a Ff(n)p +Fh(sho)m(w)m(allbut)p Ff(f)p Fd(piece)f(names)p Ff(g)2949 +178 y Fe(The)33 b(argumen)n(t)e Fd(piece)h(names)38 b +Fe(is)32 b(a)g(comma)g(separated)f(list)h(of)h(names)e(of)2949 +278 y(pieces)h(whic)n(h)f(will)h Fc(not)40 b Fe(b)r(e)32 +b(sho)n(wn)f(when)h(using)f(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d +Fe(com-)2949 377 y(mands.)37 b(Note:)g(called)27 b(with)h(an)g(empt)n +(y)f(list)h(no)f(pieces)h(are)e(sho)n(wn!)p 0 TeXcolorgray +0 TeXcolorgray 2949 608 a Fg(Move)37 b(a)m(rro)m(ws)2949 +760 y Ff(n)p Fh(p)m(rinta)m(rro)m(w)q Ff(f)p Fd(from)p +Ff(gf)p Fd(to)p Ff(g)2949 860 y Fe(Dra)n(ws)27 b(an)h(arro)n(w)d(on)j +(the)g(last)g(t)n(yp)r(eset)g(b)r(oard)f(from)g(the)h(square)f +Fd(from)j Fe(to)2949 959 y(the)e(square)f Fd(to)5 b Fe(.)2949 +1101 y Ff(n)p Fh(highlight)p Fd([ms])i Ff(f)p Fd(squa)n(re)25 +b(list)p Ff(g)2949 1201 y Fe(The)j(comma)f(separated)f +Fd(squa)n(re)h(list)32 b Fe(will)c(b)n(y)f(default)h(b)r(e)g(highligh)n +(ted)f(us-)2949 1301 y(ing)k(a)g(thic)n(k)g(frame)f(on)h(the)g(last)g +(t)n(yp)r(eset)g(b)r(oard.)46 b(The)31 b(optional)f(mark)n(er)2949 +1400 y(sym)n(b)r(ol)f Fd(ms)36 b Fe(can)29 b(b)r(e)g(one)g(of)g(X,)h +(x,)g(O)f(and)g(o)g(in)g(whic)n(h)g(case)g(a)g(cross)e(or)i(a)2949 +1500 y(circle)e(is)h(used)f(to)h(highligh)n(t)f(the)h(square.)2949 +1608 y Ff(n)p Fh(p)m(rintknightmove)p Ff(f)p Fd(from)p +Ff(gf)p Fd(to)p Ff(g)2949 1708 y Fe(Dra)n(ws)f(a)g(b)r(en)n(t)h(arro)n +(w)e(from)h(the)h(square)e Fd(from)j Fe(to)f(the)g(square)e +Fd(to)5 b Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 2949 1939 +a Fg(Customizations)2949 2091 y Ff(n)p Fh(newsk)m(aklanguage)p +Ff(f)p Fd(language)p Ff(gf)p Fd(piecenames)p Ff(g)2949 +2190 y Fe(De\014nes)52 b(a)e(new)i Fd(language)j Fe(for)50 +b(the)i(input)f(of)g(SAN)h(mo)n(v)n(es.)105 b Fd(piece-)2949 +2290 y(names)52 b Fe(are)45 b(the)h(upp)r(ercase)f(letters)g(used)h +(for)f(the)h(pieces)g(in)g(the)g(or-)2949 2389 y(der)59 +b(King,)66 b(Queen,)h(Ro)r(ok,)f(Bishop,)g(Knigh)n(t,)h(P)n(a)n(wn.)129 +b(Example:)2949 2489 y Ff(n)p Fj(newskaklanguage)p Ff(f)o +Fj(da)o(nis)o(h)p Ff(g)o(f)p Fj(K)o(DT)o(LSB)o Ff(g)28 +b Fe(de\014nes)35 b Fd(danish)g Fe(as)f(a)g(new)h(in-)2949 +2589 y(put)29 b(language.)2949 2731 y Ff(n)p Fh(sk)m(aklanguage)p +Fd([language])2949 2830 y Fe(Cho)r(oses)e Fd(language)32 +b Fe(as)26 b(new)i(input)g(language)e(|)i(defaults)g(to)f +Fd(english)q Fe(.)2949 2972 y Ff(n)p Fh(mainlinest)m(yle)2949 +3072 y Fe(Activ)-5 b(ates)34 b(the)f(t)n(yp)r(esetting)h(st)n(yle)e +(for)h(the)h(mainline)f(|)g(this)h(command)2949 3172 +y(can)28 b(b)r(e)g(rede\014ned)f(if)h(sp)r(ecial)f(requiremen)n(ts)g +(for)g(the)h(t)n(yp)r(esetting)g(exists.)2949 3314 y +Ff(n)p Fh(va)m(riationst)m(yle)2949 3413 y Fe(Similar)g(to)f +Ff(n)p Fh(mainlinest)m(yle)g Fe(just)h(for)f(the)h(t)n(yp)r(esetting)g +(of)g(v)-5 b(ariations.)p 0 TeXcolorgray 2887 3717 a(2)p +0 TeXcolorgray eop end +%%Page: 3 3 +TeXDict begin @landscape 3 2 bop 0 TeXcolorgray 0 TeXcolorgray +2220 -242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p +452 -209 4912 4 v 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +452 78 a Fg(Game)38 b(sto)m(rage)452 214 y Ff(n)p Fh(savegame)p +Ff(f)p Fd(\014le)25 b(name)p Ff(g)452 313 y Fe(W)-7 b(rites)27 +b(the)f(FEN)g(string)g(for)f(the)i(curren)n(t)e(p)r(osition)h(on)g(the) +h(b)r(oard)e(to)h(the)452 413 y(\014le)i Fb(<)p Fj(file)42 +b(name)p Fb(>)p Fj(.fen)452 534 y Ff(n)p Fh(loadgame)p +Ff(f)p Fd(\014le)25 b(name)p Ff(g)452 633 y Fe(Load)i(the)h(p)r +(osition)f(stored)g(in)h(the)g(\014le)g Fb(<)p Fj(file)41 +b(name)p Fb(>)p Fj(.fen)452 754 y Ff(n)p Fh(sto)m(regame)p +Ff(f)p Fd(name)p Ff(g)452 854 y Fe(Stores)27 b(the)h(curren)n(t)f(game) +g(p)r(osition)g(using)h Fd(name)33 b Fe(as)27 b(reference.)452 +975 y Ff(n)p Fh(resto)m(regame)p Ff(f)p Fd(name)p Ff(g)452 +1074 y Fe(Restores)g(the)h(game)f(previously)f(sa)n(v)n(ed)g(using)i +Ff(n)p Fh(sto)m(regame)p Fe(.)p 0 TeXcolorgray 0 TeXcolorgray +452 1262 a Fg(P)m(ack)m(age)37 b(options)452 1398 y Fh(ps)i +Fe(Includes)f(the)h Fj(ps-tricks)c Fe(pac)n(k)-5 b(age)37 +b(in)i(order)e(to)h(mak)n(e)g(ornamen)n(ts)452 1497 y(on)g(the)g(b)r +(oard.)66 b(Required)37 b(to)g(mak)n(e)g(the)h(follo)n(wing)f(commands) +g(w)n(ork:)452 1597 y Ff(n)p Fh(sho)m(wmoverOn)p Fe(,)26 +b Ff(n)p Fh(p)m(rinta)m(rro)m(w)q Fe(,)h Ff(n)p Fh(highlight)p +Fe(,)e Ff(n)p Fh(p)m(rintknightmove)p Fe(.)452 1718 y +Fh(pso\013)34 b Fe(Do)r(es)27 b Fc(not)36 b Fe(include)28 +b(the)g Fj(ps-tricks)c Fe(pac)n(k)-5 b(age.)452 1838 +y Fh(mover)29 b Fe(Issues)e(the)h Ff(n)p Fh(sho)m(wmoveOn)d +Fe(command.)452 1959 y Fh(movero\013)34 b Fe(Issues)27 +b(the)h Ff(n)p Fh(sho)m(wmoveOn)d Fe(command.)452 2080 +y Fh(notation)g Fe(Issues)i(the)h Ff(n)p Fh(notationOn)c +Fe(command.)452 2201 y Fh(english)41 b Fe(Mak)n(es)f(english)h(the)h +(preferred)e(input)i(language)d(|)i(the)h(only)452 2301 +y(de\014ned)28 b(language)e(at)i(the)g(momen)n(t.)452 +2421 y Fh(st)m(yleA)g Fe(Cho)r(oses)f Ff(n)p Fh(st)m(yleA)g +Fe(st)n(yle)g(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452 +2542 y Fh(st)m(yleB)h Fe(Cho)r(oses)f Ff(n)p Fh(st)m(yleB)g +Fe(st)n(yle)g(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452 +2663 y Fh(st)m(yleC)i Fe(Cho)r(oses)d Ff(n)p Fh(st)m(yleC)i +Fe(st)n(yle)f(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452 +2784 y Fh(tiny)h Fe(The)g(b)r(oard)f(is)g(sho)n(wn)g(using)g(the)h(tin) +n(y)g(size)f(fon)n(t.)452 2905 y Fh(small)h Fe(The)g(b)r(oard)e(is)i +(sho)n(wn)f(using)g(the)h(small)f(size)h(fon)n(t.)452 +3025 y Fh(no)m(rmal)f Fe(The)h(b)r(oard)f(is)g(sho)n(wn)g(using)g(the)h +(normal)f(size)g(fon)n(t.)452 3146 y Fh(la)m(rge)h Fe(The)g(b)r(oard)f +(is)g(sho)n(wn)g(using)g(the)h(large)e(size)i(fon)n(t.)452 +3352 y(The)20 b(default)h(options)e(are)g Fh(notation,)i(no)m(rmal,)i +(pso\013,)h(english,)g(movero\013,)452 3452 y(st)m(yleB)p +Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 2887 +3717 a(3)p 0 TeXcolorgray eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/latex/skak/skakdoc.pdf b/Master/texmf-dist/doc/latex/skak/skakdoc.pdf Binary files differdeleted file mode 100644 index 0f40b14f9fb..00000000000 --- a/Master/texmf-dist/doc/latex/skak/skakdoc.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/skak/skakdoc.ps b/Master/texmf-dist/doc/latex/skak/skakdoc.ps new file mode 100644 index 00000000000..970718088c3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/skakdoc.ps @@ -0,0 +1,13426 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software +%%Title: skakdoc.dvi +%%CreationDate: Thu Jul 18 23:26:33 2013 +%%Pages: 13 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: CMR17 CMR12 CMSS17 CMTT12 CMBX9 CMR9 CMR6 CMSS9 CMR10 +%%+ CMBX12 CMBX10 CMSSBX10 CMSS10 CMSY10 CMTT10 CMR7 SFRM1000 +%%+ SkakNew-Figurine-Bold CMSS8 SkakNew-DiagramT CMR5 SkakNew-Figurine +%%+ CMTI10 CMSY8 CMTT8 CMR8 CMITT10 CMBSY10 +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -o skakdoc.ps skakdoc.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2013.07.18:2326 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: pstricks.pro 0 0 +% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.12, 2012/02/12 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/DashLine { + dup 0 gt + { /a .5 def PathLength exch div } + { pop /a 1 def PathLength } ifelse + /b ED % pattern should fit evenly in b + dup /X ED % pattern array + 0 get /y ED % length of first black segment + /z 0 X {add} forall def % length of the full pattern + %% Computation of the scaling factor as described by van Zandt: + b a .5 sub 2 mul y mul sub z Div round + z mul a .5 sub 2 mul y mul add b exch Div + %%%% scaling factor on stack. + /z ED %% now, z is the scaling factor + false % for the length test below + X { z mul } forall X astore %% modification TN 04-08-07 + %%% Checking whether at least one dash in X has positive length: + {0 gt or} forall + { X 1 a sub y mul } + { [ 1 0 ] 0 } + ifelse + setdash stroke +} def +% +/DotLine { + /b PathLength def + /a ED /z ED /y CLW def + /z y z add def + a 0 gt { + /b b a div def + }{ + a 0 eq { + /b b y sub def + }{ a -3 eq { + /b b y add def } if + } ifelse + } ifelse + [ 0 b b z Div round Div dup 0 le { pop 1 } if ] + a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse + setdash 1 setlinecap stroke +} def +% +/SymbolLine { % on stack [ x y x y ... + counttomark % number of elements + 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + + %% for negative SymStep we calculate the distance + SymStep 0 lt + { %XYLength SymStep div abs cvi + /nSym SymStep abs cvi def } + { /nSym XYLength SymStep div cvi def } + ifelse + 0.5 setflat + /Shift Symbol stringwidth pop 2 div def + /deltaX XLength nSym div def + /deltaY YLength nSym div def + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + nSym { + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + currentpoint translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + deltaX deltaY rmoveto + } repeat + /YA YB def /XA XB def + } repeat + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + XA YA translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + pop % delete the mark symbol +} def +% +/LineFill { % hv ------------ patch 7 ------------- + gsave + abs /hatchWidthInc ED + abs /hatchSepInc ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + 2 setlinecap + systemdict + /setstrokeadjust known { true setstrokeadjust } if + x2 x1 sub 1 add { + x1 a mul y1 moveto 0 y2 rlineto stroke + /x1 x1 1 add + hatchWidthInc 0 gt { CLW add } if + def + hatchSepInc 0 gt hatchWidthInc 0 gt or { + /a a hatchSepInc add def + CLW hatchWidthInc add SLW + } if + } repeat + grestore + pop pop } def +% +/DotFill {% on stack: dot radius + /dotRadius ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform + pathbbox % llx lly urx ury of smallest bounding box + /y2 ED /x2 ED /y1 ED /x1 ED + y2 y1 sub a div 2 add cvi /Ny ED + x2 x1 sub a div 2 add cvi /Nx ED + clip + newpath + /yA y1 dotRadius add CLW add def + /xA0 x1 dotRadius add CLW add def + Ny { + /xA xA0 def + Nx { + newpath + xA yA dotRadius 0 360 arc + SolidDot { gsave fill grestore } if + stroke + xA a add /xA ED + } repeat + yA a add /yA ED + } repeat + grestore +} def +% +/PenroseFill {% on stack: scaling factor + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul} + { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall + [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto + i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25 + mul j l + S rmoveto}F i L j L stroke }F}F}F}F + grestore + pop pop +} def +% +/TruchetFill { % on stack: scaling factor + 10 dict begin + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /ma a neg def + /ha a 2 div def + /mha ha neg def + /tile { + rand dup 2 idiv 2 mul eq { 90 rotate } if + mha mha moveto ha mha lineto + ha ha lineto mha ha lineto +% closepath .1 setlinewidth stroke + contents + } def + /contents{ + 0 ha moveto ha 0 lineto + 0 mha moveto mha 0 lineto +% 1 setlinewidth stroke + } def + /dotiling { + f ma mul a f a mul { + /i exch def + f ma mul a f a mul { + /j exch def + gsave i j translate + tile stroke grestore + } for + } for + } def +% + /f 3 def + 5 srand dotiling + end % local user dict +} def +% +/BeginArrow { + ADict begin % hold it local, for end see EndArrow + /@mtrx CM def + gsave + 2 copy T + 2 index sub neg exch + 3 index sub exch Atan + rotate newpath +} def +% +/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict +% +/Arrow { + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /a ED + { 0 h T 1 -1 scale } if + w neg h moveto + 0 0 L w h L w neg a neg rlineto + gsave fill grestore +} def +% +/ArrowD { % the sides are drawn as curves (hv 20071211) + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /Inset ED + { 0 h T 1 -1 scale } if % changes the direction +% we use y=w/h^2 * x^2 as equation for the control points +% for the coordinates the arrow is seen from top to bottom +% the bottom (tip) is (0;0) + w neg h moveto % lower left of > + w 9 div 4 mul neg h 3 div 2 mul + w 9 div neg h 3 div + 0 0 curveto % tip of > + w 9 div h 3 div + w 9 div 4 mul h 3 div 2 mul + w h curveto % upper left of > + w neg Inset neg rlineto % move to x=0 and inset + gsave fill grestore +} def +% +/Tbar { + CLW mul add /z ED + z -2 div CLW 2 div moveto + z 0 rlineto stroke + 0 CLW moveto +} def +% +/Bracket { + CLW mul add dup CLW sub 2 div + /x ED mul CLW add /y ED /z CLW 2 div def + x neg y moveto + x neg CLW 2 div L x CLW 2 div L x y L stroke + 0 CLW moveto +} def +% +/RoundBracket { + CLW mul add dup 2 div + /x ED mul /y ED /mtrx CM def + 0 CLW 2 div T x y mul 0 ne { x y scale } if + 1 1 moveto + .85 .5 .35 0 0 0 curveto + -.35 0 -.85 .5 -1 1 curveto + mtrx setmatrix stroke 0 CLW moveto +} def +% +/SD { 0 360 arc fill } def +% +/EndDot { % DS is the dot size + { /z DS def } { /z 0 def } ifelse % outer or inner dimen + /b ED % the color definition + 0 z DS SD + b { 0 z DS CLW sub SD } if + 0 DS z add CLW 4 div sub + moveto +} def +% +/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { + /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto + load } if ] cvx newpath 3 1 roll T exec } def +% +/NArray { % holds the coordinates and on top of stack the showpoints boolean + /showpoints ED + counttomark 2 div dup cvi /n ED % n 2 div on stack + n eq not { exch pop } if % even numbers of points? delete one + ] aload /Points ED + showpoints not { Points aload pop } if +% { ] aload /Points ED } +% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol +} def +% +/Line { + NArray n 0 eq not + { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def + n { Lineto } repeat + CP 4 2 roll ArrowB L pop pop + } if +} def +% +/LineToYAxis { + /Ox ED % Save the x origin value + NArray % all x-y pairs on stack + n { 2 copy moveto % go to current point + Ox exch Lineto % line to y-axis + pop % delete old x-value + } repeat +} def +% +/LineToXAxis{ + /Oy ED % Save the y origin value + NArray % all x-y pairs on stack + n 0 eq not + { n 1 eq { 0 0 /n 2 def } if + ArrowA + /n n 2 sub def + CP 2 copy moveto pop Oy Lineto + n { 2 copy moveto pop Oy Lineto } repeat + CP + 4 2 roll + ArrowB + 2 copy moveto pop Oy + L + pop pop } if +} def +% +/Arcto { + /a [ 6 -2 roll ] cvx def + a r + /arcto load stopped { 5 } { 4 } ifelse { pop } repeat + a +} def +% +/CheckClosed { + dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq + and { pop pop /n n 1 sub def } if +} def +% +/Polygon { + NArray n 2 eq { 0 0 /n 3 def } if + n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + n 2 mul -2 roll + /y0 ED /x0 ED /y1 ED /x1 ED + x1 y1 + /x1 x0 x1 add 2 div def + /y1 y0 y1 add 2 div def + x1 y1 moveto + /n n 2 sub def + n { Lineto } repeat + x1 y1 x0 y0 6 4 roll Lineto + Lineto pop pop closepath } ifelse +} def +% +/SymbolPolygon { % on stack [ x y x y ... + counttomark % number of elements + 2 add /m ED + 2 copy m 2 roll % copy last two + m 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + /nSym XYLength SymStep Div cvi def + /Shift Symbol stringwidth pop 2 Div def + /deltaX XLength nSym Div def + /deltaY YLength nSym Div def + XA Shift sub YA Shift sub moveto + nSym { + gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + grestore + deltaX deltaY rmoveto + } repeat +% XB Shift sub YB Shift sub moveto Symbol show + /YA YB def /XA XB def + } repeat + pop % delete the mark symbol +} def +% +/Diamond { + /mtrx CM def + T rotate + /h ED + /w ED + dup 0 eq { pop } { CLW mul neg + /d ED + /a w h Atan def + /h d a sin Div h add def + /w d a cos Div w add def } ifelse + mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div + /ArrowA { moveto } def + /ArrowB { } def + false Line + closepath mtrx setmatrix } def +% +/Triangle { + /mtrx CM def + translate + rotate /h ED 2 div /w ED + dup CLW mul /d ED + /h h d w h Atan sin Div sub def + /w w d h w Atan 2 div dup cos exch sin Div mul sub def + mark + 0 d w neg d 0 h w d 0 d + /ArrowA { moveto } def + /ArrowB { } def + false + Line + closepath + mtrx +% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) +% setmatrix } def + setmatrix pop +} def +% DG/SR modification end +% +/CCA { + /y ED /x ED + 2 copy y sub /dy1 ED + x sub /dx1 ED + /l1 dx1 dy1 Pyth def +} def +% +/CC { + /l0 l1 def + /x1 x dx sub def + /y1 y dy sub def + /dx0 dx1 def + /dy0 dy1 def + CCA + /dx dx0 l1 c exp mul dx1 l0 c exp mul add def + /dy dy0 l1 c exp mul dy1 l0 c exp mul add def + /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def + /x2 x l0 dx mul m mul sub def + /y2 y l0 dy mul m mul sub def + /dx l1 dx mul m mul neg def + /dy l1 dy mul m mul neg def +} def +% +/IC { + /c c 1 add def + c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse + /a a 2 mul 3 div 45 cos b exp div def + CCA + /dx 0 def + /dy 0 def +} def +% +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +% +/OpenCurve { + NArray n 3 lt + { n { pop pop } repeat } + { BOC /n n 3 sub def n { NC } repeat EOC } ifelse +} def +% +/CurvePath { + %% for negative SymStep we calculate the distance + SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if + 0.5 setflat + flattenpath /z 0 def /z0 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def + x1 Shift sub y1 Shift sub moveto + gsave + curveticks + { x1 y1 translate startAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { startAngle rotate Symbol show } + ifelse + grestore /z0 z def } + { /y ED /x ED PathLength@ z z0 sub SymStep ge { + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore /z0 z def } if + /yOld y def /xOld x def } + {} %% the lineto part + { /y y2 def /x x2 def PathLength@ + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + x Shift sub y Shift sub moveto + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + } + pathforall +% curveticks +% { gsave +% x y translate rotAngle rotate +% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto +% SymbolLinewidth setlinewidth stroke grestore +% } if + z +} def +% +/OpenSymbolCurve { + OpenCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/AltCurve { + { false NArray n 2 mul 2 roll + [ n 2 mul 3 sub 1 roll ] aload + /Points ED + n 2 mul -2 roll } + { false NArray } ifelse + n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse +} def +% +/AltOpenSymbolCurve { + AltCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedCurve { + NArray n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + 6 copy n 2 mul 6 add 6 roll + IC CC x y moveto n { NC } repeat + closepath pop pop + } ifelse +} def +% +/ClosedSymbolCurve { + ClosedCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def +% +/FontDot { + DS 2 mul dup + matrix scale matrix concatmatrix exch matrix + rotate matrix concatmatrix exch + findfont exch makefont setfont +} def +% +/Rect { + x1 y1 y2 add 2 div moveto + x1 y2 lineto + x2 y2 lineto + x2 y1 lineto + x1 y1 lineto + closepath +} def +% +/OvalFrame { + x1 x2 eq y1 y2 eq or + { pop pop x1 y1 moveto x2 y2 L } + { y1 y2 sub abs x1 x2 sub abs 2 copy gt + { exch pop } { pop } ifelse + 2 div exch { dup 3 1 roll mul exch } if + 2 copy lt { pop } { exch pop } ifelse + /b ED + x1 y1 y2 add 2 div moveto + x1 y2 x2 y2 b arcto + x2 y2 x2 y1 b arcto + x2 y1 x1 y1 b arcto + x1 y1 x1 y2 b arcto + 16 { pop } repeat + closepath + } ifelse +} def +% +/Frame { + CLW mul /a ED + 3 -1 roll + 2 copy gt { exch } if + a sub /y2 ED + a add /y1 ED + 2 copy gt { exch } if + a sub /x2 ED + a add /x1 ED + 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse +} def +% +/BezierNArray { + /f ED + counttomark 2 div dup cvi /n ED + n eq not { exch pop } if + n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat + f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse +} def +% +/OpenBezier { + BezierNArray + n 1 eq + { pop pop } + { ArrowA n 4 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + 6 2 roll 4 2 roll ArrowB curveto } ifelse +} def +% +/OpenSymbolBezier { + OpenBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedBezier { + BezierNArray + n 1 eq + { pop pop } + { moveto n 1 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + closepath } ifelse +} def +% +/ClosedSymbolBezier { + /f ED % save showpoints value + 2 copy /yEnd ED /xEnd ED + counttomark -2 roll 2 copy /yStart ED /xStart ED + counttomark 2 roll + f + ClosedBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath + [ xEnd yEnd xStart yStart SymbolLine +} def +% +/BezierShowPoints { + gsave + Points aload length 2 div cvi /n ED + moveto + n 1 sub { lineto } repeat + CLW 2 div SLW [ 4 4 ] 0 setdash stroke + grestore +} def +% +/Parab { + /y0 ED /x0 ED /y1 ED /x1 ED + /dx x0 x1 sub 3 div def + /dy y0 y1 sub 3 div def + x0 dx sub y0 dy add x1 y1 ArrowA + x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def +} def +% +/Parab1 { % 1 end | 0 SP + /ySP ED /xSP ED /y1 ED /x1 ED + /dx xSP x1 sub 3 div def + /dy ySP y1 sub 3 div def + newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto + x1 ySP lineto closepath clip + currentpoint + newpath moveto + xSP dx sub ySP dy add x1 y1 ArrowA + xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def +} def +% +/Grid { + newpath + /a 4 string def + /b ED % psk@gridlabels in pt + /c ED % { \pst@usecolor\psgridlabelcolor } + /n ED % psk@griddots + cvi dup 1 lt { pop 1 } if + /s ED % \psk@subgriddiv + s div dup 0 eq { pop 1 } if + /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs + /dx ED dy div round dy mul % \pst@number\psxunit abs + /y0 ED dx div round dx mul + /x0 ED dy div round cvi + /y2 ED dx div round cvi + /x2 ED dy div round cvi + /y1 ED dx div round cvi + /x1 ED + /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def + /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def + b 0 gt { + /z1 b 4 div CLW 2 div add def +% /Helvetica findfont b scalefont setfont + /b b .95 mul CLW 2 div add def } if + systemdict /setstrokeadjust known + { true setstrokeadjust /t { } def } + { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add + exch itransform } bind def } ifelse + gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse + /i x1 def + /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def + /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def + x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if + { i dx mul dup y0 moveto + b 0 gt + { gsave c i a cvs dup stringwidth pop + /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse + h 0 gt {b neg}{z1} ifelse + rmoveto show grestore } if + dup t f moveto + g t L stroke + /i i w add def + } repeat + grestore + gsave + n 0 gt + % DG/SR modification begin - Nov. 7, 1997 - Patch 1 + %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } + { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } + % DG/SR modification end + { 2 setlinecap } ifelse + /i y1 def + /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def + /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def + y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if + { newpath i dy mul dup x0 exch moveto + b 0 gt { gsave c i a cvs dup stringwidth pop + /z2 ED + w 0 gt {z1 z2 add neg} {z1} ifelse + h 0 gt {z1} {b neg} ifelse + rmoveto show grestore } if + dup f exch t moveto + g exch t L stroke + /i i h add def + } repeat + grestore +} def +% +/ArcArrow { + /d ED /b ED /a ED + gsave + newpath 0 -1000 moveto clip + newpath + 0 1 0 0 b + grestore + c mul + /e ED + pop pop pop r a e d PtoC y add exch x add + exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c + mul neg d +} def +% +/Ellipse { + /rotAngle ED + /mtrx CM def + T + rotAngle rotate + scale 0 0 1 5 3 roll arc + mtrx setmatrix +} def +% +/ArcAdjust { %%%% Vincent Guirardel +% given a target length (targetLength) and an initial angle (angle0) [in the stack], +% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0). +% This computes an angle t such that (x0,y0) is at distance +% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)). +% NOTE: this an absolute angle, it does not have to be added or substracted to angle0 +% contrary to TvZ's code. +% To achieve, this, one iterates the following process: start with some angle t, +% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]. +% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned. +% +% Another difference with TvZ's code is that we need d (=add/sub) to be defined. +% the value of d = add/sub is used to know on which side we have to move. +% It is only used in the initialisation of the angle before the iteration. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Input stack: 1: target length 2: initial angle +% variables used : rx, ry, d (=add/sub) +% + /targetLength ED /angle0 ED + /x0 rx angle0 cos mul def + /y0 ry angle0 sin mul def +% we are looking for an angle t such that (x0,y0) is at distance targetLength +% from the point M(t)=(rx*cos(t),ry*sin(t))) +%initialisation of angle (using 1st order approx = TvZ's code) + targetLength 57.2958 mul + angle0 sin rx mul dup mul + angle0 cos ry mul dup mul + add sqrt div +% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees +% (if the ellipse is very curved at the point where we draw the arrow, % +% the value can be much more than 360 degrees !) +% this should avoid going on the wrong side (more than 180 degrees) or go near +% a bad attractive point (at 180 degrees) + dup 90 ge { pop 90 } if + angle0 exch d % add or sub +% maximum number of times to iterate the iterative procedure: +% iterative procedure: takes an angle t on top of stack, computes a +% better angle (and put it on top of stack) + 30 { dup +% compute distance D between (x0,y0) and M(t) + dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt +% if D almost equals targetLength, we stop + dup targetLength sub abs 1e-5 le { pop exit } if +% stack now contains D t +% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]: +% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 ) + exch dup cos rx mul x0 sub exch sin ry mul y0 sub +% stack contains: y(t)-y0, x(t)-x0, d + 2 index Div targetLength mul y0 add ry Div exch + 2 index Div targetLength mul x0 add rx Div +% stack contains x(t')/rx , y(t')/ry , d +% now compute t', and remove D from stack + atan exch pop + } repeat +% we don't look at what happened... in particular, if targetLength is greater +% than the diameter of the ellipse... +% the final angle will be around /angle0 + 180. maybe we should treat this pathological case... +% after iteration, stack contains an angle t such that M(t) is the tail of the arrow +% to give back the result as a an angle relative to angle0 we could add the following line: +% angle0 sub 0 exch d +% +% begin bug fix 2006-01-11 +% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180 +%(we don't want to make the ellipse turn more or less than it should)... +dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse +% end bug fix +} def +% +/EllipticArcArrow { + /d ED % is add or sub + /b ED % arrow procedure + /a1 ED % angle + gsave + newpath + 0 -1000 moveto + clip % Set clippath far from arrow. + newpath + 0 1 0 0 b % Draw arrow to determine length. + grestore +% Length of arrow is on top of stack. Next 3 numbers are junk. +% + a1 exch ArcAdjust % Angular position of base of arrow. + /a2 ED + pop pop pop + a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig + a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig + a1 cos rx mul xOrig add % + a1 sin ry mul yOrig add % +% Now arrow tip coor and base coor are on stack. + b pop pop pop pop % Draw arrow, and discard coordinates. + a2 CLW 8 div +% change value of d (test it by looking if `` 1 1 d '' gives 2 or not ) + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse + ArcAdjust +% resets original value of d + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap. +} def +%%------------------ tvz/DG/hv (2004-05-10) end -------------------%% +% +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +% +/RotBegin { + tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if + /TMatrix [ TMatrix CM ] cvx def + /a ED + a Rot /RAngle [ RAngle dup a add ] cvx def +} def +% +/RotEnd { + /TMatrix [ TMatrix setmatrix ] cvx def + /RAngle [ RAngle pop ] cvx def +} def +% +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +% +/Uput { + /a ED + add 2 div /h ED 2 + div /w ED + /s a sin def + /c a cos def + /b s abs c abs 2 copy gt dup + /q ED + { pop } { exch pop } ifelse def + /w1 c b div w mul def + /h1 s b div h mul def + q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse +} def +% +/UUput { + /z ED + abs /y ED + /x ED + q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse + { x x mul y y mul sub z z mul add sqrt z add } + { q { x s div } { x c div } ifelse abs + } ifelse + a PtoC + h1 add exch + w1 add exch +} def +% +/BeginOL { + dup (all) eq exch TheOL eq or + { IfVisible not { Visible /IfVisible true def } if } + { IfVisible { Invisible /IfVisible false def } if } ifelse +} def +% +/InitOL { + /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def + /Visible { CP OLUnit idtransform T moveto } def + /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def + /BOL { BeginOL } def + /IfVisible true def +} def +% +%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%% +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a +end +} def +% +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +end +%-----------------------------------------------------------------------------% +% +% END pstricks.pro + +%%EndProcSet +%%BeginProcSet: pst-algparser.pro 0 0 +% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $ +%% +%% PostScript prologue for PSTricks algorithm parser +%% Version 0.04, 2011/10/21 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%%-----------------------------------------------------------------------------% +% +/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez +% +/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin +% +% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13 +% +% 09/2011 DR factorial with ! added +% +% E->T|E+T +% T->FS|T*FS +% FS -> F | +FS | -FS +% F->P|F^SF|P! +% P->(E)|literal +% literal->number|var|var[E]|func(params) +% params->E|E,param +% number->TOBEFINISHED +% +%% E expression, T term, SF signed factor, F factor, P power +% +%% parser +% +%% str +% +%% C->E<condition_operators>E +%% STR index -> STR index+lenExpr +/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def +% +%% analyze Expression List (separator , or | ) +%% STR index -> STR index+lenExpr +%% /AnalyzeListOfE { +%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar +%% NextNonBlankChar dup 0 eq { pop exit } if +%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if +%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop +%% AnalyzeListOfEPostHook +%% } def +/AnalyzeListOfE { + /NotFirst false def + { NextNonBlankChar pop AnalyzeExpr + NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse + dup Strlen eq { exit } if NextNonBlankChar + dup 44 ne 1 index 124 ne and + { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } + if pop 1 add } loop + AnalyzeListOfEPostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% E->T|E+T +%% STR index -> STR index+lenExpr +/AnalyzeExpr { + AnalyzePreHook AnalyzeTerm IsEndingExpr + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% T->FS|T*FS +%% STR index +/AnalyzeTerm { + AnalyzePreHook AnalyzeSignedFactor IsEndingTerm + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FS -> F | +FS | -FS +%% STR index +/AnalyzeSignedFactor { + AnalyzePreHook 2 copy get dup IsUnaryOp + { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp } + { pop AnalyzeFactor } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% F->P|F^P|P! +%% STR index +/AnalyzeFactor { + AnalyzePreHook AnalyzePower IsEndingFactor + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { dup 33 eq%% is there a ! DR 09/2011 + { pop 1 add NextNonBlankChar pop EvalFactorial } + { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower } + ifelse + IsEndingFactor { pop exit } if } loop } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% P->(E)|literal +%% STR index +/AnalyzePower { + %% depending of first char either a number, or a literal + 2 copy get dup 40 eq%%an open par + { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop } + { AnalyzeLiteral } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index STR[index] -> STR index +%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def +/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% recognize + or - +%% chr -> T/F +/IsUnaryOp { dup 43 eq exch 45 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadNumber { + exch dup 3 -1 roll dup 3 1 roll + %%read mantissa + { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop + dup 101 eq exch 69 eq or + %%% there is a "e" or "E" -> read exponant + { 1 add 2 copy get dup IsUnaryOp + { pop 1 add 2 copy get } if + { IsNumber not { exit } if 1 add 2 copy get } loop } + if + dup 4 1 roll + 3 -1 roll exch 1 index sub getinterval +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadCondOp { + NextNonBlankChar 1 index 4 1 roll + { IsCondOp not { exit } if 1 add 2 copy get } loop + 2 copy 5 -1 roll + exch 1 index sub getinterval 3 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can contain only : 0123456789. +%% chr -> T/F +/IsLiteral {% + dup 48 ge exch dup 57 le 3 -1 roll and exch + dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch + dup 97 ge exch 122 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)? +%% STR index -> literal STR index' nextchr +/ReadLiteral { + exch dup 3 -1 roll dup 3 1 roll + %%read literal core + { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop + 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a clpar +%% STR index -> STR index STR[index] T/F +/IsEndingExpr {% + 2 copy dup Strlen eq + %% if end of str is reached -> end ! + { pop pop 0 true } + %% ending chr -> clpar, comma, |, <, >, =, !, + {get dup dup 41 eq + exch dup 124 eq + exch dup 93 eq + exch dup 44 eq + exch dup 30 eq + exch dup 60 ge exch 62 le and or or or or or} + ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a +- +%% STR index -> STR index STR[index] T/F +/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or */ +%% STR index -> STR index STR[index] T/F +/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or ^ +%% STR index -> STR index STR[index] T/F +/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index STR[index] +/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def +/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def +%%%%%%%%%%%%%%%%%%%%%%%% +%% DEBUG +/BRK {false} def +/BRKtrue {/BRK true def} def +/BRKStop {BRK {BRKtoto} if } def +/BRKEvalStop {BRK exch if } def +/BRKBRK2true {BRK {BRK2true} if } def +/BRK2 {false} def +/BRK2true {/BRK2 true def} def +/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def +end +% +%-------------------------------------------------------------------------------% +% +/tx@AlgToPs 12 dict def tx@AlgToPs begin +% +%% algExpr -> PSVector +/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def +/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def +/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def +/Strlen 0 def +/EvalListOfExpr {} def% +/EvalNumber {% + ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx + exch 1 add array astore def NextNonBlankChar pop } def +/EvalAddSub {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def +} def +/EvalMulDiv {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def +} def +/EvalPower {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + pop /exp cvx exch 1 add array astore def +} def +/EvalFactorial {% DR 09/2011 + /ExpressionVector ExpressionVector aload length + /fact cvx exch 1 add array astore def +} def +/EvalLiteral {% + ReadLiteral + dup 40 eq%%% there is an open par -> function call + { pop 2 index + dup (Sum) eq { EvalSum } + { dup (IfTE) eq { EvalCond } + { dup (Derive) eq { pop EvalDerive } + { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx + exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse } + { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def + dup 91 eq%%% there is an open bracket -> vector element + { pop 1 add NextNonBlankChar pop AnalyzeExpr + /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add } + { pop NextNonBlankChar pop } + ifelse} + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% the derive function : Derive(n,f(x)) +%% firstparindex lastparindex -> +/EvalDerive { + %% manage the function descripiton + 1 add ReadNumber 3 1 roll NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + 1 add NextNonBlankChar pop + 3 -1 roll cvi + dup 0 eq + { pop AnalyzeExpr 3 -1 roll pop 1 add } + { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll + { (x) tx@Derive begin Derive end } repeat + ExpressionVector exch /ExpressionVector [] def + AlgToPs aload length + /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def + l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add + 1 index length /Strlen exch def } ifelse +} def +/EvalSum {% + pop 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll + 5 -1 roll 4 add array astore def + %% keep ExpressionVector for later and create a new one for internal Sum computation + ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def + 1 add NextNonBlankChar pop AnalyzeExpr + %% add each term + /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def + /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add + array astore def 3 -1 roll pop 1 add +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +/EvalCond {% + pop 1 add AnalyzeCond NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + ExpressionVector 3 1 roll /ExpressionVector [] def + 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def + NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add AnalyzeExpr + NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if + ExpressionVector + /ExpressionVector 6 -1 roll aload length dup + 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def + 1 add 3 -1 roll pop +} def +%% CondOp STR index +/EvalCondOp {% + 3 -1 roll + dup (=) eq { /eq } {% + dup (<) eq { /lt } {% + dup (>) eq { /gt } {% + dup (>=) eq { /ge } {% + dup (<=) eq { /ge } {% + dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator } + ifelse } ifelse } ifelse } ifelse } ifelse } ifelse + cvx exch pop + /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def +/EvalUnaryOp { + 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook {} bind def +/PreEvalHook {} bind def +/AnalyzeListOfEPostHook {} bind def +/AnalyzePostHook {} def +/RollOp { 3 1 roll } bind def +end %tx@CoreAnalyzerDict +% +%--------------------------------------------------------------------% +% +/tx@Derive 41 dict def tx@Derive begin +%%increase ^^ for each function added +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable -> PSVector +/Derive {% + 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end +} def +/Strlen 0 def +/InitParser { dup length /Strlen exch def 0 } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable index -> PSVector +/DeriveIndexed {% + 3 1 roll 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u,v)'=-(u',v') +/EvalListOfExpr {% + 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe + 2 copy 7 -1 roll dup length 4 1 roll putinterval add + 6 -2 roll pop pop + 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (-u)'=-(u') +/EvalUnaryOp { + 4 -2 roll 4 index (0) eq + { (0) StrConcat 7 -1 roll pop } + { 7 -1 roll 45 eq + { AddSub AddOpPar true } { false } ifelse + 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (number)'=0 +/EvalNumber { ReadNumber (0) 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u+v)'=u'+v' +/EvalAddSub {% + 7 index dup (0) eq + { pop true }%% du=0 nothing added + { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false } + ifelse + 5 index dup (0) eq + { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0 + { exch + { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added + { 5 -2 roll 7 index 43 eq%%something yet added + { AddAdd false } { AddSub AddOpPar true } ifelse } + ifelse 11 1 roll + 3 -1 roll StrConcat 10 -1 roll { AddClPar } if + 2 copy pop 0 6 2 roll GetIntervalNewStr } + ifelse + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)' or (u/v)' +/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)'=u'*v+u*v' +/EvalMul {% + 4 -2 roll 7 index dup (0) eq + { pop false }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if + true }%%du!=0 + ifelse + 5 1 roll 5 index (0) eq + { 5 -1 roll not { (0) StrConcat } if }%%dv=0 + { 5 -1 roll { AddAdd } if + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + }%%dv!=0 + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u/v)'=(u'*v-u*v')/v^2 +/EvalDiv {% + 4 -2 roll + 4 index (0) eq%%dv=0 -> u'/v + { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse } + { 7 index dup (0) eq + { pop }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0 + ifelse + AddSub + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + %}%%dv!=0 + 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar + AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add } + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str1 index str2 -> str1 index +/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def +/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u) +/EvalPower {% + 4 -2 roll 7 index (0) eq + {%%if du=0 then (u^v)'=v'ln(u)u^v + 4 index (0) eq + { (0) StrConcat }%%if dv=0 then (u^v)'=0 + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if + 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if + AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse + } + {%%du!=0 + 4 index (0) eq + {%%if dv=0 then (u^v)'=vu'u^(v-1) + 5 index dup IsStrNumber + { dup (0) eq + { StrConcat } + { dup dup (1) eq exch (1.0) eq or + { StrConcat } + { StrConcat + 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1 + { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006 + (*\() StrConcat 8 index StrConcat (\)) StrConcat + 5 index dup dup (2) eq exch (2.0) eq or + { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse } + { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)) StrConcat } ifelse + } + {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u) + 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if + AddOpPar 5 index StrConcat (\)*\() StrConcat + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)+\() StrConcat + 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (\)*ln\() StrConcat + 8 index StrConcat AddClPar + } ifelse + } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for factorial ! only cst => null derivative +/EvalFactorial {% DR 09/2011 + 4 index (0) eq + { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll } + { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str -> true/false +/IsStrNumber {% + true exch + { dup 48 lt exch dup 57 gt 3 -1 roll or + exch dup 46 ne%%. + exch dup 43 ne%%+ + exch 45 ne%%- + and and and { pop false } if } forall +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalLiteral {% + ReadLiteral dup 40 eq%%% there is an open par -> function call + { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec } + { dup 91 eq%%% there is an open bracket -> vector element + { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented } + { pop EvalVariable } + ifelse } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% first last parpos Expr[first:parpos-1] -> +/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (f(u))'=u'f'(u) +/EvalFunc { + 4 2 roll 4 index (1) ne + { AddOpPar 4 index StrConcat (\)*) StrConcat } if + (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Func derivative -> Eval<func> +/EvalFunc_sin {% + PreCommonFunc + { (cos\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_cos {% + PreCommonFunc + { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_tan {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_asin {% + PreCommonFunc + { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_acos {% + PreCommonFunc + { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_atg {% + PreCommonFunc + { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_ln {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_exp {% + PreCommonFunc + { (exp\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_EXP {% + PreCommonFunc + { (EXP\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_sqrt {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Fact {% + PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if + PostCommonFunc } def +/EvalFunc_sh {% + PreCommonFunc + { (ch\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_ch {% + PreCommonFunc + { (sh\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_th {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argsh {% + PreCommonFunc + { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argch {% + PreCommonFunc + { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argth {% + PreCommonFunc + { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/PreCommonFunc { + 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop + 4 2 roll 4 index (0) eq + { (0) StrConcat false } + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse +} def +/PostCommonFunc { + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +/EvalFunc_Derive {% + 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs + 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add + 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval + exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_Sum {% + 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop 3 -1 roll pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if + 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat + 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_IfTE {% + 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond + NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + 1 add NextNonBlankChar pop dup 5 1 roll + AnalyzeExpr NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add NextNonBlankChar pop + AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat + 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% advance in str until a comma is found (no error detection!) +%% str index -> str index' +/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for condition.... +/EvalCondOp { 3 -1 roll pop } bind def +/PutIntervalOneAdd {putinterval 1 add} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add close parenthesis in string at the given index +%% str index -> str index+1 +/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add 0 in string at the given index +%% str index -> str index+1 +/AddZero {2 copy (0) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddMul {2 copy (*) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddDiv {2 copy (/) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a plus sign in string at the given index +%% str index -> str index+1 +/AddAdd {2 copy (+) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a minus sign in string at the given index +%% str index -> str index+1 +/AddSub {2 copy (-) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a pipe sign in string at the given index +%% str index -> str index+1 +/AddPipe {2 copy (|) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook { dup 5 1 roll } bind def +/PreEvalHook {} def +/AnalyzePostHook { 7 -1 roll pop } bind def +/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def +/RollOp { 5 1 roll } bind def +end%%%tx@CoreAnalyzerDict +/tx@AddMathFunc 12 dict def tx@AddMathFunc begin +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% NEW FUNC +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2)) +%% x -> theta +/asin {% + dup abs 1 gt { EQDFasinrangeerror } if + dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad +} def +%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x) +%% x -> theta +/acos {% + dup abs 1 gt { EQDFacosrangeerror } if + dup dup mul 1 exch sub sqrt exch atan DegtoRad +} def +%% function arctangent in radians +%% x -> theta +/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def +%% HYPERBOLIC FUNCTIONS +/sh { dup Ex exch neg Ex sub 2 div } def +/ch { dup Ex exch neg Ex add 2 div } def +/th { dup sh exch ch div } def +/Argsh { dup dup mul 1 add sqrt add ln } def +/Argch { dup dup mul 1 sub sqrt add ln } def +/Argth { dup 1 add exch 1 exch sub div ln 2 div } def +%% modified exponential funtion for 0 +%% x n -> x^n +/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def +%% modified exponential funtion for 0 +%% x -> e^x +/Ex { Euler exch exp } bind def +%% +%% factorial function +%% n -> n! +/Fact { 1 exch 2 exch 1 exch { mul } for } bind def +/fact { Fact } bind def +/! { Fact } bind def +end +% +% END pst-algparser.pro + +%%EndProcSet +%%BeginProcSet: pst-tools.pro 0 0 +% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $ +% +%% PostScript tools prologue for pstricks.tex. +%% Version 0.02, 2012/01/01 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +/Pi2 1.57079632679489661925640 def +/factorial { % n on stack, returns n! + dup 0 eq { 1 }{ + dup 1 gt { dup 1 sub factorial mul } if } + ifelse } def +% +/MoverN { % m n on stack, returns the binomial coefficient m over n + 2 dict begin + /n exch def /m exch def + n 0 eq { 1 }{ + m n eq { 1 }{ + m factorial n factorial m n sub factorial mul div } ifelse } ifelse + end +} def +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% subroutines for complex numbers, given as an array [a b] +% which is a+bi = Real+i Imag +% +/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] + dup 0 get % [a1 b1] [a2 b2] a2 + 3 -1 roll % [a2 b2] a2 [a1 b1] + dup 0 get % [a2 b2] a2 [a1 b1] a1 + 3 -1 roll % [a2 b2] [a1 b1] a1 a2 + add % [a2 b2] [a1 b1] a1+a2 + 3 1 roll % a1+a2 [a2 b2] [a1 b1] + 1 get % a1+a2 [a2 b2] b1 + exch 1 get % a1+a2 b1 b2 + add 2 array astore +} def +% +/cxneg { % [a b] + dup 1 get % [a b] b + exch 0 get % b a + neg exch neg % -a -b + 2 array astore +} def +% +/cxsub { cxneg cxadd } def % same as negative addition +% +% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3] +/cxmul { % [a1 b1] [a2 b2] + dup 0 get % [a1 b1] [a2 b2] a2 + exch 1 get % [a1 b1] a2 b2 + 3 -1 roll % a2 b2 [a1 b1] + dup 0 get % a2 b2 [a1 b1] a1 + exch 1 get % a2 b2 a1 b1 + dup % a2 b2 a1 b1 b1 + 5 -1 roll dup % b2 a1 b1 b1 a2 a2 + 3 1 roll mul % b2 a1 b1 a2 b1a2 + 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1 + 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2 + 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2 + 4 -1 roll add % b1 a2 a1 b2 b3 + 4 2 roll mul % b1 b2 b3 a1a2 + 4 2 roll mul sub % b3 a3 + exch 2 array astore +} def +% +% [a b]^2 = [a^2-b^2 2ab] = [a2 b2] +/cxsqr { % [a b] square root + dup 0 get exch 1 get % a b + dup dup mul % a b b^2 + 3 -1 roll % b b^2 a + dup dup mul % b b^2 a a^2 + 3 -1 roll sub % b a a2 + 3 1 roll mul 2 mul % a2 b2 + 2 array astore +} def +% +/cxsqrt { % [a b] +% dup cxnorm sqrt /r exch def +% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 + cxlog % log[a b] + 2 cxrdiv % log[a b]/2 + aload pop exch % b a + 2.781 exch exp % b exp(a) + exch cxconv exch % [Re +iIm] exp(a) + cxrmul % +} def +% +/cxarg { % [a b] + aload pop % a b + exch atan % arctan b/a + DegtoRad % arg(z)=atan(b/a) +} def +% +% log[a b] = [a^2-b^2 2ab] = [a2 b2] +/cxlog { % [a b] + dup % [a b][a b] + cxnorm % [a b] |z| + log % [a b] log|z| + exch % log|z|[a b] + cxarg % log|z| Theta + cxmake2 % [log|z| Theta] +} def +% +% square of magnitude of complex number +/cxnorm2 { % [a b] + dup 0 get exch 1 get % a b + dup mul % a b^2 + exch dup mul add % a^2+b^2 +} def +% +/cxnorm { % [a b] + cxnorm2 sqrt +} def +% +/cxconj { % conjugent complex + dup 0 get exch 1 get % a b + neg 2 array astore % [a -b] +} def +% +/cxre { 0 get } def % real value +/cxim { 1 get } def % imag value +% +% 1/[a b] = ([a -b]/(a^2+b^2) +/cxrecip { % [a b] + dup cxnorm2 exch % n2 [a b] + dup 0 get exch 1 get % n2 a b + 3 -1 roll % a b n2 + dup % a b n2 n2 + 4 -1 roll exch div % b n2 a/n2 + 3 1 roll div % a/n2 b/n2 + neg 2 array astore +} def +% +/cxmake1 { 0 2 array astore } def % make a complex number, real given +/cxmake2 { 2 array astore } def % dito, both given +% +/cxdiv { cxrecip cxmul } def +% +% multiplikation by a real number +/cxrmul { % [a b] r + exch aload pop % r a b + 3 -1 roll dup % a b r r + 3 1 roll mul % a r b*r + 3 1 roll mul % b*r a*r + exch 2 array astore % [a*r b*r] +} def +% +% division by a real number +/cxrdiv { % [a b] r + 1 exch div % [a b] 1/r + cxrmul +} def +% +% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian +/cxconv { % theta + RadtoDeg dup sin exch cos cxmake2 +} def + +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { % on stack must be an array [ ... ] +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a % return the sorted array +end +} def +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +%-----------------------------------------------------------------------------% +% END pst-tools.pro + +%%EndProcSet +%%BeginProcSet: pst-dots.pro 0 0 +% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt <tvz@Princeton.EDU> +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% Modified by Etienne Riga - Dec. 16, 1999 +%% Modified by Etienne Riga - 2005/01/01 (er) +%% to add /Diamond, /SolidDiamond and /BoldDiamond +%% Modified by Herbert Voss (hv) - 2008/04/17 +% +10 dict dup begin % hold local + /FontType 3 def + /FontMatrix [.001 0 0 .001 0 0] def +% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv + /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph + /Encoding 256 array def + 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef + Encoding % replace with given dot names + dup (b) 0 get /Bullet put % get the numerical position of b in ASCII +% % and save /Bullet at this place in Encoding + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put % 67 + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + dup (P) 0 get /BoldPentagon put +%%% + dup (k) 0 get /Asterisk put + dup (K) 0 get /BoldAsterisk put + dup (J) 0 get /SolidAsterisk put + dup (h) 0 get /Hexagon put + dup (H) 0 get /BoldHexagon put + dup (G) 0 get /SolidHexagon put + dup (f) 0 get /Octogon put % 2008-04-18 hv + dup (F) 0 get /BoldOctogon put % 2008-04-18 hv + dup (g) 0 get /SolidOctogon put % 2008-04-18 hv + dup (a) 0 get /Add put + dup (A) 0 get /BoldAdd put % 65 + dup (x) 0 get /Mul put + dup (X) 0 get /BoldMul put + dup (m) 0 get /Oplus put + dup (M) 0 get /BOplus put + dup (e) 0 get /SolidOplus put + dup (n) 0 get /Otimes put + dup (N) 0 get /BOtimes put + dup (E) 0 get /SolidOtimes put + dup (i) 0 get /Bar put + dup (I) 0 get /BoldBar put + dup (l) 0 get /SolidDiamond put + dup (d) 0 get /Diamond put + (D) 0 get /BoldDiamond put +%%% +/CharProcs 47 dict def +CharProcs begin + /CirclePath {0 0 500 0 360 arc closepath} def + /Bullet {CirclePath fill} def + /Circle {CirclePath .9 .9 scale CirclePath eofill} def + /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def + /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def + /SolidTriangle {TrianglePath fill} def + /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def + /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def + /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def + /SolidSquare {SquarePath fill} def + /Square {SquarePath .89 .89 scale SquarePath eofill} def + /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def + /PentagonPath { + -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto + 0 574.7 lineto -546.6 177.6 lineto closepath + } def + /SolidPentagon {PentagonPath fill} def + /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def + /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def +%-------------- hv begin 2004/07/25 from: er 2003/03/24 + /HexagonPath { + 0 550 moveto -476 275 lineto -476 -275 lineto + 0 -550 lineto 476 -275 lineto 476 275 lineto closepath + } def + /SolidHexagon {HexagonPath fill} def + /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def + /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def +% 2008-04-18 hv + /OctogonPath { + 550 dup 22.5 tan mul dup neg dup add /xMove exch def + exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def + /SolidOctogon { OctogonPath fill } def + /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def + /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def +% + /AsteriskPath { + 20 0 moveto 10 250 180 500 0 500 curveto + -180 500 -10 250 -20 0 curveto closepath + } def + /Asterisk { + AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath + 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill + } def +% + /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def + /BoldAsteriskPath { + 50 30 cos 100 mul moveto Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp closepath + } def + /BoldAsterisk {BoldAsteriskPath fill} def + /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def + /CrossPath { + 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto + -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto + 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath + } def + /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto + -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto + 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath + } def + /Add {CrossPath fill} def + /Mul {45 rotate CrossPath fill} def + /BoldAdd {BoldCrossPath fill} def + /BoldMul {45 rotate BoldCrossPath fill} def + /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def + /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def + /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def + /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def + /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def + /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def + /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def + /Bar {BarPath fill} def + /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def + /BoldBar {BoldBarPath fill} def + /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def + /SolidDiamond {DiamondPath fill} def + /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def + /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def +%%% + /.notdef { } def +end +% +/BuildGlyph { + exch + begin +% Metrics 1 index get exec 0 + 0 0 +% BBoxes 3 index get exec + -1000 -1000 1000 1000 +% -571.5 -742.5 571.5 742.5 + setcachedevice + CharProcs begin load exec end + end +} def +% +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +} bind def +% +end +/PSTricksDotFont exch definefont pop +% +%% end + +%%EndProcSet +%%BeginProcSet: pst-node.pro 0 0 +% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $ +%% +%% PostScript prologue for pst-node.tex. +%% Version 1.13, 2011/11/21. +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +/tx@NodeDict 400 dict def tx@NodeDict begin +tx@Dict begin % from main pstricks dict + /T /translate load def + /CP /currentpoint load def +end +/NewNode { % on stack: { x y } boolean N@name type InitXnode + gsave + NodeScale % a bugfix for xelatex, it's empty for dvips + /next exch def % { x y } boolean N@name type + dict dup % { x y } boolean N@name dict dict + 3 1 roll def % { x y } boolean dict N@name dict def + exch { dup 3 1 roll def } if % { x y } dict boolean + begin % { x y } dict begin + tx@Dict begin + STV CP T exec % set scaling + end + /NodeMtrx CM def % save CM + next % InitXNode + end + grestore +} def +% +/InitPnode { + /Y ED /X ED + /NodePos { NodeSep Cos mul NodeSep Sin mul } def +} def +% +/InitCnode { + /r ED /Y ED /X ED + /NodePos { NodeSep r add dup Cos mul exch Sin mul } def +} def +% +/GetRnodePos { + Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse + Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse + dx Sin mul abs dy + Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse +} def +% +/InitRnode { + /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED + /NodePos { GetRnodePos } def +} def +% +/DiaNodePos { + w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup + Cos mul exch Sin mul +} def +% +/TriNodePos { + Sin s lt + { d NodeSep sub dup Cos mul Sin Div exch } + { w h mul w Sin mul h Cos abs mul add Div + NodeSep add dup Cos mul exch Sin mul + } ifelse +} def +% +/InitTriNode { + sub 2 div exch + 2 div exch + 2 copy T + 2 copy 4 index index /d ED + pop pop pop pop + -90 mul rotate + /NodeMtrx CM def + /X 0 def /Y 0 def + d sub abs neg /d ED + d add /h ED + 2 div h mul h d sub Div /w ED + /s d w Atan sin def + /NodePos { TriNodePos } def +} def +% +/OvalNodePos { + /ww w NodeSep add def + /hh h NodeSep add def + Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul +} def +% +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +% +/XYPos { + dup sin exch cos Do + /Cos ED /Sin ED /Dist ED + Cos 0 gt + { Dist Dist Sin mul Cos div } + { Cos 0 lt + { Dist neg Dist Sin mul Cos div neg } + { 0 Dist Sin mul } ifelse + } ifelse + Do +} def +% +/GetEdge { + dup 0 eq + { pop begin 1 0 NodeMtrx dtransform + CM idtransform + exch atan sub + dup + sin /Sin ED + cos /Cos ED + /NodeSep ED + NodePos NodeMtrx dtransform CM idtransform end } + { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse +} def +% +/AddOffset { + 1 index 0 eq + { pop pop } + { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse +} def +% +/GetEdgeA { + NodeSepA AngleA NodeA NodeSepTypeA GetEdge + OffsetA AngleA AddOffset + yA add /yA1 ED + xA add /xA1 ED +} def +% +/GetEdgeB { + NodeSepB AngleB NodeB NodeSepTypeB GetEdge + OffsetB AngleB AddOffset + yB add /yB1 ED + xB add /xB1 ED +} def +% +/GetArmA { + ArmTypeA 0 eq + { /xA2 ArmA AngleA cos mul xA1 add def + /yA2 ArmA AngleA sin mul yA1 add def } + { ArmTypeA 1 eq {{exch}} {{}} ifelse + /Do ED + ArmA AngleA XYPos OffsetA AngleA AddOffset + yA add /yA2 ED + xA add /xA2 ED } ifelse +} def +% +/GetArmB { + ArmTypeB 0 eq + { /xB2 ArmB AngleB cos mul xB1 add def + /yB2 ArmB AngleB sin mul yB1 add def } + { ArmTypeB 1 eq {{exch}} {{}} ifelse + /Do ED + ArmB AngleB XYPos OffsetB AngleB AddOffset + yB add /yB2 ED + xB add /xB2 ED } ifelse +} def +% +/InitNC { + /b ED /a ED % second and first node + /NodeSepTypeB ED /NodeSepTypeA ED + /NodeSepB ED /NodeSepA ED + /OffsetB ED /OffsetA ED + tx@NodeDict a known tx@NodeDict b known and dup { + /NodeA a load def + /NodeB b load def + NodeA GetCenter /yA ED /xA ED + NodeB GetCenter /yB ED /xB ED } if +} def +% +/LPutLine { + 4 copy + 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED + 1 t sub mul + 3 1 roll 1 t sub mul + 4 1 roll t mul add /Y ED + t mul add /X ED +} def +% +/LPutLines { + mark LPutVar counttomark 2 div 1 sub /n ED +% t floor dup n gt + t floor dup n ge % to allow npos<= hv 2008-08-14 + { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse + cvi 2 mul { pop } repeat + LPutLine + cleartomark +} def +% +/BezierMidpoint { + /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED + /cx x1 x0 sub 3 mul def + /cy y1 y0 sub 3 mul def + /bx x2 x1 sub 3 mul cx sub def + /by y2 y1 sub 3 mul cy sub def + /ax x3 x0 sub cx sub bx sub def + /ay y3 y0 sub cy sub by sub def + ax t 3 exp mul bx t t mul mul add + cx t mul add x0 add ay t 3 exp mul + by t t mul mul add cy t mul add + y0 add 3 ay t t mul mul mul 2 + by t mul mul add cy add 3 ax t t mul mul mul + 2 bx t mul mul add cx add atan /NAngle ED + /Y ED /X ED +} def +% +/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def +} def +/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def +/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit +} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd +} def +/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def +} def +/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def +/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { +exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark +VPosEnd } def +/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 +roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx +def grestore exec /LPutVar /SaveLPutVar load def } def +/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def +GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { +LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { +LPutVar VPutLine } def LPutVar } def +% +/NCLine { + NCCoor + tx@Dict begin + ArrowA CP 4 2 roll + ArrowB + lineto pop pop + end +} def +% +/NCLines { + false NArray + n 0 eq + { NCLine } + { 2 copy yA sub exch xA sub Atan /AngleA ED + n 2 mul dup index exch index yB sub exch xB sub + Atan /AngleB ED + GetEdgeA GetEdgeB + /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def + mark LPutVar + tx@Dict begin false Line end + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def + } ifelse +} def +% +/NCCurve { + GetEdgeA + GetEdgeB + xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 +roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA +GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict +begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] +cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines +} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def +% +/NCAngles { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform pop + xB2 yB2 mtrx transform exch pop + mtrx itransform + /y0 ED /x0 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def } def +% +/NCAngle { + GetEdgeA GetEdgeB GetArmB + /mtrx AngleA matrix rotate def + xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform + /y0 ED /x0 ED + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA1 yA1 + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCBar { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx itransform pop + xB2 yB2 mtrx itransform pop + sub dup 0 mtrx transform + 3 -1 roll 0 gt + { /yB2 exch yB2 add def /xB2 exch xB2 add def } + { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCDiag { + /lineAngle ED + GetEdgeA GetEdgeB GetArmA GetArmB mark + lineAngle abs 0 gt { + /xTemp xA2 10 add def + /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def + /dY1 yTemp yA2 sub def + /dX1 xTemp xA2 sub def + /dY2 yB2 yB1 sub def + /dX2 xB2 xB1 sub def + dX1 abs 0.01 lt { + /m2 dY2 dX2 div def + /xB2 xA2 def + /yB2 xA2 xB1 sub m2 mul yB1 add def + }{ + dX2 abs 0.01 lt { + /m1 dY1 dX1 div def + /xB2 xB1 def + /yB2 xB1 xA2 sub m1 mul yA2 add def + }{% + /m1 dY1 dX1 div def + /m2 dY2 dX2 div def + /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def + /yB2 xB2 xA2 sub m1 mul yA2 add def + } ifelse + } ifelse + } if + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetEdgeB GetArmA GetArmB mark +% ArmB 0 ne { xB1 yB1 } if +% xB2 yB2 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCDiagg { + /lineAngle ED + GetEdgeA GetArmA + lineAngle abs 0 gt + { lineAngle } + { yB yA2 sub xB xA2 sub Atan 180 add } ifelse + /AngleB ED + GetEdgeB mark + lineAngle abs 0 gt { + /dY2 yA2 yA1 sub def + /dX2 xA2 xA1 sub def + lineAngle abs 90 eq { + /m2 dY2 dX2 div def + /yA2 xB xA2 sub m2 mul yA2 add def + /xA2 xB def + }{ + /m1 lineAngle dup sin exch cos div def % tan alpha + dX2 abs 0.01 lt { + /yA2 xA1 xB sub m1 mul yB add def + /xA2 xA1 def + }{% + /m2 dY2 dX2 div def + /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def + /yA2 xA2 xB sub m1 mul yB add def + } ifelse + } ifelse + } if + xB1 yB1 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetArmA +% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED +% GetEdgeB +% mark +% xB1 yB1 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCLoop { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED + /xB3 xB2 yB2 mtrx transform pop def + xB3 yA3 mtrx itransform /yB3 ED /xB3 ED + xA3 yA3 mtrx itransform /yA3 ED /xA3 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +% DG/SR modification begin - May 9, 1997 - Patch 1 +%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r +%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add +%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 +%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED +% +/NCCircle { + NodeSepA 0 NodeA 0 GetEdge pop + 2 div dup 2 exp r r mul sub abs sqrt + atan 2 mul /a ED + r AngleA 90 add PtoC yA add exch xA add + exch 2 copy + /LPutVar [ 4 2 roll r AngleA ] cvx def + /LPutPos { + LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC + 3 -1 roll add + /Y ED add /X ED /NAngle ED +% DG/SR modification end + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def + r AngleA 90 sub a add AngleA 270 add a sub + tx@Dict begin + /angleB ED /angleA ED /r ED + /c 57.2957 r Div def + /y ED /x ED +} def +% +/NCBox { + /d ED /h ED + /AngleB yB yA sub xB xA sub Atan def + /AngleA AngleB 180 add def + GetEdgeA GetEdgeB + /dx d AngleB sin mul def + /dy d AngleB cos mul neg def + /hx h AngleB sin mul neg def + /hy h AngleB cos mul def + /LPutVar [ + xA1 hx add yA1 hy add xB1 hx add yB1 hy add + xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def + /LPutPos { LPutLines } def + /HPutPos { xB yB xA yA LPutLine } def + /VPutPos { HPutPos } def + mark + LPutVar tx@Dict begin false Polygon end +} def +% +/NCArcBox { + /l ED neg /d ED /h ED /a ED + /AngleA yB yA sub xB xA sub Atan def + /AngleB AngleA 180 add def + /tA AngleA a sub 90 add def + /tB tA a 2 mul add def + /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def + /x0 xA r tA cos mul add def + /y0 yA r tA sin mul add def + /c 57.2958 r div def + /AngleA AngleA a sub 180 add def + /AngleB AngleB a add 180 add def + GetEdgeA GetEdgeB + /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def + /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def + l 0 eq { + x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn + }{ + x0 y0 translate + /tA AngleA l c mul add def + /tB AngleB l c mul sub def + 0 0 r h add tA tB arc r h add + AngleB PtoC r d add + AngleB PtoC 2 copy + 6 2 roll l arcto 4 { pop } repeat + r d add tB PtoC l arcto 4 { pop } repeat + 0 0 r d add tB tA arcn r d add + AngleA PtoC r h add + AngleA PtoC 2 copy 6 2 roll + l arcto 4 { pop } repeat + r h add tA PtoC l arcto 4 { pop } repeat + } ifelse + closepath + /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def + /LPutPos { + LPutVar /d ED /h ED + /AngleB ED /AngleA ED + /r ED /y0 ED /x0 ED + t 1 le { + r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC + }{t 2 lt { + /NAngle AngleB 180 add def r 2 t sub + h mul t 1 sub d mul add add AngleB PtoC + }{ + t 3 lt { + r d add AngleB 3 t sub mul AngleA 2 t sub + mul add dup 90 sub /NAngle ED PtoC + }{ + /NAngle AngleA 180 add def + r 4 t sub d mul t 3 sub h mul add add AngleA PtoC + } ifelse + } ifelse + } ifelse + y0 add /Y ED x0 add /X ED + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def +} def +% +/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB +sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 +ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB +w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos +{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } +{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } +def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin +/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def +% +/LPutCoor { + NAngle + tx@Dict begin /NAngle ED end + gsave + CM STV + CP Y sub neg exch X sub neg exch moveto + setmatrix CP + grestore +} def +% +/LPut { + tx@NodeDict /LPutPos known + { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse + LPutCoor +} def +% +/HPutAdjust { + Sin Cos mul 0 eq + { 0 } + { d Cos mul Sin div flag not { neg } if + h Cos mul Sin div flag { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { r add neg }{ l add } ifelse + X add /X ED +} def +% +/VPutAdjust { + Sin Cos mul + 0 eq + { 0 } + { l Sin mul Cos div flag { neg } if + r Sin mul Cos div flag not { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { d add } { h add neg } ifelse + Y add /Y ED +} def +% +% +end +% +% END pst-node.pro + +%%EndProcSet +%%BeginProcSet: cm-super-ts1.enc 0 0 +% This file is generated from `TS1uni.map' and `glyphlist.txt', `gl-other.txt' +/TS1Encoding [ +% 0x00 +/Grave +/Acute +/Circumflex % ? +/Tilde % ? +/Dieresis +/Hungarumlaut +/Ring % ? +/Caron +/Breve % ? +/Macron +/Dotaccent % ? +/cedilla +/ogonek +/quotesinglbase.ts1 +/.notdef +/.notdef +% 0x10 +/.notdef +/.notdef +/quotedblbase.ts1 +/.notdef +/.notdef +/twelveudash % ? +/threequartersemdash +/afii61664.cap % ? +/arrowleft +/arrowright +/tieaccentlowercase % ? +/tieaccentcapital % ? +/tieaccentlowercase.new % ? +/tieaccentcapital.new % ? +/.notdef +/afii61664.asc % ? +% 0x20 +/uni2422 +/.notdef +/.notdef +/.notdef +/dollar +/.notdef +/.notdef +/quotesingle +/.notdef +/.notdef +/asteriskmath +/.notdef +/comma +/hyphendbl % ? +/period +/fraction +% 0x30 +/zerooldstyle +/oneoldstyle +/twooldstyle +/threeoldstyle +/fouroldstyle +/fiveoldstyle +/sixoldstyle +/sevenoldstyle +/eightoldstyle +/nineoldstyle +/.notdef +/.notdef +/angleleft +/minus +/angleright +/.notdef +% 0x40 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/uni2127 +/.notdef +/circle +% 0x50 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Omega +/.notdef +/.notdef +/.notdef +/uni301A +/.notdef +/uni301B +/arrowup +/arrowdown +% 0x60 +/grave.ts1 +/.notdef +/born % ? +/divorced % ? +/died % ? +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/leaf % ? +/married % ? +/musicalnote +/.notdef +% 0x70 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/tildelow % ? +/hyphendbl.alt % ? +% 0x80 +/breve.ts1 +/caron.ts1 +/hungarumlaut.ts1 +/dblgrave.ts1 +/dagger +/daggerdbl +/uni2016 +/perthousand +/bullet +/uni2103 +/dollaroldstyle +/centoldstyle +/florin +/colonmonetary +/uni20A9 +/uni20A6 +% 0x90 +/guarani % ? +/peso % ? +/lira +/recipe % ? +/uni203D +/gnaborretni % ? +/dong +/trademark +/uni2031 +/paragraph.alt % ? +/uni0E3F +/afii61352 +/discount % ? +/estimated +/openbullet +/uni2120 +% 0xA0 +/uni2045 +/uni2046 +/cent +/sterling +/currency +/yen +/brokenbar +/section +/dieresis.ts1 +/copyright +/ordfeminine +/copyleft % ? +/logicalnot +/uni2117 +/registered +/macron.ts1 +% 0xB0 +/degree +/plusminus +/twosuperior +/threesuperior +/acute.ts1 +/mu +/paragraph +/periodcentered +/uni203B +/onesuperior +/ordmasculine +/radical +/onequarter +/onehalf +/threequarters +/Euro % or /Euro.alt +% 0xC0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +% 0xD0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/multiply +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +% 0xE0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +% 0xF0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/divide +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +] def + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +%%BeginFont: CMBSY10 +%!PS-AdobeFont-1.0: CMBSY10 003.002 +%%Title: CMBSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBSY10 known{/CMBSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096657 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBSY10 def +/FontBBox {-26 -940 1332 825 }readonly def +/UniqueID 5096657 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBSY10.) readonly def +/FullName (CMBSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 110 /backslash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23E7F1981C8F40F1F993AFEE2 +6663A9C974837528B6ECA4C771A5AA1D8EEBDC8D8F230940E0B28324CF6175C5 +13ABF95F5AB967FBE9A70E9E31EE0802E3DA88A164DFF2168BB7EA3A7FE5B39C +EC363A72004964927B96D0263CF494776902D1DFA75E191E349EACEA2BF18F99 +91F89CCAA0F0FD5CD2AAAC6EC2D24886CE7F292101BA85D6DF77EE64DCADA35B +5AE8AB39F88D42A124BA0A01A9FB6EE1CB0AB7116539B049F6897D9ED299EADD +537CE884AD6CC6F4E8AD57A6537C391E499820D54B4C5ADE9DFA7CDF70E80971 +ACF82446C2BF347F37B3DB0275E90D3A93B2656DEEECC3DBD94BB29A9A10831D +20C75C68766D26284478A5EFBA38D2A9959FDFDA137F6B5110499BCC7EAFF996 +E8DFC89BF2D8AD9E201EC10F4D88FCD66BB255616E26D330E2D01F6E9C042E3C +95374CAFA75F85775FBA913F648DBBDB16B0B9D62AB99880E42CFDDEBC0AC2CC +2D639A9939A2A86DF0A658791063AE2558F18FFEB2591B3135A7AF156933A837 +3010ECB98263C9BA09FC92E8FDEBBBD5D32DF1C51F6FF00011B3E140F2829438 +45500A0BD86905E54A755044217D769973789E1BD6E12F1978470D204BD5482D +0A77202D32291F70E746BEACA76CD32202CBD57B08C85E137F6C7BCBA00D5488 +1EB0CD5AE282D7F502D5982DA0E5AC1C74EA1F7FC9E52320B66C7A3D301BF53D +ADCEDF4544D7699EED80E0D902A27A9822C218432F64D603C3232D43A0C87F24 +DCC51C9675CBFCEFE645B1621930FB3F98C7C334AA07CC79CC83A9B57AF6C3B5 +C93D88ADDF291551897E4EC9C84D1B0AF2A4D502F23BD7735E93F39A69D2A6D5 +8EEFD17FF5E01CE0F7CFDE75514F6E3F95F514D3E6F26444D889C4A281960151 +3348BA94446086FED942ABD4ACBAE6AA7C1505D0BC3693A548C47F021A98BB4E +980E6EC4EFAEEEFFA0470F211F401D2A36C02F7DE86038336D51D8A37697280E +FA0BED096A6722616573A104D7DA05F92F91A5A06B0BF90C512BEE37713B3705 +8D4FAC7F82FAABF0DF318B71CE7F6EC0DC653C0C34149D3404EB4EFAB3A48CAE +A2897AF05D4739613ACEAED6686775298C22445C7BB2237F182C18D510C36D2C +6463360A7DC14BB92666F2EA374E6E214B2E1A017CBF0E9A09E57D2AEBF6030F +22736461C4EF4D42490565E33258C012F44566E1EDA3122BCC11717D787C1DCB +813A52990A8EE6F7D55259891FFE54CC88CD17B802ED59F9DB82DB76E604EBB5 +811655E1E4EA63DA8ADDDFA4FE73D029FE3FB444D97C335D4FDBB75CE5E415BB +55810A673A2871287C760C036153D42C1F8ABFE84B2F146E547F526A29ACB9F6 +C8410C6A407B7FE801C4A0ACD90C872BA790A05174FD6390DE7CD00321CC3263 +1F367C03359A3B99D934942718E5C7AECF0C5DE79DC5FE2A72C4C0D28F825986 +B86B04C0CE65155256E22450810280020D6AE77B26AE0726B21B35782DCBD4F9 +228F1B25CFCB0D684F88A41A5F28B97D06C89EA651C6950FFCCA7DFD239DCE7F +0D33A1D94BAA633FF8BA71583845A10CF9C2B1501B34FEA60BD85DCDF3EC60D1 +0F902927A06EB13FACFB2DAAB4F4D982FDC97B3CFC66933EE781ADB8E291B933 +A77749B9090686AD1F7F3D50B506D66C2B802EB5D44F9BDFAF39BB0DF19F2154 +B681C58C65946E060BF62C8DE8E675048BB5CF44BA00AA46E7D31DF76FBE3D9B +0203650A69A157A02C584A2285506B4D4E82BDE9ED53251C9F17B2370008CBA3 +6A75D3E1F3ED813FE539F30F47438FABB041498DD26D4FF92B196F37FC3D5A6F +3685B4EB5DE1244D71612B9606975BE8F01318D0A4BC11CC2CC5F987584C31B4 +1D044DBB63E19A372C262362AAC74DCC106BA3C1A550835A7E941F64BE66D844 +4EED098BC76CA1EFDA2ECBED53B9C8BD4006D54C7632E9DCFFDED29A966B16F7 +EE2A6CDE7860E7A8EDC433146666D5EB32706AA39ADD4B1C437CBDFC45E842B6 +EC5270AB9A27E2406AA3576B416D98DC00F0E26F80442701FC9CA33919D49CC3 +F4C1DD4CFE9555AEDE578017E6AC1C70F9139724895EE0FC33B4D8D953CE8815 +D74522F8DDDE40B5CE3D4A5AF4AF3B088F3B6257B5A45262A3CEB57FA8AC30CE +8797590FF418AD3A70BF9AF86DD803AFC54FB8479E70E3871E9260DF1DE867EE +DCFFF387C24459AF4E75CA253E79E7E1E1731D779D84AD19E4DFBA9BF723C117 +8F8E57EEAA2B95D724A655C148148D825ED632CED3F6F116D884F0D8DF3CDC0A +B4DC36330AAD8585A4621C569A355A2266E22A68DADB1A9DCB62202BC12E5001 +DD294669199E3263FD6FFF7C3741B8A58BEB0C20F7B4474151F5397C71610CDB +83E473B9D20A72B97F4997CFA6B88D06EA84FBFF57D5F619AAA673FC009783F7 +19A262171E4905FD0EC3A7A74518C45C6732DF7BA8C0954876B9AC8AFE58609C +ED1C0AD322A9DE1A56EEBA1E37E3FF0117BFF0D64C75F1F33EFC898543B441F9 +6738C7F0B6A472E4C0A625CB46DCA876650C6A79C97013C8359A8672F0E26EC8 +FC09B106D1787C92DDC0CAE81B2E82B33FFB755895940AFAA5D52ABD6D19AC30 +232B61BDFC06FA517BB2BE5707F404614AF720B918353C6BF2CB8269ECD05FB0 +0E2C574A191A260BBB6CFDD1AD5502FC9A6CFDE8E792D53B8E3E21956C685AB2 +BA5966C0F3EB320F5D58DCE088F08DEFAA740F2B1BBDDC25524DB4EE35039AD4 +C0A352240CC30769723A3F316E5B584DF5C848E63FE412DE0B0D77947E4C3166 +3C6A846B4BCE9937A277919F800E3D6EEA112A8795CC7BE90E3541315C723BAF +657E2B7DC0CBDD9EFEA314D471896E8C7436D21402329D9B03C23227728EC3EF +1DB8B8F8CFAA508EC7DC7D6A832FFB65950EFACAF9338BA66304502988E1A6BE +A8536196DD74E852E25E534833107F9EF48F2DCBA19775B1CA26F7FB4FFA3413 +75930799EED87725F8C7D1B4B6C2436C4896187ED894042891D829AD227BCFEB +BE1B66E26AC4ED27F134BE3DC1B0ECE42CC85E1DBB4A329E3DC5A24FF1E440C6 +BDA63CAF3A4C3D10793306D1F05551F34BA5301F54BA9BC9DAE583B63A881161 +B3B94A748288D7E12CEA01DED91BBDF714EE060521B08A8D60E5B3AC1D88705B +FA509208296F41FBE987EFAD10DC56B07C9F9F6F04AB3800A7592EAC565E0B11 +4FDE0724A0047D87D9D1844B83E136CF83C85497BA683B1816AFF7058448C29F +F0682CDB58EBF0D34934B4182A6737D546AFC46C59C0568A18EF77D810384ED6 +83B4506173313939D36C0D8746ACC0598D3AE26C0011A729A1B2C09D87B69631 +BBAC5ABF5550B41EA682C5B4236D50B27E32C025D125E83CC29B5A5FA2BD3136 +44EE2831EF9CCA6BDEF824D90A21F3469195538C90E7AAE8D6555146D7942A99 +0C42BDEAFC111848E0A6C13DDC57BB0F835F8318131837843FB6A1AC331E881A +EF72171581008E0FCE9A55130A5C3FEA9D1F37FACC97F618F6F7454F56DE9D5A +7253AB242C2FA5BF3C2455DD98D21D8095A160AD2911193D5966B9506EB4C3E6 +E50A07D4F496A6BDC13CF3BE724C401622DFC61F6DD475C39CD2FEF75699BF28 +BB90E193425992AA8B7A450C58F8A7FEFC7CCD28E4E4F57B456C72EDF6682F92 +90B0A8318C12FD0217A2D71C0062CC65708DD051487AF8FC707CC452AF4F25E5 +EA75F2BED899C966EC7B4EEA8034F15F1A67562984343A5E5CA5F45BA341B848 +F1CA442AE3E6E334F4CE114682AC75AD69F3734AA741A14E10786E0C91188689 +E08A372C956C99922730540DCC4BEF927D2979DE1EF562C82988BE92AEF5E44A +C2BFD2D133ACDF2CB3ADA52138D1BFBAFC0B37FEE219549D5000B5EE67A7A6DF +3F51E507A66D27E46A90124A95AD04C92605847818F36EC49014E6C68190EC88 +F0D2543250E1E4C511CC9401B9FC9B13EE5FAFD92BD3D6487A4920149B3F8551 +5615F97ED41AFA7944FD6B45913D46B6108E2993E9A30ADC07618DCB65888045 +CA6CCF99EA1BB18A13BC24E3E6787EE8C3C8D568E1CCA938D0221FB77C9180F7 +C00D63B362CDFEBC665D3C38F70937411701505606277E6FBF7808DE6FE0DFD0 +E554AD42693CC5BBD5B6389DCA7EA68D67B38904158BEC5423545C19E0C81A34 +8EBF5147B79876A84AC3D0A4D1AE373723B1A6177757D1D2D52E58D6EDAB3C54 +E4B4073DF4937D0CBDC2F7CF6CC6D3BF9154315E3F63BA123ADE18B8915C8765 +670F8AF5A38DABA191C13038A054154FC34FCB179957036B4E13C75DD68CAD95 +2C8099471118F55FD6410E1D2DD31DD3FADB4CD9826FABAE131F227566DC65BF +218AF5C00B3FEF3BB06C05438D73DE938607DF658AA258582C140E5F323C6300 +D265964ED3D5AF3C584AE7DDC4C7C6A08128E44499C6674B5539D64CD8A7EA5B +F28CEEDDB9CC188FF50C6FE9DCA874AE0050D70077C57B7244191E5D05FFD879 +24B6F9AD29267499D2905DCAC5DB67B68828C5A9A9F77ACE493A864D22F607CA +BED0E9370928D9291F27B92037082E9CB7A9B6ADBF4D1E78F718699B0044924C +566BD16FC63DC2EABD8B57E8A90E65ABD6974107B6D9B3081CA47B122A984B87 +3B46CE68DAAA56C4AFD42D5B1571D915D24B37050BF852125DD05BCE57097C42 +A5C80E741E0B78116E74110DD0DB975CA505EA0520FBB638BFD81D6391C93B3E +FD15023D2ACCE8CFFC4880EB579B16D9EE06F7E9AB2101EDD90ABC95612BA11F +7183FB49AA6D12C2AFA977825F90F2C3EFE48A15DEA7C3EF1F353B0CD7D8290C +F5C13A3B49712519B43FBDE68831F78092AEF9B693F4EF692318C3B5EEE0D386 +37F005B14A06B02CF8BD7FCB2754BFE26AF95D4F53DB5482F87632D04B55FBE4 +0A5DBFE3B16C59FF330CFD18F2E57399A0C5C2E59A022221BD6D7BBD47479633 +24258241C5353E9A7034B3E80FD9DEE30542C6F3828D241D2DCF02D05572D765 +CE047E39E15F97815A0229B48D47003D007C038A701B426F2E3C802694CE942C +04674B0BE07B47695635E22603A32CB5B865288667E552CF096584C8D3862EC8 +F03A973E2521CE26D43692E077AF754B6D88DEF4201269FC6D8794F1C0656285 +0D4361E39969FA0693C7974538AC20904A1E453E40AC1540BC50CAA7C7505CE5 +61C6DE07021BB243916D46EB2371FE0F399DCE8D40EF3AC639E163D73DBE59B3 +9D1017DB135FC74DE810CD31C8295FBC3A6D4F36EF40D7B9FEF70122809FC499 +87C1912649A977C94128560DEAD116F044FB138FD90C7EF1857EB25BFD694089 +D60132A499D84ACCF0F0017D200FBE0354AFBFFCBD14F6F6B363C1108A05D0BF +D4F214B8F0EE49C06B20E05F116FD4A142F936E2740ADEB7CC2E4C291926B066 +C8F1017272042E5A7DAFF4C7275364754F99ADFA14F8377D41BCFA9587CD3896 +46359AE0771230E0CB26818EA69AFE994E438B8BF71263EA0009469DBA246AA0 +EF1C0C02C0786628DEEDC78059F97363E03E873E51C2A05C425748806ED13BA7 +7100488F436820DEC363DABEB2F958E5B358E771B25F7B32B80C6E9E67DCB6C1 +DE96E0EF6ADFED291228CF2E291B38501CC5377C78487AC3D53C1283C81BE59B +87F2C053C551628E29EB7FCDC9B38C8C295BF79A73BA852BFB4768022F19F4BB +AF0D753BB151A02E889F9BC3CA803CE35C796879C75EFE5BFA0F69D3BF25ADE2 +D4876CBDD76D870794F6182A6D0BD20744FFD00A0E88AE2FABAEC05AD8B20989 +EF38B1EE71A79C80DEEF573D7243787D710D1C4FBF9D7993F0E4900DA616AAE1 +189AC104C048CDF3E1C34E3302F8244D2F27ACE762898C0814A6584C444D3B4F +249F08A7812ADD85C3C2F9A96E473BE9E2A22067537220ACF7BAACA4CC005DC4 +F802046BBABB2E5D0B4B6C4D45A7012912993D9A93181711962F5C593421732B +1B17C5255E0201E7B07722B275CA3759427E1A8A62EEF25652B0C2EB60394D67 +5FE7CE796275345A29840F9F3A1A345CE0D4988F6F83FC66522A41E2682D0698 +5145104D457FD4FC10FD1DBBEDCBB0DAD9D2A87128C6BBE4CA9E456FA72DC703 +80FB474F8137F48D5BE09158ECB322D11AF532C2CB27328E077B0010A72FE439 +C52DED6E0858634C558E0BECC26456BCCF0D12965418650D0214522F37BD6A66 +F63E92A064A30E4D15948CE14C28311DFA579FABC642FE75E3B0DD584A4F5732 +4F5FBA18AE12FBD20B654F98F8618FDD25F42AC897F9B6DFFCAE4DB7BF3FCD84 +17593F384793F25C752B95939654014E202A9B7C21B0DCEE1B95DD653694B752 +E7411A62397B71B9D0436A4B854353CBD2E52CE87B78A47A1132B98E818289F9 +35A6FF0120957DBADA7277779E846C0EC537E9429FE7121B58DD423EF73876FC +C20BC33A7B0926A4B2147E19C4455E61052575C2356ED0B34DEC0A0E9AD99DD8 +113FAC67594203F8D0430C3E05D913A10DDD0A35188DA48BF79F4DAA2B19E099 +1A67FE98621425B7AC2C56054B241A02EDD5ECD11A866F1860D6BE46C8997B35 +7C2AEDB0035F82D94FBF48CFF7157B2874A92CAC0FE685F1062F8BF32807ABC8 +A11411FB3024A165749A18F2A6B70D7FCE13E0EE7AA3E6E48E68D835B6A66232 +EE3DA36DB906BA94134A59F53F4EFF4782B3B7F9E80CE94E356A0E9ACE11DC31 +9852F9C280A369072CC2784A98B60B53BA73139F1BC786B7DBF62AFE72C8EF64 +1F82CDA5D7F337734509CFE6B783156973A1FF02C07EAAAE06A07CA57FC70010 +DCFB7CE05214DFF8D7A09AE329D8E030E5DED1F4148C2DEA719489D77774EE4C +3EAB71B8FCF8367A10927368DF465A4CE8F389829DCA75651DC6B19D0F8BA3A1 +DAF8C0B05593ED1A1DB7AAFC0BCCDA1343D71602627E233C30B23F7FC9CF0D5B +B460A365C760C2FFB4E1D9F57E0B34E2510B5D0E097915D4BADF85F47DC7F494 +7CE354972CE758B722416B636C056361E0CF130A54C6DD30FB81AABEA1CB087F +42300CE35E132DA10070464A16034E67AB05F7ED2EEC9F0758F9E0ABDAE2B705 +85A861523B1372CC8FC03CB1A1F6B6DA1D65958175DAEB133892BC804EAA6CAD +24EAE1044D2BFBCEA0F6EED8894CE73539947678F01518EE021061A1A3889CD9 +FEBA798C324FC1E8B3A7049CAB9DEFF757C5D021C3E35B4970A8426551E50D57 +21891518DF3AC30577D0A92A58236DFAD603D454C627491CECF9B6ED2B7D80B0 +B57C50978E5EDDDC7E692FECF444E20470FAA606F25FC03E530E49115803EECB +321631D27801BF5965DD14F27161C8A6A717A2C6E3F4981766FE687166ABF4B5 +FC4702CCC77A0459926CD934B73EC2F1DF68623214E5AB44C8238DAFB65F4EFE +5CFFFF6DE5463CABCA2F80FAFC70BFE5BF44E3290B49B22B26FBB8684A55391C +E360A4E00107FF99F7932692E18CBDC98E0D1E8BDC17E25DDB3D509828B84FFD +AB9AAD81FA94AB80A0EEA8656219FBD42B797558BA77BDC92ED6AD6EF95BEC65 +8A90EF090A7B6CED016F31BE8BBC162BDB5BA9BC8633805116C2FA35D00CDA68 +145F18F1CCE9EF7877E48FA94C6E355CD62A18E5FA65F129DA02DEEA576F5408 +BFFB787A0886352F140BEE54DB652847983EC4C496D624605130D5720A1447A8 +0953A5DA2523D7BF455388D404BCCE6F0F9C9BF2068808C2925DEC63E9297ACA +9492AEB601D13C8467BD9E96205CF12467F19D11D7D9BB39FDA7014282B3968C +B90426920B4E39E93B3B5472FDE51BCDE1D62A112EFB9D4A8EB84608A569F9A8 +6FBC14B13F18D8048B24FEE12DFB9D84EDB11E86C86C3FFB00BC61CB128A9992 +AD41E45E32B64CB012943ED54A23C40A8541D33170411E8EA08BAFF921D2DF6B +CC3895D5068C0F9EC39CB941E19C00BB1712A05D62131C74363D5AEB66639D0A +B4596736A075B5BE9B0F4176DD446BEA201F7186B280579E43260CB3FBAEE711 +CCD55E0C1596A551F16BF0C192B34A4D0FD20C3374D79C66E6398A5A92662BF9 +68F0104284E648CEEB1DE17D1C9FE98AAE0143510C24FA6A8F7DCFF9ED88F094 +2AF52D88222B3062F273865D2DC75CDC01B3ECF744C2C489852751E1D22A86FA +2EDDDB20CCE1B0CF40A3CB4ABF4B593EE6A88D5F292237DFECD1F7C19E1A4C86 +5305FF2762F2F4AD43E2C2514DB2FF90DAE6 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMITT10 +%!PS-AdobeFont-1.0: CMITT10 003.002 +%%Title: CMITT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMITT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMITT10 known{/CMITT10 findfont dup/UniqueID known{dup +/UniqueID get 5000779 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMITT10 def +/FontBBox {11 -233 669 696 }readonly def +/UniqueID 5000779 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMITT10.) readonly def +/FullName (CMITT10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 101 /e put +dup 109 /m put +dup 111 /o put +dup 118 /v put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3 +2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777 +6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18 +979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E +ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF +B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59 +A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDD513EB6237AC8EFFB213 +218B5D59505B920425C46EA55A185ED268DBAE2AD127742473FD1018459B7E12 +C21514D99DABAD554C53B868D24B881AE68B52684362D1AC0E86836194E335DF +BB6D37A7215F8F4F5C816783BCBD4DB6838DB92C13E514A1CC344B43D8B8121F +7C69BF2259D61B264AB5259DF53B7CADF565BABC47F75C56305448CDFF06E869 +91043B33C8FF9455A99BF35290E48EA7FEE38D35BC1A968A6B9489068F78E17D +B4634A84F0ED0F884BA33B46FCE57168E787167E0A1E8EF21F7698BBBE25E23E +F3D6F8957E9C3E858BA10AB9CCC45271F2B23D423AC0AF934ACE0FF6FDC79523 +20408F919B960A276FA88933B9920825E602C570CCE4C18BC4035BC59BF4F87E +6D05BE7CB7D0A77A6C8E666D73D216F04AB820F477809B8410941E00F743FB6A +55F98519E4B6DB552CCC264132BA31893928998BD1B95EA83246E90359D02566 +715AC489733A797E2532AEEA34F3702B8FD10B35803063296A3FAD8DC11C0D62 +13B2882C4C9B090AEA4097302239EC457537EE7B3BE94AFD5A8672E6069433AD +EA5F9A60B8DF0DE474067A65F1A845949CD12CC4E0919CB7C50C0C23AF8D6365 +083C3D64103949AAD9A71FEA2C70100FCEE6E7DCF19A7AEF7584F329DD12DCF2 +E02635F8710D976F815E76D3F3CF476655494394B44FADD9A9524EF08FC31EFD +A32B97875B55234F019F32EE4AD722B6669E27C2A629C3F170012C9AC62F612F +2A54F7B1EAB87B8ECE7B64A3BDA7B6BFD5B6F3F964656AE949F91F216FB70770 +DB9F68C91878C624762DE0E5F88FD8EE7E81AEC130A3E16636E7B4A29D61E377 +48CE08A600644E87EC7C623D0E89C4409094CD552E29288AB0A00896501F5CD9 +9DE77FB580BF8B2D7DCF78C15AF1FB203F796886674DACBD96367DEEBD5BFA25 +882B6F2E8AD884FC8A270C7616030C605A0DA56B984F556E93A47F5FC7634DD4 +CE9E6CC4E66D21A6BE4ED1CB9A5D207D683133656251216BDBF602CE887AD86A +5BE726F3F42312EBC0E6BCA0F7B977B04020976AE645E81615B97777ACA7E0FD +E2D1141A55B77E3CB0CA12FDD83A3CC1E02FB861F308A98441BF6C04744940E4 +F84844E3B080D73EF1936BAB7CECC48D97B5A45A5A77A7B857D05330ACB17FCF +68C5B21FABC42A6CE9407190386CB7AA5F0A6289DDFB14B96B23AE6BEFD37862 +AA7F9528345FD6C8D39A1E1DED1586C116999E2814B766C40438E39F34A75085 +BB270698021604FCB84182538D2681D1A74DD2AB8BA3B1733B83FB7E8B0DC3EC +C4FF008A8123FA6554837B99CEA45EAB7595D6B66301B3283E6BAAC68263BDD6 +A4677B4688A41961D8F3DD41F7C98DD0E378E86399805BED3C7F2094799A6D55 +6F12BCB55622ACA35689DC28B483B1EFA92AA498392397FDCFEB513DCC8DF84E +3BBA18AD1897FDE23694CD9A345A8FE2BBDB3D7710304866697AB434E00E25B6 +EE1A9F7CC52F5C3116FD20CE04E309C80686B4776EE0EE3A8C291F6451DF91F8 +DB8518100F81BC101550E55489E63B5E390B4330D43D50C2FFCB06C11403033C +75C4BD4D99F026B42B7DBAB4AD474D0372538434CD9325430B6C2F801B7789A3 +FCF8AF577E2DDDBDBE807077F1E9CC656AACF1725E7032876163BCA87AB18BDF +960DBB493FAE2F5545FB2C590A1C23F83FAE5C7DDD9D76E769450D62B65F9DC3 +DF90F30789457C79BAA616845548757F20B5DB7E22CC3FFFAD963956073465C3 +098121D9ACF63B89EDA479E872B989A471DAE3F5487656DB88DA93D93D4F8B3D +6B8985B30DAC0BFC352DA5020395640A6EA78C35C42C8F9C2141A36D697B5E48 +2E5A6997597C555591DBC9CB3DE2076362E6DE45A2496F66B8E2BF5E336CA8D1 +2459D1159AB654FFFE1DC81CA4129A781075A18000DE7A55DC190259BD12CFEE +EA18ED94555532135A6CE434EBCB33F0A41C0960FC3C199C4211A47CBE286A83 +AE7171E8964FAC8CD12D5769FA742068A3B19F79D11B2B31589AD7E5DD12E45D +A4523125F81E868C6D812B500E1C69D03101EEEB207DFC0DF441C9C12CE2A34C +5047F5A4DDB25B +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup +/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR8 def +/FontBBox {-36 -250 1070 750 }readonly def +/UniqueID 5000791 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 97 /a put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 119 /w put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B +8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF +27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF +18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB +7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A +DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 +6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 +B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 +2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 +3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 +9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 +7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D +25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 +CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD +A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 +DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE +EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB +16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 +07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E +B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B +B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C +F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 +762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 +D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 +CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C +74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 +1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 +E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 +3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE +37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 +7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 +C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 +A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D +7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 +CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD +3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC +FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 +59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 +6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 +79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 +F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B +49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 +2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B +29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F +2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 +5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 +EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 +5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E +293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF +F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 +568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 +64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C +DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 +A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 +267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D +136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 +A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 +80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 +D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB +46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A +E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 +66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 +2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 +CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF +2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 +DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C +DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B +C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 +CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B +0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F +CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E +F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 +CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 +7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF +6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 +6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C +72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 +13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE +6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 +1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 +86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 +D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B +70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 +0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 +FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 +52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 +7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B +F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA +09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 +401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 +74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 +3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 +ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 +93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 +301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 +F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 +1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E +36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 +34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C +CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 +ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B +9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 +E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A +893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 +E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE +0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 +B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB +A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 +B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F +3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 +AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 +98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF +4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B +F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 +AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E +015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A +167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F +9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 +CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 +130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 +2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D +A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 +C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 +ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A +CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 +3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 +E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 +3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 +3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D +947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 +26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 +0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 +984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E +FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 +44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 +603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B +6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C +D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE +276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF +809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 +08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 +3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF +76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 +A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 +3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 +966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 +CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 +2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF +94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 +DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 +9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 +FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E +1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 +24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C +06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC +6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 +F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 +26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 +D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 +49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 +064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A +E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A +D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 +8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 +2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 +52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 +17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF +145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F +2AED1652A132D66117071CADB8603969B3A2F97270CF2AA8EC2AB890662FDBD5 +00EDD53F16FD0CE199660202373E2EA28D29245A4AFD3A63695F6178406A7234 +AB0C0FB1B19CB408E047BF014BBEAF4C9C19445C7819748F082C19E6E355EFDA +BF1C2DC348AC0AE6777F679E2F62A0A3EB19B7F08114AE0E56A3D310D6958AA2 +348E1D304BA8C4389E525553A8791632EAE32B6E8D2193932B44D230FA17EDC5 +7D407CB83D2501B0D2C9E86FD23E21F26DBAE2550DD4ACA051EA0A0030107676 +3643176BAFB7DF0A157151F7625E63296E325E2C3E74BDEA10C3DA37A73F9972 +4821E1E756D3DE2C1FB121371432AEADF3328894170304038253421DEDED8B45 +D4B0DBF3B4F29F053C44053E14ED09E3E7A0FF377954754A34A9A04FE68A437B +8306B8463247F1E670BA928FF7D401437FAA45A7875DE9FBE63BEFFEC722039B +0EFA4F3DBBA7D50C464E3F297A0F2C1AC23880383DD1EAE1BED5DC11128649DF +AB8C8D394E7EEEEA3CD2038DC582527BE93A66AF5795E3F8FB790158EAE26FF0 +3905C00431377233DEA8DBB68F708D35B86D297DAC95C9804D893D3A14B304FC +A8383FF76E2DDED31E84457C936D03766AD21B45EDC9A9FA5D694052EB291880 +75952AA030C15A30D20FD1358CBB6146F9DAD481556EECE67927D5F8CD69B10F +D72BD5379AE5BF2A3231E47737864A8B18325C60774C0AE7C8A4450684872294 +6879802CA844DA9C5ADF449CA39DFBAC5D5542D899D1E6C973F4B80DE989CB94 +570D29626046E2AB4ABACEE5F7D474069AD1CF8B5707A9F5FAED998FB4CA91CC +DE3048D2581CD91E5C765B0F3B6CA0555DCAC85118CB818EDE4900AA906B04B9 +58AA62CD4914269D66E957BEA1C7BD760F800E992076B7BEB3B5B50BD4E1AB59 +1F8CAF2F360C1A23DE24A63BF77648C2241F1447C97BBEB48E81DF6B37608043 +6D7B54A6545D39927BFB366E03418F5C7B793DBB8E78EA4BF438B205FF5EA328 +FAE682E89E886BA5AE23227BA11F866D188C5DC1A32513CD7300590C4B809629 +B902FEE1B47554D5C15700F2C435C9A2E82E4DBCCE630C1FA64655CAD34E5278 +CEBD05AFA4FCE90C7F6DD39A029EA193341BA8C713A357645B914B3196F6F4D8 +C145234A9EF02365EFCA877D0EB5F098C675A8B1195F64242395E6C8A5F9A0BC +06A7B4349331EC05E673FBD7FF781999561A9B4F8399FBA9D6F5DBC714E33481 +D63BF97BB47711622F24F9061D3460132BD10B207958079DD8D5C9484EBDDD4F +094AC29B1132E7D954812C25889ECDDFE1B3A0A7B27D9A0A877F39E76F80B278 +423854860B154A2309BB95E9A7BAFD8AB3DA8708027B3BAC310742DC47A08462 +0A5A03B66302A910C1553D2CC5B8DE3187E7C433E08BB0742ED8A33408CE3F8E +40AEB3429E5FB6DD0D5F15EAAE8DCBBE1DDAFEBB0BF520ED2B768EFFE157A294 +4FD0468084DF71016325108F3D6A523CC24466D3216FB0D7AFD9658AA4FC8B8E +2F3920184AD084EFCDBCC13AF143CE64027061CDC632D2DAB5CDF53C48B66FEC +14EE5B8B4FEA97576DC0F797623FB7345B3B6DA640DC41CC17A895EAE190DD74 +568FF298CE66E65983EA9C57C543920EC0E9164433E06D99E7AA18AA767454E4 +FD4A4609059899D1C8DA81D51157B3E2DEF33678DBC58C4DE519E88124AE432E +31A5798CCECB82F25E02CDD7819787B54BFEF7B756AD77599093AFD8E4240891 +3A3D2E17624383C53D2169B2FE38ACA07BE197A22F5A31B75C709E8FF4358382 +2698E93766927D9368FB1960E07F08D642433329A12D7C4DD4A7D996CFEE01F4 +6638F1A7401EFFD3B3C5E1B9BE3C00FF47C35E23D75E3362DF32A2F97411CE6E +6B4947C52F538CA908F1C64155258D60A9EFE65CB00E97B36FBEACA9D9710EFF +326FF67B075F5E55B0718E2C64115ACD621250D24E6AF96B71E30F424D0A3540 +DACDB17948D434AF2AA490F34CA12F6967CCE517DE414FFCC30250ABAFF465CB +DA4BBA353B1A64B306C21A952534187ABA62D8D92D4394B76CF0F9F77173C79C +B70D9F928C276020105DC2CD91D0DB264115E2B11138848A113FB1AD210719FC +935275CB4A4692393FF3E489A340CC42B5DDB6AE4C886815EA1607DE18CA24DA +1C44C2D66C921DCA897664E85AABA1F85B9103EAED3DD2B610C8375FCE88F8CA +A0FDAB31DDCCE7D4AE2B08390FBB94A589742461670ECA451E8CC10D9D601E84 +99A619A35562E61763B2E16E2BFD741435D4A7002FB7C3580EA493E957F2D8BC +A6D7E6E8B8A322F9D493EE33B2E8483C8901A6762985014078148F8C4002FFDF +98DEDD3F7D555214695269499F5BE540BA54A9323B92F052FA48DBF7C4445AA1 +F744D1ACB781FBED3D49FDA5C52892F9F68A83F46F9237452A05383CA4CFDB5B +FCE93996BEC3AEB409BAEB5C5D54C4D6CD89E417AE4857303BC61821519A4A5C +B8556BE6844611C2E41EA7EA17DA0BD20D8126DD9A75ED5B78C496425BDB7F26 +C85CDCA4D2EBE79C74C2A94A45B1F9FBE7974D0C01B247A22CA994C0BC2D5C7C +D24D75C4865F6DA6ACE0BE758E285A29FCD98D690B41B839AF98084FA11ABC13 +DB7F414C115F814F59F1C075601F492D633988A8BFE43326097300E9228387B8 +9FDA2BAE42F33C6C8ACF740B9E7D1E8AD297BE0BC02F1E1630E411C1E83873E1 +45AC686DE1830808839F89D5CAAE4DFC732EF98BC2C387C8C794F6D137DA92A6 +5511205F86A4F3914C1F82DA23DB341739B4A217FF5D5571AAF36D6C02D75CDC +81A31CDCD983220249F261533D57EF7B979A4548632B61D4F2B55602A7556BC5 +448B55197A704ED66A160F4CEB4B5925E0A172F4047B5790ED1D5CD66DAEED87 +20FF5D5372D45D30D0AC89A226E8EB269ECC70B7922375F04D159892347CCDF8 +C890BFCF37939845F13F6D3B70A69DA53C47550B39DF3DBCB17E3B26984D3047 +148011BAE81BCF134A316B43AFC18E96EB8CDCEFD9319A625F611068E7473A5B +824D08FD8BD7FBA7E8D4EDF8373F4E84B853828622D20CA6AA076F3A6CAAA18E +A12B968252DA3D9F06BAEC247356AF13EB3572540C69D25282605BBB88CD356F +2A6CD9416CDF172040C23672006469C6853152559074227398267508558163AC +C041899BB6FC6BB23F859F04C1E50248FBC3074699EEDE033055D988CD7230B3 +2B3BD8FB794CC9A8B96702221D9D75299F5329A92E9024F9B1B3279F55F195C4 +6F97B043A2B8F4CAD5250D0D54373385B80E26E9FABFF67C7A3F00AAC6DBC9FE +14C5332BCE5307914761483106279A56663B8D5819896605CE8CC7B7CC8DC060 +AF743F3970A12ABED99F074FB32A665B53C02903A84731DD226745600F28D50B +B9238E8516BD2A955CE3318979000334F1FEC110F0FD13F6E99935F9CFA1440D +F852AF920CBA05D774D5BA637BDEA92BD3A5E1E9669941E8588D73617049F935 +752298AFDDAF91C976D9CB312E43A473ABAB0E00015FC8406DF868437B3C32FF +A4DDD416727FB681046944E4CFB387036A8635812AE672522ACB989C9DEF0A83 +AC4807FC204588E8BCBE5BC7638CF39ACBE8791D08F59071E6FAF4514A53CD02 +50001751F2F7326ED6D8386D6DA6E499C9D13BBE06422D1C075D84F089DE6A88 +1B8F2D1E85881EC813002AA7DA2F859F5040FA87EF040B0E6D08F040BED41607 +8E3F4E7F24ED71DC0844CE26B92EA792EE037FB9555B53FCE1CD13BB51A535DC +7AFF4DA9A5682171C0516C8AE7FDDA5DAF80A638AA1B44FCA7E6DF2A88473447 +9069B05D13A7925648203AB8A73DB41DF58AB1D5DA10D610DA1208DD5997758E +FAD6C601CFB44195FE89666BDAD2F1A7AEAB98D1DE2DF5468D9E7ED891BFFD06 +A233E9D99AFBEF47B5A526F038C574DD8BEF2AE2A56E940A3517A65908C33B77 +563D5ACC51647721D4F7F36F4863C8DBAF47CA843788007C27784DA814D974B9 +DF0A20514D42F93653EE0343AFB76A2AF631CFF4409C25B1F3FFB1EE9BEAB16C +75093281CB0BA23FA30B5BF98505EA306163D4849111D4C6F9196D2C59B67763 +65299F270CCD6DB2EE1DC21B82725168AD6B9818BC48970123FC903D47A9A67C +65B8A30285F7BC41FB4C3D28AA05C9C2A7D990B42C6A9F9313EF16AFB6D5DA1D +A7DBE2A6E13949B6BCF29120E9A236C5782EC8BA2E1ABA3FE9D839FD0E99DF12 +03C4DEC8878037DC2AACDB0B3442BC899A226AAF30C4ECCF2F17F8363B633814 +DEDDB7C1A1FCCAB1025D36B62E61E744A83E96C9DE4C17ABC3255012B6C3C3ED +C38685642F9D71DF8B23E4DF20919FAFB51F010ED6B5FA63885BA05F4D59420A +33F098D014FC6624324074AE94E678172EEB64D5EC89B4EE066BE4C46E833518 +05AF98F65887100203A6337AC0445D523A0B50B3BF360B424280A5F784CCBEFB +0BCEA7EE7BD8174131950F31B788210971837A46FA9FF93C2BAEEEA317BC95A5 +50978A1F39A59C2715563847DFC2B5EAC12D840FE3260C9DD82AFF64BBEB1C90 +23EED5F6BEF9354584894FC7EC561F4B174A4145BD3DEE28C1044E44C50B4481 +9E85DCCE2B09BDABDEE9F2426A00A17EAA683078ED7C9E7FBC80BEB76D19FBA8 +29DC1B6AEBDCB1F2923F3F3007B3EF8FB8B9B65B267E3A60321BC7285471B38F +03D821DB84725349360D386A44ED2A36481CD58251455EFC534C934307A62593 +101A1CD1C9903874A80C43D8FFDC35B79A0F9E65EB84A16C11144C9DF9B8D04D +0431F92E33C562CD0350CCC694A1E4D16AEE3B720F40CB72475FD0C4F3DFE6DC +3BC0598E631B4DFD1498D4272CED1CFE65685D2905518A0FBD94ADAE24970995 +DCBB076411352C708DD70A36B9412A4C24C5146B4576AF6018472A499CEAC5D6 +EDC59AB2E928C35900F49643F9CD9537E513EA565011557CC0D18AE386CA8232 +9794B86DABB87D6481 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT8 +%!PS-AdobeFont-1.0: CMTT8 003.002 +%%Title: CMTT8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT8 known{/CMTT8 findfont dup/UniqueID known{dup +/UniqueID get 5000830 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT8 def +/FontBBox {-5 -232 545 699 }readonly def +/UniqueID 5000830 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT8.) readonly def +/FullName (CMTT8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 101 /e put +dup 109 /m put +dup 111 /o put +dup 114 /r put +dup 118 /v put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D06E82116C79486D8 +C5C32DADDFCB2CBD26FE85FFCB176AA09FBE325434B8B9D358B7C180AEC54F8D +24A1AB4D5EE5375B963A221F060453E01768F0A398352CB2C76E6E70BA017570 +BE1C3D3A86E803B10B506FD9DB49DF5CC7BE17133234D7BE9230BE8B7481B357 +08595FAE04D04B14C633C52E303B06EDEEF7CDDF20F34D7F08D991DFE2C4261F +298E0A818EBFF29D3B29D1D0CE2F071B49B0622F65F936F6C1D4C6AA2860E56C +9140A4FA23BA31888345142DBFA79825662511437347767D4A13A976FCF67EA6 +7882D7B391B37FC1E22787E484D19BB252C4D73AA3D73EFA5C6341CF6F127033 +2B91079B5FF8A164666CCC65D0002EF7E374098745C84E3037324B4248C5385C +FCF0539F8C04CBC52404BDC6ABD1474617D06377A69F4851838F462E82A86BC6 +F8DB2E740B5270AECB0B922D4493A75422349138B539B6067C040F3007F04191 +CB545ACC01B4F28AF811266260FEEC04057287BB5C26C077946DDF23322FD99F +2B3DFFB62AB8BF12000AA81ADAA6A064F9C34D5F36CB7F66A5EEB7B494FA1AAE +32B380163AEE08F5BD270FAAD8DAF0CC5B6979B8D4FB6AD723E011DCFE119092 +D1025BB62280B745BB0FB140E82325F1FDFC029100F922BF206E5527B7D8F60C +3F3E3AE2184CB954391D10A1618FA0940F12159167494E29A46125CB911B19C4 +97B4DC76FF53B7F79E380D7375FAB6C30A467E02E48BA73403D3900FBB440C9E +951C081C8D5E04DC0C8E1BC7D552075CC360B7D1007367C655069324713715BF +F8182AEB6F401A1F029FB3962BB3A0B2775979FDFFD834D5559EE20CF54D7D91 +D93C5C0B1E4BC9C5097DA97E893335D6F25B0215755AE271340453DCF8252782 +8607B0F972DB969DB772EB7BEEB185D4E20EAEE6BC04104F3D484B0A702514C1 +55113C7286CDADFF3B72732ACEE29B3711F5B1AD864B05DC35F1472686B200B2 +3FCE6AC13FAE056EA1993EC64BBCF7A0477903CF2F3D58BD5426CC64C9A6BC49 +F41EF70ACD9A306F44D4D0D2DAECB7E5070EF232701DE7FC69600456241B9F91 +FB0604DD0AD9C064123D99B39FD5AC53C5210098EABA19973BB5962589CC00B9 +F7AF32F3C9F629419962EDFB0907AF4E12B9A1995CC8DD7C4D79FCAD75A6B6B4 +89E495CDE86A55512212D0BF1FEB2DD8A46DABAC4FA91C2CE79CFA313454938C +936EA3ABB8829ECF28618301F5058AD0FCA3D9754FF3A772319BFDBAC06F6842 +6E5E19E5527F7A9789BCBAEC1EE819742C9B7B38799450D2262098CA2F7CB87A +72AA4F194394E1013BD793E49B6DC7056A56311C45D81389CE7D6940E61547EF +0A2C7D43915733C8514BAAD7C8448DE8FDC4B2C8A7ECC2FE601617D2485DF3D8 +6F5D6934079403732B64DB4137C4154E0326860F859400AE077A15324E0FC7DE +7445E3921622FEDBE3257265F620D21AB694DB93EC98E9D6515BB47706CECFCA +ACBA5EFD0AEE1D8BC59F585D4D9961E8E0F11B7B7F197A079244D4F4597A6552 +E3874B76A3D9BCF95DE4998534C7AF942753C52402018E2F0DD6E6F13CE2E122 +26F8533927AEC411ABDDCC502903B27C69A9E1560CCAA0D34382214AD3F49587 +0A6CE2BAB310D5C46B5460C545E5E7BE6B0B5D1035F470C1927AC341FEA5821A +4973C94B301CD34D302302FA18CD42ECED9B0651A8A7018554F52E0268472163 +CC2A53B37D85D53A31D1FDC394245F24BBBBCD7B9564FB770E2C23E0F1FFDEB7 +6F54826FF5A075ED62B97958AD01F1DADE6422236F0A56E6C2C3A9EDE8F771B6 +8764AE4F8922456D1012AC7AECC3DE4B8DA66E6FCE8152058F605492683F8FF3 +90B2597B615883BC83FC07295D5BA9D0C0242E277CD7ACE5B12FCB55959D6AED +12216939E7F7A6D9624D0F9B4086466032D062950543CAB67EE2E2E2DC922C4F +36B8DA8F7FD1E141F79722F41C908606381F7B687A64BE33C0A6DE0A4DF48877 +138F6BB8582F28FBD0853C346B285D8116F04CA8CE32A14CE3E6303252D6212E +D876DF0B00D27069B07181EADBDAF4374F7FE019BD73BFB48E54244569DA62C2 +DBA424FEA187545F20FCC2B6B9586E9D89551AEE65EDCE251107433071DA9DA1 +E52CFB829EBEA262F08344AF309BE8E64CBADA06B71D089EA6 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSY8 +%!PS-AdobeFont-1.0: CMSY8 003.002 +%%Title: CMSY8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup +/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY8 def +/FontBBox {-30 -955 1185 779 }readonly def +/UniqueID 5096649 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY8.) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 110 /backslash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 +0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 +14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 +7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 +2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 +DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 +209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 +2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 +B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 +24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 +65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 +88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD +CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 +B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 +B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED +516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 +11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 +44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF +E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F +67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F +81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 +26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 +2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 +90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 +609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE +E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 +48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 +8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 +8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 +AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD +1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 +56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 +1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 +3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 +46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 +38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 +6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C +BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 +40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 +023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A +579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 +5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 +31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 +F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 +D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 +285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 +FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A +D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 +4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C +1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC +82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E +08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 +B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD +72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 +E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 +198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 +C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 +EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B +B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 +304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 +FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E +02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 +130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 +F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D +07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 +ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 +24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C +1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED +55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 +546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF +22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 +5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D +6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 +248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 +E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 +E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 +F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 +CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD +15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC +3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 +1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A +A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 +8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 +7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 +DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E +9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 +83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 +307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 +39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 +805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D +6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 +3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C +08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 +A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 +866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 +C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 +75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B +893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD +CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 +491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D +8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A +3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 +B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 +64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B +167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 +E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B +A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 +D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF +0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D +C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D +628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD +C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 +5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 +302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 +2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 +9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 +491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 +5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 +35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC +1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 +3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 +7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 +3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 +B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D +289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 +EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 +DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 +BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C +42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B +9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 +A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA +9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 +5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 +67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A +3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 +36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 +9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 +89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 +63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 +7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 +72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 +C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 +BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 +AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B +D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 +B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C +5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 +93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 +C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 +4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA +058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D +74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 +A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 +42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 +516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 +2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 +A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 +2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F +46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 +EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 +9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B +3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 +6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 +E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 +B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 +89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A +1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A +310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 +33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 +1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 +BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 +06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C +2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 +CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 +80FBD329524C55943E25631F113FB26AF7C5FAD7E3A6908AD524ED35A9488016 +DC8381A9603FDA1A9B29972F0E6DD38102B35AC78668859A693EABD941DF29F4 +0F2C77153A7B5CFA131D306014D82806512C75EBCA3529721AB0BC17FF16DD90 +22A82202F4170E7B112889C5E5553F4FCFE9F70A843468BFABDAE2F08FFF09A8 +4515916CBD1A10C97671F6BB5B0A092A94700D661AB7BE2686B88698EE76C958 +2877D0B668201406313BED40B162372E5A986FD23F028331ABEFE02AF4AC4DCF +E3 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTI10 +%!PS-AdobeFont-1.0: CMTI10 003.002 +%%Title: CMTI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup +/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI10 def +/FontBBox {-35 -250 1124 750 }readonly def +/UniqueID 5000828 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def +/FullName (CMTI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 101 /e put +dup 103 /g put +dup 105 /i put +dup 108 /l put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 116 /t put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E +2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A +EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD +8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF +CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 +7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC +32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 +482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF +118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 +1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC +C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA +8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 +61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 +C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 +3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 +9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A +D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 +125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 +34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A +30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 +39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 +9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 +2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF +0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 +3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D +9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 +802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 +FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 +98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 +5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF +AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD +A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 +5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 +DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 +4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC +8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B +A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 +E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F +42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 +3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 +A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F +7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 +49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 +D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C +0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 +CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 +1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB +8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 +6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 +83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 +60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 +42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 +1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A +21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA +206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 +D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 +7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B +55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 +6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 +4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 +871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E +9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 +DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 +41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 +2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F +220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 +A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D +981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F +337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 +139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B +1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC +100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A +1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 +F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB +72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 +A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D +310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 +7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 +1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 +8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 +80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 +3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C +C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 +4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB +865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B +301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 +3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 +1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B +E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 +0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 +30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E +2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 +C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 +14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A +44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC +CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 +DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 +9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 +4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 +2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 +21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 +47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 +F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 +D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F +03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 +886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 +352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD +9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 +9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 +92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F +821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 +3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 +47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 +F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B +9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 +AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 +C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 +B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED +D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD +F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E +81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 +970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C +6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 +97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 +A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE +AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 +971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 +514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 +8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C +392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 +3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F +464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE +C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E +F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 +911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 +261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED +D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA +147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D +C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 +C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB +61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD +FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 +F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C +2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C +7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 +11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C +9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 +C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 +1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 +5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 +6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 +EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E +F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 +AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D +8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 +376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 +B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B +02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 +4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF +9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD +751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 +3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A +40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 +2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 +D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A +0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E +8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 +AFFD0B2B724EF0F28393F3CB6A4DCBBA655E3D6E27F87E6D8BE12A15D35E1E75 +D36532B9C5000C06A58822444593A1038EEB23C7AFC9EEE3907DF8232322B09B +230015E014F1B4CEB866234266440AD3686E30ABD086CF9C0926E711F0757925 +5DEB3D39C8E6D6F0C05A364A0DBF90F6E32CD28887F7E237E04093E07A94C973 +462254BC1B1586AAC29FC7F15A80FB5993ED22E79A0FB5BF0F7362CFA24BB2F3 +D4EF7D39E1902C53053C27E2AA49C4DE54A05AFB1AA6C7CCFBD9F72150DE259A +BEBFCA5C7E828BE667E9C72222B84C4C79C2DEB885A69861DDB635B02814BAAD +9672A14E50D6A2A236AB35C6DCBFA1165F47F8F52B0787EB4B70BFE3CAA8B511 +A630E8148A51C1394C7C321156CF52EE7BFE07B6C354CB65782464D2BE42C0D8 +14EAFBE88DA3D5C90614F22E02626ABD343F3AC0A9698AE84CB97F1CC421D34F +98B69FF4C335B95F4222A8BAB77662B4A57A4B574265A679334D5EBCB073FF69 +66BD9322B1C2253AE85AB38889B26761BA509C7F638C6CBC4BBCDBBBF4BFE1AE +855973129978F707C87462B67509FE6EEFB5E0949674C34768F001827F12F1BA +77AE866711077C30DC0E40C2D8A6EF4D85355E596E26B675E8D223D4E55C3580 +5B79260E90985DA5E5B2F43DE7713D5E67080D2843D44A3585E078615BEA476C +88233D241D3A427F9B1AD26ECD535E46C137084A835CD816CCA936D0011C53E7 +B33D5B50ED7BF3F41289F48E394BDC963EB1AFD6F14F0C146E0F13B03E76B389 +8AD8E81E41F14D1682A113D8BA1482D9DDFDE71208AFC351B62E028C3D50BE01 +FC9CD5D5F36E28DADB469201F41E9F39098B65E43FD1227A26F6FF812CE452F8 +B5476C28FC1B1B3E5FEF3A3B94CD552E29288AB0A3ABCEAAEACBD2D5E9001579 +738029B0E7F635C6C4962340187558084D9CD408EF7FDCE23F465AFCAA8EAAC4 +8855BF64EC9BC75371A98095CB51BE7FF107E4C6C21079571957B2AC35ABF77E +9DCBD599C549D3B40A36AB846859C7BD9F87A2FBC724621FC7B305F02742A66E +F2BBB6B21671FF62D682982C4E8F6645EA4A7D875E03774474BD86F76AFD4053 +61E9AF3C9B374D730501BE61106AFFF8A463406722AD2C14D1A81C08C2A31E60 +42DBCDBFFE4056E6AEF59CA261835523196A8921D1BE0013F8B3D6F05793FD18 +3E767E98289DA6CA9DC9E2EF9E697998D2367E45AA87B3E75A57F64021FAB21A +A480FE7095000C29AB92E6D299B2E5EA7AE1997A6B23E1F90549334F62417196 +89BF7E9F62484C2816CF5FC2ECB7DEFBB11E63D70CA13D96BF3DB3B95F39A41D +2E0C84ABD2FFD86525323ACE4A85A8944601CEE9D157445312EE9EB81873DD63 +A1BF3256BD6E6C845E2379D4B42D8D19FA6D540368BA9F7C6B494CDB6694AEE7 +D63B32A6A32C93477AE6756D1A028376CA2B897C7A9CE0513BBF1CB3A5ABD2D3 +CEAFD0F4559FE116641CA2388C14E11C68DB73DDAC0762468B35DB5859AB672A +B65D7701BEDCCCF46DB441B00EBD516CB785883D6C41C2B01FF468BD01EF35FB +6F71300BBCAB30A7619E3D729125DEBF7A3EBC7340D1A093ACF8107D109B95FF +EE955E7C8A927D0A384EDAE386EDC52692BF6864CCD173E5422D00A8F2E40CAF +6B594A1F2BCA7FA819ED618E1F3BF1C884FA4B7E6F7E330CAF28D3E560A6C526 +351086D8728B80B03AF6B89F3FC53F8B14B389BF8F98E058B92FF3F37B2ED82A +B7F428D29D07E7B0F502C223B366CC9EC64E8DC1B862716EA1A2BC13AED6864E +405F0DC1E87A360981A5FB8655BC9CD60C8EB6F359FCAC91183558144796ED68 +9E9424084CF58823A44C03451ADE1A86894A5E51E73652B902E40491B63B3C34 +613F21DF21404D27A0AA6E874293E89D3D3E5ADDC371D21A13B0FD2F36BED920 +753170F64A52947A9FA4738F4F6882F595618232976261FEB5D4554BB9504B31 +3EC2788186FBBDF95EDEBC0CABB681853130A255917E36D61A4BC635BD3F530D +C0987EC51639F70005BAA3268B84A543ED40420CA26F64C48E56A4D5E508D8CC +2EA04684A1A33B2E63A8B7A112B870E6A4DFB866117E63C662C1E2E866545C93 +152E712BC9DD4832E2FA2B5D0B02EB7A99D08CCC91FDE42BC08EC32FD6D6A775 +9D931293501783618B011F86C9B59DF4FAE243B02A71F6EA9367956C2FCAE92F +8CDDF3C65A44A61BAE3DB2ED94A1BA87A1B22528BB6E5B00F2389538C4CE7963 +E0EA36E39954E08D1FEAA7A3C4A32AB57800515CAFEC40DD04DCF2F0077E6EA9 +D60CE99D54216CF2332108937B452A1449075ADBB594321DD7CB26C41D9815DD +78F0E29053F13228DD1881048BFAD54A74A0BAA6CE0244B5D3EA12B673C27E72 +3D95F2A3F06A49D48F602D257C8CB8EC7E147F9093B939266464995DB61CE89F +8184AD68BE7959148E5EB2DF1D51FA7176725D5E546A1EA6D1573296C898BA7E +513538078CE1B86E9D8F25CC8F228D490636C0265412E205925CEB3FD93D823A +45E36C65FC54D46797641E89B90DD83561DC4F3315F542D60772F8532CAC2901 +DD268E6D3E032A3D89437BFA400C524BD6ACEDC8DA584B58926680A454DA9059 +783450F77845B4EB6B737823A62F27E3A36E599C903F79D9A6ED9979A2F310D8 +D1ABE7465536B7A664EC3DB8CB3403F3D896DB746EA59159792878672C9677F1 +5BB708434DE6E221D29C2853F7CA416FECB29708F707C989CEE1BF23E4EA25E7 +5BB0A23A260346F2BF6DEBF46F2C3DBEDB9725BE362720FC314E97048ADFF4DE +48F1A512E0B0CE5C8F17DB0BBAE375C3E09284C1B547BE1DD3A4FF0A85BE14C1 +F8B5A8D383E77A7D16720CDA5B48DF6C4F298726509DA028446C371C24153EC0 +953F7106F6E7A71791F2C464AF59EF35724E29435B770DCF2D4140881967A641 +B3A37EAE7F0E5117BAADEC62F2D8D8F3236659FEE2A65DA5FB97D4F7B898F525 +EE509455C941D77792ED32A98EF6D9624D6B3046F1FA3B08F491A3213E7C7B3C +0739782E7F8ED81C7A5EDA48DE84BC3EFA26A92D00CB1E0021BC03C93DE4B979 +DAF94C1B5C0E3F2B12B433D70F61E86CB3FB728C2DD3E5799B7D1D57A08FE663 +C4A65B11BC53F24B07D4308077DFE10DC1A91AF9261FFD0A01222DF9D3B4A16A +2DD27DA4A0F8B83154594A3AC8DB713C05E93B692CC5084EF2570FBF9B8FA5B6 +2A7879C6DD041D28ECCC10ECD38C0E931F735C72908130A3D56359F6D5B420A1 +D275C8EE6BFF04F41FFC12E5A128E93D2F8F25111831713C5091DB6673A01B9E +A4EBF1BE533B7015AB54CB140CA45CF5CFC1FE796A0692A7BA48E7D3248C5BFD +C0A11C45276D07CFB820AAE246C2362D97272718B6AD473F0C107C07755CBC20 +D9F0A561A5102C764AB6CBF99020FE4F88E52071FD1DD9937B230B80A393462F +670DD95AF457D56BC7D7BAED4CCF5276037A3E1F27E5FCBB86E1A0D97468907C +45B48987096EE083214CE929CB35BF3BABC31DFFB25A7699979FC291B88515BC +B0A610075E4738DE049E4F5442EC67F3DBD2F08D9A5AF0DDDE10F2DE66A35322 +7F0F6ADC8F05B3330CD3FC38DD1F8AC734F9D29FC06F5A0196988869F8766F60 +62985217B17A021F62E02E038F219EC614F716CA1EFC096BC6716F16B5376337 +9E1363A1A3CA245DDA36D5E0FDA5CA64870843D4116D66D31F4B4F23B1CB26EC +A67BB7A56A542CC019D2AB478F0D0599064E624DB237C6C6B21D69FDD966C36B +738920BA0FAD6F890DAF180F797F43BAA68AF1B564D711E6E98D4C28B60AC05E +76BA7AF8577DBA276A5D5765EF9EDA78EE7A0EF96986CC41FFB556088C677000 +FCD28D5A7B35DFEEF93C420B6517A73A255A6CA1610957D42C4B78B616ED93A2 +F4078547205305E85D52CEB35232AC1A7318265CE435460C42086339F4B8F785 +9AFCC09A27F5BB8C389464902955BEDD295A997892E2C7F444EAF8DDBC45C6EC +4DE84D619079BC7612E0593F780AF934E41D52CA6289A7816A6F776976D99A24 +D3D105341DAF2DB7C884A650C611A1B4BDB6C937A17CE4D3A298628554F35572 +6027F6837A380BB99FA2FAF4E1D4AF398B968C9DFB6675D1BE3BA26626E0C013 +2AC2C14E81AAC5EBE2011490AE77CCF3B23A43414B0B88C6BD520D4FF109ADD6 +5123FD32F58BB82D254B6E8F7DC2D7181AB3BAC1873A8568D66C5EF4F441F417 +5C685905B6697BB7CE41B0A1FCDAE4EBAE289F7EEB169FA31DF44E3F5165C72A +727E3DE69550949CC33C5A2FCB00E468C7D965C22E0BE51B57BA1F1CFC6960C7 +33A6788C7420FB22C933BF337DB222272A395267B08279D6559BB507F33ED5EB +BEEE1ECC2ADC03B030BA396A97FF26488BF6F2AA5482F093E935D979FFAF6268 +1A7534A81F4B24B61EB3029D771C77DD075A640EF890DFD38C3C52360D4EBC92 +E710784D2E26D6A21C883C4314B1FFE7D3C66D0514EFA8E4D1A1239154CA42F5 +19895720FFB5D476000CD94FF9335F9104DEE6A43435FE7D2C8308563A44A8F9 +FE3C0B5ADC6D6084A72CA65688B110D2693420A449F37646457B3DC07D6DE56C +1A8A2CF3CCB857D9BEC2B1C294C0F09F8526239FBF7D0D7382006DD12547434A +9CDC10DD5F57E2F7735BF351079F44C58E9B6A6E50A7AF0A09F441B6F1D6A3C7 +DE172BEA39225E18A30EB9D283D2A775BF15CEEF5E32F96E57C9CC6B325A77 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: SkakNew-Figurine +%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003 +%%CreationDate: Mon Feb 02 15:14:46 2009 +%%VMusage: 120000 150000 +11 dict begin +/FontInfo 15 dict dup begin +/version (001.003) readonly def +/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def +/FullName (SkakNew-Figurine) readonly def +/FamilyName (SkakNew-Figurine) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Weight (Regular) readonly def +end readonly def +/FontName /SkakNew-Figurine def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 78 /N put +readonly def +/PaintType 0 def +/FontType 1 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox {0 -114 1241 842} readonly def +currentdict end +currentfile eexec +D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 +1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 +204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 +429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 +FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 +C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691 +6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9 +5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716 +C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0 +DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98 +218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549 +1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8 +7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563 +F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F +401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39 +B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD +9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88 +68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC +067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB +3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E +E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510 +6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA +AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90 +A73760A26EA9F28C74DA6FD1AEE7BD8F21404F8FC3215606F8E3838371563F7C +27C0833ED579C89FF32E4F2275FE27F5E70B4B6D62EBB0E0E26724A5B882D939 +13C29A0FE8B6823CF7E0FD24EAFEE0B17FD81119F9E9E730F889E0E6A6BF83C4 +C3AB5B3335202013A4C07D71EDCB645D75EBE01B6D98DF536ABDCEDFCFE0C622 +333D69C242E78C42BDC2E33ABEAC4122F4596B941EEE41F2B753588999185585 +F81C9AEDA32A0BD44F9524B9507F56322B2F69125FA7879FE893379DB4E9B623 +4A4284E77EC96EB41BD5014C4D2C952C8B879ECDD46A7D6F765AF5CFDC63EB48 +F3F635F1FD8DA05FBEDB7792CC93AE900A7E6D0D5E651DB84901133618EF2A2E +0171B1265CD7728C0BE06A039942CFBCE56565997574AAB2E4D872A51D8BF02B +8C9FF495D51DA88E25C017DA0BCFD68F818DBC70C21B0D1A5BFAA10D703FD9EA +70DB8B3C1FEACA133DB42639F5C20F7914E55CB091F2FD6AACBEECF28834E749 +1769A83BADD38B6A3D0F3F91B5BF6BF83A5FAF99F15327E1557E293EF846DA4A +A7CEAE69F2CD0FD47B3ED0479AC0A80DFF02C332C281A7EF8C80F282C40C9FC3 +C28AC8BDB840A16D96EF21F81996178D6D0E1DF2B0F80087A60F0F0DF579D458 +6477B0CE7CF418866EF7CCF0831186F0CA2E2D3778913AE5E64178EAAFF18492 +C0E0A7FC674D847E9D1F2FB75DC5A2EB5D68DE8E33A9F6E164A22B9B8076D8A5 +A632A3E597F2A5747048F8A690CCA4BFB91D30927A1AA010E483648B839DADAB +103FC1A010D45B4F1DD2364991ADB1B2CADCED097F0ED3A7DB524E51559C22E0 +039FFCAC41E38770450E8E747E711E77489291D13F5516524493E72A195EB678 +BACE94615DBBF7F3BE0A6021CCD30CBD7B253C9B8DA9E26D2BF046E334791D0F +319E7633581DACF9F167F1134943940A4F0D3FF1A5CB2BEF83F0005EEC14F067 +A7CEF0F99708D4C78ADCE33624F207E0349A34515A4FDF34F814E56F07346938 +85ED1C7DD5FAD819EA1A14237E8CEC0189B82B5103D00B74FB70184374F38159 +58BC2AB7947A5A0857B335C747CE4B47D0095E9A5EED7A380D68ED09253A65BD +99F121AF849B78A22E631A0D940695BBBEC38D1EEA66B9C042BD23EC9253D2F8 +42E0A24E3D999B72C918E1102BA3F110C184D82F115D8925F10B2675A34E4F53 +159800A788DEC5F912A644A900D5D1878393015EE0B52BF9054E362F4539BCE3 +8F5A27ECE4311FF01D5929C2C25435B889653A750B4B34A977E0F70181768E5E +14E7DFF091104FB5643A684748705C5ACF2FEE386520 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR5 +%!PS-AdobeFont-1.0: CMR5 003.002 +%%Title: CMR5 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR5. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR5 known{/CMR5 findfont dup/UniqueID known{dup +/UniqueID get 5000788 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR5 def +/FontBBox {-10 -250 1304 750 }readonly def +/UniqueID 5000788 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR5.) readonly def +/FullName (CMR5) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DAE26BF1F487876AD1 +16184ABCA7446A2352AB37C36E9C9BB67CEE105C612D36566FB459D6ACFB1DC3 +7A59448A06EBA21F8824266BDD0ACF9E356251A897A920C39F1AB236EE06C039 +8C4C0AE55FCED464E19AFAF548D454FCF73F6087102630AEA03E622AF2596870 +1353925801642BBDC11F09963F4ADF037671B73D48CD9C209DB4D5BE7F4CB381 +94887E8365D25C45D1F87EFFAE360104ABD3235E4D2F4BA163408448E814D49A +3E7C171B8F1275D49937C3255326069007B302844EBF2BC1990DDFF1A34C2770 +A262ACCE874DA1E0002188D6A713C79D5E9226178EED27D6F4E4DC24ED2669B2 +3873F42A48E5C1365AAFC83FAD8B849E5D7E52BFBB01B281005A9EBEB4EA2F35 +B691489305BCFE5516DEFBA092F66ABCA2D739A9277AC69F74F786045E63B0F8 +66D545B12B0581AEB579D5E1E2A412DB8F66276E05F131EC3B9F543E11F40FBA +8CC47071DB04A5D38A707C9F825527521CA1FC412FB54DBD72E912BA4EC8F747 +306A65040671237C8FE84AB6D6157D96EDE13B3A8FBF7140F1A9DA55B666953B +C7FA638353F278D07066AB8DDF0DFFC832F7025DF1AF9F894D52E9FA95EBBEF5 +9D6B97768FEC26E845B87C6ACF5395C75B894B5A1F50B248BA33943C5AD6CC2A +8D9AC65C08B3206E7F5E5913CD0D54C9FF741A4D92B628F85E43F52082397891 +66E6F922E0BFA2E45F0072217011D4B8EB40893F151E4E2E92ECE5862C467D4E +3833311B08340AE1C0C692095AFB739E9B9A4F56BFA0F0B2AB8455A7470C22C2 +0C2EC285026195CB73EE2A713ABBDE4945AFEB92630BF852DD4845FB4C9A8C8A +0C8C971F29440B4A786108D0DA1AEFDBE03568B6B2F3953B4D07A5B7D6FF564F +6CC0D8C08CA459D556154A45133BD7AF70C7D8F474DE66E64FA112D776478A83 +B282EA4E941CE2FD6D8F7B68D129CE0093AAF7C1D345C3D65BE74EE9391C9B89 +2D4D31764F1BA81CB12CE46D15A6BF941C9F0EACB4A2DECC8F2F6B85FFF490D4 +ED7BB6C7CDED10F03F68282B2ED20809F95840A904020C98299E17C46243D9EF +05B5B8173BB2E8CBAB3AA9B8207A9EFE6366C91A7674DBCD9FAF12A2EF4B5117 +5687F3DF1244F5439ECD8AB0587F492E990DD7B516C664AFAB76CE71084FDD70 +E7F5A38BD46926615659488D3548C5066C06E443016DD40275CFF3105573117E +369C8C34E48BEE832D93F0ADA7674FC6F5A64183DB2B70FF166E02E044B7063A +41D2F396A9158A26D3953F12982ACD1D7593F474DB98ECFD00EAF57FAAF17C7E +C1E4775B37FCBCD6DB1B5BC6209162E57E21A6AF427043562D9854B430A0BAED +20D31A9AC334C87875E53E0B956D33111955459DCD98D54E1BCC61BA58CDB41E +03009979C0A541FA9F69B55D3F3750515E5F268A7B55254B8A44CA732F2B9242 +18F34C029665B31EB68331B0147607645983340D15E322E3D0532E6376D40FA2 +1041F7988EB9F56D83946757786737D8BB4A996EA7933E79BE61B4EA1115AA4C +286B7AAFE80AB7C619329AD5FA772A6279FE85FA6B623138FAE1C6AE3FA45AB0 +95D8020D2EE2979E8A87D7E7C5DA2E6B701FEB4923F401F892D83A4928807152 +96CB664018AF24E829E582FA8B4F0E07387BAC53530AB3AADF74404EB2F311E6 +C6A70F960FA962E52A30CCC6E15097F9B7BF011626DAD38EDF78745B60C0818B +34663683577D897B1B6AEB240F3A2AA29F1F1800FE0A5C205B35C6A6438259FF +CCEC942AD2D7C3CFE01F956B795C0349DD5380D0140D3BB54FD99EEE5171DAF5 +4FA360A740589A1F8AB4FBC275CC06FF89A8350F4982F87E747501A74B7C81A0 +0F40FBA9D2875022DC3D417FD623D89FB6A0C0F1B930ACC2117C6CE94AAE5844 +0B5C9DAD579B7DDB73F2B26B05E1AAE30AF69937722E8360987AC0BDBE305B5B +DDBEF5A6C03BE1743C518E6B7B58A85AC961B8755BF37688E37DE0632BBE06E0 +53FAFAFBE52EAF276365A0484A1A682C9B9486CDCFBFBC4F4A1D6BF71378F014 +56DDF9B15A5AE0276827ACBD9AB04D685F52A62BD3DA33BDC2A262B756B58C26 +4F3B552841B81CA60C951F400551166C72B8D357D8122685FE97D14AC22AB6FD +2EE4CC429D580AD7B8D12A9C601FEE5D25C98BCBCF96C87FCFBF28419BEEFFA8 +7A4FC7B6E5FD377EBD5E743C3FDBB7554A1FB9663B648B15C4119CA952A8263B +278E5845AB929942E1A0FC4CC413F36134884EAF3704865C1478D6988880EB54 +C5C5C1BDD7CB0548342B9C7B6F94DD6341C5744A9A3C4A866F620BB70575EABD +AAA42E3B6E23AA029080B299294AF2E9388520367E964A3A66A84628D75F1BEB +C7A58C92EF7335F30BD0A26D072A986635318E0473CE3CD5B4F1BBFF6E781938 +EE4E3C11AC27A1BE0C3B55586A4565E4B967ED2EE4674121A46DA1C32C5D278A +44BEB43CCA246B730D337918AAA394728814C726DA4F9C40AC6EE877365976EE +A53276A818CF25E995CAA34039339C55DDDE74B3C11742786C1E9FA5C432EAC4 +E184F35560EA31D687D005843B02F9252C2A16F9E4C31C18D0D45B7D5F63D589 +3C1FE3D33C912B9CD79DBCCF9FD8223FDC18D55762F0DB2DB241625B91DB17F6 +206120D6300D317E82F3DDE6D2D0825547C08BE7E6FF8FB54D4DFEF2F4E475F7 +F3838B4ADBE49F8C41409D85085DB5A030858AAEEA5AB9CD2D1172C8D0EE31AE +507D8048E123AEAB05979C872ADBA4833D36626166BBB2A2CEF2F3E641DB429C +AB15C97D7180E8E6AC0D871E20678516ABAA4D616B51C132F41E5661858B8C2C +ECEE4A65A2B0FF310DFB531B213196D2E2AB015963246F44E22E603E741BBFF0 +16DBFC284906983A8C15278A36F5379F46C152304DADC8D90C313961E5F58180 +EEEC5A15131E5C48AD27F80B77EB0370482D528735FBA3E6C0548BB66CC222F7 +CCE87194F565B9EF7F32E656E6964501CE32462FFA6B87087EBAF45D454CFBA9 +ACA808C4397F3852158F1C0AE44772253ABEF6D278F726A03A9CBC4330EC80D0 +117F9131C5974445B81093C1D6E093C669CD285D1BFE864D53E5F140D40BE4CC +2689C42C50C4137DE564374B2130609785D8F519E0083DD24A44DE24A68E4071 +4A2122AB8AB9649660D1C96DC58F37F88623528078BFDA3BA3085D527ED4CAF6 +25BA663A61AEC4938CA78C49623FE0EED33DA2D08CC78F86A807E791BC9CFCFE +8FBFA55EC2259B64C31F6EBC45D2DF9B47EE09AA54011D40F55B6F12F49F2266 +EDDB09D44C521EC9568CA7E62283C483A436417B65B4FCBC7EA32AC6EB4E7B30 +080816F29F06D6B09E5506D3149C5D758BA85D820357D4955B0C1FFB383E10DA +4D61774D3B23C84A339C7348ECA6078080FF8B436B2261091DBBDC02583E366A +622ED9F95D2A85BDBA48DCE8BE45628A4ADFD5A48869800D9B54F530F43A8F53 +F765F5D5C44A9399FC1B9CEFA343966118DD11CB102423D46BA0F096795AF0D1 +BA33F089AD80A104DE7FDF8A6E7D935E6713963FE3C57CC673BCDD423DF3DCE0 +C57EADCA2AE4DBB30166C2CF1F7113DF96A27D4BBB23ABECC5A4795F1290F4F5 +5293B5870F892C9A32C776AAD06D78D0514F047373879CFC5AF9D624DCE5BC8F +7CEA5055064050AAB2F24A1C792B2609FFDADC6AB8D0F31A12403CF3436A1E1E +E24BA5F92587925C4D6795A3FB163245FBF054BB1B0FF01FD63DBF7C192D0F31 +33A17E7764699B669A3ACCF7C36849EEDA395E7F55174023A79904A766F21D58 +3DDB7B4C2808DE7FFB8717658084E70DBE046A13BBF1F9BB97B3AB527D68DE8E +924DE65486C3B883CD65A95901B0DE57821CB6C6AE37644E02F5CB0163617113 +C91D2C649A0BA10736F3709BD504F22DA8831A09BD0B2D6790A498F2FBC2F642 +7845796E606ECAB2356238AAF40323D71B236CBD1E3E43BD5443F304D52F3CC0 +28DB5D33A732695AA09C0449C53C656704D820217AC035DF45F59AE445946481 +E5BFBE5D4EC0A42B5662FBEB9FF6ECFFB5E8517312F56C91A01824E401E7203E +258C3BA073C1B2532B8312F5AE29E37F5EA71C52F171593B1370D4ED5D7341CD +567390ED5B75D612D5873BAC518587525A591164E8D36D2BD89F792BD9EE6ACE +99FB72B23CB2445F12B8A6A0876EE711166C9E34897D370174C17A2495D58B4D +3DA19DBB1AF2E09C72FA42AA3D8047D05AC4F6A27F3EBF32ADD2AD2FF26EAE05 +A9AB34C9287EE00E8EC29C6603036D365AE08E00D1C7C410EA2551696954EC92 +92080C8FA5C9E67698BD7B895C82ED29391E015F83E0DA145384E223319CBA74 +19494F070649E03CE9FF905619C6CB40F562DA49C1EDD2CA221DD7D3DAFA8279 +AB50DE1C059CB8D5C9FA8137DA711B9D30F236526AA389B2F79F3D5BA6ED9534 +8852BF4448DC1B72E361A6A2B94CF865BC9C3401D995529E2A36DE755EE001FE +C67B184AE8241D08AF88D626BD2D8AA12EE791AC4253D4761A21917C7F2F5AEC +795CD14B33F59DD7080C7654DEFFFA669F50FB1AC8C0F2E60201673A78D03DFD +DE0CB142F0F616C4051772BDB837CB4CE87A0C8D61E0FC7F90517EA0F5F6B1B4 +D57143CC0AE7CA9521C1536962867D6318DF1C9CE6476CEB9ADB21655D379B26 +7A0EAEC2D28430C14D38764C493BA4C06EF4BE6780131F2FEC066C4866E0B258 +51C48BEF77011A0B5763CB3D69A50BDD50C2D7EFBBF18BF42544B1AC196377FB +4826BACB3C16DB805D38C34F9E92AA9AB5F9A9B317D8BF32AF8A758017269914 +DE3B748625D319E571187E1BFED9CCBE11ABC18C0C6123D24D2C7303DE998847 +0F6F644748ED225135CC3B957EDE8567AF3EE47F5E942EA9293F7BF74260D1D5 +A6F5E56705E12C8379DED158E66DF54349F0504EF584C6D05C44CDD8B720809E +3DC36FF60BF55FDF1CA8C968E68346CF43C568E0B3175CB7D55343DE21CF9730 +C9DF918360036E4204CD024A67E764D3CC7677E5B229C1B909ECD1B9042134BB +DD8E47FDBF63F212D401A797EF60011F52EAAFB88E3E70E007BF19826E40FE4A +73B57D52FAB33A737B1341381EB2ED307E0B83B45D6911E04BE623DA82DD6BDB +2DA096827E6A498A8D503668E45926525789D43D1BD5B896B487C0CE04FC9DAA +CD9078D0C8A0639E27F0DCD82C552A7FABA42BFFEAD66CEBBD4D2E4B4A1B40A7 +B6FD119D37FA26C14C29A70E2EDB3253A1AAAC2650009CA3B97B430B1A05F2C6 +F2120C8981683D0976BC42FE98AB2D33014B983CE1E2F1E1AC4A524249C3CF13 +4B36652F96FCBD3660ACFC2F9778B729AFE2CE1BCF473DC5A846FCC3ACBE455E +2C37853F5204085ABF3BEE50C28D99312A078CE2F6F4C1D2D3017F0E5BB5B614 +102BE45CAF8108407EA970111B5A97CA8C7A64C70D52D28D2EDCD27879B1003A +6D168CD054E87C063744CDE097887CDF268D89180AF8BB4F170804AE5DA779B2 +1941775FC32FA189038D6050EC0E400BBED364E0CCD8DA571E902DAD812988E2 +4BF761F472EBEB411388FEB6F901777D090400F695D823C758882CC008D889E1 +02678FF81B252C33C89E3B04157C889D4F0F86D432F0B3DD7811BCF01C2FC041 +0D4B1DD9CB6F2433F9B34E7E8ED8BB1FA4F9F7CEB5354A8305C372C2EDEAFE5B +4AE23CEF34AC457961B15CEA084E31B3741CF2EC317DF484736EDD688737C380 +6D868BDC02D1E63A52D21C8E7C1FD1BD8717612FC247293CC91E0EEA08D5F805 +70217761CFCA0F9C13996DE0F045F28DB67378221722416236E4DC00194E9C45 +A3839F4BB53E226919C2CD13A44E4F67334454DB7E133B2D308925CC2E275293 +F81AFEC4DCF49230F22EFA19F48CAB7E09FA727CC2E11E5A5CCF57307506D5E7 +6DD1D26BFD3DF97E73C2DC019B0A75B9D6386469ACF1A00A5AAB55F99BA1DE49 +9883DC4FB0E8AD9421B105E050519976705F7BC889FB3B6C2921D2E198FEA294 +E192DB3738EBEBF6485075728A0E16ABD53A25BB0795A21B65AFB6ABD7EAA3F7 +1DAE1BA012651B4BA0ABE02F3CCCEB9E92979F17A3338A376C57A1F13E3C90C7 +9DE8ADE421329A57369CCC2BA622840B79C0DF098EA42B810C596DE85F51EB9E +C8F6FAA598C73F359FD7CB1D337E3B083833389846A99C87885A7537D35772DC +A7EE51E8EEECF4E4F38AA04C3F4C447080386A41F1461599739D73C58CD02D65 +0899177F7D707AE793B4C915C590AFD6E6810700BC0C3D14B67E03129A4215E4 +953B88C7A9FF1AF4B6DA293E1DF2EF5667D408AD3F2DFDBA46EF95A1D8E1CA29 +FBFA01A4B965D1101CA6C0C2BF4670E94776753FF52C2751AE41872EBE3DC66D +EE58BFD3BF8F543802C7614F64E7A9CC4474DAB5F4C59F8085FD523C91F0FCE2 +0CAEE1B9613064F9C9CE9556C841563A43660E0E71EE761F0448C41589AD0312 +958167F62FB166655800150F9E81A558949071F01BB11C9ACFB2ACA4F332D2AC +598AD5ABD3D5EB17AFA97456C0DE4D3D872750F548C357FF34919A3EDCFF9658 +F3DBF53BB3D0A204E84702DF6FCF5022E753CA92323ABEDC81071ED44C306A7B +C10D15F905672783BFCDF28D97EE156E293046C09595159C735A266ADAACB887 +7026C404951C27B88CC3EC1A6F15F016D55AE6B5DD739914DBD6861098977064 +762AE2867697967117DD7E3CDFC24D046F1D83856D49224191CBAE95C2E7B9DA +4DC5ACB06B9F637312C1378941EF6B9D966E84DA69E66C43EDC0564D4A9B201E +5CCD830900AC4D4EEDBBA4AD14ACBADA20179AE138CF35D6F830801D7F9D1F3A +B48B6C2EA3B77E7EE42DC0A26C7FDA6EB64DF4136FC3AE0FADAB84CD30392E44 +49DD3F7DFAB77AC2E3A8D16C9BC002AA17A9C1E9166A21648AE2AD7F9DB250DD +2F3F480844C93059796E89238B0DD470329C2AEC9F178B83D421063BCC18CC35 +2C562DAE86EBE6529D19066FAB70C8E73B260C71924B0B3DD652AE37DC2ADCD7 +A3E3E1936FDD259A3F32D669B6CD82D73436212D6CCBE436578139AE07BA8C5F +07A8D2158C8F21007FC0B96E2B3588466A6FAB4F70363E994AC4FDC2CAB3A478 +9C98DE079DF219648A6219EC7040A8FA91BE9D9451BEA89906677866F50B6FAB +E8FC00E826B115CD65FAF738492A919CCB657186BA12260C2816C44A632285CC +25CA1D797DB0D901EECA675FFA1182AD6D48A8A96402D07A288CCC02F8A7CE0A +39084DA379C5FD08743060851BD02A3C9CC298FFA0AEAC5F5E1928C46A6EBB42 +7D2AF9D32BD0117A8CD7B453C66FF39163092568B5A26F210900D466EA5CE01F +14BC1F57BB0D3186BEE9BA1A5648887CAC06E23057199A31781C4C37B1A07C32 +B8AE8A40F5C481C8D2854AE5C2C3C746C4A2B48189A373A438F512642A55F2B2 +3CCD2D5A06A1859B50C1C3352B1B5B56E652F00EE79060842A33A8CBD002E777 +3CF6C051A6D5F02E35480569E9D00493C494F9FB977E665AAE4468E6DBBCC950 +33876A21B75095CF391E09E814D7A03EAA19BA0D7A560610CC36EC3A9CA39CD1 +4A359FBC14B07975379B68949C9FC2DFAF037C56C13802A7F66C809549EF2FC5 +25EF3F517F06F90EEDFA6F8A3E5F1F3531A5415F3191B8FA7B0F28950A20A1E0 +6E354480D09729E3A2D6796DB81825DADFA4580FDC7813B7989B18020C3AB1A2 +87E948890C25563CB26A068ABABD94F3D42213218F2ACBB2F5B317311474B222 +BE1844548554B37C97284940D5B7AF9E4CBD884D4994A76CC1ABF8E6AB0676A4 +0A8130F05B0ABAC088FE4F9FB536924A55451C8772B29087B8E5E649DA3B449B +4A055214DF69D0218549440B3665E4D20C5A8660B3E0C3ABBA3426E7820E1A94 +5D273A6AC95BFBF247F695F4D7E3C2BF9FB7C5D7D1E4913953B9595C37A9C774 +3BC37749D7EDF4B3979F4DF8F5D0225B9237410F39AA49791D3E9DD2C1C33B75 +F7D79CF6A2B421E9704D68013F510E1408F0C243E58A3B01F2AB6488D1C43C1D +11CC206EE00A0189A780A11816C1490A3D43DA1891DC61E55CCD6C1BBDE82871 +27E7848799A526BDC965C7382E650485A05341E9BA6769B4DE062EDE099928E8 +B5A7A5748A7A1AA6707FB743625A9C2EF7AEE00D188F914C8032C9FD72F110EA +A18B8CF1F442FF1D2941ACF480E012A46BC423CF80B8B27F71AEEF12A3837683 +B835F569BF799016A0F0DED29BDDDF42FF4B0C6E9DD685DE6FF0865E46F55D8A +2FC8EC23D31F281092AEBB07C9002ED1D7516AC8CC5881CC0B75443DF6DF9AE7 +0C373DFB29294713B2D142119D8097A35EC6EE55B0765351A47A433634F8AA99 +AC77CDFD58E5B4949F68A3B3AE8CEBC1461957D757E82FF2EDDD15631AB33EF7 +93175D3F26FE229E828E09BA0E09AD83060426A04CC0D66C4A5F68FF07ADCDC2 +DD0D86454F8722AA4DBBF313AD9711DCC07FD0FD78829201FCB6E8F101E3FDB5 +604ED8B8468235741A6001E63A13DC1019804DCE8FB3E8F1275C19515045149D +757890701A6EB0262C1E616C9BBB2E223EF07EB47A4A767280CF6AA71F21F158 +C945B51897394DCCF42E5DB57A3FC6D68B9933A9AB17A11C83CA0EE1FB3F4549 +7A7AC43B07267C8BA09F3AB2A52C6E91D236554B0C0E25E50F6CED6BA46EE12F +935E4E19DBC6411493EE29335EF6C3FA87AB5E70C028DDA186055C308A2DE1A9 +1193B3E15B11D1E155513349471BEFFDB5C5071BA393A1EBDDBAE2B346E522B0 +1B2812B4696369361C43EF9A2FCFCD37D32EAD713C35A1B358A0BE920F435B9B +0D53D5573F96FC2EB63BFF0EF59B177319B02EF472054B64BC918D7B61C87250 +EE1DE8ED8C365BCAA589B9FB870CF3431D4898BE3A5BD9ADFDBF9CB20B285954 +FB18AFFC8D4C4C3CE1C15236386F2BCDB0A89BE18ECC88A189395448FB8FE090 +37DE2E03530D14C1C5A498DE640F91A4C092858AAE8ECABFD3CA48388486423B +EAAE8AA6AD668286443BFF680A4E5475C2AE27FC0842F10EC321DEF74B3C9383 +0C1728E7D5014E53D83416658D4D039987A654231BC50937B2C71318A9671AD2 +DB628C3C99D0EB41AE2E505CBD33BBA5FDAC7439DEE3FB3422118CA5ED5023EA +58BF1D47260AEF9EFBCC3122E42650DC69F3D8D8B575093A6F6D6F93E171C3DF +0C82FF4ED3B1E592FB326B8EFBFA5201E80F474D2F7A68287E3C109A0B8A064A +CDDB2330DC068B5DD69F8E7BB6FE8E647AD3A05938BB75DF93C0B3B03D76EB68 +E0DE1AC5F4A31BC2E23C3CF721D6CD0BBC3030DBD0DBB1BCEA5E136D1522E73F +2AE7CEA2D566F8B32CA888276FD69F5FD361308A71A4B0F4E2CBFC723277F36C +28C982FC82EF3ED04F5FEBFBF9C2D76370E9149E10626778ED2352CD8E7E0E5E +42E27B2E31C542B1F9C172C21F2BE5932C87A6393F9AA755DFC805B5C13E94A0 +64805D8CC48F76E412EADEE158450E74F60E3BDB8D95455A765702996968BDC8 +F013A657DD6D85400CAA4CDF9BBFC714E431DFB0E59DF43AF9816A0042528EDA +29C32D43009DE33DF99DF19C1569CBEE990A0E2FAB94AE647AF6173C690E6F78 +76C5B3019B0127DC37DB2EF1C85ED74F782F2825C52006905D8D6E27BF77DAB0 +4CEA0158482DAE525B9A2CB2686B664EAB54C75F41B90240E89C00BB1712A05D +62743A38E63AFCE7240FBBF3F08983EC757651E74D28BCEE36894A4B234777F6 +E2800ED2D740CA1880327EE6F1609F9CA0C617F2782DFC7C6C03F1D99A94FBBF +2D2D672026CE044164348BD7E4F73251514B6D9543CC6FA7E236F23CCE4DCEEC +2A373F4134FB9E2A51EFAD456C431F08F6A4336955BDAB85F8704AE7769A2F64 +6E6F27EA470E2726C4A660BDB14C8712D5A68AF1380CEAA495737037C393B2AF +07072B4247BB7D012B7AD60091E78D77917B881A4749B9BFEA05F16B9285D48D +C5E38F9EADC31F697F308E11D32448F5AAF124B540D3E5778774B8F09D4506FC +9C78EFEEA457048B2510C1F46F28B9EF8FCA0052ECBFFEB938830A1A5EF4703B +CD1C445DE17A044634ADC6317AAB5D81A7700E90BA2ABCAECE474A22664106C7 +5711C23E9CC8C600879797C785292D5FA15E294C42865B1FDD59A207C388BC27 +8EE14E1F453BA173016D90843A1CE334E917A3BFA7431F09665BE57C0FBE0C97 +0BC8969FDA31EED683C479B92143B88BF6A27F3B18B12E8F1CE2B4249DB7433F +1A0B6F7367BCDE34903049F49B4C1F2891DC381F1ABAA5795053A027E2B115FF +644520CBC66565ADACBBE849218A0EEB6F3D7C788D1E4970BA3120C219BCB162 +596CFCC2D590689276DA9AA8847F8195B412A1584280BAF8F8CADCD2B0AFA695 +76A3190C601B5038E6E29AA502A290938D3C410E7D78919014C1160E7ED51DD4 +AE48E760A719DE1F19F45AD907A5355FD7F82E44300B095C1FEC3DEC920A0897 +79235EA5A815CB73EF76C3920EA385CFBAD1C1D4EE7EBF0F0D4105F7D1C837C6 +E407E1 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: SkakNew-DiagramT +%!PS-AdobeFont-1.0: SkakNew-DiagramT 1.004 +%%CreationDate: Mon Feb 02 09:23:05 2009 +%%VMusage: 120000 150000 +11 dict begin +/FontInfo 15 dict dup begin +/version (1.004) readonly def +/Notice (Copyright (c) Ulrich Dirr 2004-2009, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def +/FullName (SkakNew-DiagramT) readonly def +/FamilyName (SkakNew-DiagramT) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Weight (Regular) readonly def +end readonly def +/FontName /SkakNew-DiagramT def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 48 /zero put +dup 65 /A put +dup 66 /B put +dup 74 /J put +dup 75 /K put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 90 /Z put +dup 97 /a put +dup 98 /b put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +readonly def +/PaintType 0 def +/FontType 1 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox {-15 0 1015 1000} readonly def +currentdict end +currentfile eexec +D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 +1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 +204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 +429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 +FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 +C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DD2D0A9FE76 +DE8B61CED3A549CAC0FB08F46CBFB35BE196B97136BF7D3A7C46BD5B65120194 +EB73D8BBCEC2322379B94E96FB58E7485954D301AF2FFAC68C04C239A2B22205 +EAD28C6A7011030515B132B3B45A0304E110E8C974F5C04A443060A2D11941FA +5075D4D0355D98FCFF3E3BBF3254013BA36ACA86A53D6F3354E33B2FE863D455 +57542BD527022AA7897985AE714A9C8658BE8B9C27152B55006BD61B97ABBDE1 +E6E3A9E009CD076FE4B0E91C23E26EE34F8E522A25E14FBC5CE1C5F5BC58C5C7 +1F8799EE4EF488BFADCC922659446A9808E8DC93405A444CF29D8717A95E0154 +D492A2693970BB7D61089C1DA4FE730CAB8E54EE8EAF17BFDC448BC08D4FD484 +035C7539A085B62D242CC90F3805E4D062BB8E740CFB4FFDC9F8150D30B033D8 +AA39C0019325D55D73B90124FF1DB40FA0901C2A7BDC78122068038DF4186A5C +5656977B39FDEDCF38B41F578C5EFA6D5A10F444F1F28F9050ED449E4D3FAFF3 +9068CC3540808C6CDA14F7ABE17077522704E548752A43DA35917CA50648415F +D57B480A41D97F4DE825FA9103C086F910953FA0772FC8187351E0AA4FA078A1 +375B7ED24F9025B015A4BE39741E3AB021F88E40362DFCFBBD1809474195D5D6 +2392B85DADE46137490589D72A6533CE2F54790BE6B92732AFFD1DAD53671EB3 +D83A3EBEFC4C4940FAFDFF61C84F5DADFD6187F7FF020C9651269A8BF82E7B41 +C85069B65687702D683564991694EDD066DB2687C51FA24AF3520EF0A5DC1418 +9513FF00B255F7639A53A20BBCABD2B82944A927DE371476C97D96AE305B82B2 +A83812CA59705C6725B31A51F9D4DB6B6209095C516F5A29CD0AD7303899CC0F +7440F4CB93E3DF53A79EA6C498074C0CF61C2CDD96C947C9CBBBAE3D2AA01AFC +9DDFC00BF2C84A978A37DDE92EB9107C0825BCD23378F9FD3F10F71F53F1D55B +036831DED648D871C835A2010C94B88ABB8D8D021083A38A0F47BB9A6F7D197D +4CC612D0DC8CFFB07120ECD06ED8E47A186F57D96E300E42626461E9F54F0A6C +7B80ECADEAABAEA5F7692EADBAEC006CF623178FDB8D25049AEF40EC12723945 +F1350B2608109C212EE91678B9705C80531FAF53662F99EBFF021BD55F6F3B70 +9957D9B3A4DD40E0A0A26F95A0188B8FAEBCF77CA8E904A299BD12D0E4B4DAD7 +B3630022C2E2075E7FFCFF5399A2879B850B643EA1F185B9DE01EE877FF83E6A +940C2C1E304C7B834BE8E5D5B7E0B767D2FC94602D458D6F86807C6D620D84E6 +E054AF849415039DC1E8B21543BC7A5527349461334507DCB93D40AAAB7A25DD +BE3FBC8272FF8275A0865E613B637F28B1DB548F9179CB8A3E3953942FBCB884 +FA6343F1B85886C9E40F9C9A554CFC6CF3C4DABD8640D2B9B1844E0B259AEECD +CD40CE4BD3B761A4C31AB4D67CF1A434E9B36C8F072B3FF50BB44813693F427C +D05C53548D531DB3CC73118F4082594C8D2E37F50ADE48EECDAC83B0E45E695B +D814A41E6DC212B463F07B83C42DAEE6CBEAB4727C8EDA65347A11493A34134D +813F37E1F3E3D838848D09346209DEEBBA41A048F991819A23E4A229EC84A4B7 +FBBB784FBCAD1E68BCD866B5154C9D020665B5EB8A17E78150BFCD0E53DFCD17 +37287E3AA3623BAFAF8E36D2F1B74C1550DEF73F9505810D5853801CF1DBEBAD +0A2290FCC638BB8AA51657E089997893D883C106679F9CD1FAFAB4A885D86AE3 +F79BF5FF8CEB3A5AC85164302A223930908858A66117993316EDC6AD20DEBEAD +4FD602B10ED210DB973700FB6D94203EB3C00C2D394A26B50F8BE2E7FB52F213 +DA33CF23FF868E15D6D364256C6B3822E5F034CFDBAD3FD52EEF5A555E5AC14F +0319CC4D30AB2B841033DFF50A6DE2707D53AD61222000BA4CD50C7F352BF074 +63062EAF129667FAC8D9E2AA0F906C97E79F156C9BC16A9560A37A3030A63828 +B5CE8B9214B3B9511B06FEC6B2184D9605A9625E16118067826807914B9FE5CD +E4C610DF6C781B28E4802F05176A4D1DC4559F5B51C2BFE780E23BB321DA56DF +9ED733D96375E2742A6129F45971906ED5EB6066EB2D28546A2A9DDDECA24AE1 +7C231BC951E4F9A519E95BD280CC0F09A9226161E620388F557A4C8683B52955 +9F1898399A3DDFB35CBB72DCF2303A7AB597AFF7C98EE3B845816CCBE684687D +FE74BC7A91D0693123FFAA2211199FE9204401A8584EF9A3E7703725F23D575D +B8C763021F096C615F8936C01FBA30D1CA7B8ABF00CE962604C6C27D90FC2641 +237A489BE5632B1E4252D368775F3B71698F9D8B968FCFE7434E36803A15638A +D5F117D595A83EAA8E5BA26FB60C1F82C1D449CB46EE4E8A5DCD44984FD1919A +3C8130BAE5577893D2FABD400C4B96258687D33C8064BC8286DAE00E9A489B30 +45248E6C9E93B6572B7D44E8E44C14B07B9EA494127574D949072C79419D2CA7 +E1CBCECE2601E75898C6E29891E4164049518C99D127E90DE5B48C7B4363CC6E +E334B6959B1A6603C837405B10E1EC34D358AE7FAF6099FB922A80782F706B00 +4BF178D86334F190823B76941DC1B9BFA37CCE05770222D3B2D3E1AB0E9AD056 +1C8DB2504FA682D70DD16E8176952B24F1AE4D3E77163127FB2FA1DB94C9D149 +6F2AABA9C5772726F60B214F7B9258D5D6AA3DB0E65D114FCAA8EEDC3DF77DD5 +2091E408B799859A65C144FF9F7474ACC962264624981EAB23A033909325C37E +1E2D0CFBA1946435BC59878E5DA4508CA0075D07FD42E16E0CDB78BA7BCA00EA +900B25DE08171ECDE75BDF0F7BF3CA116C3535ADB96E46D17DF789BCA6B43E12 +636453C1E31E1241708965E16002DBB2DCDCA6BEB765CFD9520E94FDD4FD1E74 +3292141F7408FA7E9A8751E0918FF61B641E386F7149C344AB9A7D669F989B09 +4488D3181C46CDDB8FE7ED16328AA6CABDE39F330A43B3D78B3F655B3D28E5BB +6426A755DD9416204CE9D0690379EC44723393B2766AC061503C815FF6946BDC +364791098A06E5F131BB993E874A0F1B707C0B7BC32EEA5FD03B74CD94F14021 +83EB49EBA4D95CD91EB27BF304780C07CD392D1FCCA0A46A1ED66DFA8AB3B494 +9390EA7625BCFC8D3D93A124CA0323AAFF118A4E14167B4966A696EC06162F77 +FE06EDC4E1678DD578084CA21F359381DEEADA2B66FD2C9736EF61B1F53218C3 +BD4A842275777946D125C376C7005191E6A94A18BC1F5E01D59D2DD4FAEDD932 +EBF29214E8FCF17ABF4B3A5F150324C44F23171413634F27867D8B25DFB33E7E +595271E39B12E4B1EFD616831A7AD857F6344149A61AE9D4ED1E2D19A8395F01 +704FF1A435EF8D03A4E52046F47CFCABFCCE738C641FA6EAC69B34B32C386B4A +EFBF9FB6EBE3AE072E0F0EC9D387AA6882E60D64987D6C41156A5E3B58CE19C5 +A1810A04EF243C4B389CCF9385C7926F11DCD8F0D30D1DAD88A4B9596369945E +95D7EFD4668680FC91F9E589A5542FEE695AAF85208B73F42BDB8FE2B5CEB9A0 +CDEECE5DD22CF76DCA5C30A7450783352A92D61FEED9E5144089B9A6B2A13ED6 +326AF7C97DF6BA69A5CC09D4A3AAB93089E2792120D2892DD196F966B8BC40B7 +F40F664FE27884B20A26DE28C0A6BD1ADF36A877FCA73E841737D9AC20AE572E +4EC4D340740D21AEBC1E8A2251169C396C96B841362769D38B632D26186796FA +747FE003F2B6911BB7C8E09E300757D3D997B961B78F00E2E77AA867FAC8D9E2 +AA0F906E74E3F93581E275BCA54E61043A9753BFBA761CFC749A982411F639D3 +8DEB8EE1972454CBDE0C9F18D9368C8201F80C493C3175811A1BD9C7EAD1432F +1D1E5E4E1A9871B927051012D2864A021A33464FD6BBFADB6ED5EDE8ACC0DCDC +6AC975574760A21D938B2CB96BC756FCCC25C8D81E329F4905EB548B13231ADE +AB5A63C8ABFED86CB2A7A6D5C6CBCF63B4FD2248EF7BB17D9A1984899BCC9CFE +4104A6271163CB8EEE725656A2C9453B33B3458F4222AD3EB5BA7A3B41C2FB3D +8E18C6B16F6480C217F56B377BEB3D2FCCEBEBDDFFE3A1CD8A96F449F1C703A4 +483BC87515B9CDBAB1825CF51E1B48BB73D080AD03C1B09E6D0D408F8325BC1F +75CCAE15CCBD0A0B0C4223F9283A80F732A1E197ACF8C458AE53F0D8541B4326 +BD60C6E80D4A9886D92E764E728C363B147B0803E8997B3327B7890796372528 +F9B68184EDFF198F5AF030704C1BD95122BC202485CE04898017EFA449A990EA +3C6B3CA35021D2F6BEFE985852ED46E6741025EC979A4196C2A7B48B1CADD20E +9B340ADED2085D131CD9EFBEE8BBE9B7211282A72B26CBDFB46A2CB07A666E4D +D026157BBF29F05066C3A202A4E77553F9C26F310854223B29AA3B46BF1AC9CD +5E9D4F12E89A92089DBA3A48A013759633F6F046956FCED84909A35C273235CE +B7C4E42B2D8E4A42607F49B45C3C8A4A30B609BEF513096506D6194BDE6761D7 +D7130D5ECC755259B032CB0296C116B90C3807ECCF932C5BB1B52AC4D223BBF8 +E3DC71BE41D26C77E2A9365D6588344BD70E69D8782FE0AC41D65B6506B2F15D +BC6CF986D5E31A3D60BFF389BE97B750CD4017C1543375C9CB2090624BB22393 +DDB90DF1D8545651EA776FCBEA8976F522C889AA3F48827DD9280D36D698735D +AAD56CAB8F59FE0F73577B835EE74BE1F553316A7E538CD3D8330D96CD8F687E +8947B12E123AC89F962F83B0405EABD1DD34C94719878B9D613AF0C9401D3226 +50F91AC088F0FC67D0A203C2C5F8EA79DFA2CDC53FEE13425D8A10F2F289DBEA +3B9DAD21E9C431EED6D4BF38ECCF14EE2FF0443BF77799E457D590247135469B +F2B1CFD04E1F92DCBA540C6A44B3025DA828E07709862B93AB33E5B66B129048 +22C98237911453E020BCF9BB1AE6F5715FDCC38757056512214E376792DD6174 +77CB5EB50F0CCEDBD79DAA0CF6254C627A1DA4B2CA67E935B40F0E889848409B +A9C983F2B2B3C3CF693463F4D877BCFE28216EEF35791B1630B8CC439F7E21C4 +BE1D31DA3ABB5D2ECC89574A164F24B2FB113FEEBAC192F023FE5010518D82E4 +B822F07B115853E70EE5ADDCE02196848C1EA0416C107592B777CE6D6CEC0C2B +CD652E25410AA9BE3AE785499CDD7B16241E24EE75116CA9B45A9725093162D9 +C284DD7A9DFEBBD76941BD28780F1754750FF4863C43F7B4CC4CEA183BD1C66E +B4ED9203381A9F41911587C9A11BBCD1B395C71F3D851DE12D1C1DE001C63AD0 +C72E1EB7031723BA7DA2BAD9A4BFC40E25C5B56C9DE3CB89C8F5787368FDC793 +0185A796596CB762BA1573E6C3E5CE41BDA443ABCACECEEB8139316D29D999B7 +9F7549062D43D492C0F6DDA50DAF29BFF9240B8C62DFD2579383F10DA2B09FB2 +3038E781CD8463856F64B897CF18987364311D115EBFD3F8ECDAB21AA6B30547 +1459F980E16FFB6897FDCB8C37E3F17646EDC94762C44B2188B55AEDC95B8890 +19F984AB5C1ABD2BB2058BEF8E3F28EABAD4CD2EDE43C547A954D74858209512 +656BD2DE32581CD63EEDDA838DE1FB8EF40078DBAB922AF45DD59D491DAAE3DE +3F7B935A46B8C43FE8F6B55F33551D27629E0FCD2F4F04513D25B9264E3890AB +7512A7EBD8E11EA70060ED817F1173E55F8FC840CA85BDAA4E6D09D1D5CD349A +DB4525E8416562C7BC6FB63EC0C3A27A0444BAEF41063B507812C14AD4086027 +944CA92F04E2CFD518D512E4852E08044C7E99C14014AE118F07B7C4C9391732 +ABD2542B8041965FD2AF1E1DA1697940971B093326704A8175D113DCE2D03A10 +E9EBFD03BB2911099B07C3165FCA696CA4083E1E1176F994F22E40D35D811EF6 +CF984A5395F4BEEEEC7174802D779C2F67C5A0011EC8335CCAE1385E81DCFC02 +B7C168529453999213D8E0CD0FF7631E7EDE56D17B55BC127938A7629A50E4CA +9E2605C1634E3638C035E87E287CC83EC1A2691FDD88FD1CFA265A4FE93764C9 +57BE134992C343AAE11A7C2DAE161771F8793F7BB8AFFD5D79818BBDAB21EB0D +3173F7F167F3D6FE92037178BEA6459AED87D4681B146DAA8F30E0F6ADA2A990 +784F3DAA163BD6E2BED5EFE08C4F314C726AC9540033FFA39DB14BF890BEB63D +6BF5FF5A878B46FC3217F9474FA8B25B9C2624AD65133416FCAEF37F726416EA +6B61161BE82F86B3F0391D23203403317595503A2DDA45095AAACAE7757C0EF4 +39BE5DE9EE140DFEB4F5E62855349C8A652DF82EBF80B3E66B81D25DAEEFBE63 +D60A76B0CB15B228B69F8D6FC392CD143FD9E9A560B2464F5B0B67F6BA4DB25F +56CBB557C302C51409CC8B80E27F55A17C4D92B288CB70132A91041962FBD1FC +4100C2AA1A0A98C1AE54A5786ED1F50F8C14D901F05BCE36E48610D0905654A7 +EF671899B0597C5FAC7D7E93399D380F922114075B689C2BBC8DEF0820B785B2 +C48E3672BF9F86E7A6AD34392454E12D93583320B548189D085A7DE7E7E9AE82 +A1F2E2B27166D9A6A565D3B8D78BAFEE3F290B53F1CFB503BFCC4BCC4D15E533 +122066FD57C70585D3762F7A5A783A3B2D52917BA6ABB0D780C73FD2AD184723 +D40E0B41D894AF51A606BDDB354DCA62E9BFBD58F53AAE1C8469F0EE1779CBEC +D82619B2211866C9ED7692D6CFD104136DF446974C6849F5CB93BE6783A7CF56 +2808DEB282DA1682EB6AAA9D71FBC8A7A910980F8BC85C94014B5D3BEBCC46C6 +DA24B5797565728F6AC5C4124B32A9991EE2908602464FC1D510072E9D5EBD6E +7F0933ECF0181E11FB11370D9D0961B1CA4F46AFBDF70C44832CADAD415BE3DE +DB69F59FB2FC1B94FB126C18ADB18BE0F1CE41CC5D839C7DBAA10C52E5E9849D +674A1323C42CF5719E66EE0DB3A0A986EADA0BFD598930A8ECDCD5BF7794ABC8 +40EC15520D0A497ACE831543D6BA1040D37E2A19890AE61702761D5A36105287 +7E3D61FEA7763690987B3C5A59CD55BE2301D0B367EC15063EADFE778A1E8E22 +79EFA70F49DA9188CEBF8356793BA518AA14583D578FC599ABB08EA036039803 +C6F6ED319A9A64A8B09B5C3E973F69E135B9E681F97B5B0D2BD96566A024BFD5 +11D8E12C057F5EA9AF3299C71EFEAAB7A20AF19CE95901AB2D8F47C7A5E2467A +F9AC4D3E88FB6105E25BA4A48F6571F08399B1453DFBE50870EE21EC1FCE4CFF +F081D950C02BFBEAA5624B4848B9045BAA30538F47FD8FAEC5F62157795257BC +CA73B150C73894551FAA382A7BD77F543BF2B3B637938BC8FE2375FF09D31492 +E948BA45FBE75DF5780568B7814B30181476F29E18F5908B0D89C26CDD5BF24A +4ACA3F82909969A52F42AAA57BB04DE30CF24ED277E915C5957051B5B316FA8F +6565B7CC2BA3CD27638900C39EC406227F9F4B971105CC19528F2261759A9D21 +2B708845098609E427D2EB6BBF2EC2CB709BCA425904A35F9EBFF547DBBEB17F +BE5228E14A389F08920B31F78D593F0029A04AD29A513B7D661CD129CD4A4941 +D502924A032C16000B4433B3FB3FD74A91979EEFAFF4F750DB0DC406C7DF98FD +59702BE48981F5D9A64324E19FABCDA67DD2A7BA394555FD79F6E52E2E410380 +A0AC5249F43FB8F082DAC54A0AAFF1688710F25818F578D26CEAE7D995EE4AA9 +C8E5A4F5915F3254C11D446060A1542B74D7A7D21A098F14C0DABEBC833F5957 +3B146A8DB8AD33ACBC56068B7EA6FA284C9FAA55BF5ECF120656536C2F60B91F +1443715D7CFDE189398EDA707F962A4E152C8113DF80D5F696FC6E2794A897BD +8FB822260046C933AABE788686CFC4049EA6B3CCE3F9E24A35C5329821E00E3C +54AC2DE64D09F298B3C51C2CD304F69FF0CD05F096BC293FE035D46ECAD9B305 +8B1EEB8AE8ABA78E407D3F1DF0E33F15C94CD8FCCD1EEE69F334EB4BDB2171F5 +C30974ACB3E7CF062BC0F3A66C72534520CBDD2DD136FC557A6369335AED0652 +37EAD55FA9C1CC263135B356A79FBA652937347D7A6A0136F4B1E88225014BBD +AF6B6C58AC69C9F36D69247885962F225FB67765C1931A3B2FC22FD01568483D +6F7A13C843F10085471C340B36F43FC974A7CC35B6469D11569079C0EB921AE8 +D60049CC3316DF73F6AF536E54B81C0E470ECFD60455CCF160599B61451348A1 +F715433136CE96C9A192E576C458788E6C283C607738A65E89A6967973DF5903 +DD6E2CECDE0075BF0A04247C703D0FA70B3F864B40ED5B01EBF71848F6AE6234 +C673574AB0CF6D4AF584CFAD2705643B28AF259DA36A62656566D3B477B4C1A0 +64DCFABC6ED9F21F52350E85418ED5EEBBB75077C165BE2FE20FACA7B3152FD2 +CAF0A435007F4CCB5B1A8E78E7214CE0C744ADB226D4022AD5ABED614AA483EB +2BEE0537C05218423C14422F3725AD3467170B4D8D044C179DFE352EDA3DF3F3 +7F06D84DA8C7B406D054FCF620221B4BD846504053DB08076DFD56EA70C7BD2E +67F7F7AFF76DEA17DBC676341D754A75C894DB125769D29C4EAE9AC26FF415D4 +99A7CC908A1FB15DD412E992E9459E1668A2ED9A73BE8E59F0F2348A2ADB5981 +46151B4D043DAC22ACE46B40AEA593EB16D35D037ECD96BA7B7D72EC9EF15189 +B29B8F026776A4E2DEF3A8CA15CDFA63E62DBD0BE5A2AFF60AC0956538B3BC00 +22479A63B62108E47FF0A8E288A3190A2F8ECD905C115062D53910EF1E74BD5B +5239F2CB9F4FDABC722DF4392DA8E32E43550475F3427E7633C2F00C50DF7A4A +172765135EE311438507FB31BFFC46EB17DABD875702C05640E901476DCCE1EF +2DC1C358957C1C55B79D9F0FD1C22296FE093C525253CC45EC73921473691EDC +DC075D3ED55D04FD234C1C2C25DB23416535393DBE24AA287A88F8971180CA1A +08710C65F7AFA94391AB723395AAD568C7E33AEF68395F4981CBE280732CBD43 +1B7431DE42540794B8337549F76B0139C5AC272E07E26D94799F9DDFE22562E1 +4E3B5C8D8DE89E2D6FF71E9394FEA7BFE9821E4036F28FA82E9A093DABAE0AEE +FEBBBF669EDC211670CF21B26E6AE6F6CF75844E0F93B42842784C178FA4C331 +2C0F692C03E4C596C469CC59BC54A6429338FFC8E168E933EE005422F18FD0A1 +89E5C4C6A1725AEBCC5CB1F7AC46CA2351467B3737608D44396AE3AFFD687E02 +8B3BFF32AFC8448C311983AC222F890893809DDE26BC5EDF9BAC6F0799C903D1 +8C6704095D2BD19712926E230DD02AEAE6461EDD83AC935ECA0F0CC3D3B7A1EC +FC649A614211EBEBA3D0A82B2004F815994238F3B603EA8489EF99E770EED78A +968F1DC4B267F5CDFAAF3113D089D7C85E5859F27B8DC4C5D861697590D9BB1E +19C3D7C3A7E1B95516EE38062D4EA75917FBF6D42D0B1804227B1F17190B56EB +D27CEDBAC9B945BEA3F6A927E3BA6903B35183A80EB555699747DE2A22911C81 +895DAD7D74B8182DB648FC01DE11C0F21F60C262B4F5C0C775C25AFF4F5099CD +3A2FA59ACA73571055ACE5F0257A53249617F3F4D9F5729FC7C2509021179DD4 +D8518F68846E3E5386A1D75068986D021414BCA5F29D060610E429744B45DF03 +2165ED466E72502FF62388829C78D309DB3B4824692E85E9320C26306F915148 +411E4AB3FCE54B2EC4E0F6D4EBCE888A5ACBE4C407CA59E7D2F6D9087210CE13 +D82DB656D4579EDBB52A85B1A79ACE87F60187BCA7BF49476B9F9D6E5FA63613 +E3F0FBD72EA416F01183C3C979A7A0FCD17D37602FDA0F5395C8B6561DD80E28 +CB93AD2E33E505A11DDD2FF8C9C8FEF5900AAA46FC235D65E21FDC40C05D38F0 +18C7B961E0B68825282A20AF919C35EF771C5C2FE2088FD0A9C1B87F584EA540 +8AF5EEA5889725A78B89B0D0134337E4959A8CBEA43EF35433B3D0F94E9AF89D +BBD21341C38CE647F127AE96A57FD69BC3CAA1864AA639D6DC17987EFAA23D84 +4D7BB0C6EBF40CAA5DE3A730486725CB4040B31CFDCD512256816C142ED025D6 +AD169D535FD6F7B4812EB825918376AAF68B2BB41C80B96A3D3B9A613F488652 +BEEC391245945B88139C4EB9D20B623C1DA9AF2F7D16D5687F6EEF459557747C +CE0D2FBD2738A24573CB09583A78A6549FF60F9980CB3BC380FB32B28415AA82 +A5CE8754EE149CC2E1C76AAC8EBB0EC32A0B1DD283E57D897B13E94F5EA3BEC7 +206C3EBB17629125A6EF88167AFBB4B1B71738ED8C1293105D09341E2F72A325 +3DFF244FE7B3027C6ABE87D7D7DE389141A2FE88F7E9C9401F8C4C2E533D8905 +E28C7A75E36D4FB400BB281194B6F740497C5F2B3357F76CE8974AB302A9DBA5 +A4214055B90009EA22FA33B4AF96117806FAAD0E761A116748EF16F2B426C369 +247FAD0E90BD3CA3BCB791C36C132B1827A2AD09E019403B91CD8E4D89B34336 +CDC17DE2EA90353B87025524283F4864FC0BE61B80C589BFF5C4C35D56ACC421 +647AF184021396579AB5300EBEC37174560DE92D8122F8C04F6B1EB6CF1B5EC0 +73C6294F2D41197B60086AAEEFB24223F5847CE60F6E83F8FFCA1FB06662196B +AFC66EB226EC5624074CFCFF29450170C97193C83DE369C48C9E898787E475D0 +5C71752556D707360BB085F25F01992F06846EEA1504342D7B63EE9F429E038C +000343A09DA0DFDB03580FEDC3E27F14241340EFB8C37A265AC470A32762E684 +A645E296312B56353D4A4EC43CD13105B21161607CD36D1BF21360CDDCEDD19C +2E1125907454F4B937A58AAA65FC77DACB8832A7F896F705B48EDB0ACD864C3E +12E56395A38661AD0EDFA2944FA7CB003FE088725F37CD5D3298E0747F3D44B6 +CCAAC972B7484001343EBE07D93731C4CAF4D3D801998C92580B93D9168EC94B +141D368D2D66F5AA22A219CB3FB6D1082423D45FA9DE5AD5280D3251DDBE86A5 +3A2F2F63F5C2BE6B184E63FE3BB8A8276E8BC23C600727DF268593657E04F23F +F5F9C59ADCDF87E47BC3B82C215F788260F9229930D9EE299A26AC58F2140178 +F6D871A697D9CB34D61F638C065EF056061AFE59E31C167EC77A5680CC198B22 +5BD0A51205CF3B166A1E5EB1579882BF50393D71887895ECD4FA2BB17E5CE8E6 +894AD20C70791715FFD73AA5728233B3AA2C00997B099B0F31D01D082A379E50 +6C196F081950DB2EC9A0FED3DAA1AA801FF89597CBCE9047D7A6B02F74B63C5C +2F00CAA693F19F214EDEAAEDBE98C6AE080F50E8E6360C7D1093C51FAA556406 +E3A843FB007D4613D551F757C900AA20DD8F60F31401B13A94EF78CC8C3A43B9 +B7A3D1EF13EB2673FD0F48FA5185E258846F230830213BE358E7BED98D4E4C43 +8BE5D3039E76A62D2942C816DED6DA82B63F0614540005FE84ADEEC6EAFB89D3 +5DDCA3297025B92DD631607FE829FD1B6637DAA0053E9B9571F0F88A93DAB433 +ED2E523AA46CAA945C12AAB8F9E3703D902E881A81222FFCD82CF657AA11C9B1 +37D6546D5C03688DB57AF788FDCE436E356FBDA953D3A49EFB9DCAFA63E25871 +E6E75DCF3B2506E3E7A5C7A2B31B7480DF972F362ADB6FAF0E0C56074CD8C3E6 +9F5AFD51471E6F52EE3D1E720D32D33D84E76C5E629BFAEDD4129301E53427B7 +06EBCB48C14A7836FB12C6FCE9895B959EE78A440304BDD57B4162F0275AEA47 +19416FA7905CE046F7D525A2D9490FC6771E15CF5B80D35075B5611F9B3D3188 +3B2530260637C870E6D9EE417A44DFC3AA1D0A20C7338C8A084A02E9BA9C8771 +22742A556E8F832756381E18609A25C72501AF1C1B2D687CAAE750356D18FF26 +0EAF10AF1BB1A7F4E43A160F47C571D66A07A191F1442AF2722947CE71592964 +50F7C7D3DD3E01992AE7C9CF1ED19A2E34258496E014A39A63B7898235715C97 +EA8E8DA6A2052E8BE37DF383F33F28EE98BA0FDF73EA2FE84C34F32B465E2010 +0C1E3057749F272CA40A90C07E918339FB08D48465F699C77B71C3FC372BEA00 +72380DBDCEC5F91EED753AB9E6133EBA5D16AE0A25FCC03E8AD35CF856DCBB30 +C4E75EB7C1A7BE4057008C943C4203E228E64F2012004C7C02CBAA242C2D5A97 +4597B22BFAD26475BB78BA1B9FF2D83473DC97D971A31FA35DBDD6CCD7D2F5C6 +B0D49134AB3C691D87D4EE2DE509C8D44BD742D508CC8D8EF117DA2F0F8E543E +451F707B2CF25B97DA0FB7C3030A13F4CB83101AB77649E3F11A1DAC63F7CBEC +70BCCEA1DD5DB0452D952C60DCFD745EA781C33D6159D0C01952E9851C0D8A68 +B33A6F7D09417749C94EAFA3326B305EB0B27AE1C04FAA4D893D3A47C33FC78F +D06EB28A3E2B0562ADDB1AA18C05A66BAC5026D0FD8DB032C84C1F0D0CF5D5F4 +7E2764086D228220C2F3D77E57C0BD2EC4082276B858327663958260C3CDC25F +44E2866DE2EF7832FE6E9C0280A08535EE0EDEE7AFA53E2E438EAC540769F12E +A6348D37E1219FE46441B41A892978FC123904F7532F2E9BAC4B1AA7B3268F8C +F9DC674C48227BE09E63C87C0972F80076E0C79F6F9BBFCB4CC4F8534BA1B2C9 +8B885055916934499D9A4F81970E6A77B7A3F32099BB293FC9327BE4A66E8171 +A28230CAC2940B5947C4ED69261AA498586763D6F2098CB7F3DBED9827CFCC7A +DC6D1950ED64831C18AAD715D3774B3759D056E3F40CBD377D73990620892D97 +DA1EBD97D3C906DD241C9DB84B5978A7F69FD254ABB45BBD6619ECF6DDEF37F9 +C5E372B8B03ACA3681170440BFE82F6B272B13242044C7D933AAC990B90DA35A +29772EE1E4F46A38CB9F600759076063BC9C6BF6B2A3E128DF9D5D17B72EE6D8 +415E3E4D86A788F54E06B04854AD617C93F431708ECF484D811F5EB3B83956FB +2603C5BB5AA042CC8FC0A8317E759DDC5C6C5A4AC9E21CE0ACF1C02A9B72F3C2 +64E40D218246E7CA384F311F23DC5A7F7DB374E0E3D066CE1D63806FEC35AAA4 +100ECC05416ECE2F061CFDBC32147B4EE770072ED026236425D096E84DD009F5 +5A48C44CC3138A7307297BF2B08A80874CF0D889281F4761B0D9557451DF3DA7 +2DE6C083E4FDF42A54520864E06191C88F62032F15D6FE8A368B398CA9379AB1 +292756DF7066BB9B9088EDA3A1565DAD1C08E402BD6CF4EC99EC3CF3C97CDD3E +0DE35AC5CE15B36401360DD1D3A7ECF49D9963C57D5A69DD11F6760850FD686F +798015231BA851FA8C1F961D71CC4D1A11BEF388D2B7B077697FC8F451370398 +21527F91F5F20D556E956F19270A4455D81D673DF28F37969C9B8A4E33DC3B95 +B0F930AF46521682B8C2C06DA7ABA7365B5469ADE405BBA790C8AC663D3D8B0B +6EE23BDDDFA81DBEB89EFE330DBC2193D0CB5AA9E8431AAB8190B2D8CD0FF25B +6F484D43E89DD0C4EA851AF4CB1A21C8F99509E2AC88699BBDF814F7BE8259D0 +00115DDCBEBC8F14F80728870976035BDB09FDF8841D1EA16A052AB54604EB02 +505B3504802D416F3FDD229E4FA374413032D41E49D000F673BF02C4AB1378E8 +72250855BD525A77989E7F7AB43F3D9DAEEBEA4F5816EA818D988983A453AF25 +718BFDC9B44323405489247D74053915CB74E458D104621FBBDDA9C07374E48E +C0F532B8C30B22CB0D0F2A48FC5EE4296F52B8E1CF1D678F3C26D1DFFB2DB9A9 +81E3997BBFB6AB9BFD7D0345DA43E917069C2E5A7A205C68E62261CFF48B89B5 +0829367082D5CBC15179AA9B8856E6374FEE2DED2612EFDF26A7AAA13916C3B4 +38CB2D19DD2DEB414DFD0EC3149ADAEDA84CDAAC4D4A7AA12DE56EF0F476F7E1 +7B52C16E45BBFCAE27482D0B122DBE0F38CBEA0C0EC3D6081CF5166D64EA42FE +BE65AFBC49CA12368B0C4FF30268850F19748BDE81050299EF376B0BCEE724BC +D89F13DFD07FFA1407AE16575C363FFDAC672B635E55AE7DBA3877950CE83F4B +B921CAF0B7D128D2C5F433E7429F8950CFF585D6D77443726C9E61DB4E6B4C64 +CDC5D1910FC5E9A82455CF2ACBD30F2BF92813B3766A44A7DB05D5AD103ABF7E +871C485044C0264EC79FC5E180BE62BB02C8AAD47B6B3D4223BB696725223A06 +286E357066AC2041236804808B434CDC5970A61B02902AA15C39028C26214AE5 +7996E505F90584D4457D31F32FE835691F35936C5058145AEFF4D474E289B5D3 +E88D5C62820475BC49294BB66E1C719AA298DF6D4BFD8105B71AC8CB616F64C8 +3D83AB85DEECE7302C97262EE71CC9AB380BD4AA27003ED7AB9306CB76B744A2 +B6DFA69E23C072B94CCA39F01660E2F9AD03307007054179389B90316F00A491 +E5D5E54937B9F6D445F2D54E8335B92A3661C980E1CB520B1F109FF5DD1B2C1E +2DF6F9DD3784933EE4CAD908AD8D2A15EDD2C0D6408662F9C57ACFE816619D44 +ABDEE69D695B81E535E38B3A6C6F5DC908F4EB8169C7AA0C9F59601233990344 +8B3621F8D578877387723BF7A30D71416FAC38ADE439CABE703AE37E598939DC +94B19613C79702597E31B4E170024E1A0340553B02FC5DD761B91231BA70D919 +81C0DA29102B621EEA28AA0622135A8D3562F20F043E7D9DCE370CD30BCA81D0 +5C08AD22232D08EA71764ED574089E864B12B8AD46C5554A16F707BD654201ED +6FDF8F0D824991B80054A4F3CBF1B0B9EFB0DE74A4EAB8011FED42A3AFDEF56E +0D31667C6B206B73092499DF66534FE418EA3C70653C7289843BD9317A1EDF3D +33FCEB6BEBDAB0966FEE169A23A76A525FA61CB1292CFACF46C374BB0997F686 +58E2782C2ECA15CF3B4D1448A87E42CC4094DA61BEB4CB1F24C159C72D715A79 +4DDAC90B9E67CE41D99BCD84E774AB127B923FB4B31B6FEC747FE8628F1A9772 +0DBD052E98BA90C29450FDD7BBDFA8CF473527929D14015228776DDBF2F73325 +978AA1BB6995264719930CFF839282CACAADA2C284B1C5A9EF450C2AF472F345 +240A06D1F1F2907C0C2EEB3EE7D75B10E351E459083E89187FEE20F2CD624DC6 +B4B5DEB78FA951FD627F4B644D53464AD3D66B445409D8EA62FEB927796AF4BA +34CBF1B167BA85A4B102C8E2758A1D50F9E5034EDB0F8F4FBCAE139E037CC6BA +A8846900F339A983DCCD6A7C82155C20788F91C94A2885733766E873A998FFCE +FC5EC3EED1DC39FE0DB262EE6AE3E718027A6B03F1E343DA8E08E5BD27C03580 +5E9E47E644587242D5CD0A2592D8D1290C549D2E92B8EB706F51E9774F884DAE +245CC193EFAE07259C1CC9840187BF837078C6EE3E23E029B8D614028560FA14 +96B27C7F1FCF54B472F19081E69B251EE36E55399339B74D9BC64CEC4E5662F9 +E5DCFBD532B51230DA0EEF198D0822F6C54C87735BCAF722FCF7DCD072DCD2CF +2C45FFE2F05549DE18F2863A226757FD537F20E4BCCC62613B41CCDEBAF3681B +6A630278A827AE2AF8D257C1A5F5BADA9FD94B35BF91F278765780B667F1C495 +C865602C9FE71F7235C2DE7ABB1A2BD21E5032ACDC456EDA1CEFD73BF776115D +9BCD2DDA1E2F4A7E42D8437B75A22BB86727ABB18D9886DF171654828A941322 +D1281484C3AB629B0362077DE8ABD73B823DBF4E5F98CA8FB0BF58B857422156 +EF9EEB2C1ED4AABDDE31896634B81664658166EFE871091A7F5717A63D76999F +BA160AAA5BAED913C7336DC682BE223706373AA5B6BFCB8B54E0C3CA2584A6CF +1552A4FAF6DD15CC7723669EE1FA2AE53666FCDE7162AE10F88A7A3E2D30203D +BF119B1669F61074EC40C40E4E5928279BB3593DDD3511478D64E827ED0BBEA1 +42869CEB9B1609D48A7D816C2C347EE95A850A870AA28EE952A73FF9BEC94DEE +44A0195396D1588A5265E2F4EDBC12E8E133A710125C8D74ABFB2B5E5E9DB11C +7BB68537A5A136DFDFB915F9395B3C6DD82A73FD8C813322D2F21A5EF3644532 +A903651CF43F2058A130B81CA0D141FE095B46E4ABE15F6F94E44D1731662FE3 +9ECD68FFC53464A6DF9F5D6FB27161C3E844A528EA3ACA74985B43B8B5051B61 +D84E7FB513D8C63A89FC0DC5FB2AE65D72B8AC7C6C7B5894936880BA279BC1C4 +D0FB0020494BA1AECC8F4BE6DFEE35B37AD3FCE9F217465D26D2A199ACB2FA7C +9DF1BF064E977253C714B7083F68B4547F254093032C9C53FFF0590FBBD5D99E +B1EB986E538F1D83C67ECEA652CC01184654CCD532AFC4300E634CB66F3C200A +73D67879526F47CBCC6DE13197AFE5146190560FA62A01BAE13F80D5D9AF2EE8 +706A0BF373922D7C1553D1A1FA0C1BE46F902C1F95B8B9F71F697AFD7140A1CA +6D23A721B98A90BF85975229D719FD9C7127AC411948FD66F0DC4DA3B5C90FC3 +A395E4F3447772615028D55987FF1DB5EEACA58F099A1F1A364A70A6E4C5CC16 +235E84E9E19CA3CBF5F37ADFAE65990A9E09E14A9C54DABE4324662F6A0CC736 +E16440667B00342442E04FB0FA13E8BD0090A74F9A473F040F11626BC1F983FD +5CC8789A22096F607AEA3D63497CBE2760343AB18A2BB15272A1A1E99441CFEC +DBE74179FBF051C3975517A48CB70E748D6662F2D32F491BF5BD9913EB8BE97F +A5832DCA7A268C410A939F0C135ECC8D5549A1F3E42AE01D7CCE0330E5792ECD +4BA14A3F9C70179E120374D1069857F5F981590818F880D877AEC81C08CC70E0 +E30B74ADBA378F8E2C64BC3B21C6AC672B001F8E4536FF6449963BC4BD8D6528 +873B41894837B93ECD441B261BDDC9EFD8ADA5E0F78DAD0652C794B1C2B80958 +70E76756CDE57955E2D59F33E08C94594F46B171CD0B3DFDD070A836AF19B416 +BF2CF76A57AA40E88FE1E7A26C5C7003D88E08B64515F00BCEF3EF969FE8CA62 +A821CE80CE3E9972964F5FD32AE2E50996CB7FA05A64394431188BDDF94286A4 +F473ACBA94A37EB59DA6CE7BEAF22D590E3B5C66786C6658673E2275C54A42C4 +D7F0E313E57D6E5F0D2D1D82D25B7B0C609F664FB838E47E19EA331C4A3832D7 +B5E55D931DDA96B18423CE5F4D3EF6E26C7595B783755C587752ACA1F17D7511 +9CF69A6A0186CEE194C992BE9F61F106DF82B2EC187556D475870DEF4E714D9D +39F8F11D2486C9921358A1CF668D260666A82153833A11260567878B4DAB1755 +31336B83527BD4E71A2513B60376806F4FFCD95F5E7DAFBE24BBA2CCE97D2B6E +C1B81C398CE957EBCC9FB06785A471DBC003A8A516D2D24C513F59B4B73C9275 +F948F8C86720122BA1B21C477F18CDB245B9CDBED7C1EBB5134F4DF91C6F0F44 +7D376A7D28D3E6FC1982545029694A023CA2F43C93E7C8171BF30D28F8F273B9 +ACC81B4E5406094AFFAE1F981ACB8E31DDF49CC997AA68A0F5D9010343D814C4 +D417CDE93CE651FCF9C1CB792EBD77FC1CB748DFE942892A2594C25D292F81D2 +998C1B408625AF52B6833709EDCC5EA74B7DAAA7CCFD584FC3EF566D980C5A7A +6DE50F35334A0E474EE56A688427049A83CC56FEB7821231488D70C210950775 +681CB963A3A818D08978666AE291B5086DCE8A0ED586A78659F78EEB18A7CBCD +E31575E006797630E7C788F2DE2DD385E6F57BC3D2C6EB087000CF5CC04E91A8 +0B242F75AB420BBD0E97BD1404CCD25F0954AA772BC2C7873A3396DAAB1C011B +44CDB374094AA3176F1ABB9DFD81BDDE58BB02950B1CCD86A444A8066387BBAD +6EB17D32DD5578B5C13DF9EB644F95BF3AC2FF900DB26154DD94E7484C39E8A1 +0140D8DB8619D2D896BE22D2FEADF64C131141BEABB219B1BA7B701D50587201 +A96DB374C6CB939A6B1ED8D2AD8125FD9AACF1FE2C8DA562900F756B615D9045 +4B64D793DE59DA699B75F495CE12A3A5269346D6B0D8C72A82DFA78844616B53 +4E5B133211D963C1BFEFB408EE348874190256F41D0EC6AAD7364FF0150F17D5 +9508BC05759F60106B4F5A3122EC40AF98EBA8408481F2FFFA0431C4DB287430 +89FCF8F87F2982030985AF175EFDCF6EE9F274DBC3600E608C999825A7472372 +0796F6D7CD638D0081DF92992A5BFD49B4E0BBA2EDF4A88BB4E3567C8FCFD8FA +AD2883E44C3405A958EB5950F0441C3BA757578C38674091F4B85802278B7DE2 +2166D3D204FD9D82F6A1E743628EDC2FD1F049C08956AF8FEA2B258F8B28A190 +37C170A09105B6A752F3801FA04D7B376266F466332FE35AC3E7C7F58549B20D +A7FBB94ADCD51D3050800C6D00DDF9B26F6BCB36F3DF30FF2A36B3A6121614F0 +C8BBE2204A5292C35480120925216DAADE74C35AEB06928B6950DDE11CA38C1F +EB6CB50F1571434945497C9D36FBB91E31D7AB3E2A721BE94C395B1F55D1C70D +99E11FFEA6B35E4CF25849B15F6A074499B8B3BEFD337821BA067039DEB40154 +34BBC2E10E21B0F489C4A23818340B870847EB099B8A07154FA699E2433297C7 +D8B271510DDFBC7CC8A942694498DCF47FD306A8B92C4F49424C41A358FDB110 +E4C34E96D3585CE4BA1F21A125FDB67A7AFC0A4E9BC3097504B68B524E19B985 +628500D5B81782885702DB3144426F4A2B2474829702A059C941C6B67C1B5B11 +4DB721494FE30D72596B8BEFD02B9070799134FE7AFF2DEA0AAC9EC7E22340C2 +E6761FFB332D436548A739D609C816E52379C2A03E5D386413B5D44B93618FA4 +9905C5A35F37590DBD51EA2D1659E9CF55D6CBE1291830BA5189C231E79EFE75 +76D7877CA3B04F387D18CFF17E88F9D8C87B110AB67D1B7C047153609B64A9F5 +0758DD9357CBE29FF0BEA410F407B3035CECADA2F289FE91F6797305787C2D71 +DBAA733D20A441E38286F7978969851C0DF584760496FB62B811175A410C2D10 +1ED792BFD393A992C9F5D3B9A17C5CE99D49D829E3EA57DDD6D4F2ABB8F4574E +A4E3C7196E521582882F1DE9E22797E8CCD2961F0D7EA3CC8592A5F019E1FD00 +6A4CA17B1ECBA7C8F953849DB2D46FF9E4537DF1305075505009C38055A0B595 +EFAC02A120CA4C7F5A6CFFF15ECE5EAC45795FC1CA85881ED8CFDC605BD4CABA +D1E90591BE34077733C48B16BFCA9C29D8157C553FDC4046A3BD27E10D8AC5D5 +A625F06EC1A7208F0642EB14955C056C1D8561CE9517FBA849DD1667E51325CE +6821977DE0A028A2E4602DB513215BA382F423CA5EE1145BE0EEE91A6D964129 +3F0FF6AC4F85BE130CDD7C80725366B8ADCD1F001D66CBD0949A66C083203108 +A4FF60415E53B172181F788CCC64D35E840B48EE8ECE13EB1E3008AC4AB86003 +FB6C19AB9E98E0DC0A06508C4451F951065B9EAA221D65C5FD8922BF7AF24A4A +B70A36F4D7520855F5593D25178A9A35B9AC27601A9E94A22A66C44C83401B45 +0D0705AC5674E6DA615A7798ADF9CBED0A1A7C4BDA85D4546BC8CD7B9851E57E +D6F53899543B0FD1F6966B5A764C71D586A81A50DC87E68EB32029CF36E4B259 +D70F92EA2E434ABB56468058FC340FF8CA076C2BE79C57FF3AEAD7C026D6F744 +5501D2C0C3EB880FA5488B7BA8C19855E7B563820E0696E923BD4BA558AA4E7D +6B6979FD0588793D89E7D37FCDFB3D623B149E979EB3105C77F01D7E6A86D66A +7E687E627CFE8FD069950114DD82B2496594156C92E823039E06D30FC9BF09B2 +E6789B7580FD1CC4F0821414581E834FD957653673FA9A32C779FD7C286C8219 +6A8463BECB7828BF600C211BE9CEDE5C08B0C76FEFF48FE369937A9A7758582B +D64041B2F959DB1DD4AD5C22928613EA3EFD205610CCBA56B514FDF7E6E144C1 +6B2732D0B7C1066635AEC504FC9258DC4F544F8AB08E40359A12B0E97475EE71 +A664521331A05352C3AB4D9B9917F1E1E1BED691F849AB9880B6AD3BCAC2CE3F +99EF8AD1B638991C531EA363786CD6E21AE21BB13226D72129E6AA7FB852A78B +C6107AAB948F662F542F5AE3BDADB5CB0A44AA26A2081EDBBC43E14B7C09A730 +7F82CE21AFC74CDEB3874138F6034C53565F5A0CE37BFC555E3C1D5A279D27F6 +EBC0C02C78F77BD9891722BB7EB000C98B057872EF011DBFD8CD389A79E3460F +9AABF19FDEAB40E549CBD023B2856C454AA0FD35A07261B1EC29DAEB237ABEB2 +895388DE9B46565075C650D798B76C2108C0E50AC904E345551DA950CD956066 +99EBE2AB1C41AF387C75403EA1F922E532F9ABE31B48301BB5DC7C663287CD28 +D95925DCE18A22DEE9E448C561F321C6BDB5DDB37E12D9BE6D9479348B44D109 +665DD042FE01744C8C3B42AB84B9CD2794CE09DC18BAFB37F6364E3572991982 +104BC328B28D0792E0F66924113102FA420EC7FBFE21F52AA3D138E5198C2CA9 +D20682DA532D3B9C7BBDE18F689FB2128694DCC0006E67883134F1C3DC9ADDC1 +6FB1A17B4FBB0F5117B324D80839707C9F7E09059CCE9179FE4F8049E90E9DBD +FBDC2EB76AC3E0C973531B750D8C56591ECB00124D113C1717314DF15A59E155 +C958FDCE8D4BDBA9F25AAB12D45046E13D337CEFCC383DD97039837E67517016 +0F0A2FE92E42F4DEBFFF3691FBB89C6C45FEA0DEEBDA73CAFB457D6BE77C9D48 +9C9AED0617DF236E28BDB7B954AEF2D54445500EC22AB3086D835E03D0D8AAC4 +BB397A98603163155B896BDEA08994C17C01E8ECB41E4ED7FF9E624894139500 +F2F1137775868D69D0C3355AF672D6DCF09A62FAA8C3E48528047B7E2905E5D0 +5DC739290B2DAC51102FC8E430D5253F1DAFEDA9173C54A50AAD336F460A6738 +8865191BDAE87C08694F73EC574D68A8D9F085543BED57597BF2452363443408 +79AB31F351E63E10264C1F83683930A1F15B384FF1BB73C15DF825BD6DA735CC +3E329B51BFE7B28E90A8CF81B9F0D0A09A0B96A3FD4FEB501BDD8ED4B4F71BB0 +62FD8A2AF9BB28F8B587BBC7208A2B238084B2D9EF5C03C2B5F89F077E2075E2 +A472CC6DEFD0248F1216CA4E760AC613196D54A9F18A6DB92222C1FC56F24713 +E7A9B61C6D451FEB0B0133E9B4DA61D4E4EA928D93CB06CDF6FAB15AC288ECB1 +2BE253DC7835D5896E9B8ECC47EB18A059673963DB7C5B7BFAA53345A5832762 +C6F8045DA52D82F95D89A9F62AA3C15B6A9381E11C7617569EC0D65B25B34BF5 +DFB13B4C1944371632C49022835D828F0D3577360960645BDD1D65125800F417 +990EE566DAEF94F8C01AAC5BFC60215B836BB5B5AE6F2BB37EBFED061749ED8B +102B2B5DA4699F99D873A5527AA0887FDE2DC2D62E072BC3EBD69A43EF6CEE64 +FBB5B2CE058034E96FDC4283E981BCA3F4C6BFB2CBA2CD40EE3CB00D249E5FAF +DC766ACA416C335D9A5662A6B01F84FE12965A0A42AA0D5D8BE5387113025535 +146C4D28EBB08E47D18566A7039819D5BD8B78F3EB38CBA86A46AC1F5490F3F5 +9A7C1BCB3D4F9D6BBD8B0DE2F6D34DA5BA4B7BC825CFABD099BB13DB0969A2FC +FDD516500B4BCBF39D6B2B780B15EC4CE268D50607662FFCD35D0E745A2A23B2 +4E510C81BBBF44BE955A683440252D0769F69A01EF6011FE0309A38DD07C7698 +82A5316716C7A7A214D3490E3E2E3803550BB55503CCBF89493F1021A88F10EA +2951D7D9821CDE03DFE8E14E32E31220D12997967A4962B34F54BA566BBE4AAE +3023C9BFB9F8384B828D4832BED200257A384F2A9F2DD2117CC473568133A2D2 +88CD185B245CA7A7C22FC1B7C462959BFB970566FCB4C132B03D2B211FFC5054 +872E4E157DAF93A2ED67678BE54615C08065F4CAF36B4B684C59C5B53C8C1C34 +12B6AF0338DCE73FDB823EA366541A98C5A2311EDC4CD7A45CA57CDCC30A471E +AA92CAE7E92C85E42E7807F5FD5B1689D8359BA948D7D2E9484910E1E1A3A978 +F573351525A22880E0B1F202B39A9BC66DD085CE9A4B3F11C3D35120A8845880 +7FF5CD34CDAE4EFEB4F4460B5A12A47E7BF66ADFFA455D29BAF3B042F0B8182F +B513B6BA8A3835CF6167EAFB7A217B50097FE64C4B57AA6A4922546FBCD49727 +30F5AA6CD96FB0ADAF75D795E54117A9142D9EFA59EFE991D9023530DCE5981C +29C85FA0FDD80F8BB60CA8BD953EF0A7C5CE5AE7939BA83E74DB2DDCC0657AC4 +427431236C88F5FE3B018E86775CDA3953F3A78DB4453B14EF469791E60B3FB2 +9472A0F44538EF10B9368197680831CCEBB8A35BFA8E57B0A3C0D81E2B98AD7B +A903B6FDEC52FF9954FC5EFFBB78944530840CBAEDF5339D2D417BA09529282D +AEA455DA4986789079F6A857FC83F9A35157605A87165C14D17699DAF4CF5770 +BF3636D1FC0D33C151500AD4AB9F164DCA6E5D1869C82B79A787A99392661682 +F31862F235450AA07C416CF3E17ABA806982CBE165651C031B61A8C27A59664B +0C9B44507E31B695D549D0C8F1AEFCBF9BF744CC02A50754C8B71947976261CC +B75A991B0E257EC4C5AA30CD530C031EC28E5B3B86F2381C7372D643A6DAE672 +C6003397309D7BC3BF91337DC3A09ECA46832EC866A8B1F24AE105CF7C4D7947 +3962552A88E8B45CADF925F7487CEE5398E6E7A4ADA9B67B6D6EC2FF9C3855BD +4BEB2B202087032FC27B310ABA7E2C7067B28E85DD950E9A7A7E05EDEF8A3DFE +49CA0F94EFAFD409BD0DEC6F35264C3D44A3B8D8343C206C348DEF0B6304FF6C +5E7B50A95ACC77BAA44B5C721931AD20E853793AC6AB5FA2B8DC15265EAF726E +9DEC43942FCFCC22ECD06C5A4EECC3D342F48519AF96037D15C0196A11194F02 +737AAFFF47F65217F1E8E7D917464B2FB01AA2CC18EB7CE7F9966CAC38996BA7 +E957F01138CE3F67A52AD3249A580368B4BCFAA3D6CE153C1A7B9B61CAC6BB3F +E0E4F9E0C8547B47E1F5C073FA728098C05A7735E8614E77B55FC6D4DBD13856 +01CD5D5E34E0B12A036C5061C95636B4E5529F62D9A8576A3EF54AAE9AC02110 +F54454FBA548870AEC4285630D557A8DD4A9AA37F19E5954F6E0E87422C3A32C +5AAC90FA0218201EAA426B5BF35A294C828139F85F670AEA3F005A752FA4D9D1 +01EBC4F06187F8A06D19045F89FDF9AA827D09E6D91708AE699E2D182E8682B7 +712F153A60F3957341A1FA52F538EFBDA3FE82EA258BE035B77E7FF4C6C42A52 +C696DB41A7D1E7B75841F9F2CC9B7A3E367AA69DE46383A3645A74A45032B48E +96655051EB8320B3E46D6F44894D82C164C1EF256C7640D2B61C44D40E467AE5 +A898A0661612FE0FF4A6002B2B5645EDBE7D5354B9F871B20B06B0A7CABE1A3F +57EE2055DBBF85F89F578ADAAA2C08DB92A6B50F581B5DC17877C2E2AE62A380 +2787B725D78C633B6259252606FA23B8E9CC43C6E952FD6475518604917D2F43 +751593DE15012C464041E3618B686013E189D9F46DF7505D6C44172108A5C638 +7C441536653F1AD6EDECB436DA5A47EF5DA47DC4C531F690226D3D13036FC42C +F49F111C0CB261F15CF1C893797C61811EB425406BCAD3607DD81A454E8BCB1F +3CD40F46C3A233097B918B3EFF276399720CC2146FCFB1199EDE13F4AF97BE26 +DC448C20B44E623F82E6CB97BB1293711A089F0086CE3F4A248386A2FFA8AF6B +239302A040D0D93ADC5F747238714D04CF9D3185F239E39A94E765CEFA114D8A +C8BBC532D4B0255C50716B154555F5C3EAA57C5FB985C18D46216392C11AE440 +971FD1198FA6FA5B98ECC6981997626AE362268495AEBB98E04673A12D7B9B20 +DC9EA613A0B8C3FC515FA3A48840A7DFC2DE1B6D0FE0DE9FF7CB388BAE21EEDF +030D1DD30F626D27A62A1B2AA00B517E7810E9ACAE1419595B6C258A7916579E +DFCB4361FFC721D5B554A36B670DE199EBCBB4E1D38A75D2C0A4D0D532FB3BDF +8F1B4FD221CA73F5E980701F62C800E2172D6B9378CCE56A669085E5D917C3B9 +4BBCE88820A516F373DD736F96CD642E81140BB691D99A5C57EB05BD032E09D8 +D0E636704F0E95528B007BDFE1910620228C43FC0D1EABE305C5054A8344CA3C +34488A6E5FFE5DD55F2516CCB69CBBE0561D5759D1DAB918DC65DE23DEBB96C0 +A0437099483335B6C623CCD1C1A01817B5A18424A7822FB06ED6ABAC523A92A1 +62F52C1F3B235576D7D383F9F7A11B0A0B24D90D8B82CF42FAD84C78FF3A1C68 +E1E5206F74DA74D382F00648BBF0A2BD9AE19A39F118FD1816E9E10E99FDD337 +E4D111C64F45D4690DD7270DC7AF5F318F9DFD69957075DED7A08C8305A1A6F7 +1FACD0935948C45B1BD15D319C6106C5E16A0173D55A2038C0E18D3E4815493C +6D2645ED03129D9D5FE839E0CFF83C6EF22805836E6E0440AFDCCC6C7D9E93A1 +D9887D1B5372BEE93EF862E3E8B04482CBE79FD0269837742973886558C5933A +BC47E4C0953CABADE0FD94EA23F9EC93A701C59AA770C249680CA29CFE30B428 +52B2018D01C6ACEEC9EB6AC3966DB4ACEBA8EC8A6FDE32F9BD59776C73F3C9EE +ECC58D6A3654B8BE84A065A60EB0E7D2D369E0DB62E91495C682D9B17C193A77 +89384B05582566B1CA600A96735C5B22A4B7F19E3C79A7255BF42164AB295F6E +9636048C4DC1A633615781E04D1F0E734EAA889036F29B90F341973CAB8E654A +7F6175D0F86FDCB556A8F61C155ECBDBCA0667168849EDFC3C3247F3C25A9066 +4E892628EC302081C7A4984A3A2491423716DC7AAF3BC44989677036E7CEDDFC +6BD023C1B783C32693BB0AF0F4E26D913DCF659359827E4664AAA6004E00E50E +F19FCECDD2A51CB5CA9705DFD2614209892251E61A395116B0A71CC6E51BAF10 +13685A025044E0DC1B1AE5131F787480A53694E07602DC70E0503200C54D448C +4AE15E2D90B3090777826C3FCC56C30E5DD48F5ED7FE04DC327E938AEBCDD252 +57A1103B0B7032ADA46B323A26815862FF5ABE1A6277B38C8B6159088DECA925 +821EFEB0C76925C4FF4B033A9C8A29796C6EF02E8A4964CEFF9C3474910B2546 +005177C27476ABC17D07F51AB5E183B6982E7DAFAAA492C81736085971EF565A +BAD452E49198F047F87ADA15E4D36F4FFFBC333B22D90C330A01C0D27ED815AF +DCE7EEB3F84206D9218A42E8AAB02A633F615146C28B5A7A3941953D86470D29 +FCEB68844215B2F058A246BAC172DDE003BED068788CA146944BD4BBA54498C5 +7E90F25DC239EE8CB81EED1B21317530700A51B6B4D85026977349A0E2126BC9 +502F0422BB9D594FCA7BA401B298E5FBFC505B7CA9E0DB11A5BAC70972192092 +F8003E7FADDE0DA3ACFDFFF9B7994CDFA88D814DFFABE62A6342BFACBACD65AB +7822BF6BEED0893597166543D6DB4CD02C113767070988719BA1D8CD80871995 +AE4E039B26E19628A30F6BD7712E368E920C0BED6FADE95368AD56C5910D8F77 +F70B25EB7ECD0CD2762EBD54A9B3FA73AA212E4B0009969AC55A5731C49AFFB3 +248A19EE66D50FF5C382504772E2566E643CE5EC0D99C6695680F22F278542F5 +6494B6CD56FBD95B11991429837252438D68087E9D082750121B6399757048B7 +277DEA9DC190741064B69741A8940C279F63BBA3E209394F3928F155B446A212 +E94A029CFC9DC3A72B6559BF92F94AAC2DAA320DB00094F16350E0767FE270AC +D7822962DF48E92E66978AB3A23236BD8DE1149CDFFFA53C1B25DC478048E773 +0FFAB078DAC7996BA75CD751CB9E995B678B49AE100AAD70B04349D539CA72C9 +BBA4A85E6E9D24DFDEE6389EED66D951C988133FCF2CAF1C7F4AA7C15ACE0DF7 +ADC7E71E0350D9A9A60ADB8BCAE808A1D8F8190C8A4744D7EDF26B4F12601664 +427ECD88B3EAF507B6328119C8B738CAB3103860115BBC46236F97C4E6100019 +7F724B84FB8CCBBB5553003B018133AF4E92CD4BB7A75E732F0F4DA43531CF75 +B7AC836B9EE16F734D9FFF931A5312A56EB2B71CE8429331FED4F7EA228F4FE7 +D9D00A6EADAA0EFC8EA0194208544AA186981E05A0E7C49907201D905151F50C +FF992F0933D789FE9F681B19AF913105FA2C96936EFF540779B55B83DC646BAD +208324AAD414B29E4753DD19E532A42ECE49DD539C7FDBD157937DAD60DD4501 +6297A4619B50480DC8C9941C3AE8973EB52B7043642F62E194688CB5C270296E +2A4403CEA918413F0EF92106CA191198EC9069E04878082B0EEE799B300784A0 +0AF46758B30AC0D99D74AF461352C2203285C027BBD21219F2C0CA1F50E7494B +EFAC529A26ABE666D5979A7A6332C8402891C26A2A2016C3DB5AA09095775C61 +A3D9F7FAACE2277826E311D00B3CCD84F17AD74FA26EE5B29AE959015C1CA302 +D4DF9CCFFEA5820852CA21A19F3DDA8640DD6A3EC96B8C7AF337E316B98254DB +B4108E3E0A93B7783413B36B7127F434A712726ACDDBA427CBB3DF6212B5089D +3692D2F1771C5524E79A98EEED92D7217A1FF7AB7B8FEB478CFB480CFD5B990F +69BB32A8861E33191B50EDA113713E3441B59666EC50FE51289B3237D2EDD4CA +5794F81C53AEF607B6BC82190225C78382AB03CDF853FA267C79AC0FDDBF18F0 +1E419628B80918B3BBD5C0833A8E798F98909B9744B56ED9D88212637F9624F2 +3C938B62739C9E0CEB02FA79262F4E317AB68511875ED01BD5EDF71B375AEFE2 +92FCF6C1872A5F63B444C0E79FB27521B4A23566CF4061E8A869457514C32315 +E814A6021183C816B924BBDDAFBB8A20D830B8A4AC916801182A4D1AEB987E7C +3572D04D6E93624ECA999B04C2E8F52DA037C19AF65B4FF5B149E471D9CF4EC2 +01D53CEE5BFEAFF42CBF6CF2E1C1EAF006CB2A397EA73E081BDB4E2E66615CE4 +72EE5C7542887EDF2C9AE29AD73A12173309CEC15880A8279D5FE996ABBCE605 +0B086ECB301495F7A65B5DB608AC78720B05DBF01528BA30FF134CA0C993AB04 +042087DCB06CFADE56D508F513085A5B212125F90C3C70DBC5D32407FD16EEC0 +E4FF5E05EB8FB7D8BE7A004EF1924B73E68BF76789E7EF13C3F8CA7129E350EB +B888EF9B9F69E04D104E719F32BFA1295EAFFEF3CA137386DB5C15D209C04133 +EDC2A9931ED4267AA33D32168400F4DA81D71FC2351A361F024D36339A60E266 +0A1E91C77D495EEA1AB4C2D24514F726FB0B3348907E8FE28E0172EC30D9AB31 +ADE4675B73FE1321C90BCD9C32B1B3CDA509D702F1B2FDD00055F1FA525B6A44 +80DFE6DDB1DA30DA844FF4EA3C3196DF234F3D5024AA841E16F6299A2E5560DC +EE963F814246B6242BB948004E95F4BAE1B591F7237FE83DD458DD116FFF1503 +5E288DCD2FA00638EF3C255C1EFD4559C38F0AA71C280169E65DAE835D16E917 +0403E0729E345821AA8490AE1EDA60BFA863C75DBEE15A9232A1C97160348C9B +02E34A48571912049F1E6C85A91A36D8B8019CBEECF552E5B1D0064A8AC0EFF9 +7CC95CD4D257B5C0DB55081044039161606A761C418E6844794A96E5C782A278 +E4C7D92289915DF2ED2854D29468C37B535111CC7C8E466B479511B5FA977503 +063426752AADBDD96812DB4CCE0F911380CE599547CC10877E24A75FD4EEA21A +ABB4A0B8E932E80E5C9F1351DD07D94685078572D0F132A715AF3CEC57317F00 +7FCB9100A8BC79537FDE44EA53D26CFF714F19971A5DEC18750F1E04856B2F2A +C02B5834772CB7A3A7F1AA2581A446FAE63C5FFC126C9A03B304F9A82F8B19D0 +891F17F475C0B7E33A4320D03319DDADD94697EEEBC1AF22BB5BD903AD39D5A3 +ADBBABB2BC2F406156DFEF235E7C16388237F0EFD2D38CD86B51A5FD7C8FB918 +C046EEF7CBC4F53AF19918B56DDBFA691BB44C9C8443331EB287A6D1BDE5113B +73F6E3532729185EC8E1EA8B82A794CBC5ADA36F551C740B1A08DC6D5EFD419F +DBF983AC5825FD0E0268F93B821620FBCB696431D25E1BEB38ADACC8B0857C2A +8C02B47BCEB415E910B16BA0682BA629CE00C4CBEFDD0535EC5E10F348964C30 +93B6C1772B7C14B4780EE247C2D2F1B3C8D0581CBC847543450F5D3E9A35C466 +D1B2F7AD694EAF8B832493B17B2DAC889D462EA6C21213CF9EF2414D95355156 +52B3D779943E2F4E1655D181D96698EEDB479DB67A4B9444A9F450DEC4156986 +8B914980AFA45FFCE4E0605D61FD19D8E26E5AC96E81F49194EFB7CC8369827A +D71FB0AF73D90960B292B835F4E3EA1ACBE9EB9F2E867C39903A60C647781B06 +41F755F64D0438ED9C49F53F0CC1BBECC2ADD5435722735BB695F6D910B81E95 +3ABEB784D3C2330FA69BBE6F08CCA1AC994E0840AC4D5B186B6B124E262E43AD +3C7007A3A37E02577930F101E1FB72F0D46283EA07AB23EAF6BFE4DDF47A61BD +60D93E994C84D3EFE3FD6E648B7E5FCA650323D68929F67A02F4A3D8B958EC38 +444F15202914A24E7D54FE197737B409B91087C553E69818597EDBB5FC397854 +E888BE33085F8325913F0257750A0971BC9522754A4BEEC68AB46CB33C38B938 +421FB66D123487EFE6583EE841DE0DF2FE91EFBE541E75589709DCB57A62BC5C +0501F0553EF4C3F5DE3E7ED2845C1B3B2F01702A8FC228CCEC48EB011F08D833 +411DF2611833DEF840893BE3809A20383A7915002DFC8854A8BE050F345D3839 +3589A02F95B48374147930F79461F10C8A9394E6698A34ACA52BE8308679CEA2 +D4185127D4D01ADEF85F930296FEBD9E01F87CBAF4084E5361B1E5D80C45CE95 +CAB024A68CB3DEBBD10244F1069FE9ACA7460180B157F1415C3ED33950CD679A +DF6904B3C39CF2945ACAE97BBC96BD671ECC43D9270EB094FB692D3888CDA463 +8EECE06E55230918317B67876B15422E3F7524A26EE46130C02F4B5B30AF6FE8 +1332BBABEBF2B56E3698715D1F31E2BB950B8BBFBEA6B396B4B3F5A678CC55FB +757DEFA8B621E0F13939FD102374910DE0456C7C232D187130E46C6CC2898B64 +0D8E010D854281C0D7B3C11E7B616FC86C46F0D3514B322FF0F1E1C5827C41DA +4EE60422AF5AA548603E7F3F55A763F69A05327E022FF722EE6F0AED8A848769 +31A2DBBA252324F1825AD2C17FB0F6D9C47723118795A537A0BB4AD431A9759D +656E959D4DC9D78454C6FD326E1C760FF26B9381E14BD8E57CA2DE306E6B1CFE +55D35C57943459A64CF6B547050F3199AD98644F143BE2ED60B292733DC13A0D +11622295C77698035DC3F399E6763356FBDFE85D542FC24D455A82145E69BB9E +7F70FD3E3280FFCDFFAAF0036DDDE12B8B30394985BC54B7EEDA2A2C8FA20E84 +0C0406919576AD6D55C5BDAE36371D7537B7E4EC6FC6FA31D01B8E4610C03559 +9EDC4538A9F22817F38CD216165DC69DE7AA166C619D52587F4D454BD9C05525 +76E404D90671BDF360D662C94E4BF0EC05D925484F40BAD9B0B2442EAFBE3BC5 +CB4399277DAE4F61A346EFE8DA0BE1596F3351F28091F7FCF4E6DF9010CFFA40 +DA2089DE0EAC92A8A26FB4136773B254FE941DECD389D3E04A5EAE1D78FF4235 +FC234FF05526D27DBEB4773784B9FC270196744718DE3A6128050788A23CE25D +D79F90BE761B49A5B89616E2B3DE8EB4E08A80A112B625A59BEBBDB88C0EA42E +BCD2E2F752D7889778949DB30CE33CBE99C8EA2F15D1BBF491B3B90D94EA56F2 +9F10E34CC5C585BC236091874499708DF130C6CAD353F59997BFCFCD7A16A4B2 +F83C4F6C5DB1689D6D4B2E32F75A91C5EE76EAC56306FFEE203D3C78DCF573DB +40CF05493FB77E956D2A9F3DBAC891C2D3F0CBE210C5356437B664B3F531F6CC +9B507F651CF22F8C4F1C84439A67D6657A20136EA2AC6B581967C2917AF8C51F +212450B22B2CD229C9B9943C640D8343A84097ABAA1127EABF237A6F1DA2725E +950ABDCC695DBCA52F927A6EE8E60AB5671DC740FADA2EE69BCD18D684331021 +240934F7E9554C1CCDF87B278256C66FF233BB7A343C246BFC3891BB2C001210 +49692B8B62A78A495969E401A33134EBA1190C8C0987F38F7E440878C5C2D252 +DE1B8A63722AE60BD6FDAFE453D80F3FB12582F32F3BDC4A953B9878EB2B8C9B +E98D1FED949907549D8834A25173F6445A748D7A3D8BA231890534CD307291CA +182A4CAF5941145F7195D8E5B9A753AAD02877FF5413666D206DFAB2349F04FA +D0845D8EAE1995ED2A451F9359EA1B596FFB123A0834DDC7674BC18BC6C2FDF5 +39B5CE051D22C1A78DE0C7B411AE291F5A4CB6DE5C7D20614C1BA070B3676222 +E816DC95805D27F7889334B9A059BC5BF69F94C7BB74ECABC9F4EA93EC2995F9 +5AFE0E75A6665C650A855FE5CDD54ACFCFEB08CB959A05F1409F136061F26F4D +E75BACBC9B25453E049F119413CB0FF39D91968A64F9445BE107EAC1A6E3F520 +07175542715802AE219DCEFBFD626AA2BE45C56BC693F9A7442963315A87BC87 +54DFCB3807BB3E13357FD0C729C9B3D639B1EF512E56DDB272ACCF81BF637D1B +F7A165E4825B5C9011BDA5698F2DAAFFB6148FFC24FA24DD11C380948E9AA758 +57C15A3B45B0FA40A5A9A94F4AE4CC2D38453D3A30A5F2DEEA51E8C476FB0FAA +E4D6B81D5E47EB5A181AD11CE8EF83C0D470A6FE835E9B3106C682D1082D7D48 +0B90EB978611E4304A478DEEA57BB6168E78889A737C9C0BBF5361D65B015DA0 +90B248FA2610A30B61391B50EE88D7D749A51B5FDF2291B96F5203E1F66E7886 +85C5456441A5975A5CEA97ACD5D1E3BBD5AFEC4503772D1C966CEE84E4E85732 +F9015AB59AB6819F0D39DCB6F5408A6D2EE24347F6413AA49F10D18A1B0ACC86 +CFE42A428FA531678583BB13FF87C3FB2C0942E11DC56659CA787028590AC167 +EE2508B85EDFAE5B60E6ECEFD04584C7DFF682E97D59E71661B94F9FD3FCFDEE +00429BE9415F2C5622BF87895C806F5122B2BD63EB3BCC5B646FCA1C1E87449B +25CD489DE5B01D43F1C4C143C02480E7BFE4199A8D54FF89372F32CB10E7AF5F +DA2F89E1C5C01F216B0B387D8535DB38D69F92D23D5760454BA21186264CB4E8 +D1D3C79228BC83782413A323B0B712CA2DE25D5F567E1CE442E269FF3366F1BC +3F83120611E35170C60C28F5ACA6049952E2753CF9588DBADC5E49CEE27A62A7 +A97AB21B8EC711CC5A9D9E6A6ACA868DD8D47A0B317BC97964ADB331FCD627CB +9738084879E2F1A00EB9194185FCF485CF9E0457CADC1F41B5421B57AC44EB03 +D4E78394CF2F056BBFF3C58082F59AA673F9D41577BB89D487A57CCE02345D17 +8DB3636813352DA46AC7E9004080BE3DCF8746E27F94342CDFD22BBE6D345A3A +75AE9F572BB46F0B23859A8F3E32B12F0D978074656928CC7025005D32D18B7C +10B8DDF728D97D1670007A65BF41DDBC572606883BE7A5812199B566DD4B37F0 +4E8EB2B3C47C4B256062B57CCE4F0C6F23CB61BD20C070E00DDF19CD0F3C61D7 +168F93FA3DFF651E005F499D584C43E97B0FCB16ABE5775941696AF678546EF1 +A1F0F0BBB871D49A180028E3C3D172890D6BCC5E29878C2413A23ED47A435FD8 +7810D326CC01863028AD38DE08A9BEC43E87A108DB8104B9E81BF7B86FF3AAEC +52A5A8A5C2486A5402B1F7B6751944A7B951EB4EA01944376AC91DB524152991 +BBA90C55E83EDE48FA57265F6BD820DAEA4938010319055013CE3C481B49681A +5F6456F77ED132C174077681260D7F9DD739AD7EF112FBF8FFEF512EC060B0B0 +FFC5D8AB607396FDF0489B6C1D03C8230A9EE5D98E25F2E7A4A14AFE7DC717B9 +EAC6FB4A497D467D8BE166C9A635D941BF94D3899E2309229A5C3F1DD75AEE3B +D84AAE921FB4E96CD69FE943F1DE35E6A583FE2E3C8CEA90306BB3F93FE4E14A +301D3048316F62710919E5D94618A645899D4DBD32306EC0BF94F4E123A9DC07 +40ECD484613A57902FA3AAF34414321B3C5702B880F1F6425F299B9D110F57EB +E0BB940008445DC59C83B1858582CC0B448AFAABD4752212C5F0DD8D5A02ACCF +00247C1AED2D7F671C40475614A3A857E104D5A2D940718748972EC13AD2A883 +C3150F7F5171729724DEEFC4473AD93065F50B7C7EE4C69012ED11DA1DDBB738 +6FF9C368CE45B6A0C83BA6A0A003B8F0D0022551A542DFE726E884969AFF9FFC +EC0D5B7394B8D1C767AA0B0736925FAFFDC0978E746A6F10175CCC3722D770C1 +8D2D0B345860FDEF706A8A5A42F921C4E5F5ABC31214524DADAE6D8DF8269020 +2F9B401B7D1D3D4524DD69A2FA0030E64968132E580DD3F946498817EDBB9E99 +F06BA99C7C5C01E8D9F4B1ACB4CC889E911C9B38F143855B3CB7DE4E1CAE5F55 +CD13134DED58E03AAA89CC7F46E9A829301B8AC939C2538A68D35210AA9F261D +EE02165F7043385065B563F7612DC6518D31F210009291752306E8294412044B +72B8CAFFA553B40FFCAEA74C3ED700BAE4723C8EF1FD33D6C35542D8E815B44E +0780F21AE7135C88C61779E51D8D16AC059B21235E478AF24D329D578360E08A +02EE49D65B9D7C64F5E2F6C706CF9630E938D12D7B4312E4B16FCD88F8618918 +6267592135D5F1558D8B928BEA96CFBFB7CDC12B0DC9D0DED1ED46900279558F +4CF39EED423B5C4B7EB1436F162EEF9DF7C5724B1EFCB443BDF41ECA9E1C01AF +695800D69665D0BC5633C7C303420D7578154DFE1D2A111F61E9400AA1D97EBC +7C2A014763BD022B6E59739A7246FCE5489C70C27F2B3BA804038A9CB2920341 +F4B2D38AA638C07F33E8E92EA18137E8C534F4F7E8CA53864F9D73CB38062D4E +A747E565B0949C45A406F593843771C06BD473A8798215C71F7D2F68CF37C459 +7D62FF6D184FD522B9873B3CD581AF45403B181590201FDA26BA7C782962 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSS8 +%!PS-AdobeFont-1.0: CMSS8 003.002 +%%Title: CMSS8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS8 known{/CMSS8 findfont dup/UniqueID known{dup +/UniqueID get 5000801 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS8 def +/FontBBox {-65 -250 1062 761 }readonly def +/UniqueID 5000801 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS8.) readonly def +/FullName (CMSS8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 107 /k put +dup 115 /s put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C6258F0D99DCD775 +734480114DD0CD2931DC18782C4CCB90B6906CE08BF4CAEC2D4283CD44730A2C +28919598227F98FC5524B0CC92540E349C5B190DF5F2317AE46FFB97221BDFA5 +114C21D5E8FB0D1C298EDFF8836AD72A9B2AA132F52DD5D3F30427563C97CC46 +D241B7024B4CD9F1E0037FFABCC88D8CCFDF3BC6EED778074F9590733CD147B2 +5B68387E0F19E6A81961077BB7640A3C0E27ADD72556CF84ECD981ECCB64184C +EAB8BD9B96A873D80E3E0D5B4F5925983C80EBC3A8A12FBC452582A0B37D3C42 +4DFD22E9BADDCD2E69644AA271EECF366D63FCC29522FD72D6C1EFDB3597E866 +61443179872395E99024F152F6D6A4FD71BF1C7383BC1CC27AFD2DE3DAEFC06B +6BA837BBEBD0BE09F6AEA31A83B1B45255DFD6FF33362AF8BCABEBB0D944B3FA +B85FFBA0B370B9035460905432EE87395E518B4B670246FAFD535774467C059F +DC30EA01C95EFBA4ABB41711818E23D7E69D32BD63243A6D98666BD46E234155 +BD6ABC76F551C31B6CE2E52323A9DAD5C003FB116AC8A82B46ACFC45EECCCAA9 +E12C2C8E3CEEFD98D49ECFB824E8677BC9CE9B682BB5A7117174E4B2A0B925EE +553713780CDF3A3A4AF1560343A8A448C0B5DCC4E11EDF5ACBBA0BA8E5B899A3 +7321AA7D4B283AC9234978C2DD81813653A96F2BD129FA5F355D56C4E50310D2 +0FAA8F304D8BF333F97A6CD20CA4BA7BE6DC1446759683933BB1F1617AEAD131 +1C9EF2212EE7EA9B64E5ABFF45E1727EE82C00FD371BE1387987236F9BDBA4ED +A966658ADF028B5DAD1F0878064221D0469BF17CB4E738258FB5D92E9D380C64 +16E95BBA6A2BD9EEB1A187A7231C53BD8ABC9BAC46CA4AFA94A4920FA805F67A +A0C61940F6826CC4539A6CD1F9900EDC3F720AE4FA097F1D7510746BCE2E67B6 +EA2F2046613785AAB89915655408AC9D03201838BBA44F421D5F25CFD88E56E8 +1CA23CBEE9C2E323DF1866D31F309C92281E514A87A9631F33B238AC6520A20A +346DD6A206C3CAF2830FE244F2AC5D894686CAD5F4BD1CC51EC0B547603BFFC4 +F008FDAEBC93542A43B7C907CC85046313348CC8A017C585CC370604E40AC820 +8B9D8F57A01868FDC93551DE10FA83DDA3E49E44C32118ED90FA67AB1C66B3F9 +F80CF71131977ACCF4DB44CF1EC26AB363C5F95FC2523B5DFBF4D60647EB23AC +89CB971DCDAB3BA26846BA9317C051011C37468B21B159412E69DCB84A9F5876 +F418908678F38880B95A4BFD3566A6EDE93AE05BBDCB3C4E240A5C0A06301896 +69FCCC0B65BB269F2E10609B6446A68E2DECA905FC26D4F502CAF0EE9AB15E60 +CF42CEB376D92D80A6AEE55BCAB006999BF4415815D0F5BA3B1FF9D2E60201B5 +833FABE8B883847ADACF9B032721DEEE7FEBB583B89066ED9608F1EFBCDD09D4 +3F3C2B7B03154676151753DFF53815F2EC1517C094B0D2CC5EC483AA93772D24 +AD3B0084537B91BE1913A31C70750C6DD707761DD733F9ECA552D3F26825B2B8 +3EA263488892C929DEC07E2F988B7F7657D53CFA5542CE336D35B462E5E8649E +05973AA54C0A4E63552004E3C77E5FA77F821D820B1620CC8CB3EC5B1D7BA751 +16CC155DEDD4DB0FFD3009729F365670DF9472435557201D8E82341B4056D2FC +5D2F7C57599249DA2A99A522868716B076320350FA7415C3B10D77A6E1DC77EE +2D929A038DE3EB4735A4D4F5C8C340D6D293D57E83C2F379ED0EEB16AA3A2A2C +ECD664E526D918A3D0A934170B6E1493843E6AAE87E850D70DE65D34AA2A36DE +8687D57A6B6B1447F9A4380CC3D4D11D54CBE762258426C46B8DE6059E6A2F31 +E748549310FF4362129080CD98E70817A06422743780B86E11101BED14BB6569 +D36903BA8BEBC24A478CD430801082CCF49382D6F04DE270D51CA5BAFEBD0F8D +901CDBCF10DB97E2B059C8CF7CDB45BF931203D5F8CA4622DF19682DE2BA7924 +47F78908BDA23C4E21C0ACD2DA259B23648B6F233EEE830E7B82DF4371F55C30 +71993EC2BCC7BD6411690B9B1621903F358450976D6B6EC6B505A593A9FB7D92 +7223E2424DD5AABEFF254FBCEF934A4D51949BA0E8CD614AAA3AE6C3ED7B37BF +5324BD4998D8D5DA95E4741B753AEE580FB3913770C00277C9F609B4DF3D618F +148E0EC7A75218AD788F98D35989F3DB94413E70955EF586C0995A450BC75820 +F5490EB55E5D0D21343565E1FA94FA64A74377F87E55EE0EDDC8F4286951A4EC +ED6FB3B444206D89BA71A9723E41E93A9F6C80240437019F3C23DFC2491A19D5 +29762876AC60A14404493D04B5537C1E6FCA67B69DC1CD859F9C956FECF4461E +EC8B6CD5B5A89A8A838660A6C3F47B79ACE3B05C0AA2F17CF2DA947B893B42FF +749E2CD5E7B56823A119629931B1ECF65C51000A10412668877178F589B4DBCD +24D39F9219C46BDDD6F101C6AECFD3876056CBB858FE0C4BA2BD0B5FC26AD5BC +7FA9E295E72BEEEC721300567B6894FC48FFE5E3067C538CBB3B77E386F50D22 +F8DCFDD0E335060CDFA49231D157981925F1CB36110809C12BA28D2D116116DE +01898E311FAACEE0E5402CA30B64D3D5A0CA33E417FC322F2F0BB7AD3FEE2039 +56A15DD6D1E86971AD3A5A9A27F33AB62A5A3BF5660B59235398926D6BDA33BA +BC43B062EEF199E4ED991518A62AC374EE21E8F1E1C954BA6D1493388F708D0C +961612444BAE019E1DC18BDE900BD7A781835580A74DC696BC512F7BBDBA2D0C +ECE5D83A049F7A3286B94FC446DB5C3F33CA2CD3DDE2D0E774A579831CFDAC37 +9612858EA613AE6939CED001EE662DB17642D0357B80BA0F82ED306218DA8505 +A613CD622FA998EBCDFB7BC70F4E4C8F1F43241FC22FC5BB208F4B20311A98B2 +73F30E4DFCEC93875CBD1ABD29ACF80585F59947F23A96D218C0CB8BDC1C49F5 +70DF3D49704CBA9A23294A88A2AD61811450921B1E5C3C86435C55AF87AAF6A3 +A13709082DA9C47D372A4226116342DECB14E4A4ADB7598321516DD637B64148 +12AB17AC5B2EB25718856D50BFC8D64C78DA6E5C145187DB0325C30A42013A81 +590E58E74094610207FC70BBF1A497395939B42A6EFCFABFD9D43221DE484753 +DFE5311F1845592B4484B1CDFCC32B4E068B11A82BA189D2268D88FE63B9C6E9 +20C9E40B543B5C401265D92A932476DAEADD4D3E2BD6E4DBEC0B30FA90A1924B +41D2EE9D8AF2D8CA79D15518141665B542C696C2507DD2F4D987EE5E22397FA8 +FD80743186872DD67BE58103321467CF3F4B8898E66584DBB9688B9C78873CA2 +9B72AD7406CDFE8B58FACA2904869FB0EF126DE299CAC08CB89F60561939D75C +2722CA57853372C14F5BCCA5C4FEBCEB0728BF9E30140E6B0D6C034195FCCC89 +291CD818CF66757EAEB0AB5A9D5710988EBB052850DDE97BA0DC0B054BDF5172 +2002AD6FFA44AA5D9D4EBDB6B2C04E8EF38660D9BC4C995BF37DE078C279328F +4C360B8EB337D798962CACBBDEA517A5EDFAADF0D445FBD1099837F9D689CD2C +E330CF587246387EDDED64A2F4C397C1B2BFC325B39114609EF57DDCD7B93C53 +811ADEFA323C59441ABC447F683B5EC43870C057463DD502E9B9DA7084C3BBFB +2FB864D26DF1BA41ACC815F2A71E96D2C6F572E1F7E4A224FE57CD605682F98B +AC7BDE4B85A4C11D58981E981E9FC43B87A368BAEF78AD87B7DA0FE403AABFD1 +CF414CBE75C0E9E257DADCBA035E1BF05C4E17FE92309F18633D93DF885956A9 +6C27E77540F888B8336B61598CAB04F3B5A1767C1ACFE15D32A25E5B1BF51FFB +CF3CFB25CEE7DC95203CC44805A935D5A9154A89FBD4E465F0E599EED4033365 +0A31612F37BDAE8CC85BBC67F7E375EA68C2982FFD89284B027501184C4D2232 +CE0FE4E905C4B504EAD009F047FE627C79AF9EEDD65D00A3858F88E699E5EB45 +4957086CB22776AD06C317DEA41880D88F0EDCF71B4ED76BEE665B7937D5D0F0 +E568C7615025172086BDBD69670EA154CC52C85CBFFE88C1A4D1AFB6624EE667 +1B5BE2A31FCE8B2A4B03BC5DC57280199CC0970EBB636DDF8DF54C4A8CC8805C +AD63CE866FB20C64725AE4BC9F0EB275BD83EC89F2F9CE23A084B45694D8C3E9 +3F3D3C1A678690877E8B1B77ED85D4F6E03DBF1F3B1D177E330475F172E0E729 +63EAD8034E6100B2A5773E2605180629972DE6BAC0A8C2F9580E9F1D2E77791F +E1D33C2DBED3FAC47DDF1B74FD02583C3CFDBB2D1CC2B735C02B14B7AD3733CA +1682944ECFAD673A9AD5E80B6248FBB6E5036EA7FE5CA8C34FBCA6DBD0E76EB6 +C2CB89D9815DB3C45742170DA926E03493AD86BB19A1D3FC623BDF1C920684FB +7414EF69CF39713A9495D8CB678BD4592B53C36BC6CF93505B8E32311D42532B +5661051B855F01A9B3D77AE38879853AF0FFE2448368DDFA3EF1DEB88AA055B7 +91459586DD2DFEDA192306DF7143F998CC5D67C1CED313430E5CC3F9CE265747 +8582102111E7AF9FB94D95B82D8E1DF01F04F2A2C22A20207B59C8976D56833F +E3B79DCB727EE7537476A052E92F7C3D6A625AAED8F026F22AB59EC0F86E541F +BC082D8E35234A18192862EFD232C9950B1FE0BCB91209FB540DC5729B9E36B9 +94D0913A8F01FB6CB16DE85E6B89F144111B1D911DC527C24917D909F1CF501C +1AF2923EF71530F21F9BF049A56C7AB3249A420C28954E981EC464F61FA167A5 +C6084661808089EE7DBD80A2D92FF4040B37B2D81A2F5A568D461BE1C62B0FD1 +BF6D1063D2B5DB9CD48BB2B2AC9CEFA543E0AC5C86C462399C1E82F25A157282 +D32D538029ED22CC5935E63FA076BE22D3F53B7D7CCDD344D68B4E73F87A5F2C +691FE68C981FF7CCFB124506FEF93F36F7181075D7BC6FEEC0E35AF57855BAB2 +44AF021C7AD8912D884424E8BAEC68A5562B881793A1B47FD338B1EE4C0B8583 +2867C78DBC2EFC8BA1431DB1C8622C99BB2C2D4D5475BFCE87B11762427867B5 +7253463C6F2E1CF5F1DC1F7851F2EF6A957CAB0C0A55076C59A6FF9237917C08 +5F97C2CB4B5CC903B76BE8C057018CD962EF90E1C0CCEECD52F2AE35A94C6EF2 +D99DF4DA88247C920623978A1DBB81D8F171B588D617AFA8285F6147E889523F +CF11EF4BE498842D3BF8E811B4B33131416658E03293AD911516D8AED556F7E8 +0181391AF36D862F5F8B4588BC99585BFF0F1ADE4BF73320158DBACB2784768D +D9794E2B0F2C0696E5ECE5C7A7DE78EB5CAE85EEA244D43D0280D4C87B6B93F4 +803718596FBCDB61A0BFC2DC666128E56F3133B9D4F16305940B50ECF66D80BA +06C0A73C02F689314F1B4FAC22D16BB1E414C6F0A1A548AAB1364D2CD9DDFE5E +C8887964D26BE84986A6B1246BC306E6343CA376F990B77BE8D68A4E54304C3F +250B2311586A1D1EAD2C0221FE1828CE8396DEDEF13E70E0AA75FFB6089DBA9E +9FC3FAB43B3633C8EE7598619A0C6FAE2F25274787348E3660D0EB7212F5CB38 +032A41A54FDF14B32E721819AEEC54E8FDE3AB8F0ACEA267B01081F284B008C0 +5861CEB5C236729AA17DC78E92FE1EF9F047B53A59F2D1D6A6734D0413D1A51F +75B03234F4775523A55978C73D5BF9031EE8BC6BF9E2637DAC07F5AAF2A6C41F +77620B272300A78E86F71F16EBCE2DBFEF4920BD3F16C282E0BA4C872E5F7E52 +7ED2B663FE45D4A36A588D228D32E2861F26AA6FA8DDBC8110F4417D0DF29285 +F06B57B1720D0D13828A4DD68D57BD530FEB9C3CF305594B70E4394BD60C82DE +A64EC17661977B18199BA661C48860919CBEB56AB6C32848D51733F1E959EA35 +DFFD823D92F11065C643AA69776F71163A60D4941B753BBB4A4C0C47BB1D965D +06C9BA1FDAE47926F37C0C5B591058F68FC1DF3933B2BE014F99A53A617A19CD +8BE011234D48CB7E14D31B02B1FC47C8BFBF04C4409D32CB454E8FA0EF9AF16B +8AFE9FDDC41F6A23D700D4AA922A0316A895D240C5595F21FEBA98FE0E74B762 +77FCC80F4950A8C55B4A008FD381E9C0EDF4427CB324BE4ABFC790CEB53E8BBE +AA90163A7BB19E2840FDA404E830F5478DD69B85C5E69573D8CDBBDFF41A8126 +24A6AB66333C749C35BE314777CC222D54FF2C4C75717FB938724EEDDFC2EC1A +8DA77B5482E760B68F0A2D240332BD48803004BC157C6E8E192D512CE83D5572 +D388BAE80AAF5E7240A73CDA7CFF7F8CDAA4ABE1D3BF6ECC3641B6BD1C2CC703 +275D48D62A15E5A85F003E76D1EA7DB65E3476CCCF6B504514AEB1FF1263FDB9 +81FBF1A1873FC287FC6B6DB11F0FB463637D4F3280EBD19976588F900B956FB4 +36AAA8C1F040300CAB9C4F624B22C1D3D6414B7CAD36B5AEEC90105B5A5C2129 +4CD540B9D0129813BE7E20870365F8C46FEC92DDB64D0A6C7C5B9867A4592B7C +124B1B47899CE2D1C03811AD1B8BA253B0D29DAF2B53E312827478DBA274010F +C919D122DF24C1E372F7F3CA77A2C0EDCDB2635F4136EA0C202D4011346902E5 +1524609DC031656660302CA36D376245A64135890C13A11C0085861792384787 +D0831FA01C11F1E7B4429DDAA0B3A7EC1DC3CFEA24C34DA4BC993300F12A953E +80C8BDA360789FCB0F1AEEA7AAC310D0C3C56F43F7914C3B037DA02C31EB740F +2B1A696E0E5553656942BA567DC9C4D3CA06E45EA615B7B5674016DCFA07C0B4 +285BFD9D551117A357F4BEFD58BCE60661187A5FF20D27D685B24BEEF563F0C2 +B2CFA2565112F7F49023CDD405AF3E54FF994630BE678B0D6E1CED514FC93F7F +63710D289026CEE4B074253E7E0AB1DCCAB57DA7A1E2050D2B8D3D75F2AD7423 +0B0A7081DB1FA44055620B0A2CAA54666C5EEE3C01540D96ACAAE98644E1D210 +E0E020214550D723431813C031DC7DF0D177E82AE49798F8E0E5AE0BB8FF664E +4793F857BA380297AFB977065B7500E4C0AA1735AF4E15703C860A016F19E593 +319D14C497F24ED8E42F3FFEBE976DF33D697656DC11A8A7C6A60219BF63F186 +E0FFE55594B31E5C312DBCCA08E84E94E8BF57CD5F5B70EBE59F0D41DD3F6B05 +F7635EA92FA9E082C80075A5A5F684160AADAD501BBFA7746327E3E606D1FAC8 +EF7AE7C612371BB52FFF41A97A349D111E861A83C9C48B0145ABC3582FCE43C5 +D121F0EB6F5D219E52E2BB660AA1DA5551D6B66A732628D640BF9D8BDE2BB3BA +046FBFE2E28DB31AEA2ED8F9405A39C16C3800E9B5611B460BE0F6716F2BF79C +902AD4FA3B6656E13E9DD7A785C17F28BD4D646D66058721610CD756E0D18D32 +F09C740B6023DFAD45A718BBFB2E65544D4754A5DB23CC7988A3EF45CD3786F9 +E100D9684549A16BC2DB736D43C293097E082A968C27F0C120C41A53E3464381 +F7DCFA8B36344EDA85F53FF65BCDACCDE7EAA41A6D38C1F420F8F2E287AB0F98 +A0DF7D8A6CF2E4C78D606569BFB7C51495493FACED57CF2D507DDD366247D807 +28D73CBBDE2F4F666099411B1FD2CF7B93D0E9AA161024C58892285BCAA65E55 +9FB37468777706D2C57A0DF6D520844B56D62CD10F2D7B02D17F97E4F87C16F3 +9BA09013FBD7ED8C2DBBB432288E598241369B9DA6E3EE324290D73BDBFB5448 +E9D7142036C0FE538F18E866A50DD23152E2C096E1045E7777888AF5CEFB83B1 +C6FCA18A26E83D75AB66291A5A5A285DBB1B9525919564600D71A767BB03A8BC +7BF24CC3B318BBC0F40C79835DE626E99BB76C15719BFD5C15D967B84A6DC1B2 +450D42BD399C5316396CB294D008771E563E5640AAA9635A1EF11001D0E20298 +066B78B7F918E41FC48A6A6BAC8CD12D58CC2447D1BAC318E2717E7B5A94A4E6 +462FE9017FBACA70F73952C2FB4B57406E692684CD10FADF049EA8173068CFA5 +95F8BEBD313E01B345EA52562AE3847FFCBC685C6A6DD534BC84F502CF31BB41 +BDADCABC9B0D4DA28CD0824D82D2EDD5640F536A58087EC8C0D34AD765A9A174 +9AC7316CEA9A2E83824A18D289E8565D4B384CA51D83E9B609BE28DA4DC8C98D +8C179AF18994F08163D740167479D2670B425BAD5E6BE092E69AFC042606D362 +C9BE6062A9F9B6648FE44557BC5CA9C98AFB8EDCCC114201E0396101552A332D +53D51B1ADB825D84986DDD5D21415D2C72B59C9862ADDDFCE9912CF119B3A160 +A6DE9F3530919D2BE98905B8948671B7CDD7C757008A9DB37C412910C2EC2045 +0C679368F7FE5E5FA0F68495E7CF42433DE2A2266843099811EB2B6B521853F5 +03119608B331F62EE2D39A5FAB020716F07DDCD18B5B97E1E5A8B467F6A02BFF +A50688B18E1C8B5F1E7C9E1703F5790211DA43CFC39CE4B963B0DB7E791A4B57 +5634E0C79170F4231B5FB14107B1A5C79DD4404556882C4F29D8E48C6214F2E5 +8EA4DA002C2F679D5FB31625A92288765C589095592B928E7E040BF4C6C6105B +CFFC3E7428C40E731D3A1CDDB26B43739261D7F0BFCF750E6E7EB8E34CA627F3 +6025A4E0283B1C019355AED6BDA459B4ED8334F8F1965413380010A7F3D7786D +327499F6559F2798CB78328754A68CD2518871BC34A035F6DA66630236A97449 +F43BC0BAF9518C449FDD0F39158F50C3F98068D6BEA0EFBBF6582493B76EEDF5 +A4F113592792BF1E1EC78B4621BB192561A66725601A5FDE0E3BC3A0E5D0E5E1 +651AA00E53748F4E673F4CE968BED3E78D094DF417E0A9DD64DFA9D8DAAF3322 +D4244F40A28B5454595A2428AAD71D29AECAA79BADB81753033272DF76B9265C +BD2CF8F2196BBE34C9F450A95F0CD600F9E8DCF29FBA05B4543DE01876F266DF +2D256E22A2B7199C933014314D6ADB2C9559BCA6C089DF852C7F62699021DDF8 +A12F0A5A5823526C26BB22B01A1F1820EDF10B57FE340BF33170EAEEC9E4F17C +2180605B4A67F2D308DEFD68E9B8CA30C292BED73998E5C961745B97EAC1F974 +018DFFFE13FED7DEBE8D05934AB37B99C3AF31B7B9D3B05175EDBB0CB4B1B315 +6D5F15950578D61AF55DF6552D9D167389023CEBD2F05FE197F1A0ACFFAD3094 +6569FFF8E0F51E74D1C4D7FB44CEABC13DA37E971F779016989976E4D8FF0823 +3B480A3226E5C886559A6D968D9910CEC5352FC792B6A3A33A7CCBD7393E5895 +4D65A5BE869CEB87DE1053CC2204278A3AEE56C225535B71CD47BF86808C1518 +B2271FA99BDAA299052E466C013FB92D13DE605C84E6D10940B4A133E5829484 +329CADD9CD695D0680E6355159932ADEDD1248655378E97F8433CCBEECCD5A06 +0143759ECA25B0C06170E5936717CED6FDC465B0B6B6E2CDC0DA8ABA51C1356C +5E78E2DC1A6C74486706569541442EB182EA87ACF934AC27125BCE22687FFEDC +934E0397478DE8ACBB67A1EEAA89D3FF183625BFBD35D0F590426F77A7E69033 +1E50BF76462FCDD066C6E31602389C8444176D1EDD9884B0124B6F8E793EC7DA +89F78BC8E0D39D6E5DBD4393BD905D3E1A36D00B83AF618214465084940BB76E +CBBB3E4A18C03D6B9F229A7D3674BB6431FDB3EB6084F37673E427EFDB1CA6A6 +3F46E4E6BC79DE5B2BB178816A8EA795B4461771E0801E6A7E3BB72FC66C8A14 +171E421B5688AFFB663F8CCA482627FD79ABABA5BA7413DAC2FD93D276ACE5E9 +E177D2884CB972E05E758F1F1D677E1BA7822941F7E0B4800C799B067E507DA4 +0F08922C372046CD881E7933C4504A087D31B054200C90A4B1F8DC1617FC8793 +918CEB03E9889F3E0DD7C6E2B0414843825084A2853790538F0E38E1D5845A8D +5373F625C280792D4B98E7EAD82BCB452F94AD28904A1C7B2126F744AC740453 +0AF793E5F60FECF460E8032D30B42452E6082A9C50A057776D922A2DDA0DBB31 +17935016D24E67B89286BEE902D835C56D03E5E58280F67FED85FBF89802FB5C +DACA0494D3759557465892D97B2C7818C1198132A3F5672364D85FF57D2005A7 +F9FA1E398E22D32CF3B5DBAF7E214A9F0FC4F6E6B4E307AA8ADFB85B50F3F703 +8A24E649F9FC87745C89E7A65923BB873CB58E2D0F550A36E3D01F72800C8C31 +FEDA828ABA3B0CB416E2C11B1E54BF7738062D7A55B520E71959F5FA42990B1A +392C9855BA9A660ACEDC43447CDD48F912C808D25AE7FDACF026168D1A419D7C +E742D3B08F2CE325D6A10B4A37B51B0A450B5A5009B26652DADE54CED707813C +E9B3EBAE23A7CB6F17CE5CFF4469CCF45C1C51E253E6DD2BEC12233684D55A0D +5789C475C2387A832F4914397818934A0F6238102F2D2052067C6327AE6982A0 +0D3A32513541AEF2CBFF8E87C75E737066229312A0BA60BA4E578948BEC5D76E +EFA81170B410DC50D223255EEB888E7FD4BAFB7EAA0B68C0BB6A6E33D761780D +40650FCB13FB4C16A8C89E8EECED8E821982F02AE1CA3B614F8AFC1154B05D5E +386E3CFD84658AD5D3ADBBAB7E3AE6272E9252140961D5D4618D857F1F6D3B10 +729AC82A0CF7AB1F092F9F6A8882F1871B66CED822CA773D84CF9BC4A2A991FF +9A142E7A23C227E5EF710D7FF21EA7687A64FD7A8F2EA315F9267CF0E6A7D169 +A81A56B94012289CB668CAE4F32A57D62ADE4A13255876C5D71F77FD81E8C14D +B2D2D87090F5425569D79381D9C61B7CFCAE1DA5FBE871D8D642FDA45A0B2756 +239EDECD4E8F6193A521E3305A56161DEF9D582723601D590FFB1B1AB8A35A89 +FC5214709CD15F0FE44AB2173865A2E90AAB31B3138A95F979C6C9960BF4D2F8 +5BBB1CD4F52C83D7BBDAA2A35EB13F396B40879D9A8E596DF4D94794DA2A5F13 +5CC98E89CEE7D4538E7B6A8C21CF3AA931D8A7D29344E8A6A5493D8B05D84EA1 +A3E54AE7A5FC98AB133D8CEAB123C2BECB04972281DF846645AE102A9FFA913F +869B20DE1CAA9F4DE8E61D964843A2F337345C676D0BD30EC233F724E4AB7A23 +D8BB0783B45D3F1F8FEA708437EA83555C97BAE310F50C482C515EA57FC5619E +0BFAA279974213E093984D9785361A99370B8B8B8BE424AF4FE36306F3BABC7A +C7392D5AD12E00050A549629349E9C0A3806622DC465148CF66D8C314FB0FE9B +801D5E11DB9B0D9999FAC41151732971797FF808D923A6503EB00BED775EE763 +BC9900DBBB1E3C761C434AD6584460845135E6DE2C604181CE5E1DDBB6A2E249 +DDCB618010999C996005786A13C1C49475DD2A79C9FEE0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: SkakNew-Figurine-Bold +%!PS-AdobeFont-1.0: SkakNew-Figurine-Bold 001.002 +%%CreationDate: Thu Feb 12 14:57:56 2009 +%%VMusage: 120000 150000 +11 dict begin +/FontInfo 15 dict dup begin +/version (001.002) readonly def +/Notice (Copyright (c) Ulrich Dirr 2004, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def +/FullName (SkakNew-Figurine Bold) readonly def +/FamilyName (SkakNew-Figurine) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Weight (Bold) readonly def +end readonly def +/FontName /SkakNew-Figurine-Bold def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 66 /B put +dup 78 /N put +dup 81 /Q put +dup 82 /R put +dup 88 /X put +readonly def +/PaintType 0 def +/FontType 1 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox {0 -158 1430 846} readonly def +currentdict end +currentfile eexec +D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 +1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 +204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 +429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 +FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 +C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB07D440EF +662966E7DB0A01929A1BB04538E2CF2BD8A1AFB22C6EC0DD4F2C4D488C742D5E +669571267C49BCAFB5C141B2C1FA88DAC7931EFDE3A9815238A12786ECFC62FA +829A03F564B87235AC7420AC23AEBBD71F9C9A61A5AB1DE260D375D2983DBB87 +74F692AF0FB6AD250BDFD9718C66C64B496E10CBCAA1272A4CE2A5F1AB056004 +6A925040164BC75D2DC2C125142BE35F3CC3730D755348B4871F7B8365D752F4 +1E87227E52D71057A43F80D8F8952C60AD1B492C9611CFA54734F60DCFC55069 +A5CC3D4086B8E449CFB9D8BFF2AF93A775DC2161B4F79150373C5457E7293AC2 +7FE3A244835166E48CD7AFE325F59ADB3044EB1563492ADF6B9CF08A7A5990FD +DD569794F2C8D74C8B75C2633A58AC2700558316F587E46578F89B7F392AB6C3 +889E1979AFB38550018F0152A56D5A2C5A532A12D3B6C01B2916D158BD3C58C5 +60354E4BFC38CF937A14E8B51293EDA34D0194AA9DF7DF26DFF17408966AF9EE +9981E7FC5202D660D75282FEBF7E9548FFA00CF8E549F66E9604200BA578D28B +FD3611E3DCCADC448E5861752CA847CF85FE46532EBAC475558E6074B8107F22 +DAA87EF9B3611E35F301351E76E634B035DB3DF6AAFFE9B7A705E7246B469EF5 +4096B247A636661D3356A8AA466240554BC0FF629DFA9A66C8A607E48F7297F6 +5B47189D8398C7D61FC5EED7D7E1E9E105216D435F50DE83B089282C84CAEABB +C5C18A1CB8E616C0C1E75832291A59F9839CE31278626C4C5EFD410278B3F850 +41CE1CF859FBA2870DCEB5F7E7F30FB1E250F12170D8692852666BE1920B40F3 +AA28D246C52061DFB9076201D7557AA20ABCABBDC2C05F7E120B481F8D77C8CA +A24F1526CCE72033B37AB2E428D61D7906FF68BE2E0D6A96BB289564770D0A5E +EBD81A73FE2DA4B58FBBDD9F6384613275A7AF3F075CE9B88F69719BAE108F34 +7F25D40A3917AE6E23981338327B9DAB8B8CFEAA801B46F1F65EF5DF3A632B05 +845F38AEDE98D51E984FEAD578755F62A385B339CF2195F15E74193E8AEFBD3F +557DF3D62706B0B2D8402B671BB6287A295757CEAC5275EE6661C4DE72166520 +8446CAA0AD7FD946EE45EF3C791B0516561D5617906BD426172570CD0992B69A +EC59FBA28E116467C4AC9E7EB0E35229D0830492A211B473C0606C868A1147D0 +4C4D41CF1822B374108F842E280971B171F7570002AC5A8B806E114DE484CF59 +5195DE5635099D24D56E60B23297934391673BDE956DD217E3C33D48197C7190 +F4CF4B2879A1A79F63BE0F78375DE2AB3100CD354480F5A310A96430B60EFE94 +AF727A5B7161A56F1685D3E5642F40181AD0137A494EA63AB3321C9FE6D9382A +34EE24E135350388FAA9E8AD52D5CC888F51ED51C5215E6BAA00FBF58B3201BF +E4896FA9ABF40DFE03ABF6CB7F3ADED28E7445C8B2411B2B72CF35172C665D12 +FB9E8C85645FF1993EF940F67997D231665381A9E50FFBA1AC0AE97B3266713D +647E1FEE8A449BB624A7867DDBA18739309CCED3E033483DE06E84BFD48A6F6E +21E91BDF84847A4E62BAE82AD406E1EDB90574508E37DC2620A76D79F58D6B76 +2E8988C12B59613F511A5050DD326E58CFF2622817F85C3732428BBDA82D0530 +5E841DCEDFC9B4E9205E020B16D387D0D22E4CBF5DC0B5048C5BDB4F3E22B01B +043B3EE1F315A2DD72DFC49336702E418123E1C79B96D7431347272B978919DA +4B89674FF15AF274744F12B4E00972D8D40B70B3B3EDB5BED928BDB2FE564DF1 +5A1E1241BBF52EADAC03E4580776A6C3B83C6DB04F0066B61FF6082749BE1B7C +DF3E23B7D13683E6E6D4F66FD1A626A3F1249447D04923007C382E3701346D87 +89B542D10A519D745A8304560C1EF30F56AD1BF9775394F3CE5F3D1B812E5079 +76F37B7811B8CEEED078FFDC25EDD28DDAF729EB0A5C08E53440DD3E37550CD5 +845E96DA3B38549554CEDECC6327D73F42E6EBD8E3F3E57EEF78898737B093D8 +4E1F4FFBE696D57B48BC22C5AC818260E1ABFB738A78C4794BC3D0C28CD4EA3A +B9CB1D63BC044F5C57FE61ECFDD6461E48161528D9D3CF95AF72FB21063D6FB8 +1DFEBDADB2A6E875DF65FD73FECE978D023A39BD7F8CE43E28F3C198A9777EB6 +EC98A99B8ACAD2A49FA7F8529B6AC481AF2A4CDD3F6FEA60AC1E121E9A2D0428 +D9AA4E8813E6B17B36B65FDFE425221E7B501B6098D3D16B7F40EB5C0E1792B7 +9402A8B6FB72C89149FADF51DF8ED75C2F830B137348F36A7C2A2F65C05EB11E +631C88CB95A2026B51FFFCDDDC8438DD4E440E1E076BD5999A03EDB120BAC08D +C61CB521CABCE79BAA4005E049999CACD69FB5B07A6E68C40FDA804A652BAC88 +858C4B10A334A655EA535CD4DF0EC593EA0E17FBF0DEC2C64E3EBB8C1EFC9402 +FB804E548DB7E403D02BE396DF5363F36B8B8CF61DE0E242E6F606EDDF2ECA75 +D820628F7E8B34D2232CF8FEB4B3909440BD5BD666909F5BB9756D5836E4EEC4 +C3905A8133A0BF72A51B11FE3C366C572AA84F9EB0007DBA9848A6F77D60547D +A5861B5B0B3A05BB85246D6353084F65E8DB86B20BFD80886A4F8F3137EC5696 +97EF83E3FBEBBA1F7C152360D73344ADBC4E8CE562CE359A6720A56A862A775E +FAA24EF26E9520C92E3700066DBED11A3F1885DBF01AC8424A370B07DB32E43F +151BAE61B9ADC240131C2625F4187F335D5455508E77AF0624DB111D9DD34903 +E88255AD59EE2AAF4AF48754BD1408ADEE291305D10B80A6F8D64D1FC6780294 +8D65FE97DD7CBD4036534C1E5C5F580B0146F25858923849EB71597B8656A7C7 +EB74CA98D2DB491EAC515F703873ACDFC3D999CD12945424FFE8A950ADC75477 +ED41A451034B0783AFCDEE33963C660488E38ABEC103CED5E1545D881B7D8F9E +2FAE081DAC900796D228FB4116BFC3702B36874342983AAA74879B0B9E058ED9 +C36DBF58CA310B90A94155917447412D44F10C0644A7ED97F93555C401B5A05B +DABDF5340A9038D16D85ADF276BACE9B90B04D2E6945595FCFBE50EF69DA30F4 +CA789156CFFB19AB8A49624E55F4D6924CFCFB151E1A0E36C183ED5B4F95B79E +2D38BC29D051147B2BB2616793A1E249761CDC02AAB94370CF9032EEF62C5EEC +FB5F6D2BBDE70D7455890ADE07E951CAE8556FB802554AD4858DA6421A495D0F +F9FE417BB175D60171E591A3EC5518A3700B0F78B5DCA8DF9ADF330BBE1EB4C0 +DB9E3065304F0886E8F6DDCB295D8368D2C170A26FC01AC34C5E27A4A28F4114 +51A27C7FDFAE70ED874248C6277CF363C85E6BEB0E8940FE124152B3840469DC +25FAAF997CB6D3926CA5C07349EDE382712F0417B9754501DA8F2DDF7B634F16 +11E75AD1FDBC7BBE6B9D8E2954DFC9EE87B9E3C56C95DDDB6793139356DA121D +8B62725C5F8BB4EEA74B8C57A14BB74111BCDE3180C901360D6ECD58138482FC +875061215E705879CD0E0EE366B9E89656270754DEB04F54CBADAB4A4F2C66AD +4DEC7108F3A9814C0BFC2B529DBD9F0B6D0E5C3ADF20D05F45485A40022DA97E +A2267F36EF6F7927A78E9626DDEEC07F33483764478EF0ADCCFB8D3F89C915FA +02B5ACA53FE8E2D979E77E8E1C65D7CB0F77BFC566EDD7D794E86DDA3898E4DA +D3EEF0D0C566DCA6C0BC514F165E8CC8AA610B2DC74E8A240EAE681684D8C8CE +BE12BDC47E0F23B1E7BC1992394FAD466D1ACE7EF5B8B78571A2B9F11D9CCDA8 +6AED4018410C0471C424F91DDC44879C93332BBC590706EEB4AA84507E0E30B4 +374AD52B992ED72C4C71452C6DC6877E207B370A317902161C1358A653056F95 +30850BF2F58BC35024658A943979419BF02570A577803DE72F298CE2D6FA01F6 +95A760AC90EEC525F975D009E4725F1CAFBBFAF1F4050C73976538AE489646EC +E63F28DAA553ABBB4E16EA5EBF3108C961F6BCF1B38B13EBBD53C8A7C899C724 +43E6502869E5C0717B199107EB4203097BAEA6DDAC40DA4CE1C37E7B4D1B8900 +BBC9239768017E2B458F23BAE2C25892C1343A614FD4A900217D54A62DECB4CE +2AC2BF5819F6DE69C7D62F978FD4969E593D4AA075861D6D04EA1D02015ECADB +5DEEED942CD33D61340E2592A6D327B5CBC8EE118B5530C3C61816A75A46F33A +2FD5A01F3417E02922A731077003E70892BAE0D9E7CEA77F3876E00DB2F2DDA5 +F74DC7852A98B4A5D1CBE2BBBDACF3AC44FA5369B4C070CFF72239259512BC4C +255F0D9661402427D56C25F89559F9BFD00E8019D5DE6861209E8B8EAA315F04 +B519F17EB8DF44908914E1522D876BD245BE3F0B3BB3A2BE3A85EDBBF373DF4B +43F256632BB7D2FEABEC734418D06AA3304E57B7B2E6A339DAE3C90722DD4A57 +7AF703F407B26E8BAB7E9850656473EB9976EB5850AA753F0122DE342B30DB1B +B978EE7A018684AD93B134CB785D4AF068AF5D68E56F1AB5E08F28EFCB327831 +D5EBBAA6F7A2CF0BEA40F9C281F53240745F9FD7C006BFDDA5D901C2492250C3 +3D166AD12335AE2973A2CC43598526D5545CF5FEB3E7F12C2B85148F203E3FBC +441E6CD33D5D54104F8629891512D21E69F6E687E4A0B25B6CB9BD94C6C4209F +6516AC7C045602C046137A1A9DEC7E5041B83246BF4554E86F693C3407434686 +2479E1F2C136427DB3B6275AF15DA6032103D05FADECAFC9170F159A6512C6EB +304972062623F869A87BD7FC0AD1165C8ACA114C77FC5EAFAE8F2019BECDD398 +6FB926ECEB7B4BF96CD3E20609A0D9056786E26293BE99EA0820C5C6DFDC067F +67833E6CAE9E3103CBF372ADFB567BD77036F22365A6EB38E9D75B61BB75F697 +94D32BA61AD84B22B9F91267B02B344FBA3C2649050B100916D1019D6E20C6DF +EE09E2B86F29BF89E476682F7FDBB7DEFCAB642CE9B0A2F08068B3914A68DED5 +F9B41C7447BF5B6F6ACD384DB373FF9E28B2F101D58C2B4EF8953BCBF6EA8C5C +DDEA8BF49ABC7EBA44746B71A30F645A7D2A6DCDB2959231688C76808E788768 +6D845FD2F932 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFRM1000 +%!FontType1-1.0: SFRM1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>. +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-189 -321 1456 937}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F267FE330B57DF626EBF73D2779A4A6B462AE6E5 +19E5878939A488F2FE1094A76925CD24DAD4573AD3CF34E426708CF06E7EBFFC +BEF5595408106E2189F418D17AD510ED5B6A528E8902AA3A5F0FF52AE3DEAB07 +32F06B63E28BB88229E046F4FF8A356BBDDE82DF2A197F2E26CA00D5594725A1 +83A89A36487EAAE1AC312C929CDCE50722FA6C596C261E4D78D6C6ABF77F5CCE +0E410ED74287A0F201140F8D9674A7AC585D3CBC72CCB824F9E1CEBD08AEDB3A +A4015CADF471F7ABD9B0F0AF73A8274FD441BC1988A61799856E4770155341D6 +516CD0E25BFA59B67AB7E0571DF3F5BA70AB52137D9E6A79EFADBE70CA05AC8D +991D0895C8FFC747FBC0E9A7212BAE6560B9E2B64FFCC58112E64A3B4CF7ECF7 +595F51C34AD1342F5678FE1E62EC5A389CF04E82B5F832914B91F921F30A7E32 +CA3919F57A2D9DE844CAAAC0DC751C255C9916595E8C9532E7A0A84A0AEFCACD +83EDE059FD06EEE9951473180B517F25F609F347DBA012AE9F004DC3C771777B +BE812787C3C50315D67254A384EB65F260943C6E16B2CDC64E15EEEDC67C5544 +8ADE9981A6867405E46222CACCEF79F9DC8674268BBBE1EFEC2187A75FB7FBF8 +CB2DB2134848DEA2F9CED443DCF561E7272B38F830871B2A5196A787924EF556 +4B7E9093ADD414ACBC10147944D216D35635B0CAE44A36F26E9279364FB842B3 +9B46D6738271A219E3C81D18581CD7FF96488ECF22AE7B059CF078F501EF27A7 +C401FE91CCCB7EC1DF533262B85679EB4F161B031F8416F6272CB6C002EF96ED +130A2AE6CD36404D977932C67B1A9C9B0BAD81157FCF96A069221987A70CB34E +834EEBA95F9ED88D8077DED5083E7A4ACBDB9EA5A5484D4BFB94C297FF895603 +5877BC04A2A6CCC73F7D8B30151B569A0BE14E361B541891B78E06AA8BCCE175 +AD81E9FC07F682D9DC50991001BF0858C1C93F5F80478B53FA235BC3435AA0E0 +DE20E6C111559EE486895C9FE73DB1E6B67A48C324DBBFD388A89BAC3F924EA6 +30E6FD3046B244BB13B52BCCDC315F1334F0DBCD09307129C046315278789D0F +37931005401D2A36C02F7A452553206C9C0ACF9F4ADE0644C0F54DF86182CD70 +33B5EA8978F58EA8D5269308872E72AFBD603222BE25A7563998710620E9D708 +F8B9E0E76F63EB9F926D68F3F53D6F94D7EC62C6127EFFAE4962953ADD854D51 +6B404E2C1CA5A4367C5C7E9438758EAB6FBBCF197EA977B02A316BEBAB3545F6 +46F0E2901322D1F2C5801B4EDE4D4B472A362FD4BAFA31DA0FF46962EB9030C7 +EDE9848FF6156B914FC6D47FDCADB9FBC81A0FF6A2EC5DFC9750EEF2B0525CA5 +23E6133B2B7CC7BC55EE2B0992903D18E152E9C5DAB2CE7AF67CB87C1BFA2053 +9CD30B7374815937CB0669F9323447BDD149CBEF3DBCF17D4874E909D72E5CC4 +D215864DA47E18CFABCF1C9AA3632ED785BD9AC17AE3AFC8DC8E88FDD0A12E64 +81A348FE29B6F3E581D3057D4E7778ABA7522C72A67EC9C94039CC48DF60F8D7 +B1FFA5136753451F75F11701E4F42510852274E5195EA582B5881BC66650F545 +6FD9EB60D62017182ABDF600C2B24A637C121B16FAFA8B8FD732DC45729B9559 +5DD2D098E20EC3AB0A7843B80558B6077052DFED014A091DC957EDCA7BA9673A +2E8FF09CE3B2B6C417DDF180E612EB64C4DC165BD6C64C44F44DD6272719BDBB +0267FB93CA914C8AFC07D05B143D9F4701C67A6538B25FAA1E9F0FDE2B67BE5B +206883CC78434B7BE9CA4DC28192DFF145D68274563F8FEAD4BA3DB2408D8325 +1001E8437E7F6D9B01FC36C06E1987EA8B94BAC3FA077D9497EC66387A49FD34 +7AF3BA4F8250E227FB09108797E78AE025DECFB7840E807E6F6AFA40526E9627 +3124FC33E497FC0401AEA001625272DA93B586717AF8D58D6DFB8F0A799F5D5F +71F405FD459A3A389B80351218E00EB539984808520A08D611AF5B19349DAC52 +3CED56DB2F2009B41DB0F59A443BD847AC598AD257D15B1C247E7D69EDC3C3A9 +108BE9A86888F724105E99F833B652335C0B24A4624B7CD1FEC01D1CBC554284 +0C27397CF20460D40915BB24338B8723DF80E5B89A772C8480DE256A06452758 +08F9D734060F4C05089FA41958FDE0508F604DE275E7981C6BFF1A1FEDA48B19 +7B121CFA00032C1C46052FFD35EBAA2B99C2EDD5A7724A5FE71BEB084876A7D9 +D90B0C39E4F076F03E76C46BAC1F7A2F40F03384B33BC05A3C700EE32FB3C80B +01570AB63AA765C18E03B8990D85053326D162DAF1605BF29780A7737EC11E11 +02125E50ED736D9EE1F82A47B83B63BE731868D984D303709EDA506D90FF3C88 +9FB0E7D8462F88BEE48FC93D7EF41EBF4835918338ABBB368BF0AADC3799E89B +06F5B2166CBD8AF8B8BC7990AB2E77C3A4F5966723F07B048A3B7D61837A2985 +59E2D122F459D1526AA356359AEFE3F4208ED2259395F9FCF7B9B388D359C2F9 +F6DF7DCC5C36CD0DE61F71BA67FA0CE5238B48624A4E81527F6D4C4B86D82C27 +0CB0B5DCFE7EA3CBCCF30FA39D73D43E91115F3BE196C9252A0D874C0EB21FA5 +B6072A0B8D543A28FD4BBEF1AAAF7CE7B91BC7225B8B0F4C98521EF75AD1F61E +CFB1883B4441730ED967A8E46A57C98EBAC4EFA1B7701726915A0E43B20B8B8D +E4041464B803E3EB1DEC855768092105B7DC4DC91CF778CCE8F5F4251B3742FA +390353C15FAA6F7B426D9C4E5B76CCBD3C6DB93146EC76A522DBC2FA9CB5B336 +EE8B8758B3A52B5E42857CFFA89516E173855ADD5C92A6FBF7B65770C00076E4 +86ADADA8AF511EC5FE39B03F6A18BDB4EAE7D5B7374E36996C357D7E638F006C +052C76630B40A69C00923325A5C019CF66425439029A4189E4F47177A68A5F2C +E7F880A790CF14F0639001A14BF00B917586DA03B6E384BA8BA4D889FD1236FF +072C75CA223DC18CAAA582966BBCCAD547A612C32A129D38CAF24BC56651DE91 +B270668DAB550740F72D575EB5D584BB6986C40DE1FDE76C4A7E76F8B7A7B37F +E7085A248C48DD46D9E3EFF4DB71E1A29D2966F70954567C3F74FBCA07461D21 +0C1FC5002FA5CE7DF550B6569D06D126A37A173434E158162D2C07BC08690DEA +06453DEA34070BE2FB64E52BF3CE56D9993271DB5BF9E0465F22CC9C10590C07 +0D1548E1616B224DEC1F466ABBE25F62DE876EB1364766B000D732D9949A1E96 +F4F6F4A945BD89E1EC30B408F687975F04A6CB5B4FB320A9CD1EB7D96DC444D4 +237442FE18CBDA16BF5F30D78C191F56BC182CB4A945BACE7FC598625CDC95C3 +A4B89E5D79A8443BDE929C11653117028A379FA4FA42335083257561EBB2F577 +1B5C3B301E6A2B3EBFF2CEA46CAFBB77243277ED8B54D4DE7D685EB3AC6B19D7 +8FE079B6DE217EE3A158485AB7D96C2ACF1EBDE5FFFF60D2D3A2CF47A5664183 +312F60BC6167CAC651681C8A2110AA743CCEE78AFB02A33AC6D344B758FC9237 +C1FDD1D014DD0A7B38EE62296357F8D6B3A403C8A7A52B6F61BB07C99A752D3D +66DC5CDCB3AB65B3F378F13D4D5914AE180039B9B1158E5DFC8CA968EA5D2212 +4C4BF440D1B94F529726B213FE1FC68D0D135F90D46C6FA97BDCA7925AEA933B +8A61A1249936272CD80C2CDF97C3A5C4830CF8E305BF04919FCB2BCDDC15727C +BD52951456196C5299D4F72EA091F17BA2A0F3F3A77D3BA5FC7385CC339F73A2 +3D98F1A4DBD8E6BB77F391D306121F0C1055EB0F6F28FF389B33ACFA0D7B8B7E +21C013EE3CD986609ABCAEC8DB3DDAD3FDCACC26E2A4FD5A951827A492B4E91F +381C566CF9C76964C2FBF17E8F3738E8B6E3B581F41A3AB9867BFA591D2BF525 +1AC329B0AF0EB7884D8DE9C349DF0CFAD70F6AB79683319344C43C513C35AE85 +AA513F8C0EC1AD99379847B0D88B53341E8094E61E81D866AB4465D4F4D92F7D +A055885C00A32FE56D7BEF7F75313DCF0510DFC0926F8802E58D0AB34760F8D1 +36DB14C2462E940DF26604613C720DE6D3B23B3D84B27A97DDE16994523FE190 +581DDD1535747D3F7C6E9CEF59C241A0DF069387E4FF44629D79D26E799F1D26 +CDA56B940E651E38816A254C9C3763F3B12E08719DA8BBC288DC38E1BF2F2D44 +EE3111675DAE1E558969D2E801EEA46564EFAFBA0D0C9C1A43A566E23768265B +77BB1842D47F30465B40B60274C4E43784090D9BD75A0FEA6FEE94FEA1A87031 +ACA99B4D77F27DF349735B6CF4F20CA06BFB17FFFE25DF4FADC7E1A2C37351FA +FB36A2A946D31979CD7E81F552B60785811C3E494C40709588F26272576C6C58 +DD0DA2D3E665024AE7F32D0EB0E6EEFF23530E333F1AD34719ED0FA12413DBFF +C006A3D88E951EC77D2132869645AA1E939DFD08735232D6CF29D59695A2DBC1 +CF0A0537288794E3232CC68C45EEE060DA6B88BE7B4423BE83A0A5F8BD7E3F2A +8AC186C94D697D700FC70C10A7595A3FDEF5A78A41E4BDFCF29713F68988D266 +68ACFE48988629995818E9324C7A1B5C7DC8375A1D2E8D121D99EA42C69AA985 +BF7EF0B20ECB0CB937CEFA093292864C84EFFE9F7DE723288E6C55981A821A55 +634B99CD57715540308E63E0B6CA5A2367B5C90A81897B6973FAD7D4DB3EDC5D +3BBB29195F1C45847593275FF35073F9BF68AD4FD5B1FE714F64CE91AA02E708 +04A75885A54B560F3075F2A4C5A3974F7B9312861A178802C679818CF8DF891E +53FAC89F6B691AFA7AB9C5C94B11A5DFF77200D341E65721F384CA12B6D41E8C +E89D30BDAC672DC6D18D1A5DBF53364BDDD7DC5356AB35544DB9AD54A6AFC519 +95CD7EB3BB034A9A68B38FBA33892ED0F2FE162CD1B19D8DAC59F6EDA4DDC706 +EC5E35EB78B9B08355C4D191C58552F1CD3A9186702A682A1AB0BD529CFA779D +661A01F891E2EC776B1CC1D24AEC47DA7F2BFC8F025364DBA860341F3CC43A9E +C08671F27F3AE6C9A73E86D96F99B68A3ACFAEEA98E29DE783BE36D1F9FE2974 +ED556CABD8737E303923E6D956D36DE9F5515E6D8A869F9B7D6F52481694A9F6 +B8782AFBDF2054D1AAF7B0914CF416F14DCD4C742E797248AC36C802A06B3A54 +5251416E7F381F36DFEB6612EF33A54D23A5B865B893847B4368E439C57BF3DC +3E64C19A57CF9DFF38300063F60AB26FC8966A23AD7E8A29152315F5CE6E364D +5D18B9C0008436E945B51006DE85D26A58DE78D6A3392C6AD5ACE62FFB970F72 +6AC9128ED85BE25FB1474F5E6EE52564DBC27AC845341C4E71D9C1FD8FA3C173 +B2E98CAF3E801A77DA7D0BD6F914B0700B82081C4C2E462E081483A4701A2377 +5E316D9D27F68F2914E7DF8DDBAE8EF68B71960883A6DBD009912678D659C124 +0C807E9727DDD03F574982E6DAF365C8CC17A2884DAD18E0EB09FFF000C31C98 +51E01DC81E5E3D14BE8911C50F4375896BEEC50E0704F27927A854234631E804 +24C147175154CDAE09020A483928FFCA2B01E953BF18BA66A98E49AE58B26B9D +EA41D62D3837946BB2D5A2B94B7A9DF5CF6C9B82FE31E104A8A62B6121A1EAD3 +5032AFDCCEC750BE37AE380E3D2BE056D20AEC2CB8837D6493B7C6AD9FF60467 +80C3763D9C7E8DECE666928A10E2F80BC9861CC74399267D4B9778F949763B2D +68BDEA255789EA56A3F0BE0B7D809DCF0A2DC2C3E42350E8942EE0F462DAAAD9 +3A474BCB4F4334D8B41C7165F07D9E5AC9E11B72B463666E0801178EF19CC89E +84B5AC91F911A410A3CDC27FC7DB21C8F8940995632F0D887AC6A64A26B66D67 +30594F037D53AFFC4360E8E4982CB07A92E0B718668A71C7D6B094B14FB94F0E +145F747754CA79D8F6EDECE0E8BD8C79C6687A5AF695D44D846F3526B5BCF13A +9B9D6F7312B89C0C28B6ECD814EAFBE88E6EEA10A39E0D683012045C9071BF6A +734B112931E58DACAF725919D8C00FB81E38C65E00FA8DCAB985DAEAA6494AE5 +8EBA775EAD6F217EEE6DE71F42E609EF5766F00C22FA250FA5632C0FFEF90A86 +4DFC8050FA536D709C116EB39E30E38216CB5FA24E41CECFCDACEE2073D7388B +646BC847563C9E72C33C523F93D97F9CFDBF7206F0293034409F9328E81C7E8C +E50E6E4171DF090D101DA4038F3E4929280B2751B6CADD1943D2C2E56526290C +9DEE8373BA8CFEBFA2DF69EEF01B8CF240CB4EEB4CDE8DAD0AA8CB5D8FA67481 +9CEA4347C1CDE3918860886DA1E5B55AC0FFD7B3BB053051AA4CF7BB80262516 +C1C9EF83704A37870E844EB6B16F79254B0A1290ACBF37E68A44BB9134455856 +6FEC8A31B76C945EBD007DBC5B50F86E46F4896AC2825033E04DBA7F1945DDE1 +CABD48AFD1A8BD4CDFED5DA5F44E63F1BE1D77DCB6596869FAFA2676F8B5DF67 +F287A432A3CA8AB2DBA54CE370744D08C3F50D1DC599BEEEE5CE2D26684872D8 +47BE302604B867BD48C00E6739A0710ACEBB27C9321C +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSSBX10 +%!PS-AdobeFont-1.0: CMSSBX10 003.002 +%%Title: CMSSBX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSBX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSSBX10 known{/CMSSBX10 findfont dup/UniqueID known{dup +/UniqueID get 5000806 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSSBX10 def +/FontBBox {-71 -250 1099 780 }readonly def +/UniqueID 5000806 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSBX10.) readonly def +/FullName (CMSSBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 97 /a put +dup 98 /b put +dup 100 /d put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 115 /s put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7F4437ED75BF2F7BA7 +02F85142A4EADC8C9C7F11ABE2AE2A9DEA79CBF9577DD8627E31D25A7E4DED9E +FBB1C413696C88A07E5C937451D40A9211B29E24C9424635CD4FD6B16FA7D76F +5BA1DF0EC26097EEADD70EAA577531177A26B5017A32675C68052E90E68538DD +E779AB23150FCD1653460CDDCC713599EFA381C3322175809A73447720F6911C +6BFBDC0458C477D2CE69BBAFD05B5C2DA1D2E3E8378A2112066B045243D3D080 +DAB211DCC25430973C18E7FC5574A814E3EB79F34FF5197453873C8AC66E47AB +5EA57CB3C8365D5235E7746C8584734F002E9A28C38B0C25E3753D85A1D2F3CA +B8DECFE14A7AFBFB76CF3E91A1E0203FBC8052C2DF967693C9BA0ABE86B5D264 +BC345D7954C9523B3E70C4AEBBB0F2D56BAD6D76E095F9390FBE2CD607F3060D +F713ABF47F0FCA5D5C27CBCD4140C668F733F769FF5326917C0AC5D4C72F99BC +5AF4540DB169622644D320872947BCF1D30DA4EA150AA22D6D53777345858DFA +3286EB68314E30EC650C8BCC572D72879E431FB4297AAD6533C8F4802E0B9902 +8360C57504D4176C1DE7F57382FF2E2C0A3D5285A061CE91D3149E3096B91076 +1E914125CCA8D1C9230B72427990ED4468CE79C11E8F0CB89A3213C535B040E4 +0C5784E6D53C96696EE45C87B5E0DAA80D3A06E5759D0676ACF99020DCFC3E8B +50002675B01959500133BC30223C75A54948DD28FA83F399924D4ACBE33F1F2E +D85095A76AF6DD92EAD139A8D5673A35B3633D25EF3B10A40A7E28F329D6E7AD +DBF1DAD1E666931611FB107D1FD3576F11A22B50943C536DC2BA477EBAA52BDB +B65A98268602F26DCA5EC761526CB7F33CB5B345110B7A90E1D078A21E332F78 +33A0CF88EBB2CE852384DE3435F7B3564A0AFBB2024F79A633BA5B6EB7CC5389 +C43621C82972D60F7DAC71FD9DD38CAAB865D7DE4ABC39D71879BF31549DE649 +4B9CD8C149880504E5B34C2153E963B3FEEDA0D59F70E0ADCD24EDBBB8EA961A +90E5AE4ABB26E1AB1757E25572622D5A2541CFFACAB673665C7693855473D78B +847FAD590B657CC0B8289034AFEC3C54FE97B010535F70AF67ECC88E21B077D3 +A9C2C52D25CE9714EE430735DB57991AEC946C96B6988B2C85D17C8BC80EA844 +3A076618A686040ABCAC347F1B1C14676B05E13C239E99C3A2B63D0388CB50F2 +BC119D6F74F70DD96BB5343D5458950070576BD6E319AAF5792EBB9DA5778CA2 +58DE0976AEB766DA6A865F09FD6753FB4E7E0E9A06AA1A06C2636AFACF787460 +9E73BAFC4A56A99277DCB14F52555EBF6DC5E5785EF7745521FA061227B725B0 +7A5BA223D5EE9239A7A1694D4F9EC1132FA23DA44ED0FB0AFD8987A01F9FAE15 +ABD485BE098CA7B1AC780A9A02AC58DCF0425D4D110226DC7B5982FE31BB78A1 +C0AAF9B712E8D478FC4F85400B5E6D71AA653F9BB2E967A76D02B04887CEB9F0 +0EF50A956AF7F790400EBBC07467D9A8BF8BFE8200F8F7EEB5DF3E62A9A332B4 +513120FD9F8A93ED683CC47551C629B5313E4E20A207845CC37491ECC3945EE2 +71A0C5633B353B03B1A7727D5D9A0478D20D67A981F6E5CD8737548ED4348A91 +82F2CE805724A028E346E6B7C542FC69CFC7935E6CF3320ED9701C6127FBDFD3 +B20F0DC2D1F92DC69E4FEE57B457E82D5721D932B140CD6DB9BC86B961E7E6A7 +5816F42AF937D97C3149DC2AB0054564592448D0CF52427B766FD38E3B040B81 +59AA9030CE06A9A9E3A0572A11BDA85531060B75DF8791176CDEC0A9BBF472EE +BD433BCDAB926689B8806CC8044D0925814C1784A41CEA48ABB9AC039485BFA3 +026FD30CCE84AC57DF09B1581ED01B3A840AC5E9208465BC160238EECC7A6753 +D5B65B159FB08E0DFE4C9F2EF5986352C0E0C4DCA0EE62EE5C19BB6C486FCADE +99D3519723B70B20FACE685ED8D364905EA64A15981B00A6DC06D7B0E3D38FC0 +9DDF04221696F7A8F3CC7FDBC25A61D9AAF9F65D3A64BCAC4084CF13BBED7195 +6BA4C2445676804C333DA6569E4AB7E6999505DD1988C3E62495DF61B722A6E3 +00ECC4EC698E33F7B8225FF591B746E449D2D178880741074D0C3CA740312D21 +1F8B0B1A855FCA081AF1E69D14C9131B1769943EA6D5D6210E10BBD9E404B445 +FC3E2ADF8C9AB6AC07BC2FC0482515625523C04303F7884283D5CC35A4A6ADAF +59738F3DDDFB51E7134327AC4CA577BAB076F3B588FA3828971FE9D561F46358 +24BEC4C7F84D8FFEEAC94E2C632AFA5AED635E867AD362E373CEA718C750B4B6 +954A7CB6E4CB2614A4E1C707412B7B09F8969EBD5B6510B66818A2F5AE4EFEE5 +9DD7690A3520C477DECB7D61FBE5F84D1C655971FAD7CDA78E695C18908016CA +48B468BB6B43EBE1DDBC49F43B7CD667B4131D7B0C9BB048178A31D0CB70A76F +527DD352F7A9F0F35226117FF305A9DF4AEDF474FCD5C7F31FB06D4B2CC40629 +1BE1F40B6347201F84BF35CB5155BC4D2E1DF2A5C7613C27A0EE77BE55A744B6 +DF7DA5741AB55F133D518660751B0A91E6BE43B527E9C97E2F06FBEB58DD0215 +BF4105DAE1B2A29DB05FA204D0EA6E574C7344C3B3F44092F7F997654D61EA9D +4C811CE6087BA1615A31F8D107DC64F1CFF707234135B728EAA0ABB475E678D8 +9200950F24A8A61AE6AA18F34A067849825FB3925A8E01D64E849546FF7F4418 +19C0FFC2EEEEBDC7805612F7849BBA7BBD954BFDAF2E6FFE3CA520B79070F8E6 +B1509EE0040714C9F5023816250F40FD1C6867F77FC8ADD3A16A3A6275CD6F5A +21BC03274B350EEFA6EE929AE91DEB8D8B309E3B3524807B4562C7758794A8C8 +4E3C6EE0C0859AC9B799428EAC242BC4AD9564F2444E3C79F11D4C1D5672DCF3 +2E191E25165C77EEA2DB51753ADE07F5E7E748704000265649A2E1DF68909F38 +68F0D5F415330C9537A065728D2104C34CE05458AC1B2A53946890DFDD67563A +E044E7AEDA111FCBF431546D410D67602985F6E13988999E46C80A983C7F12A9 +FB56C6735454F1E194F63A1B6B21683A281AC6164B3229AE25B1189366C9DDB4 +09D1BBC8429AC3D64F8BBFEF1265611E7C2FE1D3A2FE24FBF3ED96A5CBA6FCA7 +847F5E3AD4D14C0C77C225588FBD0DA2E960FA3901DA1B46B796121DC804FE82 +C382F75AA0495312A80EF9350CE0F80CE0D18316E5D02B7BD78667C2DAABD879 +E17D5EB8F274DD2B1BFBC04EA2F72EE5376D01DAA129FE257162BD19D19B13CB +C13181E6DBC12826AFFD87AB152A59D67D0FBBE5D9CADDB1CAA8C27689355AA8 +FDC556015E4A9708995E51E46D6D1ED7B68A61625561FB594B9BEF87A1720222 +64E4F8A47637705CA32B1B4CA5B8473F1D67FCB7E4041502B7ADA9FA4B16CC6D +282FB636979D3DE7C76F3000ECA08AD6E116B1558FADCA251D67FDEB4607CD3A +84BCA7DF488C97FAA4FC195661D7977A08EF04A7D9A2D619EFC7AE291D7DA633 +C6DBCA7DA01EF336E378764F6B4E4D6C517BE05F10BD1FCDB20E5ABA7F65A8FF +17D93CDF1E60787712C40775A5C3808AD05A2F276C94B05E10C6042604F592C8 +AF1F25B98A0C78AA7BE1DE9ACF2273965F0795B0D79ED6CE2753FD0FD7B41A18 +FB490B06B5467561DFE5161C27F58E48EA5F38A5477C9CD0C2FA13683271E55D +8B08DA0C96BDE97C653B0B18096EE7C0E6BC3894057F14E83A902FAAA4C2AC7A +566A9EB8F9D622476DD4E722F55F28230124F67501866FFE952AE93DF5BBE2D9 +4B9CB9955320A9E256E611EA3838ACD9073107936226140ABEE92A096659764C +4ED2485B33E75BEA57CCF19AB9409B684EB14103ABF6811E7A8C0AE0C0C11BBD +87801F3F0260D04A8921FB9EBDA2A2048F4B5C47DF63051A0BA6DDBBD895E0B5 +F9F0F3CE62CB118B86AF595F4F34359DABD9EA354798E8561599CB32345A43B5 +93B217C43E316BD10BCE1C66A10C9A8041A14570ED7FFDD95AAA76E92EF52042 +69F0B8FBE21CA4E37647DDC890D13AF489606195900063DB0CB8D71968C1311A +D56155D2B2382119E603AA85E9ACF1785E4C0ECA137E7E4F5EE7915E8A080509 +02FFCD2494DA2D3B2AD27DE5F11684BFFA2366B6C834AE309D8E07F98B7B556C +DF3E0B42559610F1B78C79254AEBD7B0F5B3D7F420BA725AAA91EA20D014334E +8FE221BB02BE7B59FC3D03D8ECBAE21F5E37E4A0352C475F9F29C5D2FCE8CB9F +2A059AC06AD9E6F13C39F2781D7D4B3FC34291D165E5C66C5D01B5AAA2AE8F72 +9B3C634FB38FCF35283792048BACA9F7EE6789621D9243B917234405BF194BF5 +A4F137680ED10F216076AA2767C1D220AE71EA7393C7E252209B6ABD94213AE9 +F61FD2CB3160F41C4328DB8563483E13EEBA83A7935E4AC11A97DB7988585184 +6BD3DBB8241EFA1F1DC5CA9C2E16EC1EE12CAF4471FA83605DA85672B34B1F9F +8CDBAB6907D6CAB6DD7E00A7D636EA20961BAC97D1AAF32C8096003E096855B0 +EF4845013B9243A29BD509436CA78C6F8DF4F90DDED960A0D12BFDBFCEA539AD +BD4BF883E09542C9D75DCB8A4AE82DB495B0B918D330979F347A76D73B19995F +4039557D337FB55B8C5922F35B354F6C8E4D861A0B66B3D803C9862C9C507404 +5EE039245AEDB521E90F83F15E44F42F0802F8DAD6A9BF6176C364286601FC80 +E14926FA518CC035337904132AEAB9785361709CA01AB0F352317294B34B2B20 +FF88CFBCC8E89863BFA2D3ABB2A596C9D9DEB261CFE48E403F88652150EEDF05 +3390F002B2E4B53446FB39C488E3D0D4EF4AE2AD19019710FDE56FE29B58B00F +0A6D5B26B814BF64F13C35EE903FA2190F460F9438924E1D7158704F305E326D +66CB529B3A4836DB0FE383EF989C975A2F603332FFE0748E0D695327CC8D9AB6 +E036E0E6409261C30B80977BCC3CFF8FF8A9BCBB889ABE47B0CE3450783E1EC7 +1C030CC18E074E01605908C3FB61B78CF4FDCC8E8CB13EB77CE6FF2BFF91D658 +51FB05DEDBB20B0E4C5604AE3CE6D41A4C8D71A1F90120B1F90C83989B892253 +31D06ABB335DE237CD0CDC91256A54797CBA5E284B6CEA6FAE01F7BEFD905E5E +139D57E163137B5751A765B46A3AE6F653FF2551988CE792011E0548CFAA6ADC +E32B876763AF6F6FD6864E7B55E341C97FFA711913F8A7FBCC1FDCB4CF2F4D3F +17358EBCED45C975F2EFF3FB9F77A22EEE4C9DDE63360DCB2DA2C1AA4BE44BA9 +3F9CE6F27631809DBC45643DF7BEFE247E79AA7937C409986500EC1026ABFDB2 +6C30E0A4852A6976A73AD7483C36F1717460327BBC05DE729E23D370B78630D1 +7E87C99A5C3A3C0FFE204EA81A8A33D7DE80DF3C0EAB557F4E86DDF8E03AD072 +61B1D8E1BA05452A6FCA404D9BB8FE9831A367B0AB31041B474DA9536035E7B5 +EC83DEF0AE17DCE958DA19869DD51F53D4A4BFCF7CFA635D6F9F882E6F0215A7 +0494E76F258D44FF72EB5A1104E8F73AD2F6F2ED337D854B81DF4083E6A2D679 +6B5613D76DA2347118CF009E8A88924C2A42B154DF1CEFC93C89DE0ED8DB26CD +8C2EDE2670F494DC591E79DA26CF8B5FB76613296FB1F39AF2001BBDAAB12CF4 +3906B4C304CCF1D066524DCF92FF484CC682C2B197CD797056555F318279C3A3 +7AD8EA9CB19724AF57EFC6706157A5E2F51F104F6232F252594510E0E4BC872D +D610F4C99BC3ECB668139331216DF1AA8F6358EB90CE1F0B8267B878B19BA7E6 +77A53A674E0B029E9142865CB92A1596D5AB97FA12FD05A04369AA00BDCBC2DD +1AECE1A4AD55A93885C626004B41FD277AAE6DF68161F7443EFA7D9C913AF909 +970F4C6292A694AF033B953CE37116A2AF2439E482867EE9EE2BFE1093A738DE +24D3C408DD105CE6D7B8967994F7C5CE49FBF61AF135F8F7799E2FEF29A168CD +B2F16F795FB475204FBC41AB78AF87E4E80F992FDCB770A3DC0501AE1D786ED0 +449956A1BDC93876934331C24CFE4392AA860A1ACCA39978BA8AB90A2174F5F4 +97539772660D3920E1B57E9E0674CD34C9EDA83B6AF1B06B26207FE5D67E75DB +B170F1D01D512CF6D586DABFCA32404253F0A9985A29D46641A81D5A810469C2 +8081D7774B3188423822003AEB638F21661E0BA7AAC765CF8321F9677C85A562 +88AB1320B3256EA9FE0C67E5B69A5127DC1B13E4062CD0C9ED10AB36CD370105 +8FA04F89E3F836B01393F1E9365077A30D8E46B67400DDE8EB0AF8C815729699 +469773FC3F0ABCEF752A5768C9DAA1931421214E69053775A238553AB6620E9C +E875223681E60B7F7B25BEFBECDD4FF799ADF34BFB397AA114515E2133304A57 +B422E97EB3FC5314F64BAADDFEF9C0EC719A78915B26E7E3F381435563F650EB +7587F11CA3B14875F6B1D817C1EFA0B89C85B888E8391C74D77CBCC6A990C36B +1062D049E20876B40CB030367818A3CD3E2CC354CDCC9A0FBB8DFCF7135FB2E6 +A0BB0C3A441CEB8D5FE849AC7299431DEE27CE28B33AB7E836D6958104D1777F +8010546687CCA23DB48E53376A446136F449A92C07102315D4D0A897521313ED +1A3A8456A70C16EAA50A3E67336DC89FEC56AB54A579EF264377A103939D5EE0 +0A90B4F20AE1F2511469C34B5984A04D5AB8A162F18DBE4D613BA1C1C85E994F +80AFE3C18A045148018045C63376CDEEFAC53A55DA67D5980E3A99CC1C981FC5 +5C25CD0A685E3AA6F8C0B8FAAE157DB91AAA50A2B5F7D8860624F29B8DD87606 +C30F84C33D802DD5B95E090BD7AA4400E090DC1913BBC392D7E5E87717AB14C8 +A031737560F3D132BAAC0D6DD88C586322804BC2D8C505973F015F7662571FD1 +C89CA0281CD48AD84B9ED8D70D240A4EFC2715DBE98E545B987AB64FA259D81F +3F768326717675A3A2E22F4EEEA22A5201797C6D5EC644318CDA28A2C3CCD123 +B0159205FD52E1F9A60A69AF7B40C4F7189FDED20EAC3869E5F53F4955CDA0C3 +2B06D72EA2B8CA5F0B557E9A36B8E9BE7EEEF96B5EDCA6F79F53F83234B2BD45 +6B3D631B1C9CBF7D283F377177C60B3D65ADD945D31458164043A17B8DAC8409 +B4261A4A0EB36E18BD104A8E66F45C3AECC07F4E8FA9F3D2A27334F95AB79BF8 +06C18D57EA745116DE0B36C12B6F5411A9805218B5A31731CA0A35D9AB6BF5AD +928726A6EA61E0B69FF0F4FDAB2CF5B222FBF9BDF4F89EE47373AA3944678328 +1EB230EACCEFF4243D6B4F8797482DAB78C1A053F2800144A4C76BB839E536EA +2D4DCEB625DC0F754EED8BE3FA53A7AC3ED17C92757CCCCDCBE21A9D733291E3 +61235172F117D4B8305B45D7728DBB2D71411954EE599B0EE786D7603D61CABA +AB241062BE3776FA150680F9CB8784FC7A94790FBD2922772EE886254B59D0C7 +4A4DF7A2C1C4ADA1DBC51CE27D3FFF7F96BC5FF7382864369536BEB2EBA6DE2C +1C427990F6BC84E92CF718BC6D4CE9EC1F2DDEB8637AB1FD673C5BCE1A090146 +171717B39B9A83F2DE0B79CB1B836390828B3EB6DC397AADE45B21F55D1A3583 +C3A5BA93A4ACC08CCA4DB80B78AEA6002D80C5513A705E7232938D8423FFC72E +1B96313ADB255D43E2676DD2B00B51D116A328164BDA8475741EC234EE6581DE +06162F006405D6D823DC47DDD14536BB530D132975C0C436F08F9243F1A9AD16 +898823B8E2739B4428E62CE0E41C2914F1AF38B8E28459AD71A3EA6A065A8E80 +2A47C2278F2BD588E15C8E60C46CF6F66D7ABD0EBF5662FCBE698328566B94BD +126B9CEEF1FF916E394F7D60AF299F7A6109C306A2B47BF1CC0D4E406EE3BEFA +EA58EA82E98341B6BA6B0997A8A62296A2D3EE7B2B79BF7494BD885EA23864F1 +766C73B6798EAE89FCD73A582224D9878101FB503CDABA296D95007691F9251A +A082772EE042DE62314EFCA92B36AF77CAD155DDE3F06C5412AB0B7EFF0B2CC2 +9279720438B5A726EB20D1E53A0B70D9256CE31A90F6C52A76417A31849ADF89 +752ABB40D49547AFF9A5DCC69C68E98E3E29666DB58288E606751FBEAD376AA4 +5802FDD15ACB6D6C689B62A9D9AEB88177F00D06AEC18BDA256D8FE35B94534B +C971AEAD173B69588BD446CDD8C13387FF27DAF109ABF81F5235915D1CB01B72 +F6CC002DEA252CADB54C9A2D27F9EA4D1521D3ECC64D6C925719D9E5307D0589 +E9D1FADFC9657622FEDEA3B0E64B15AE7211D4879EEA03916D5B3382C3DF04CD +C4E3F16068EFAA8DEF60F79B9422A9EB986F6C16DBA0EF44ED6841863EE85D61 +C3C5134754EC7E6EFBB23DB8611D7B398672661547924322EE979BEB3D43B0FC +C96508429E22D386B712149FBED78548B1BD46D00A484EC04F2CA819BC4791EB +A638E6215284105A856BA0552233328E9A743E7B968954701D2D902D4276C26A +365C1427BC97A8812DEA3D66249FD2283C7273601D49BF8A67D6B471AF77A7A6 +B47EFF0F40CDB8C40834B1A7503BCA2C6786C8A9C7CA96DCDAB5A90E692760D8 +791A833FDBAC0E7DD46395151898242878B4255464A7DAFB0FC8D7EACC053594 +845D77254FB98840D31C4E0EBC8F417437029F583221DBC6904AEE4B01042939 +BCD710F1B94BD3175B41D24B6B529740239D6F3759875275C44DE46621E4766A +0711F97F2969DC654292C0C2D2225543516AF3EAD62215E574E8545F4EAD030C +7C87ECB55E9BB95A78F2F564580408C3ABEC4E17E0F6DD1D10FF3AB85E3E0401 +A069A73D5479EE588C1E2FCA2DAF0A0A7F9373142FBF4B39907D31D6709284C8 +ACC145E7BEF04D8A6DBBE3344F0F14CC6D520CA33355497C94C8407F5C94E69B +11B14F6F1D4082C425C9517BE84D4C4912A6E8258C93274DEAA44F45269C5224 +AD15BE4353E4D701F7F92839CDBEE4393A34D36A1263DA6E1025A8B3DD9C6446 +AA55FC722699D675828CC17C2CB4E8A0296814FBF54E132EFE864CB9A8784C0A +055889736675C4A1960274CFD85FB080D4ECDD6299D86D45D377135603D5548D +755D27FFE73621D0FFB4E58D7395F0C7FE91316DCC367700179101B5845D82A1 +6064B6C8C0508A2BF30C8BCEA99399A3D2C9B143DCDA39B81F89E5BABC23CF0D +57A92F2C6EA0A9CDE765E680E6CD25928FD1A439E9857AD2D71CC6ECAE452EB0 +FB5911A7C1477443A6E870D36D66F80958C1C275C508367E2B130796B92F06BC +C6E2883A4DC690948ACAF20AD9435E6C307642EF1C6A1773A85F598152B8F244 +F81CA0B03202E11F0D3873B298C3DFFFE491ED643644283B884769C60C3180E5 +BCBFABDBF13E424D97A80BD742D7299B0B3C6127085D23DD36FB1AE50F04F925 +E613E262407B34F72556311D04B6A58AF0CE5715BEA34992E5B9948D95854CDB +E8394E67071BE9535C947ABF5FF856DB6B0A636B05ACD2600EFA1E721A1EED1C +B78AD86C620603F5B558C1A546F8E2EB681A7488D390C505027657960A91CA08 +47D5BEF049D96583D1C1290D68E63E8FB6F0C6777114DA1F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX12 +%!PS-AdobeFont-1.0: CMBX12 003.002 +%%Title: CMBX12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup +/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX12 def +/FontBBox {-53 -251 1139 750 }readonly def +/UniqueID 5000769 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX12.) readonly def +/FullName (CMBX12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 76 /L put +dup 77 /M put +dup 79 /O put +dup 80 /P put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE +0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D +2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 +1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C +42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 +FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE +78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 +22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE +A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 +4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 +4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 +95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D +9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC +5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF +9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 +CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 +BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 +9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 +EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A +D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE +2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE +947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B +0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 +4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C +BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 +F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 +6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 +D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 +F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 +481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 +FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D +419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 +7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B +70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 +2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE +0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC +9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A +C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D +1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 +A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 +21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 +7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 +17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 +30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F +3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 +96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 +B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 +1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B +57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE +B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC +8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 +8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 +B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E +BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC +21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 +D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 +FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F +A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 +A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 +A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA +DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 +7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F +07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 +BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E +8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 +E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C +B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 +45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 +2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 +5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF +A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 +5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 +E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 +5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 +6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 +8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB +BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 +9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB +B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B +B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E +8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD +595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E +FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 +13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A +FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 +DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB +313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 +C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 +F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD +DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 +8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 +E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 +A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 +C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 +417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 +19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 +9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 +12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 +3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 +A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 +90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 +3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 +B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B +82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 +1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 +AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D +9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 +2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 +99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A +31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 +3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 +F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 +70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E +5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 +84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 +BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 +8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 +5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 +9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B +F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E +94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE +0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC +E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 +7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 +596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 +F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E +7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 +1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 +AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE +4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F +744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D +67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA +054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA +6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B +8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE +CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 +EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 +C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 +57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 +5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F +C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 +CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 +848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C +B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB +77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 +87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 +3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 +409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 +A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B +72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D +99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD +8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB +E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C +82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 +C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 +EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 +23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A +59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F +C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 +1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C +403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 +1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 +75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E +0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 +82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 +C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 +A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC +9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 +0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C +5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060 +62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D +6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08A430B643B6ED36DCAA09B41 +FEFDB90E10C8A8B74EB358437D0CEBB9E03109C593BAC09CA996278246E7CA38 +4F311F23DC5A7F7DB374E0E3D066C874EEE28CFA47054DC41A389203BFB3D601 +BC9A4817F8DAC250A102E7404CA135B33DD66F8FF40D106F52081FBA3E79CE29 +FCA5C502B38C86D8D507AEF30436472D2381DEA09B8B3BCB109BCD72332A9483 +E61ECF0F89A85BC37B8C10FF3F7C0A84FB8D0F4A7898D3F8B06202FF8DCD698B +56544751347E9AA35209B18D3D416E5E034E36D9C5FC0B33B7AA0D46F3A3F925 +7FCAD9D6B9E25671F9AC599A40C37B2439C06FDFDFB3E78DCE515BE82B5BE1AD +2F205E8249407179559DF39CF29120C4B92C5283B609D0445B30F3AC71A1A678 +8F43D8B12D7FD722606252CF4902733EA4B255D33170411E8EA08BAFF921D2DF +6BCC3895D5068C0F9EC39CB941E19C00BB1712A05D62131C74363D5AEB66639D +187A95AD7551136660C5F23DD00C6C48AE227BD0378FEDFCF64A6E6184976DFD +C6390C27D00AB9A9F6DE3ED21A0B765793174FDD8FDE863B6A7D80D8B4912008 +2CF6B8F487A4DC01CBA2154A90626C06E1BD80AD2EC737CE77F78CB3447B7B99 +A9576AEB656F7754030CA8F2146073147FE3D34B4EB0DAD6E0E468842EF13526 +FC63E4B8177E446B2C94B7B3AB1B9AA6621D4725A99A9EAAE2A45DAD80E319B7 +4C693EC177B5A6A045ED7F7C5A0AE72C4AE6AF341C90FE154344F6BF4A91E630 +052E39F9352F82AB9F8639A43E48B24C1BF9E7FC17FD26B82AED0988800E7CE9 +B3EC5136562C38722A2EA148A3A662898C073B6A067992DB9B33B1764B8B2306 +15D31882A973C75F6FD0BB3FE0E680622BEB1B9EFA9E346ED4E475680E2FB113 +8914F0996710F2C8CF0D8A3F5CB23801B2D2C33A928070FED88604C03186D1A0 +D4A7C445D053C1C112D04759488F807AB38A8553E4B5859722B712A50C16530A +847D15530FFE99978433229E3C5A97CD123B7435E73274EE31F8ABE5EFC148CE +1585BCACA0ABD0E30FF5EC6CD6804A678BA203496B1B9C0AF09F761F573AD20B +DFB2E62368119C4745D42F5105D2482FEC550817F2DD698EA8CD8A031BFF48EB +C1E4A2546ED642F5F1F56C6E704767E29B7AF236AEAC42FA180941E9D5EF3A2C +5066765AE61ED62CC5682A93CB45548101EF08B51FD93CF4E65C2ECB2920C5D0 +91B3EC95D770651CFF4AFD2ECD8CF119E222ECB8B3E17E0CE57CC25083D5474E +B8B518CB91056426D18B563E43C51E0E8D5CCD36679FFE0E5393EB025BE55EE3 +9E41228F9FD94EA90406A9F4C476D0AD703BE4548F0511BCB391225E8A3E694D +573D7D4537BFBAF383F9F07D3206C2ACF8289FD8E8C9A1EFA18E8F39F14CC0E7 +656E2D6846D0803EDC1B51D67573F59976EF728378D89EA9C5778745AEDADF89 +BB38F981194EC940262F0331241D8749E5C80583D20398F4A01BE9E553E56AC9 +7490911CC08AB305D7A468C6C7FFBC5CDBEFD8553F379BD85BB2F5BC155DAEEA +E3EE605637F161AFC16ADDAFD3E31D9756D7399FF28A1DB175B6C9C1628061AA +9FB30B331E3E554AC63021E6D2980BB19B29378322309D6A844546CE03D1E8D3 +313D05AA7BD6E056B236F3BA77901940AADD1A83FB87C82876E1D4AA99F4BE89 +A07F4E5C424D04E60651F9DDF78597EE19024EF3A316B12D93483F3E91C73B56 +D6C8CA442C49CC496002C105F11D85282382FB1854E231CBBEEDC678A8D4AF87 +0F520B2F35CADBF7E84AA1B78D410DB827361A78F4222532836624500C620964 +48FED4BEA0DE4608C20DF2F54B9C48A1C52FC891B83160DCD3CD0D8DF0AC2265 +7B08050A1FB711B7CA8CD84CCA2B8972526681F96E241B27723EE72085FEB4D8 +080E92628CDFFDAA3C1DD840C9AD54C026253A551FF403A2790DDB1A75D63915 +BEC228BCDF694F95664A77FA01DE9BED0724B83CD71A62E2404384CB70707F4F +B6124172B4BB29D80DD70730DDDCD8E33EC6B17E5F331F15B7B9892F28A7F39F +425B1173369CBD292BCC5D231B13C50379AD8E6ACB381B198B0BADF9AD960E29 +8EB6DE83EEC1584F62E49826E5F234FF55453BF33A1EAFC550295B145B353F59 +E154C80317306804CF4FD589D1D07779F5949E87FE27E7F82405606C2DF9AF7D +FD8B62B7AFC4B4CFA8E620C5352169CF53F84E21415B8B83B86D485F9557B5A8 +BB60DB0E770D9CC1F5449BC9919FFDCBF72C48537A9B098933E360AC67148964 +8173501B645662F91F70A7EC08F358DD5DEAA97BC86C943CB056745C60AF6826 +2BBE9E6C8D5DE0D0EBEF5FFCA3771FB34E4B652E3F6B3967115E1EBFD726911B +0A28FF9AAE9EA33791AACF206B59F5EFB368EBFA6888AAE7545F3E8018DEACF3 +EFEDF2DDAFD0DFD58CBE3246F9435938FF06A586562C4CD9E104F91A366F6DC8 +A84642FA8DF65F4F57A524F362BDB7480AFE7B9712F97F3FDAAF6848EEACD2B6 +A888B5A244A2A831D4D7499DFD627210D935D477114ED3F2E73DF656A10EE964 +3A68F8187939548B10DBB9882813239F9F66EB75A4D68B6353B88EC1CC772C01 +6444DE3FBE444E194B5C0F4A72012DED2298B5D3C147C76667401D73E1AA3CF5 +4541E2786C7C9E8BF131D83E30C2AA26C850B5E51DF6CBA0E08DBC651710CC27 +C43B4C184BE9FE4D0E12A8D8CEE05896E200C618DFC4D3EBFC352F3C1FA19F0B +7113FD5061CB3EB2089BD4513971669BDDBBE45179C2D0C4C36FF1BE9F09A71B +2677A37B32BA03BAAF8B86433DEF40A8CB2EA1B136905AB43DAC3340992ED434 +BD249C8787CEB0F1835FB26FD2C8872B1159DD196E3F23119095C9B664BCA493 +0372C17DB9D57E4FDE0269152190F9EBB471F4BDD2474BB52214C267FB346C14 +4EE811F415D78360B8B6D9097D9DD24FE0D1C374B3BADAFF02D4CDA3CD863E3A +B35B25F720C839895C233775D0680A7B705FCC249254EDFA77082D96B444F4B2 +C620384413431F4C0EE037971C72BD53F684A4F6A46222B5CA3DF7B7A38EA0D7 +E42CC17EC429C7579C2033AC726AE9CED6F0F0D6C96899F8FEE824BC6670E213 +8BF020DFB3863361D3EA949368F97B325F20C285633C45ACAB103235307476B5 +05D4E114171FB5CB8B3359334F4EB29FB25258BCE5F440E00564182CA5FEFA29 +E32E30C7BBEEE2C8506EE805B0A121125087FAEF61AC43FC514045AEF33FA96B +6F80D975EF60E46A86032D64D7E03AC4C1D17D7FF2551A3758EA17F52EB27167 +C584B965C4FBB194252F49D15E03408E397F8FA8195DE9F225CFE9B92557D4C3 +DD855E8ACB25F3942DA527ADE086F88661565EFB7F43CC414DC18D9EE5724434 +5A4B8E105963327C24738DE04051DE1026746388BF13986B06233A50D1A87187 +BC952B2F7D60F48BBE22EAFEA7F6484BE4B5BEEF440FD6BD795D2E1CB0131081 +D3B6CC24BB89D5700EE56348EB66970A740FA5A308630C582AEC443BE5419F8A +C91EED6DFAA5E2266A27E9EAEBDEA6B3D8BBBED82EF7BF4DEA9BC76049532F0B +F6EB5BF461951F01E5630C1F0A67067F04199ED997556FD929D0EEDC5730F3C4 +9E4943F5ADF16655771526777FA4FBAC827AA753E5F8AEDDD652B6D7C4D1A980 +D060A5A2530AADB1889BED0724B83138613F74C1DB3A6B32B70C9C7E7CA7D157 +D78A6A1C94DB5199CD9677CA27F80BCC5F8F220F339584C66AB6A7F1E86EA54F +3E2F0864DE8BCD5AC1E7D7BE3E3C6E40D6D928E5F5CC78F6382D683CC67A52C8 +F092E3DE39133F256D39EFA4126ADB4CD27B5EA68ADE6F641F50484E6DD88DF6 +20F8CA866388BF30BBB2310163C26A3F863C255BEF22E84B365C8C2D2997BD0A +E467E887536BD8EF755047002A02909DDC2F93BBDC705E991B946BC6AA140914 +D4D1D9D687197C3C299EC3448678E927E06F0245B98A8B8C6C22DA4314280CAF +5ED5BA419440230354855B8C49DC5ED517C75453322ABBC6F378940CDCCC300B +EA6F55F0D0DC549D83AAC71197D4E83462B62B5992539627348D2E2F6142169C +DCC10940ACF4DC41E8D54CB3BA493E07F20EF27CC6624BA906EEE086AB259500 +850E09244E22BA77722C436176A2B336FA4A8D029514197B3AC55BB34BA9FAFB +93DD05E1B590AF5FF078E315F95407BCF6BE467B440CB294F41400CEA34B25A3 +A1866FC7A66A41060E55159270B4BB6C4EC3CCEC692EF8CCDDEEB5A8E0EB7006 +91BA10E08CCB8950811D685959EC94F0B8BEE18492882CE07AE3726A720AB016 +BE47D075F22654C497E1E59807A47CFE52E50B07DA5300CF57B654CEE239F376 +DFFB1E0D2B2D84EB0817BC7EC7723722892C705EB158D5DC5611949630B23EBF +F9F385535E6225C75B81974D51C34F3158D2E71F1E923E011284E8FA15C4736A +6E070ED8F8628050E817921833E4145DE43A0D580221C7AF372036439ADC2E4D +352ECE41DC2FC315C92815E8A43483A97A987E3DE7A0AFC37FD30018D2A4EFF2 +D5F193199FC78406F31879CC75DBA4C8553378BDF42B8F1D74A492129712DCDA +1ADB16EE3075817E4C574DD0742136D021A1A4B9D7DBAB29A6F49E6C217F1BE5 +D14236BA0EB6088A2182A40784400840A563CE464870C5FB70ED123C261F9FF2 +46A1BE2427BB5F4F333179F67A2D6F16982C44FDD4DB2F376A51B828C2E81CE4 +7FAC3669C0250C36CE3A24C5D6FB3E29D417E36CFA3873F5D94B0DB36D89543C +3AEBD959DC45EEF25A74A10F5A2621EDAB05E11F6DF8E320F3CC9A1290D127D0 +1B33286E33779AC3A32DB9B26634924D1732571771A10916851EBC82094C7FCF +3451EE30AAFBEF97B955AB8D8989ED49F5A1F401CAD779C31E85B4D4179DA890 +924F7E56F8DF1AA6689D83A8E8150A8651EA1E212F6801ED4D8164768DF75B10 +26FFBBE3CE63DC3F73A9731D9DC8885B4907EB1D98AA77E99C8360AD40F3F7B7 +DB08916772E7C066517C68713420C8358E0BBE46077D94C7F266FA79176F24E3 +4009E9E3F03C7CF82C5D58249BA15460E011723EAE840F73B706B4224EE66A7A +D128633A2D8BBE48726075A25DF9D293F959A6888A577BB180BCCF03BE93F93A +A6D93AE0BD0B4DC0DE67919817BF7B218A1983D4DCC8CC9FB7ABFA1114880CA8 +B14EE2A02D2BC86B4EE989829CF4D498E86B401A8105A08EAF9C6F523272B78A +2CAB40A6CB90044AC493DB17C740BEA102D5A0F957F08270857C3E2DEE60BE30 +22048592D3C80F70959CB89F0FF48F72EF8CE543561E0D4674F6CFA74B56EAA1 +0F139F8A234BB83334E7E5558348234953E909E7BED6E0CA5936CBB2B7F72529 +117420478FAEA34D59F3C2BF1B2593E9460DAE58F0868CF5F468F0A4D20AC530 +9E769297AC856739A6711DA4B4C652706D3F87F125D9E37484098610901321BA +FE2B09603D8C90EB82D7593ACE2A0BB2EA1649924E1C12745C5D5C24458D873D +F20CF324CB97FF92EA8608C726A43A7436C2629588769C4CDDBC9C83D5B492DB +79E0776E3E31E69FD2A1ED1F6B0F6612374C9643DE11E5574989583C76D1A660 +75518C247D9235DB62E3C83E8BB73F1C55DF0626315909254F66C4CA201C1E56 +045C6848B29F20AF241E04EF6F009D7762B5C743D90AAC90AB5463A2B3BD3FA2 +B3E05A3C0543A44E36019AB0307FBE7EA9C744BFFA71F31C4D067E1238DF8FB2 +25E0CACED68AEEFD90C71D12582C40057D6FCCF2CDEBD18AF7AA6A6E8360A17A +0D1C4823F37E415A67BC52FAF133F5F330178BD1149D7E874469046CC9C1F879 +8EDEADF47D2ECD796F1FAB616473225B44496C5EC8C20E2C5A2AEBE6549B6EB5 +2B49ED4F5370E9C13FB07D8848E3218254BCC5CD8C9E021A5EB5A41A6BF3FA4B +71FF220D3D4067A98D3B1444E8DC2B986139EF93959D0F66967C123AE4A42BD5 +3314FA72DC0BFB31694BA25619934975A8F2797654029F161237B29C01EFE7EF +187FAE2211AF3C78F3CC1B893F25140AC681C09B2189F3B04C0AA6BB2CA15515 +BDC18DA015FBD67D09A1E40CE9490DEC66D30A7CA2F279276A32A2FB7FD582B4 +064FBB08C68C542B790CFEFF9F4D79EE607F4207FA53868F302DD609331F4CE4 +48CEDE1C98C20D920CBF73F9941F52BF911FC935BD7D773F4D177047068B69BE +03F1F0BEB3AE8EB8650E657D9EF19AC35D6C815E870E73DD910BE853BD6A992F +138F492950BA040E1A6018BD1A2CB7AA08CAAAF9F0DD3E07E4B79792A04A4332 +AE7D03BC19708863892E08C0E1C63F07B9BAD1BA9A50582E200FDB0C6E93E65F +2ABB91DB5B6314932394161816A7DFB8C530619C13856E232756B8BC7A74581C +050AD9E429F995989D84BF01097A189FCE99BE4DFE68BC922E76D4B2CB5DB693 +F5128297018FCF735C5F474CAD251B51E9CF44386DFF6311B636022BF8B77971 +995E3ECC74026C87D58DB9C72D758CCA71661509C5870981E6B746850A1CC7E1 +EB73071EF8F29E953E7CE9FFC00E147BC53271698A2F9E19E120038321271AF0 +D697BBA78DDC61EC0848F9898E4BC02FDACC4D71519E0417C847D01AC930C6B4 +CE292BE655116BF55271E310757F7FCA1AB209D38DD38B08E987EDA95D847EBE +2D32304476EBDA0378C7038B1E9DC7DC5093A966A82C89C0D1B460EEB08E3F6D +3D95E24B9D043A9914D7D01045A5FD58CE26E4FF87A84E0F9E8D10517D907648 +A66493682EFCC62BA6A62433999E987B1F8E7C1D5CB1187C852402AAEA6ADB3B +0AA43F17BC3099B5C764AB2F17D4ECC434F7058C94E86DDED33EEFB1D1DFE2D3 +F725F8051F687EE44952D0872A2DB2E08BA576E80D39CCCCD81D28BEDE22CD98 +2FAE7BAAE2A0DFFD5DC93231F7E98AD5CF6ADCB159F657FF4D70D7C7128BB903 +0292A696467698D0FA1337F496EE5019564A7C7EC36122245FDCC748D8B45314 +279A63EBF27F20B6982E85C4E6185AFA995760AF75C88B0D89A6EC77F1B15EB6 +23A1E1F73F925E5DFD91343938AB2DE907DF4CB2B063B72A235D24D985497342 +656E48CDFB0CD254ADFA05503E20E550B23182512D0BCDD68C7EA4E129907B0D +7353692E8FCE296CCCFA2EE7A699F0373AB9BD7CA95DCA5516FAD517F19A518C +EBF98E8EF876D73AB1650FE77D03691D0518322987A88585DFBD317CD65B2686 +683DBF4A1961F2A31819B243BED008541A6D7F7A0027FC303202A3EE7F7D0E45 +BFB48364FE411BCA5B5999DD3A19EBFAD94B00FC1779555E182D34011D02314A +DEF66DCFCFFDD84F53C7151DF8458F9A3B619E8A9737FDE81E2389314828BA0C +78793A67B242CB084D63BF187D8A93FE3A0DCF4FC27111BBDA4D80A8A9F52403 +91E6E5C67E120FF879A9BB5842FCD41DA2F2599A8E9E9CA33A437D16E7B49F02 +4035B12B78C5A4B4CC9DAFB17A5C84C1F67B5E18F873B96FB8D18C3E5D30B126 +0E277F0EB9EA42814894F98B64D8C5E564E8D3C4D8377BDC9EA5AEC87846D550 +021DE093EB32F7F9A4DC24F6FD8386F6BA8836307B73142D3A6860CB6B78031C +BE266E65AD3811EFDBD1FEE23DFA0F6E25C64BA563E2435D29EE1169910751A0 +FBDD7626BFE1B0A076B47FBC89963AB9729708C3A9B36D7D69CDF0F8C0C8668B +19AADBF3FF316B1FFC44BEF969657F79E5E263B5144A61FF11B69B0670E0024A +D99DBD73C86F324267F2D6742CC38AE0D83A0E6C57C82A49EB81BD2386B324FA +DE61413713ECD0A4A360791B3E6B81E191B89298A7CEE8B8B492F29127A4F98C +5569AAAC7F25FABE8469EF90129C016933A6B73C157F2F15CE47B00CE92CBBB3 +93E46752532D44A77747F53C428A6B632236277CD7B9A4F19F15830DF7B27F32 +F6D0E312C6DEFCBB8937EE5BED27FE67BEF272828BF36B199F2BBC1671551C9E +40717351FD606B742DE039E29108E251BEDF969CE45B281363D657E4A11F3CE5 +4FC663F9AA6FE5EF0E00F8DE402ECD4FBA57D6A0B87E9D34D0AAA2D993B8E5EE +B652AC345DE657BD258EE9E41DE71B4D6CD1EB478C6FB859B8501931E1CEE0BB +36CC117F68FF309CF1BF17DAC80A8CAEC96C13C16051C6388A586ABC104FE83C +388E0852A499893BDB0F8FBFF9F6EA2E292D2A6A463BFD7512D515030F620F29 +33A369A70FE7C92F62DE254576D87DF67AA7B46AB9EB64253262F4F630AF2D06 +DC7A911815F31D34F13E166F8E64D562A0FE74D06A8BE94FA27CB5E9A8B4E3DC +779E1F18CC690845D82B0B32DD4CC4797548741C3B85355C90E01187EFC79807 +8B4470CF6C8FDB960B9C78C255AA3EFA6C8A753E002A89BA14637EA765BAC054 +AA33CBB54A19B36F195C15792821A7AB212DDD6E4CC7D8897EC3A6047E835D7F +07DD3AC215B30A0781E2A1770D7F474C275F944837C3B206EC15BA70468ED8F1 +191E0465B8CD3BA55CD3724F5F80D6DEB419F33F67364769C514493F0B101C43 +8FE442FAB3F3D45DCDC6A5AC10EB9CFCA26CD37B1CEB9A95B8DADE0855F62C5E +5601AFC030F78415E3A5A74C7EB82B3C48E779AAEBD8C5622A9B5BB1710631AB +796062007CE0B8AA31F8D98B9A1E9FE07613E420A488E8B5683F6670C85A1DFD +DD8D7729ADB53DFC0BE477EE79A7DB93AAF51A150D231B80D5D4B218A53C180D +18117145D367B40CB779689405BF249B7B1E2B1EA041F6BEEDD77650B9107094 +A13066492293568F83451532D851AC79A56EA4505F331578BEA76C2B31B484E0 +2D131CCFA722266A13D85EF3E077E2D7E1A2592093E555168EA668FAE1AD5B56 +2F102A5E6B0539AF2AF2DAF88FCCB30E8B3B76D1FF22ACB2E0161F364E488948 +A72E3C383B6498FAFB544D82AAEE41588800C21B2415EBEACD6E0D598C74BC86 +0BEF8977D690B54670984114440E279B5B45B58C2E334C8CA160DEE724D6831D +068FC83F1B421B71A584B30890C2C650C4FD67401DDA3E022D4C6E274EB881EC +464EDE590EA5223B8C88DC69BF64F86A80317F1216539DCB188A53E13B0C78F7 +6671363A7C3E7461E0FC1F2C0B2C1344078ACFA35B487F86015CE9B659301918 +6C50AEE0E4A5E0B0E23951A681EDE8E480FEF19A95B579C4F4442406AA4B33AE +60548B50081801DE995FD426C0F8C437DA35559509C9C098CAE938AD0BA2A25E +13C12DDF84B3346A93D8EB7C9F401D83140554823D572700DFF0F430091EB2ED +92A726B5C74C99B2D7E58A7D3D06321D6DB8B657D8EACEBE9DCC92A8247A792B +65A83F0B447847C5F52C31B00E09352A13B9A61612A26C0BDAB90C97CC0A10ED +8A93C384D9E045B45A5B0FCF938C23C94442457E7D410D9DBA50728D08331BE6 +76369DEEF3ABF182C67D2200AE4ABAFA620D8A58E89FE34AB03570AF159A0B5B +5D17A6D41C0760656164C93574EDC5A4FF59166DCCEA3F6043FD28134961CEEE +56E25A6FF6EFBF13697656046CE73C2FEE3BDFDBC754D272EF6ED4AC91A2822E +1D2EABC411AC00D81E2F3D3C9A049399776ACB344238EDD9856FF01F5CBF9D85 +8C73A13ED3DD6EE4BB5882D611E02D50A1CC5041B0F9D82524BC5E437C0518B6 +A7CC9B24ECCBB081643D5D40BF1BF4E3779417BD4858D8C79AFE226F180A16EB +B922B60D87FDE2A2610DECA951255259FE2C1B0B7A3FF3E432D45103C7E47745 +0BCE74FDDBC4A089283BF6052DE66388BC195EFFBE92AEC207E080EF7640A3D8 +6FF0F5339FD097D46325DED93B3EB44C41F55376ED3ADE9CDF48D66B76519EBA +58BB96EC20A72A5DDB370031F990B6283ADABD0D78DFADC9ED71506F7959584B +EFEB34D8F787632F9A1000E25EDE7CDCC515E604D6B69FF0AC35B47B0DB3865F +3B876028B1F46FD03D5EC063D73CE5FA8739CFF3B1B9848AF6D9AE337052181E +33B1A412B0E6E053BA70595C91709384C3970D40FCBA42BBB2770D81DA410ACF +15CCED52DDF4A25BDFD675EB2B3A24DCF00B0AB2173911CACAB635F751C950A1 +EAED8BB5B10F49E9536EFADC117074A92745F15DE324C0342D15AEC4B9135FA4 +41BCAD8F5BEA5ACF9B788034AF2DED00DB1D8A561BD52289D4300F64210D0CF4 +B7C375321CF2EEB31BCDAEA5BA2EB94FEF21F61B8C474E12F5BD58A6EC330ED4 +505A738B470F6DEAEE44FFF3CF4E5A12EDB76236D0768EF832794754E309F70E +14F698045EB67BE2B179080D529859EFB4BC4CA4F3C449214A781C6F1A5F3F48 +ADB5C7147C1C4D6DB3CF58B4668FC211E38F3512A271FD6A4221F80670BEB650 +2465633C1D8419DDDD6FC8FCF176A6FA1FF08AA5133D6D20C7244E4271E51C5C +FEC3878622B2C1A6A6E205CE490CE18E53E706C9B01F6928B70BD78C67CDE665 +F5DD0CE0C1D6944B64E70AD71FD208B7F2C3B18FDF15C9700EBD43633921D75D +F06087829FC0DFAE046CE3D33368031C9CE323F8928BD6F765C26B492CDB926E +ADA4832EF2D403ED9696CEB09F7EEA632C3E069B52733D4A6BDDA88BCB3FD58D +D84C1D2B5296ECD33C8742EFF0C0CF199F18508B206B806EC19B02AB74FA7707 +8151FE888B6D2C860875A75FFD731F7CA7F9C380134181C46FD9DC509CDF6DFA +08C44826C788AAE3FECFF17F4BB7B9231A7C980D83D92835B461C36ED8D72455 +5648657244FFBF842578E1A66F7DC2AB14C63282D1CF3B327242DE557A66157E +77710427B8AB1EBB8060D52849D291062719FD8806E64BF03C4ED2820245F321 +C1E200F759DC1592AE790E7E126150E582DC7704687410E8B20CAC3F3CAE98D0 +4594B61273F6462086EBDB7F69D4FD6597CCE251E96F81F230CBC57E7D819DC2 +9682D5C43EC4707476CC941EE512EF6E71C74683FD21A587E94ED6C6410A0140 +344833517F25567A9272D4ED1AA88F0129114448FB9702A04CD166641D9E9C75 +97D3EF478659DE7B43EE903E67AB860B75 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR7 +%!PS-AdobeFont-1.0: CMR7 003.002 +%%Title: CMR7 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR7. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR7 known{/CMR7 findfont dup/UniqueID known{dup +/UniqueID get 5000790 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR7 def +/FontBBox {-27 -250 1122 750 }readonly def +/UniqueID 5000790 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR7.) readonly def +/FullName (CMR7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 65 /A put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB981ABA2ACC9A23A5 +3E152596AF52983541F86D859FC064A0E3D5FC6647C3CAB83AD4F31DDA35019C +CDB9E3DD3FEBD4C2B36BA3CF6E6C7DA85E25D8A31A9BAD39BDF31FD0D1790707 +9DE6A078E8A409D8295F642DF492AC4F86AC84383B0F4C6BAA7C22AD5A898A71 +D6CB34D2CD12266C486B75E75A69C14819DD9BB8159088E04D4717E576B8482D +BDA52110AC8B8A80E4E9D58F470EEBD3CF44A1E1EE8DA318FFF3611B02534FC9 +F4018C7C57E80570D2F634D98BE5D5EC6D95051157F0EA94A3D12BE0B4B79939 +F82F8D73136D3337C44E314B0B16CB030D9A12E01FB667105F334C3EE965E5A3 +D410D2F1531547A4497C355AEEB295CD3C5334BEE5232992960B757594B89F3E +52095042DBE6B4DA3C3AD50CA95EA9EBADA10630B500CF1FCCA7D60306743681 +7E428D33B7F7C40B425CD58E4CD8AB474BCE6A307BC6C6EBC15A8A96E0E2977E +A33389154536F5C5D8CF036D07F24094E779E5ACBE5502C92892F10F4C6DB627 +C7EC4C7BF20B39418A8A85D7FD9B0EAAFD871DDD41F93BDE5FE619AFB8711824 +DE890E62C1969A6FE28DD3578AF43D58A728FAFF0B9FAA640962C8F35A26F76C +67F3548D6DB54A25CEB368B47F97EA2B0C4D7C0E7894A4F0C823C6C1922CF9DC +10E05600556F1C7C9AFB33A2DB6F8730F70D6BF94B1FB0887451F2FFEEF3584F +DFADCFA9A2D4846B8F0E51620E1327D994CDF973B837D10C90FF76DE22B47CD5 +EE3183898D156861AB4DFAD34A1E3FA260B8164E6680BF58413A553E88F6100B +C4F4E8E972C81A5F88A7DBCDC308B4C3581BCDE13877B976B1F84330839FE5CF +C78551620EB803DF94A5C921F8EE24F7EF8FC4C3E1653514212631F54F90E3DC +E9EAF96E998F340C4F729ECF7AB430FDB7C0BE3DF2C0D23015820E28B743CAD7 +7F0AE95413C3EEABBC69E852F53EE1DC260D7F1E712BECEF2F18437DB23D8E74 +2902AAFBC733AC5BAA452DD6F3671859AD836C8564E99CDC4183D8495AFD99D6 +1F0D65B6588CE7546717911E25BDCA6C2649E3A7466A3E2DA7C7994A30AB4449 +672EFD00632EFA8629C1AFB7D53D801028F77C864869FE636213A69173003EA6 +BE1ABA95EB07B13D1594BEFCC95ECB0A9CFA9892EE0677D6B6C250855762B7A7 +8E4E022640F93169DFA0303A0D5E73BF3E0F4D4AAD10FD7E4EB20532BA30371F +E9F480F9513432946F9828AFB5D4AEAFA5829B2CB544E5EB634C4537EF7DF08A +A1CFD94A52DCF0E7CE4C5EFFB01E6D50558B75DB4C8D5512B06080F27BE62E01 +2EEA6A0357441401458C842D3DD4C35B8F561D816B336216CE0C14BF77648AF5 +E33912CF95872A1E1AB9A18980A0B29A881D13397C15E1CBA5D3E0B27943EBE2 +F3003D15EB446BCFC1C231832475D5B7AA19E4CFDE119D6CD62D053C6D29C333 +5F729791D17B3F7108074EEF4D1BD101CB33E01004532CB0D716D2E54D169C6E +80163E70C0E9081F31A1ECBAE079D2A518B790B0CB2CD03DFD034A0F4788E800 +B0CD2DC1FAFDD487C2F381EBAB2A2F3F3AF82021B211DC9CD2FBA6A1BB3D4AEA +4C7F3D9A5C21DFF284CCB827D205A69638E98D5DD8E36AFC1A4481B5CB2A2E8F +D6C838DA6F81990F5ED928DC7457501B5C979FF4CD20A830896A460C5DB13D56 +A3B2B5D9B292374A9BF392894DD99FCD6A1E655AB395E839F074D1596488700C +4E2891C8AEEF66568E82A8B826F9A28FF84D4D9BDA21F638EAF96880B4EBE0D8 +081982F34831A03BEE81FC177700C2360D2A48915EC40D5FE85B400E175D5AF1 +067FA0097904FB647757BB44B4042D30D1557BD0F7922D731142FD682139CEB7 +58CA4C8C240A0B86B1888CACC507E24E04020BF1882BD9B4CAECFA97DB24D7F5 +AD64C69454027F198BA35881B94EE9159A2D73E450C3BDAED66B886D6DEBC84B +653E165176228F88993F12A170775A8D7038BDF2FE8DC1F7B98BDC02D1E6686E +9B834F6C0AD90780B17DFE25F0A4E470CBA84E73F2D22BEE09A040F14CFA2C14 +0FDA5A5149B5FAFFE49F55EEFC43831BC43A8326FEE9C7F469C0FC3B000884FA +41DA7318EB57262CB96FC4EC7F16CA07FE1C3BE8C2DBC8A8135953D6DDF20BDF +75A2B6D26074FCE752BD32FB9F5CA797775E8DB9BB9786B469A3CD65A0D9DDDA +C2A166E454A94860EEF5B5C12172DDFC576A03F6E6F8A735FF21A3E9CCB4CAA1 +3064893487697986A42CB5888B2B0A79FA3C74E8187BDDF7BEAB884B70B8D4AA +AC6615745AEB906E08BF831CFDE222F58D02B428D55E9D5A3CDE74E42D8A2CB7 +E1A3A9439B678AD438793ABBEB72B21C58981DAF3EDCE4BB93D95F4A1E943BBC +B3A012DE92FED4F232A3A7D60CE60B605151F9C7C18A5C653E5D6D15E5B49A63 +73E7A339504D0ACC74B8B116EA88C3EBA2CC631AAB29F761E5F062966AD2FD28 +7FFE52FA8A115DBE23E471094FFB3CBAFBDF11B7E9058313F2D069B2CE98A962 +64645738F02A31E2F2AC11628724034ADBCEE012721EBF0A567893411F950410 +B20754A7510D041FFA6144AC9CC46D846B82581F20BBD001D34D9764010824BE +61C30D05E5C5D100A24F1917F01799CF5BC4E50FCECFEA732CB50196825F0E08 +8A1EC868C6D4357857EE2957E081A0E4372E31A8ABEF23C3F2EA0FEE57DE4D08 +61C570175C41AA0C7A3A579ADF593F18B4AE3782D2552E4E0759C32E059EE741 +2D8191E381731769F6648B3581CAF11DAE46471896666F18F02918B0860BDA3C +BD5DE777672447C23C62ACFC2611ED5239D6A266FDA6031EBC5A530C1A2FF7A6 +B4380B9A4C877267854AD1F1677CB5433F28894ADF93D39EAB94541A8D232E08 +22D082D0951A60F62B87DC028714EC74133A4D65F7D0D1296C0E189C4A42AA98 +28E8AE7ECBB9FC8DFABCC6EEB1E9FB06227F90808EF31331CCC5D4C9A6182181 +047902DC9FD0444FB94B60FC74F3B677758088CE6A159D940C5CF682335E756A +8BACF06AD7225D49B0002392C889B0FE2C71311D2596F4903D12FA20BA2FFE25 +A0804B4BC282929BE31E0F46B34532CB5795A65218CFAE21F390792DA67775C7 +B91A2BF4C16DE4F6551DAE3A5827F616BE9040EE6B1008DA2F99A01EF66D697A +6CD1A44E0A15D1F39EA8025E886A68A1E9C334327C7703EE721E497CA924AC90 +7723106D913C5ED4BA4FC743CEA8D0F5172526107DA65775C0B1B77179D336C2 +9B09B608D80B1A1E87CA1A84A833A00D980D919BFF56F6390E9D5B45E9935CF5 +E69D003564462F750F7DCE02DC23CC215A0696B74D8BD3156A392A94F557655E +00BFAA035647568ED66157FACC585E411F7F428569C147DC43F6E4FDE693D0F3 +9917BEFEDF61FB980B85515FF6424824E2D995B05CA1E5D3E8BD8D3281DB7CE4 +E54923E84058FFC0A8A2C491327D0F87CE4C352B724167CEE224DABA3B95757E +4A419594BE4F92E78BA6D35D4C93D31ECC3134B24A45DC32445725BB044F09A3 +AA8C31EFC0A2944ACE2F2CE054CF24DB350FB3C71115518C24BDC0F7E54250AF +9D3378D38480E1CB9029F31570C619A28F065CA4FED5665EDB96712ABEB33B9B +4232C00C1B0215F08D53F7E430887035AC25BEAF06942FD1B6C442253C887AB7 +D694C1A6115C8990B4CAF1E81DD1FDDD6B03C00055BE956BE7FD8A4E1049AE69 +EDA8593CBA8C4A41E046C689FBBF9F1B64E5856A7FB1C61EC815A56DE2A8ED33 +41F370B8203D4E5B19C63AE9E6E0D26F4F3814B5AF48AD30EC9B8402C941FDD9 +722FCAFC638FBB835F83DC77F93D367266FA7DFFFCB567EF82B1695AB4D94D09 +B18AC041811027229DF431F5CB2BBF6ACCE9D500C8F075A74590641C1A607C56 +D2B8624797BCD9C91C3177818691FBB4744EDB6056464A0B95B8D63F7C22309B +82D6126E2057BCC9FE5566D96B7A9B201A09B0D3252A5494C8CA2C8BA8A13C29 +37EF2A882D61DA708C279F663D88A8E2999A0F3B6F98C49901A7631BF7708B67 +54D0B4C52BF4BE0DA0439E6763A7C9D639AD4092E77B13D3510DAE1475C978AC +796F9B2AAD3BFF35C5A3E19B5E2BF704B3BBDF68CE48BA4FA2496D60E58888EA +28AE12D00E9F0816FAC190590A865BB58569A91BF0345D01230ABA361442006D +BA2C90EC2036BBAB79EBAFC3F217DBD5854C519235F9627A1C3C71D21ED38AEF +0BB40F3B86BB9F09A3F309473D8757AB7E638DC1C59A7F9BCD49DE4107A2E54F +422767FB94048987847205584309397F554744690ACFFDF5902FE5DB355930B8 +71863217830DD7A563B0B3A4025ACE75B0E777B4414B62A13B50C54E0E6D47E9 +D43BF769B9411B74E1069BF71BA873B4B8973EC9BA492A5DEA58D267872BB246 +10AA67B143D0E2223FFB4991E583E629413CC894C3FA4869B72D19CE1A0CEC8C +0FF5E5A3EC1FCB7D3C4289813F0D249A11B55104BD60B2A89BEF44CC77CCDA9A +065B8B83B4F4253AA1D535290DCFAA4773452D110D2B3370F9E2FE5432B54A9E +644EB3BA9BFF62347F376839024CD5EF3C5DFD30F412DD5474B7933E6A1AB63B +4B12F2417C72D0543C26A263AEA53E5BAEBD67E23553A72E949DEC556BEB5D09 +C4D7A89B14FE4EC68D0E3E9D65A64B285E53590F418EDA8175113CA375A29930 +DDCF4C71ABB26CEB800C2C2B253AC1F53651C88A56ABE5A74F3B54CB4FFDDB92 +60AD7272BA25EC2F6FB759AA6E1E7964FB55AD09F4EB25DE45FD01833947BD05 +6266AA8ABB7DD792941C7A070FCF3A4636FBF8921C70298D42FE92F079DBA2AD +6149D9CF9EF7264DE6DFCD4429949B15EA90B596340713BD61926DDB2BB23BE8 +F9DE38A31620A817420A245946E551463960A8C5C7295E3B3D6A59BCDF5E472A +40B7A2CDDAA43CD8AAFC411D037142579D11054A903E102DF0D0C7B5BB854DBA +F3F086AF991F7F5D5C730F8F9AF213F25786F3EC0E54530FF912F4876FDE16B6 +A07D0DC4FC46EC6363BCB68B83ACC448B801EC43FDD2F8BE0E93D809FF81E38E +176AE17C67C85FEA58EC95435434C49A950AA955D8B20989C550AB1F1C31B7FF +99422E1F48FB7D6F327C6DBC4695A03903DB275B94CB39386E46579271870A25 +21823E75C377E9D5B46655E8CD8F986372CF8BA846423E26582315A9D19E0BF5 +305C32B2A0EAC3ECB275B1D8BE11A37ADF524944219D94EA2C5DBDA768828B6D +775DA8CDB09E0570E4ADDF462EFD8D3FA3F86B1DEECDFFB699AF6507257C1879 +16FC615868C2D51F03CD57BA38D42995D9164B257441210084DC409B6EE4C119 +0B2E17B0A8D5326DD0010E4A325D5F77BF935693BC90A00A28C7B5F74817DA39 +F47A41E32F4F92AA04D30D810F7B1484EB53AD8CFC8CE8928B570314E0F713F8 +AF127227190F9C16BB73D2A217FF801C391A29095DA5E4974D137A0CAA7DE702 +E20DD4755B1D78739756A5E7EC3542B96AD6844199FFA2F5F2E9C64E2DA4FB2A +ED79869F745C59D235438251BC2E6D26112AAED20E06021D1AB896EE1F1DD2EB +437FBD4A25E42245C5A647493FCC9922E6DD7AF57D5D482921D1CBD6F0F02949 +C27777144751C1E72F4EE2BC343D4AE7A8A8758123B54FB1A026144C643651EF +0907A376945E19A8FC7F98A034832A5820A481B0823F980F59623E0511593FEA +BDE6EFBCC0383242CBD4954027B075B21F10472059A480D6E5ED01C3B07461CE +9810251A5C5643EC7403130C2246E8616CEA25EAC7A0076731FEA8CC43BCE3BE +933FCE61067F5FD402E67E2B9DAD954AA77C5BC86BC5E4BCE2ED676D8D8EC7D0 +ABC5C86D82180B9D5D7451C71B5149B6B67883578DE9909317928C0A92E3205E +F23015400A1763A6FBF67FDE3318AD2696685A1832FC31CF38589EBC7CA1C818 +60D2B2211E04EFCCEA88D9A9082E82951EEB123924A267CB03C48889032F2892 +4227E217FA28F87E01CBF27BF1EA60641A4238258CB7AA355908FE36D90F5CAD +FE992D03A33E47CA9AEBEFDA57793F39DC6A9E85D5B289F6B862B35DBCF82E43 +5CD6A862F6FFAC36478C384C3BDB0148CB1FEDF55969C776E77917635B5A65EB +F2AD351D21CD3822D43289FE8EB0FED58182997097C7E9F4373553AE1CA92083 +EDE3BBE6C3BC7009D15AB5FEC6A59E9FD1BCC7B2099CA15FEF083B9CBF7B890E +CDDDE6BA0AFF306C76500C945DC91BD533FF9A585CEEDEF79238C54E6168001E +26FEB29E523EE501BFA4F60B782B1499B07084C35A2434B4D29D3D8E2C8F945F +A9922443B68D07DF7EAA1F4CDEFFC438B597D8943E231B5216808A85F30EDC81 +9DF5DD22F54A45335B4C2203887475F39D247F0E7347BACFEAF220ED82F9263A +6488E73C1910023E505FDEB143006C1A351D441AC57F9D52D2C6D63D78C75605 +999885676BBBAD56074298E0BFDACBA1830BA58E87F436CC670EE8EB1870154D +72DDBBF3794F8CAAA3F1E11DE29752DD99EAC695838A19BB67A1FA3829B6E0BC +5301610A0351AAA749F456AE31ADD87D6ABADCDD1FB3CE81C3713F48780DF407 +530CB284B2AC709F52EE7AD647DEF9FA4D2A867CCEF728F3D40CF34C28D21527 +10160B3DAFB5FE16AFC9D36C6EC4021FC189005862082BEA60AC72B63AD27D72 +FAF3C2D89DA2648FC4C65104A069212D87144E8533CD86A6D73DC7CD9DBA25CE +7DA53B000266F3871B24663C77723703315C5E4A89DFCDBAB384AE7EB2F455AE +AB191FED406F7F6EC9E5B8276EF5C4CBA041AC7E8BCEC7CAE840154BDCA3232F +15711ABD1E867A434E9787CA0A6D1F197597DA27ED2402CB2D84ED082E8D3A39 +81E6EB270DCA4E7A90E2BEBD3CBB3A2BE3CAB926192D7292CC16845B6399A543 +BCFD224BB52F21352732DB5154FA3442733066CDC3E186D8AA97CD801DFBE43A +116C86889BE198DA88CA978B8C40ACB67E8F7BA499DE68A6FF0DC72C3D00BA1A +B378B39610F15CA026F95ED8155CE3FFFFA2E2FEB352DBE14CEE1669F2387B70 +55B91185FBBED764266215D518716EDA3DFC9E5DB6B148A553E75AE5E38E1CFC +6EF47B314D54CF24BC13856F4F7C976BB91D143DE32FF49BFFC87E17885A1893 +BA1B8E441B08EFC04F7D103C1FFBB665194B3D0920473740C55FB1C50EBCF717 +A2359B687FCEAD65616EE89A68F8D91AFACAA0B238EE4AF0279AF5BE5294C3DE +A7E1F5E6248C0210E7D40683F04B12A933C746ECB517CF94BBCC6E4CF49AC715 +D8005AFECBDFB7A6B417DB8A28F8E9EAF39CEC1CA64DF37A5E66A76C26F721F8 +A63B003A040A62F87DCF61B298F960D510BEFA453F118E59E7DE8CA3DD002EF0 +127EAF733D5C61B5132348D280F84D159809CC71A3C6F7373BBFD8D6EF715D34 +0016DEFF14AA5F960BF1BB9AC304A1823722843547BB4CA5EA4C41C6C2701C8F +7BDC810443F9DF34BA469A3260009B799871BAF8523C8763544DCD0B382D44C5 +F75046AFF85F0B5A3188C2EE786CEEE5496A5AF4BCB0B429CAFC403FB983EFE3 +61FD9F52ADFC38E07A0FD7BACBA530D2E4DAB2592AA9564843E7E2305047F060 +C5FE4243FA8FDF1B5D4F61ACA7850A604FBC6D6970959752695C90F78961B4E2 +C8CFA41082B1A37405AABCEE5BA3DC2B9EA76F486117B84728EC6D8AE6379CCB +402C2AA89078EC992C00D53151E9D82C65643F549A572A20F05107A41BE5AC57 +8EDE92AE20B05E2D0C98151CC92D5389A675DFE39DF546A33A84A4C534337ADE +B17C34E09145B37CE1EB1D10D42CC8D6E6B127A3809F7202381FDB88D42084CD +0AEAEB8A8288CB56870EA2BE9D0B9DC8291021CA561E2BA388DA3494E433E0EE +5E69DA51D0AC505C9F71562D3E9750F23CF14D2C8ECF0692FBBCB4A92B48B4B0 +AA2163A516AD96B9354BCDBEBB351B643BF3CB00446AFFC4A137CB928E99D626 +4824385F1E9CEAE6E317451B4ED21EF01ACC5ABA985FB14EE70247FA3B66ECEE +431352ED45182614EA3D57BDC22E5A04D5AAB27C8ADCD7BC07BBAB21A1901F39 +4C9C008D353F0EED437BC00D2E65A3652361D50E16C785B66DC1D551961F641B +032E133A31A61A335EA302469363987224158BBCAC91357E79DC8F409A928EB1 +8E1FFCDC81E7B443ECF0A6D728FAB96395460B33F57CA9B8B96C8718C91751C2 +033CEC54AB5D4E7BD45650EA078D80A4746FB9CC4FDA435CC3129E7554E0D7EC +2ACB4144A78D5B5CB1AF6E71DB678766A5BF8787E5880A8A474B21204D89BD94 +96F296E8442E00630AD150B74F0F3A1A6DBB1EC2EBD08AAEA97255A4FDE04E1B +646DFF242F6B5BC50DD35714EF32D74259D912DB07C1B3A35C888DF424F67EF5 +7E3F74B3F2431B202216DD74121E82AE712FE799B5E03316E53812695AF69EAE +F234CADC33D62F703F8D6D94D72FBCFFFCC9C5154CE602815A49DBD5F2E8B756 +C72A2605436F8946282ECA692E3AAAE38412AC17CBD4FD93128B054C76582C5D +30B52D717F8DE2B2F34E1DB783936E48B30FFD5E2F4496E55E09644DAAC56241 +51F7E51218DBF270F833D02A3AB9A84B472EDD7EBD849C36B8B1CD0A36EBA45F +1994D4C0F1A7EF81ACACBC +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT10 +%!PS-AdobeFont-1.0: CMTT10 003.002 +%%Title: CMTT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup +/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT10 def +/FontBBox {-4 -233 537 696 }readonly def +/UniqueID 5000832 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def +/FullName (CMTT10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 37 /percent put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 92 /backslash put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 123 /braceleft put +dup 125 /braceright put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3 +7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260 +6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89 +14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0 +0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397 +3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4 +BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F +D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0 +FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB +556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F +8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E +F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB +B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673 +125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787 +A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77 +4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC +56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178 +E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F +15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385 +2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9 +05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390 +6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD +04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728 +C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4 +70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA +4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A +A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473 +62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364 +240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D +69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2 +ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84 +121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4 +0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB +D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A +0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157 +D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C +550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844 +CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A +9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4 +FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F +7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06 +E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6 +50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A +2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05 +9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2 +44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE +49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9 +385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091 +8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011 +6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C +EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0 +E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB +C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE +484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29 +4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0 +0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C +6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F +5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C +1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3 +909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8 +BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506 +CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0 +2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0 +CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08 +EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811 +0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6 +9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A +D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4 +21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0 +7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F +52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A +FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD +AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7 +F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429 +067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E +E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431 +C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937 +5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B +0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD +CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC +2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD +E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714 +56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957 +F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F +E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F +0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D +67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046 +EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7 +CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8 +9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5 +9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0 +C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861 +327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203 +F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC +60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD +A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4 +B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5 +0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F +1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1 +DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D +55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C +7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E +75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5 +E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149 +8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E +F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB +8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F +D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914 +54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0 +49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9 +CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0 +34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276 +1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA +6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A +DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4 +E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD +4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD +2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC +ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934 +3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE +97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C +FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570 +A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF +639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4 +D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615 +E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2 +1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E +A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3 +F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780 +5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5 +4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50 +664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844 +4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8 +35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04 +1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6 +01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A +5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82 +2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0 +DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C +BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507 +39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1 +C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665 +99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481 +7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE +D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8 +6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184 +5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38 +6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B +F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81 +E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9 +39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81 +7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5 +ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77 +6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882 +2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230 +1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41 +06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE +5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A +288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E +7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F +759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF +E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E +03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A +6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859 +314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266 +74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D +906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36 +673B8DE32322BBE861AE251226B4385AB28702874C5E665891FE7233A407AEB3 +7BF103F902FEBC471AD6C65E412FB5E00A854CCB88500D4AD28DBF9913982D43 +F57651B42E0E7DE9EF1A2F6765CB544953CED82E187C11333C5D3247F92F4457 +1BDE5844F67809BFBCF8A569CFE3C0A3A1A1BE80ED8FF0A9C509420006D2229C +C525B44FE3A87825D029C3F827828050FBE5EE4C7A4D8441F56E2FCC3EEAE766 +25CDFF321ADFD514B2BA1B66E7CFDB8FC93B69CEEB4DEDF80BA158F65C546E9A +BE7B6415B64E2857124BF3FC0BA485E050DF883E4B2767E236BE2B9B93C6D340 +C9839D58A365195647F6BCB28B5B1679F1990BD3858B8FDF4445719EF487B225 +32E8933ECEFCB8A59AE9FB7ECD21F133B000DA6224A25849DD36A224FEF55B06 +A6036ADD54CDC87F9D258766476A595F1BDEA4D2626A0AD63FC287C534288972 +EA8B6B9154EA8C28BC52DFF62714BBB110A4121E1ED7FC4E261942ECB01AE636 +FB87444046DC3EA7786BF979C258EB60286FC8CBB7109522E57F5448092DECCB +9D1264AAAEB4B0BE5CE51D102BC0EC8B0E3E69D117EC62CF78220F28E45A84B0 +FF35C585C18B19C61B51CE78ABE049F1F25FDED5170BF6156B7946465D1D51CC +31E978BDF45C9B464B9DA1290584B298711CB71771EAC18D44944553A339A4F5 +D0B6AD45BFF4891BF8C7FCE8419E3B471927181FDF059244CE34C8E2F3833982 +C4C3AB5B333511F10A6E751064074A52C138FBD3DDEE28DF2F0F6174BED2CA19 +D075A462526DD5D6430D77D90755DDF6C0280A4876CD9A2EBC2699F110F9069C +4CE22205C8F61EE2068824B4AAE5F3D674ADAF20E4E636DDD749286B80A5C224 +74B49FC5C093A8220DA14DA5BD9E017D60FC01124BABE23FF62E75FCA39372EB +FAA7BA8938D226A76B011D9FDD66C24C53435B707445E43F11298F2B2836FC9F +145DC459ADFD7AF38D465247CC08127C60B94A181D75FB34147D958445BD6D69 +6AE7B5E2FF38A99470D10F396AE895244562223B86632842682BCD4EED2766A6 +9EF6B97655A9311F1F7CE694477F749F82198FFFDAE1393586EFD44F564C46DB +65AD2F2D3AACC06F2986F55D64EA277CEE928093A6C2CA45C1F39FCC17EB0021 +7E532205027F8B68DF1CCA64E069D18D0368DA1B586FF9F764C99ADEB9B93BD2 +989EEEFA3DC87EB05F6EC9829FC4052DB8D75FD0F744A1470A7A67AA5644EAF8 +72540FD1991881327327B90CD5534097225899D5410060DA0196DD4B0E8AEB23 +739AF92B579720B119F828E9982136D215BD19ED2622B094CF9F53E12225990F +EC9B4A0988E4AAE449964323B79BADE117A3CE6D9B9A58179D70A070BF56E95F +620E2C0A49C06ADBF7E2D583E52C3488C72C90387B5DC63F9284F658F5DE5C4A +92D449AFBCF651BE1ED1E8699445B696A13119D466E2814A5FBA242EFF1387FA +D81CBF4B916F475ABE4C3938E1970D8EA3CDCE3C085D52412826F3A223734610 +86D0B51E085EA8BC4D582059B0C5A16EFEBEB3368DB2A746A4C45DFBA53CE9D9 +12813B7777219AFB00FA6ADFEBBFEBD803E01C3550493844B9E0A1F41BAE3D82 +F70198A1C09308EA9ADCC100FB9CAE0BE050E1713B29CD2C606CA851CD3346DF +70CD3148475002412C3B329176D32973ACE84732A1EB144369AD69F46D1A5964 +3044E28E2996DD2FBFFE672E0E0600DEB38A82775C6432C73AF24995B8A3DB24 +7CAE7F23B555EE925B6BC8A98252987A99FEC71FD55A5490C891B2BB0AE2290F +542F22E3AE0D4BD97103A90BD8485FE28375C026D2BE5DEFEE4B4788D767FA49 +C4FA62F4E10693029CE0753DCD17E8283DA958A70E0620BE4D11248B36BF2C13 +66DB5556B0A142883EBF015FA81DC09C3F1AD731D0DE9DB8BD45CC3AEE45558E +B3D942C6227BC78111871A5762BE48F5FA88A4599B2E00E5A491A4E8663AFDB4 +117D7CD1677DC8123E1DC8421FDEE60617417F403ADD5B2D404B8C49CF740734 +665C5887D21F219A295EA233C52B9A030A92CEC7F3F1B26FF6E2D1797C38DF30 +977E4A30E5D000AD997B92DD4FF80AA61D57F47A386890B3C55E5529498B083D +E069FB552B244921DD5E7139D887CA82AC039F77FE8D5A766C5F6D1028375AC6 +2E8AD5E1B430C8C645986B3B35D7FFF5CECC0B092C543338449065A4D4F6AD98 +CD2B4F5A2021786ADDBC71C3B10A749A1436FEB737C06F8337F1B4CB61B37C32 +B0ED7C7452F551D94A618F4E2B1F6866B84C17059030556D0A5985B5B047C9AC +1869DAF244D54E3236DBA427022AFEDCD008C09E07642CDB25B9773493EDA926 +1619D911680EFD0BA3A114DB9AD20863CB55D46FDCFC68FB619745E3E9C0E6A3 +4B315CEE932B40AF029F2A41BFC3F91502FD8CF76801E9D35C9648B17EE6875F +A952D293968433143A19DAC008AEC58BF5435AEFDC023C0C1491B96267AA2452 +AA3972067C7659254C039483471E0CCB5A903D3D6A00F1DB67EDD3D6CDFEAC13 +E5FC19932C7C536E4E618E36D01B060F654335981217D994D4E3382799F62A9A +8FF8A8B9CD33F1C8D849935DC807A25FF3F80268BD269E4CA2A467D8D3783FBD +4D219AD9426E32F1E8ECA7D2450045F287F48ECBC5218F5991432122B9D1792B +904D9AFFF7DF7065992B865D7061B18DD434E44D764153A28532B97933842A14 +BDCB7A69EC0DF2A546BE6DD1D5CFBF9D84B0EA7776154F9D1EA9FD8FD240463F +1A7D0DB3CC6395217A08454053B06F6E8B7303BF3EBF6608D5DBB975BED724EE +E32345FAB253A0A732742655F75DF4398D2D2BE7E7A316D6B2882EE5BD03AE61 +262471EF97FA3C58236B7B7428B8BEDEE9609BFA7AE3CDC0E708246F2A409507 +E402B5630995BA77039CBAE42343DFBA03E336CD2BAFE0B1617CD7942D096000 +7439C5AB3ECB88EE33D296E0FA5E1382B710830E8963D15F55D45F00F1224E36 +0B5507B104EF665AEF8357E45FA3D1B8A76E2ACEEDF17D2D7F640507D5A6EB67 +1091103053F0AB4934C9E0932B5C6B4441A41ADF3961725A7B6DD77E0055F946 +BD7E597C4DD4C9C293197D791022ED02FC6A0CFC9C8AC5EB6089E7FD201D4251 +AC58ED6D6332A3FE14C2C9D190B665E4299ABC96FDAB4D6B4AD0BAC541F88CA0 +66DCC9F2A8A2BA9C714D4035DD4B93D7959F658F466942F3667F63D90356C46F +EC556439CA0BB0302C916771E74FB351D749C1751AB580258936F42BCDA15AAA +9B39883B16C1A8B949036079EDD48871C7DD4B361F1E6CA9FD0876C04A286F20 +EFD119049B8739190A2D7A9934CEFA6724CF6C1724A15D9E59C14863D381485D +EDEFF49316C4AF736B76FD4C1917310C2F484CB4ED4981004D4E4DB079D92938 +B1201420C4654F726CCB4DE332AF4B93553A16EC60C1CA435F79C9B4E67DEA6A +BA744C7FE90C50D6532126EE54B9088D365B0EE020A59706456029A7CBCC63DF +BEEBC495CEBE75638BB24CE6DBDCAE632760A5936A28040A1EB1FB11B7867711 +410F6102128D55CDEDA15736196ABFC771853ADF179BC5225D3523ECEB8746BB +00F9CE16C03DE5C81F42A3DF8821E29BFF193F3C4BEDB037ED695CDE14A6C40A +2096C82B662DBB54E158B0CBF0A41065B7BBB4C1A57BFB3843D584712A1F0835 +B68F9450BA0D2746030A24D37A92FCDBB9A991293C6C7DF5479B38C4F24F2AA1 +E33B2AF5A6DFBB25A3E83FA06F6FDF1F85D05ECF59BE752F54C04DBD85A730C0 +DB8869908225BAA021DF2FE4D0BA9CD37D7E0E926608BB4AF272EC998280DFCD +895668FD80D5655EE1CE704259BB6BAA65FADA4C803C2DB31FBE6534E1838C2C +F6E2EAA583EDA6F3E39D8BFCE2E00B6419CCDCE957E03995EDA09268D037ACC2 +E7C2B5960CE703A35B4D76B430AD500CD162AC27100BDB84B41BDEC189DC0A1C +EA718D35211BB4E56C9C50334BBABA6B5866E2452ABB123DAB4E840C5E84851E +793770AA2575383501262D1FBC26EF30D269125E024235367D79F4FD11FABCA9 +4B4093F4D37AF08DA1CE5C93B534422608980BCE173E15801837256C5C18CA91 +7354CD7B581199D6E2384313E548558C372A2121E39F54AE75BD8F535000FF60 +36EEB01705E217334304645F54B4CC861353D401A0DB9B0893B26C53C8F35507 +10E383856324B025ABD1BDD45D8474D33B06CF6822CE65F0AA1D4B47BCBCFF60 +438BBF66D3B0CB17092B7F5B9D5BDD18C396F85A044A3FF59D9A8C60AD245EBC +FDF00AFD198688BDD538C0B4F5B8A0BF59A40A4640F2BF6D9A1C6BBC11A9917F +D257110AB63FFE8DEB2B7F41A339408D477B97A9F77994500DD66EE6B66C3567 +66ED2DF9784C95CA0FF15101668EDFFF7D30CEDB6F54A34B6EBE07326ED71578 +B49FB57CF4850B1C3421D1FB26057559F0CA734B6644D20C221DFD44E459319A +D107A3E86CF876E2B119F096FB02E333A9DBF83BAFE59127FB4B5DECFB4F6A4C +DF352FDFD4519D89467B213C3C16B2F93BC48585DC6B973E49CD72667A9FD76F +066C1E3D89B46F0593B2806FBB44F10CE8F27DB0B5322DDC976270DC64AED311 +4CA9A1B772C01C4ECC7EFE01A43850705A62D548028F62B2FE86DA671993F810 +2C36E921836A47C25A4FE6A4DC744374D9C582B1430A73587FBBA4D664AF5C11 +E4B6232C3DE2657D6ABE456C7BDDD98E1EED8CF48D5B914305DAF5AE03803C2C +1318B615C1EC5B628AE7CB1AFBFD8BDF23C1FC80DE7632A8E81CF755B5B1E58A +FCF064C7453B480C3665DC187214895688CE53DB03391FA56ED396B5A03F7BFE +3F39FB1CD953BEB0A1BCCAA66CBCB69AC2040F8335F09D2B34040061729AC41E +967A47D14B740838A05880E9D7632A578DDA980BFE8A44215C5910DC08F0D126 +88106B6277D944E92AF42C0185D15A2E16B3CDF21CADA3E82B9980DDC507D802 +1849D605C79C01604860D73651A51D3045CCD07973BA88F1F0A739A2FBB95EAB +B7706FA74FC6B19A77BB0CC69979C1130B9740ADD2348CA838B31F315343ED02 +CAC05B8B3B97EF20B517692C1E825CE278C3A9E16A0FB9CBF4E84D48F113568F +E3380F7DD28C3F88ADE41E48B9CCCA5E4363DF42105DD594FEE13326C01E4771 +B04661A3919ABD1F4FAC7835574591ABD7A14B49101F7A5920A391037717E020 +83DEF1FBDD394C753D77B3EB2C1A27B6678EC8718B246B4D2DB2EEA99EA55B37 +81A7A60AB430275AFAFEC1757A393E349671ADCE38475E3825890C47C2865437 +D15454DDE188924D2862D556884467C9314454FE14087370AD7F33CBE494BF4B +DB5353870B922E3DC7020880F7EEDE627760DA320A92547DF3EE54921ED80860 +B078798AA4872C79146D824284474EC2E1CE50CEDD25719C5A28DCCB391F1D2D +A79A64874543FE0540EC5CDB19B39C3B66F370B4448111C1D6BDE05DD2AF6CED +EE3AB2372C1D116CE701C8F59E897D63629B3A8C4A78EAE9297A03D0A28C8DF5 +F2A2EAD420D4AF62B719CD3320A30C0313107A0B5F8CDC1F5B9C5F6E442AF832 +06F0EF3BA7804648C20CB326B1E178D16C6D2C470B611FAE82D4C1477654DF7A +CEB71F431D5CBEF4E6D679FC0A58C484245056C419F090C1A1BB9D5E451DEC1F +E32D8D1C6F355BD90E0E19285F0BD977B79900D8C9B1EC20AAF6FF3C59834C36 +50665AF42BF97264DDE956CBF0F707FEA92A97006B09D82AFC7BD0D06934F703 +EBFE60EF80C4A2DEE834B14F6C69CB9F5F898F64CFC4BBFDB834D788955567EA +D34A8AB7E239B9282A896F0E45C558743808172A0D2225D116194BC431946862 +4F0CD4A7467A30E285A075F25754A211D8F0B67EB8CA392E92E8E4CA21E50BE7 +44A40E17B8B597FCFBF9ED7F79A16F138F7A39A2065C4313F695DF1DD7AA5CBB +2E6C3DA12C9B5FAFAE29651D28F63AB1D967ED6503B7481C17BB2557A2D4B014 +61845E2819035C68BDC86ACC174DA7697F7C11E51DE0EEC06340B1F2C23BE289 +AD4CA79463C1957CCD02CD8B245E722757CA788F9999A7213EAD49005DB307D9 +913F4EB4B5795AD61580CCCD80BA8B40922CA0919F24EFA6F496A20B10ADC824 +9AA781918FD266621E4E3C83EA6BB663589EC9D97258CA50EE186D032CC063B6 +C0E50DAD5B36D859C63B89A70D65082B2563E0FE5C26B6021876D2B78336B83A +D6D6A56489666ADAFDE07CC4A0EADDA94492BF9B8D0102551864052476949492 +2879F8A187FC518AD26D9218759795AED4469375C5FB47EA3C17E0A7AAA46554 +DE2A21A3D3385362ED88BFB7576103637333C5E272B5A6F36F85F52E448A3ACC +546794F343CA2DEDA211B5EA5897F7FE25BC0EC13855E28ED2D1604FB4DE18AA +85100A2DB4B8C3E4EEA47C1580B6895DF1D9E9866FECC07110E195F1E25C987C +8D33799B360FFA0B99776D39367D6134E7DE181EAC31AAE17118D0C72E6B78F8 +BFCA73310CAAA371795927F06CA78C897700C09CBDCD48885F5FE1FC3D4A1C46 +39FA255DD6016D963F69DA67F5B8CAAD8D63623572DC8518DB9D1549A1C188B6 +DD5E87FD8F95A43DC8B056FFBCE2C6DB458F1E21C0DE30FFE6B36E4B97DDA0B5 +44FCD42868CCCDC5AD9DDEE3680AB78E10A90C179BDAF2E7800292AE0E909077 +70E10A5A2A2303A06EED113C9F805447D58D47BE96BAFAFF04CBA3C0F2DB6691 +434BCA2B8144015C704D14337A0E959A374FCA5CAF985CC1A3AA1F0927F4A4D6 +16DDB78F93CFB29D64154800FF830DDA20DEA566E09BB20B71017329FA7E266C +9B60B2B21E79CE89D2ACA50BC1500080B979C6A41A5B8564A7817D956030253E +8941AFEE589F86E1E054ECE9CEB91F192780707E32C5274801E4C421A66C1B43 +D9EA3A7312060ADB34DC3342C2BCF2AA4E73CF2C7586344B2927733B046513ED +28EB845D964C896A21FA4690BE6762B140984A975C9E1893121BE4791D04DA84 +43BDDCB53C46A668B108FB15B75978950E8527E59A83441143E8DECF97F2D0C3 +D0EA853984A89FC8D6AF6B60809157BB1BA786103C4609E40F34EF0734874202 +4784F4BB75B362A616B7CE3BF97AD0CFDDE8AA3E77F9B289ED07B59E7B2BE0DB +E2521D8F40EF958265B6308D6BA9568B0F47B008541AB10C0D9D5FD29AA026FB +30603A18CBEACC445674D6B23CFFB84FA444CF16EB544C3B76AB63E36C288D37 +E6ACDDFC85E875AD690F453BE77CBA08B9FA9253D2DBAE182237454291A1685D +C47681BE28AB947AB59CB9DBE15AD7550C01E108F1785F7493A369204DB63687 +EA33F4B35B57723271791E36F58F156D08081DFE1148FDBB998E69A7CF0FF5EC +C4FBBFBD0784FE4BFF391EBE5780B7F7302DAEB5C78DBB1B98F4195DD0F39D2F +3ABA9E2192DFC940D183E5F440DCBEFD9621D474C25FC34311D30835E8B3DA4A +CD1F86D6FF67FFEA6B7C85D3D37535EB04FD6792BECB69535EFDCC2107D29B83 +9E9FFCA1711A8E96B79C6D1D06603A55F0B9F4E709485BC86E940D61A60B8CFB +8293DBBEA56AD84DA878CC0EB7D9435BF3362F4CA6C9203F3213F76DE5BC1F32 +EA7A7CCABC48D9E1D9B1307D0C1386452628ED9D24925A6A26EF3C6219E51BD9 +007DF8A41269D33900F6FDF3D90D232B56E4D15C056A7CBF35EB312F4F988788 +51357C3C961CEE8C6EAA3A86B9634531F2A4D5444336525BF5F158FC3DE86D1B +2E013550FAD0A674161EA03DD6E589BA134102645EE1BD0386C594C0A9A0B6DD +D374E3A4FE49E3071EBA991709F8235EFC6077DBD620A0923A459C46416D9152 +FC0343C68DF4DEDEA9DD5E93A63A397B46FBB29E907C3C7E3051F928EE0CCF9D +DD4E0919220398FC8826494291FC035D43E0A497BEB10452E91821DC239BA9FA +302600667D69C94FFA9E7F140BA7A79AFBF589D415850D4C947C8B90E200E61E +51B37DAFFEE77C09566183E6D5283F891E74987334BBA1295277E14BFE051751 +FE70BADBA30C047DB5AB1D11EF4AC81C755C96551C209397413718F1A8EE667E +AB3A4309427CB08219CD1324FD27954B180E7B6B58B99907900DA37061040553 +76BC4CFFDA1A18F7680A00B7A13269D962A22C72C626B7F1BDC548FB7A0431A7 +C4B86ED93299FD83F85A8DC4AF6CDC076F22A1558087E7CE631764168A727FD8 +25DAFA8807DC1E6F5A8F87054B4D2E8FCDA51938C1FCFAB162A70F5E89C7DEB8 +895AA2A3509F0FE83C24DE32AFD7948E6CC75B771FAEA87205AE635CC2EB4799 +93795ECA680736D4035F6255BEBF9782A567078C7D083B64EF1B38302DB9A09F +BB2B3D0F138512F6B84505B5C18602DFFA96CBBB777EB7A9B880A8E19E0FB631 +9E79C7460C5359B72C3F5DF77D276E2F2869883DEDB50D8A0F60604BF813A8BB +3408676CA2D9541DCE664D1F729E7D6FF552D8ADE09368E629451DDCCDC42559 +3CE12ADB90ADF083CA98EBED99545E67165AA4F3518548753E8D2E626EEF5F96 +54B723F5767741958A1F7695ECE822380D4490D52F60E7DE24FD7380414C644C +15747CB83A048F537D3A0533D24A576475516BF028C193DDDEF4162020F686DB +11F70F38A692B9A6B1269B2AB565ED13CDD2D7D8E9776D517C3377CACB16455D +0640295E263FDD5BBB609595C45B77757D57A3D96315AD7687A2687100DB0908 +85253BF94085BE3EA50EC9B6DE136E4CEBC4FA65A1A5DD4706968250C91BAD16 +6A1AD18DBA4EE2B9CB3C6FE415A9B47E28C91CBE3CA1EDCF18D41F4D39161136 +02163D500E5A1B4106792B4DA07484E28E915A64F073186E4C76A252788F9FE3 +CF89C383BABE9FB0D197175CC1EFFA9CEE8722B40FA514778F382569FB4E9B04 +8B1F6017779E8F234B0BFF4C8DDC9614E64A4233A2A645DE64B7E14553992249 +A3E093940A80745AE77DCCF1C44F62700A68D654916E3AD57BE75D73B2F48147 +8B415717F2C14E18103581D9B9A435D57AFA7ADB5FEE331FBDC2788358AD01DE +564F34981FF281740C6663182E221D1E7E2E27FADCF68C6C38B5D938727179E9 +B1C3C478852AEB3EDD46157FB8AF827C6DE25C625F6E4BA6AAA44CD27778B9C2 +ECEF0ED8879280297C7AE62984C8748E9231141E649E9D730BBA8FA48B81AF0A +EF43C9048719D771A8439A67374F211573E52C2942C85CCB7FC72EC7AB95D0EA +84BAD7B7F8AD6CD1426C015AA45D8DE1E2C872C2E76C226268AF2D97A8A8AFD9 +FA87F4D419A8B87E92B4A48EAF7FEAB7C92731F801396C04BF8B9DAD27CF9DAA +EAB6EFA6CD0A3E27079C81B6FD96B6B14ACE5F1BE71F9C8EC4C72DBE43489CDA +21CC91F4A9D692F2744027F0A5F1C1B120C9E544CF0AEAF75C290F7F60B12168 +0945 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY10 def +/FontBBox {-29 -960 1116 775 }readonly def +/UniqueID 5096651 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 102 /braceleft put +dup 103 /braceright put +dup 110 /backslash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 +3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 +91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 +E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A +11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 +C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 +D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 +B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 +93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F +10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D +7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF +B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B +491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB +F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 +019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 +915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 +356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 +5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D +9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 +3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 +FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 +720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 +D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 +BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 +7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 +DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 +AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 +A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E +0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 +AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 +CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 +0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD +5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B +5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F +E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB +54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 +E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F +A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 +4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 +4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 +038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 +B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 +5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC +B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 +A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD +2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D +CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 +455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE +FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 +16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C +16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F +483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 +67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 +3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 +1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 +93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA +051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B +8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 +8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 +6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 +06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 +84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 +D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 +DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB +0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD +8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC +C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 +754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 +1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 +CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 +1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F +153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 +905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 +617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 +8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A +98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 +53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B +888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D +052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A +CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 +A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F +07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 +B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 +10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 +CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D +3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 +D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F +849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 +648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE +84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA +2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD +2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 +9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 +B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B +D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 +135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE +EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 +C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 +7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 +4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 +9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 +050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 +3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 +C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 +843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 +CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B +B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 +3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 +19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 +FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 +17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 +8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B +CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 +F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 +1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E +4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 +2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 +9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 +E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB +8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB +BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 +04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 +C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 +ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C +4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 +84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 +C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 +09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 +D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 +56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF +035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB +FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 +CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 +B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A +F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD +CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B +0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C +B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 +33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 +4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D +F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E +2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A +CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 +88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 +17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 +55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A +A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 +2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 +406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 +AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B +60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 +C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 +5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 +822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E +94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 +D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA +343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE +894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 +DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 +DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F +8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 +A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA +DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 +E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 +DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC +4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 +5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 +02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 +88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A +60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E +71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52 +9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016 +A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44 +A962226E1AFD39AD32B28B924B247F85B87CC4CE00A01F0DE7DCC439C05297F8 +AB66A0899A135B400DA86109FFA8CB56DC528C494B2833B69725F533632F8717 +91A4E78EEF79C4F59E5F068B6A0ADB9FA9E3A09E1B0F367030EDCE6C24B46739 +6B440EF7EF8132FD8C737FF9B7561D4D01564106610633561FB31239E96C9ED3 +D43B799ED76BF07AE4D419E13A47EA8FC5671F927DB24DED249A8E2A89862737 +0608FBB802E84B16FDF6684A329A14487D1234897C3D7EE35487B81B625132E5 +56E71B16459AA33D50B534349C58BCFDF6166EA766FBF4EE0D1614F108316B67 +7622CF41FDAEC84B17A3C3472C1046B4653ED1ABBED6FCD557F02225E052DFF7 +FEB03898163EFE8B85D2FC830823222F4652D5FBB0DB57DB8C42C138B986BA07 +D61AB480BEE9FBC33ECE2A4864A380C1840EC2495415A274735DE53663421E0B +13560F618C64C74843F9596AE89EBE5F51C633EF6758C82D576EB4427D33367C +DA82E9EEB6453A3528A50A5C60873193BA611FFA185D8DF9CFB9648F7A7D11A8 +482DBADCD4E500A4A2EA6F89363A0ACF3E8A1F6E901008FE95D2A712DA189C54 +F20696FBCF4672D414E17FAEF6517A79A915085C4AABF66A0BCD9A9BA6F0594F +9D4A829CEC6FD1DAABD35680F9FB72BC14C65AC75201BF0CF15C05027A5C2F5F +0E52148C24B68E42823007717BCB450509A0EF474495D1381DB6C6F47775CBD5 +9ECF9D77FBF9F57686C34E3BC43FE5FB31AFD3A1A0CB84A2877AFC6C0AF29F7E +C7CA04A3754F6FE6DE0CF7F1A2102BFE361E4CD94F45E02D30F92544AA888238 +A3B07EE188829512C4E5EBD57675A0285D55B32BFF94BE7EBA0D25147471E54D +AC4BEA702B1402A353386DFFFF05A6EBF2A665E771620BEAE2E47368CE4868EA +018D1BABCAF1A2A759282AD1F238D62C662788F87F140A97D8386B129DA38914 + +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSS10 +%!PS-AdobeFont-1.0: CMSS10 003.002 +%%Title: CMSS10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup +/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS10 def +/FontBBox {-61 -250 999 759 }readonly def +/UniqueID 5000803 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def +/FullName (CMSS10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 97 /a put +dup 98 /b put +dup 100 /d put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 115 /s put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48 +63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3 +274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F +388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B +E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D +AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4 +154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B +4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200 +29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5 +CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5 +C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16 +131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682 +302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575 +F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378 +AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49 +28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18 +121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A +A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D +8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7 +69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7 +BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960 +C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92 +B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8 +8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01 +161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565 +F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E +A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14 +0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674 +D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169 +B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434 +DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5 +261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA +B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2 +64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038 +F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29 +AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3 +CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF +5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091 +73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5 +A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D +EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F +1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6 +D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C +13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7 +C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8 +08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220 +B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3 +23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA +56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788 +2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB +DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE +3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D +5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D +9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5 +2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7 +F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB +73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5 +B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007 +11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7 +03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE +F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7 +5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1 +60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7 +622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F +BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5 +C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16 +8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474 +1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647 +F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F +D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE +257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA +7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315 +611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4 +246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97 +E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698 +AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1 +EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68 +0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A +94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120 +73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680 +AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443 +8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070 +5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE +6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28 +B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378 +129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B +AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB +8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C +B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6 +753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD +A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4 +93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE +207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433 +3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26 +7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80 +D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825 +09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C +5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105 +B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29 +E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26 +C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90 +F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9 +7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989 +99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A +96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982 +1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B +48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F +4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A +45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3 +D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81 +838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794 +5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA +ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200 +DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF +E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240 +5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5 +46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D +491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A +DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318 +F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B +0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287 +EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298 +E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0 +0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD +ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D +8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C +8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741 +A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447 +4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1 +AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C +2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780 +14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A +647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E +6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6 +4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36 +D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD +60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627 +4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289 +BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0 +1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194 +6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE +65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF +D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7 +6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9 +85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC +7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853 +BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4 +9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440 +6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3 +2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A +374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336 +39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6 +AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F +1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8 +E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6 +AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD +B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684 +CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF +9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3 +DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441 +670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD +99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B +8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900 +E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A +F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1 +DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2 +99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E +DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF +51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A +40E84014F5BF40948F05E8562C992FADC4C94C6A6DCB1395A056C57C979AA4C1 +4468B701EE115FE570BF016167D7D618E5E853AD4E54905F25C9202A2FF26EC4 +3172D2DB5E7EF07DF8B2D2E1F508F68AD5FE3821852601C07CE9AA69A1BA8682 +A8CB11B791158E1FB4FB9BBB3BAF6B285A4CB0057689E72DE1D7D5770F0CF05B +D9039DFAE90751B085BDF6F5AA9A634B5BDC31F7AE1F58AE1F5CC02281429B33 +760498C875ED60FC7E9B9BF26D89F808B05C2E483B9171450E4A04AEB03FEF3B +12D9AE0D47CF5332716FA25C28A2AF67D919685FEB7556FCDC9D79CC6D608816 +93CC505D7719DA843D2BD5D5CD3A20D0D955F69FD83F039C48BBB3E6CBCDC3FF +63DA392507369949284AD3D998770A270A1FD2FE0BF55AFA6C51A786B8760B4A +571A50DE41B106B12A27725C179878A8099E7A91C8DBA1EEA5A50A81025B6D2C +AE1BC7949D74660C459E4D3689476026B0B7F5A524504C48236B1DEB7FCD0566 +2D242498C35801424C559861F2BC0E4D616AD5830A9D6FC70A927C43210850B4 +51C79BC8A6E225D3F63BA5200ABA8B735B5E2218393A45B195A76579CF820FF9 +799037394D347973CC2DBE48D0CEFCB979CEEF7E861D5830C528B7B75B74976D +815C3CA9C19B0E9DC8FE5CB23A0C69AF41BEC0EA5322B3CD58E223032C969C7B +B7463204E9B9B1F9C55398C8F051BF37266E334D8E010913FACDF7F4420C89CA +DFC43A5D4110DAD74DA7A642FCD7C167CCC2896AFA3C2E29EF4A4A25363F6417 +2F638BDDF5E2F78B11BD5458BA18A98233E95390E89792265BD7E72DF917ADA8 +9007022005FF02570F27DDA9D79CADFF1DC7AD838B2D4FD7E7850B7EFBDCF5D1 +6ED9F8389C31F6AF8320AE0FE2F1B8BB37F3E13A1E2029EBFE81F267F3E33D41 +58983DFC576B5D41AEB725A37256F7C32B20EE5F4769107777C3A646BA29C699 +593066AB1CE14BBF6C9D16EF58F34C280FDB7AEE81F15FF46D0AFAF8507EF6A3 +F9A952CEB53775A35F4C4F79D33A66530862E656649D9CFC53015E3AFA41DE9B +FC4664283E522168D645CE0EA4FA53624D4B7EC33C5B6140E4A98AD97CDE4A2F +42613E902A6D38FE9B544772E7E19AA0D75663AF5C64288FC6A756AA6C0C08EF +3390A71C110C52F46D1D8F0D279723FF19882F00654412E6D469B1814A130CC6 +310601325BDDEC77A4C2E212AE86FDF4B1DC6812C2CD5EDE85B65EF38F7D2D49 +96F7B172BE21F13D8A63F57FC0EB5CF0BC36650ACDE888570D9EAAB4C206AC90 +809FBFB0AD8313FD59E6BAE5C4666039D99D73F206EB78CFFD7CA875C9FFE743 +ACFCF3FDA5EB7D61186C952C5164E68A4434E77F3D40507ECBBFAE73D5F718F8 +B4D571422383A9B8DB3A46D5E015B49F87EC7CC42E3CF38386F916902C5AA258 +29E75F5E1339E3CDD13948F8700279CC408C05064E61AB73ED5CD7B5B171B992 +8E076EECBC6EF2D43664335C9AD0CC752545E4DD2A6DB528324B75F0F7C3BD8C +ADCA877B73BA1E7C1BBFD56AA1589CAB542EC16BA3CF6E26AE42CB1A82000B32 +7D59EBFDAE82CEFE8F35F005FDBE65F3EC49852CB1351358156A74E7A1F5C1C6 +A26984EE3107E3A4E63FFF3725F781A6B05D6695D85811241ABBB693B29FA98E +D6B6ACB0B907CF5EC2DCDDEF553934C5 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX10 +%!PS-AdobeFont-1.0: CMBX10 003.002 +%%Title: CMBX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup +/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX10 def +/FontBBox {-56 -250 1164 750 }readonly def +/UniqueID 5000768 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX10.) readonly def +/FullName (CMBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 63 /question put +dup 65 /A put +dup 66 /B put +dup 73 /I put +dup 79 /O put +dup 80 /P put +dup 84 /T put +dup 85 /U put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB +B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A +6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6 +39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8 +407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4 +F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF +285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33 +DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185 +53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108 +74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D +ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2 +2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89 +8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D +718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61 +C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B +03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2 +767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09 +FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377 +547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A +3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62 +57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10 +9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84 +1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4 +822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB +1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B +28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A +B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893 +9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B +80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7 +D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356 +582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89 +4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB +323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D +CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC +2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717 +0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C +E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1 +9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F +9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237 +E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814 +9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF +A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45 +8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96 +BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921 +5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928 +6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711 +86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990 +0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713 +6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05 +64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377 +879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B +63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE +2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667 +9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317 +47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F +F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387 +9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F +C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB +6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2 +BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238 +4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751 +125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E +37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6 +EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E +7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD +A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986 +410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E +8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0 +064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9 +28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B +3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759 +8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5 +E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08 +EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4 +A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0 +0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9 +24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373 +73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7 +213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501 +3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6 +B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82 +FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E +E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9 +42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE +4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B +8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10 +CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D +13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D +52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493 +FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3 +760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5 +5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D +C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58 +0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6 +E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974 +A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED +16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C +25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8 +B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B +45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E +C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE +4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06 +05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A +D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00 +63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B +35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC +DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75 +BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40 +70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F +BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71 +169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A +BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3 +EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441 +FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC +6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9 +05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C +EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30 +69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D +813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70 +EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552 +19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340 +1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024 +D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D +8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6 +17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24 +96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8 +14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668 +4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635 +5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE +027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215 +A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96 +BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551 +66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD +92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F +93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613 +83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963 +093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6 +30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C +1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9 +DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E +D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE +6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F +9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183 +BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8 +5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB +6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133 +BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548 +DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A +5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2 +913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E +243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609 +51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A +A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4 +C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239 +E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945 +942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589 +3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348 +A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D +BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060 +6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB +926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9 +E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D +08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26 +8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E +42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88 +C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0 +BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3 +6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D +DC158DCD1C1BC03B83FF94C60B1DC71CE8A86B46DBE661C9F8F4677F8A2C7CF1 +E41A91EBDA2304735147BE66CDFF2673F09D408297302124C127F0B35690CAE9 +CE1679120CC4D582FB69550AD34A047DDFCD9D411724554CCED753DB52D6AA7B +22B0C55EB698ADDBB0F8ED15C971AEF113C74B9E25DA29199237B98DA4023665 +C2A63A837E4CAB38F8DF37DBAB5DC80C0C3FA72C8A70DC76B5B36B2EEADDCE74 +23CF794B66E4DD3B35BF99893789063BF7B01D5F186B2FDE518B2CF2EDE51F81 +38244BC64548AC3433A80B86D6A0CA26D77F403C06D65B7394BF1FC7D06D37A5 +E70ACD844E3367DE4DB71312CBB85ADD21D5A1F99BB8427F252D90ABB66D7154 +EA5AF4A165DF6415A0880AE784071E6B3E2101F0B663DE14DB1ABF8B7CE0E6D9 +D24F9CDD9F80028D37C9CB4067A28D41E879AEFECDA71F649EB3C250BFF809D8 +1E427E3BF24E85C75F080D93E0314883988B3A4A2B72A1B4A3D2189AB6ECFFBB +C58151AF05AE335200711ED945E18B4BBCE24A8A162BD9BB26137253BA8B5819 +41E759A7CA7CBA129BAAD438E87189F2F6AE7C86F4EA099DEB23705A500332A7 +4F141D8778EAF3910486B2EA25AAD16B60DD804D0E5BAB0FEBB77BC95EDED08D +B8941E040D99E8F44E70FF842306ACCF65C0AC9673859DB9C3A724238CB8CE62 +255BAF0145692EE3B52643A0DE3E667AD03EEF6C753F57E34AECAB0CFEC7B07A +150D7151E57BB47A4AB8B9C17DCEF9C78F5AE432612D291A0679A422A9DFC0DC +E7108A7B305B6D177A3E42525D2A3297BEBC9AEAF42BD39A752407F12E54DE8D +6E043CD726074410F7B2FF557552B5507E6530F1AE598339D02ADED4DAECA436 +BD4D0F30DB14546CECB44BF33E0A52855673E33C43AEAE3BFFBF278BD50C2852 +5036F1696259F10FEAFA56A3B7A1A0C0985244A42B8C4DA6E52753EE917C1B89 +170B7F90AE6F1298DD7C6EFBE6B769B1FCB0D5946A460833D4B59F8C8A49FB43 +5D400A4C278E7F6B8C3381BF49032CDA8DD2A2C66E1D36D6891DB8457F00B3B4 +BBA6EB85CBCA21ECE806B2B0538F96B28F83A89FDD526D9F2407B7A0D1C090DC +DF808694BFD18907C98F97F3F3CB27BE51DB34DB9B17671D5328D6D205F19A65 +B7E16D569DA22A5A9F0AF66BCF145202A872186AB23654B84393454FE4DB6B74 +D5BF9BA5B1DD1C1218921FD978D545C3F79CAEB47E4C81BA6C9E6F517D1EAD02 +3C3E03B163D4C2C29BB8A1CDA5E14FEDA66F6004FBB666710C206B78D6B9EBE1 +E55EA6ED39B1D73F213DDF7C16C479DF658AC6B29DFE3E22E33A74F1B38562E9 +68F1625DF4C9AD9AA2FD50D40902264E6EB14259E3F1124D5A914D19647E93E5 +B3AFBDD4AE2BAB4381CC9C4498EAD3B5AD20BF141E4C2CB590D3F42B57A69CB3 +BCE709A3FA802F854089E406B507D64CFF454C5CC59F58953261D63A41A2D6CE +300AAF6E6B603C0CD57FDB790547FF23C860C2CFDCABB5E6428AD036B3CC5CAD +227A5EEAD3076353157A3B3947CF3FCB3A7032ECDA85428419DC74E5342FB54C +048336BD21D97F81F30696D7EA238A39BCAB3E4F74E31F649B3D50182C88254C +164319055DF4B812024D90B965ACA26FBA9058E4DF00C123036B8D0698B4261E +254F5A44A06011A9233AB0689882BAEB72B81030D7AD3D3487FFA46BD4EE9188 +B28142574019AB7928BEFBC8199B7EFE5F7349141C658CC457FAFACDC9F059CF +DFD17FDC1EB15FA670091B9CF8ABF36A6C0879366AB42C89069267F2ED2713F4 +F4B58AE86B0B4656620B93792619A32BDC8E3A30C8724D6F18BFA95598E26AE1 +9D45C39CAE97EA92538ED516687759880F9D724172A904FF766596D923DE6A48 +19F3DDB1411C376787DCCC443A84CCB5E4C8DFEC0195E99B6E47CBE1D39D1688 +1E68C1A58A965B7BB003D7FE7A44486FA0DEFAF2F9529B6BB404CAAB9038A569 +48BE52FD491822DDC1FD00EE52D31BE772DCF52FB024C8364F1BCF967FEE2B83 +244FCA274C572FFEC24BA30EF9DB07054965BD22024ECF37FA0EA881B42CA3AF +CA0088BB227E90541B119B669E392D15131D86F9DBD898FE9EEAB4E3C8B1BA07 +70EDF3E574A8B3C5BBEC36C078857907DDE115B4CDEA53447793DBDB499364B9 +0D54E711E7B806E28B1F3D529BCAB867CF2D3F12E5BA511066A2C6A909E24389 +80A4B5EE8B949B918C663585F37FC059FDF17878ACD84A8185E98E9577DE9253 +48E0B16E5F2544F91147F8173B50BF22DF62874BDD8D060CE5FE0B0EAD0D9B3E +3AF121144C3038D3B47889874BF750B1D333592822781EA23000343D96599C2A +9DA7AEE1F42E37A40C58F9AB0BC0438C5F9AB0ED0F1BF901403D39AC896EF12D +EC0E5370D7A97AF1C7891741E0A123FBB9AFB4181B6DC3005CA2757CA725E09B +50550E37E80D67B09597CAEE0070A27A3457D267E9F13AC2DFEFFE2FF720A9C0 +B15FEA65ADA070CD809E4827B36CE89E82998BE6D722172F1DF70918722A458B +93A417FCF943386A45621E129F7A6B57D1D3D8FE7A74E85A68A37C66EA3EB829 +71E02ADD3F0D3DC12BF8E841ED21F779B3380636F06F3DF2C8C8ED8045817919 +0D683917F197B3A4B97332EB54801E55D3F158A5593975331A8FB62F312B73CD +5508A8FC919E9FB3C3D2E605DA69E2AC3B7330A4DE08F0874A954D58C25806C6 +7763358A9A7CF2C8D15D47E5854CAB09AA63DB233A29CEF45259B7E58FB5AEB5 +5BC09B1253748B61B4E00C448F26344B2FF2D8558D54219531226E519A25514F +8B53E142DDCE37382F04B615E1E1239B2385C65246A71EE83233E8D7ABBE84D7 +A5B8293A5210FDB3786C7D44681A3CA5AE4936CE72488500858C8396FEE0C332 +7CFFE93B1E8BB68A45D6F516078C7224D11C208CCE1D4B7A243A8831B4FEE09B +859B9D7D602DBC212D06BCE0BF8BB34B51C9B4AE7AB6C3EC606B280E4BC3032D +28FEE513241C2AC6A369680233B5F9E384DC712D285882C14E6823BB391AA707 +5A1867788D9122CDFC4CA3E438D4B23BB0D7D553F222A3B01A8D68BDBC99CE98 +3EA462DBC26D91564E049AAFE71425A4F5414EA7663D05A5DA9988C9F2E545EC +8663121E723DCE48D82E48819606E978EA55D01878C314A02F5FAADE6BE18603 +642142C01F7924228A89E0645A68EA02AA944CDEDB8CB0483D3A000CDD50D668 +0EF8B9B4ABC287BF11EE430828F906E8DB9E419EE52DC7166803871ADEE2CB97 +237399DAF99C6E6AEABFEEBDA067572FEB887879AD93C362A37CE7278AAAA25A +26E3DF4FBF13E33FA9F15A2C0733F8DE9BCE699D409786473E2C20F6F8CC0B7B +9541AD4B0FF3779D39D313D76658C2D86A5F31F0D58DD1EA49F0C956378CF26E +8430D97FABCB495B87FD9F369D736996F34EF59C135835B0C8D11190E323F0D7 +4BDFDC484333FC7A706A75DFAAA13CBB938744333EBE0D60E9943E0A57529BC8 +5EB410358B8ECCBD48000277EC96EB28E469E2FF07E68F50C828BC2FBAE79527 +F0C70055D57C494DD907E1E6DCAE729D19A6F9ED2ED65CE466483A9B756090F8 +D5F3B09ADCF100180B42711F842DA500ABB6D91C2C80CDFDD606F97B97B8374A +AAF6DB1EF2DC2B6FA1CC70B2E492877AB2C26055BFEA2A45F2A952C409241E06 +E90E5B37042D6861B12F6E08D863BFC851121F1B77DCD2B7DC83E662C19DDE6A +5207ACEA1E0640165605AE3703C3F096A04154F8A7384570B8A0AA196B989203 +B190E2F324EC580DECC841747B73C57DBB2449DA5CC245ACCB88864AE2C32D52 +169510940A94AEDE0FE46BAC8456A9F64EFF4A9E0F4E362A91FBFADF5FBA0A67 +BA43D6851AD4CD3BC739AE2E22CCC18CF2C3A783CABB0532B101D2208984D2EA +1C35D8570B0F93B42842784C1786659C49ABC0D748DFC2F2D05E4FCA2D8F85E7 +BA1AAC71A1E4C35DE4C70C1E197DD4ECFCF08BC85F2EEB08A1945AA8CA1A9F56 +C8AF1C1989CCACC6BBDA86ED93D908632F1F20BAF5F27F7C0E5BB5E15C1C26A4 +8E88D734B2C10F3BEF10431F4722FAFA05C8BB076A5AAE81B56336C4707375D7 +8C3CE49191F681FA3915D67C1EB45580B80C4BCE4B099E1F7411C433B18EB7FD +E6F2C06F3F4790FE7B2577E21ACEB8B5C9F204CACD5D1D3F27F5A7F11DB6AE91 +D12D39FD3538C41528691392644E7FF0147AF4EDC202C028C4010C1FA975B9DE +40B505BBA694865E1F9509F2E5ACB396FDCFA2453BA53ED3D5EC51164A88A76F +DA218E8E9278D843AE867EC303291964AB19D9C9CA8BECC80CDEEF979E7F553B +8AEAC871ED305CB9CA4FFC3F3E1E957D7678988274CE2AE0B1EDEBCD1518D2EB +D6DB05D1B8A2F02EF4466635EBD0E5635618832AD9C1C4D2265753D1FAE46741 +4296C2A5795CD8786ED89FA0F636E7809A32CB6F1D5EF3630A71197F9D4AD871 +98B3CB75EBACCD5DE549B5BBFC2B55DB2E1ECA7FA0CF2B4A53B632087028C82E +346FC682DA2640B5898A9C3F020DAED61F6541C95FF05DCE6AA3E03216705831 +1E3BB2A086CB8DB71F74189E577CC6DFCDD1172962A55B9EE708907311EDD0D3 +9858D1CB2AE38CA23541C08E9831F4AB26B2E13654C77D1B6D455AD186517C13 +682FD051889E5F1328547894CB061933DA3DB08CE2799092395FBD32AE2D58CC +F71F87E9F49D03D4A7BC86AFCF6FC5289FC96B3FBA1C014BB6980C6D912E041D +60B64F83A07764C5B701B59126255E81DDF69C614DD4E6E9D7CC97BAB1A1CA53 +500248AC8C965169565F967E2D6D95F84202BBC379333F5B3B6AAB414B0CB3B5 +87717D89E1B4CBFA46EBBF24A0FCB8C3B7A329F4EADB17E3EBDAF7F63CBFC2D2 +541EFCECB2810D0786CCA8138EA66E048767FC607894D8F77AA35336B4DC945E +6B98CA1335B0A5D46F9DFBD3D2C9F11FF70BF2078B77DEF94E9462C7396851D7 +C637B282BB458B2FD61B4E59504EE836E71B2EE48A12047589A382844800F465 +6CB85297D229CAE809323389EFE912C2ACAEF096B5621E6A7F02BCBAAFEE2810 +5978C30EAE0CA49AEC30ECD5321001AA624399A085FDE8A26F06E166650F8ECA +78F7C13E579B0EB39507DA31B074F9B614FD4C52376C1F906A0057E60CE5B793 +2A8A9317E3EB2077214E3A9E1F3451628F87CA2EBA587247A9E7C24A6EA1951B +966F41FE51782930910325A5EF81FAFD69990F60955D2C3BC87AEFFD3A27C8A5 +DDB31D911A3A8602F019BA463467D164BF19C3CB37B85159C2D91309F2B5688C +B8624B23DD30FAA6794139A4EB08C6A4ACF85253F273BC9CC3CEF4661514C1B9 +F37F4147615F21C9290132950055CC2252B909B816F28CB2D2479BDAD74610F4 +5661315639C09BD2A963AB59BAF224CB3DD68A3F014C0371DD9ED65AC933C7C8 +2D32C2686DDBFDB8F7082C0F4FFBB9CCA726B636F8A0B4B58656F7F7DF3099AF +C82F6DCE1868BA1A8F6F1155D26B736D181FD09BB2F360B3E3D1A1E79E81224F +7B83CA6758EA92C6D9E2D51F790907EDB5C1A84A14805AE24466C3979715C578 +2234B4DBEE6097282E7D06E97DCBAFAABC8E02A773558159C35C0429BC7DC2D2 +BE10B7A03327C44A01AECC706F023264F3B14313268E7CF443A664ABEDE56F93 +7AC39EA624956E85F3F35F3091D2960810A83187CFD96F84E2217936B3FECB7B +3EDB13AA978E650741D2D74B7B1C70C1B96C36864AF0E4343C86DB1EF874E089 +DBD5DF23C726AAA5303FC97E907EECC8193C76412D39D5A2A4724A6FEC5F3B40 +7A8C31279C716F410E367977B77902DC0F96A2C825AFFA72383DC221805214D6 +5763D9B6C9FFE868872042D2EFF29BAE4C8C04273AC9FB3211F1681DB7EC4D42 +4FD1676E7CB4CB4473DB65D4A156EB7A3486F8CA5EE38EA59CFE0159797AF521 +C0AB3A02B52892D5988959344E3130DB70D82A4D634715BDB76B096AD8EAA19F +2DF1EB43621C69C3E28B274749E2BB84557C2D848B8B5A02295825B6383B41E0 +E73055E599F3D8DCC35339B5BDD44B05AF12E7C1A1199824501540505C39B9BA +078B607687D1B8FC6DF1BD72C4CC210E0E64BD16F7C1117F8E226DEEFD7F8F5C +A9FCB626DB7673920A2C42DE9B988F53D51D1389F2661FAA51F08ADB3D3F788B +AEC119C2D0D6B4C29A05CCBAA231B954FEEF2F0499ECA9380861D976538D74F5 +7AFAD7851863C6959D9D0434410852A988C99A43A01BFF47C08142D1CBE59FBE +7138CCD4AA6D6960C3EAECF85E7521A3131528D1DA31C77C80DCD35CCE5DAC18 +CAC0B65DADB43A2D998D5EF35F8C6AD5F012537B83A2A1CD320CBE58DFC22CA6 +E0DBF801CDAB652D68AB874151CF053C1A6B094BDDA07A60EDAEBA8FAA5DE474 +E02D0285C963F5326050E3CEDD62321DF94396BCF650E7F175D3119D6A62B70F +A8565EB1EAA46BBE07FDE87B3D88E32EC315FF8F8B2B8ED86D2CFA865310D598 +0280FAC4732D4AD8413B8482D96BE66DC6103A8AF98BA1F45A2BF8CD8149B7BC +66B7C0AAF02E6D05A7284F04EDF5FB6073100E6692E7E90E92F463671693E03E +C380B077B8A351836209D2878025ABC409F634C0B5886D37B8BFF8778A3D1949 +47F24000BB061A962FF8C8FA4C048217585AF59852FDF5683D120CF7E03CBED2 +00253BB292C3D31F329A9C901BA10C739BE61EFDB6F4E10E5EFD7FE102A584F2 +E5592CD68DE2B19EFB647999625148C47900D150C04E4D6FF1061E31BBC50FF0 +B3D86FDB255A304D788B0B3E32EFAB88E0EF7F5C878CE10329B82472EFE042A1 +4E2A127EF5C4C134B840BAFDA9C04E9A56617EBFEBF34C62761D20DACB73AAE1 +EC8A0E6BE8D6E5888D2FB8052D1AA34ABCA8916C8953541EF72B0382F500D114 +0EF7550F6C1C6553E1B2AF08CC5E182D4CFDE4E7827ADEB5D85272A67CA0D4B2 +67506EA890606DAF7CE3E10CA8B47D46F8DEBEB887988EB606F768BF08690C73 +7F39A70CE02662787A9D47F91EC0FD2E950DF7297C8DB647EAC6CA22CB238882 +7543CCBB14EC13A14F6C6C85FA4EDB7F18748E4D1AA7856AB3B34EBBD3151689 +69D8D901818E7440500DA38D12D36DC9374F3C42737080883F97C249E6089193 +831EFC925838B2AC6AD5853DA185A2C542FC05E69049F8DA756B6D134FEEE7F2 +7447B647693C2ABAD715B1C8806392B59CB6B7A48AAC51B91BE1A48BAC820263 +C9916C2380752B533F4D115E4B2A94CFDA019CDCFFE3775D716F3D79D070C1F2 +D00730F5313B43C84454188C329333233BE23709FE586B3244232BB731D0ABEF +0BC0AC0147E88426AA71133D6F1C7F4C0D64E7B6BF771D1324AA5B89DC655320 +83F9D7C4A29F96B3DA0D4A023E3D7F306867447867DAC2A8859EF202BB954616 +ECFC44EC617F57A7A009A3714D6C607C6B40FDFE425B28B01D4DF63864CE28BF +F2EE47CAC280F75E2DC801BEDF35BBAC170237ECCE71AB67639EBC4E73B31EBE +63AC785F63DA0DF87D868FE934EF217FAB5B1253DC219CD99D2E4C00DFC8B200 +915932FF4B3F9E3C503B57A5A61DDFAD1A13FA3F34E63D665BEEC691543FB671 +2F37E8BA9D6AFDEA7C9E06E2B7FEB535A17F615D09E0F12FFD7D0367BE8E323F +ED18D45490F585C0E28D6CB994D56E685D8BF48D1ADC9A88E494EAC2E3A24591 +5D817746F7F0F4DF9047D291106F154AD44F81EE9756AD6E3059C00DE5C26F29 +A059BF40FC25366BAEA147B2183971D27BED80A3662248FC7C076B92D68918D8 +04042978FA6F6B6957201DEC59CF07F409BD13AEB07021227A55FC3AC2AC45BF +A89071BB4AA8261E6AFA2922098A15A2B877559556FB8CEF99FA0EC67964445F +B7B1578AE3AC91F4719578810978F764A2839CD6E06A700D4073C44E408249C6 +CACDC73AE0E328D4FDC5C256AD0A6C0FBFCFC0D72384B83DC70B8FFB5B2AE944 +576B28E2840618E029321DB2B72DD0F9A791D3EF971ECBFC3F775A3780CFAA39 +DA951C0F882A17EB1D21597C173580FF31F31E63D259F5987B75DBDC0DAB7C06 +587C6C6066F7C9CB283D1598181A34127537582D82E686E6E059A49DDAB70A39 +250A1CE9A3150306DAE5D0FAF0DE8C214A7193ABF685A634431D9F75184FEE76 +C78039737C660527E1AFF4D8125A3E1AFCA591532FC5EF0AE4BD9B56D24FD43D +DA4BC27B594FB19B8F16D7FA174581F1F057AFC3D6B18B3AEF44492D13E5EC17 +5E6C048B43C2759B9702ECC92138A3736CC52B7EEE811711838FD99285434908 +2394CE40EFA8CF4F59319E4504686F30370712FA79A737A060DC9415FBC540F2 +BAA88279C7D37438E6C941203801E8F67D69A6D40D4EAE955B7747A9080F383C +4DDBE2C1861509B6AEF8130F6A5EF2C73C0FEF87BB899D8C3B1C78AC4DBC63E1 +45CBD47ED18AA81A2CEE5E77EC0F3CBCA2DFF8B239874FFE20D26AB785909C6B +07680ABB6A4B2CB9E0E75128F6D7CDBCCC016760ABE486EDF09A7F2828CACCDE +91BE41DFF823378C6A65BEC7A8DE7D5D9C8F2A889DABA4C66656D4002E3AD86F +8597CDEE1CFC3A051CC1D57FC5B09BF57E6D6C3A2DAFBE5B262E60B4C82A628C +9CCE2AE398C56B476C9AE99651D337DA1A742FB42B292666CD8B89ECA92A4EAC +E7AC5B6197384291F9D53F10DE926D5F5B85307000803238B647DB2CA2F86C30 +C648AE1236C7DC38B6E07D5345FF6DAB9AC8838A86F367C22D9930F4BFA114A0 +81BC4F349713B70A288751AF2596CE8F3C4793586164B72284E606B219F43F8E +11D30F3092F5F2B3E1333152116E17E57AFC90AD321D8DB14B6D2752DB85DB59 +D98D6B444BAD69D86600233293EB170A3B9599A6FD7B8F4D24194623F20E650C +8839F18C5F099D738EA726D0421A62249F1B772DF5678C9C8FCBD0944321B043 +2F5FCD5F002B94AD62EE591379F4B3C3514256E8DDB6812AB811CDD541E57B5E +526E2FF00CE81361C2565BFFF8C7188B07DFFB8726CBEC200CAF20DDBFF6A6A8 +B15DDAA8180E4DBB53D80764648E7AAB92B3EE43660E70D22DA590516E0CA945 +B6595B4E457EC572D1323C8AD29B23FCD3B19D9844521502412B0FA669CE3999 +649B0BAE96A524D8FADDE109A054E5C3F61A99EAC515474DDC7E9B20F108A843 +98EA19B0076DCF00DC3B377AD13224152F6EA5851DE9AE6BAAC6264AC669BECC +50D3724C6CA7DFA73B5C1A7C6D6FBE1E8FB8A88BDE04954CA776738EB12DA190 +F7B7F0EC640A1894D843D134DB64F6A12163CFED26707A8E653A94E4F18D7DA2 +6CD9111FF17B381701EFB89CE8F3E23E6A20B59F7A43A79FDEC12B266954668D +58A8265168AA2495F4B1C0C73C336D230DC0B746BFCE2AC99C90E306E8AC4C9C +652FD01009CCF32E7350AA67ADA5EA837294FBE151EEFB1E4DF83DB88583600F +8DF2EA845F37D9CEF904EDEC7E0173577C5F081DA7495A3352E5EBA1E158E48F +D29878F3999C38AF37D6C52943B66FF38DC604EBAC94EC432300FD628BCD8341 +F4E49FA9E3BDC03E2CD3191758FED584579311D6FAD7B0BAEA9982A412A02A8B +4FAC0041F5287E06EDB2C13BDA875211ED5B3B0F3D1701BE3525BA480B6C2A20 +4C8E96A38D1023882B94724CEB22C86CA0DBF629093B7F9A103AA37160C6025F +4C0FC33B3692FDF408E5F16DE76F7DCB691112AD28A4E03FC63D05933D6EEF75 +56AA6ADF58422812311AD15D4F1B556EA455351F9EDFF4F53376BE42FC4B165C +C2D5B82E73528F2C3E7D9D13192AAEB9CB9B7E340C25CA3F30C66121A9BB1DDC +0717148F9B22D58FD3EA3F10C701C448B1F0509447831DD3575C452FADF5CCAB +00E192489E2E44388F2556C1E3670F7BA8B018FE944E9C315FF7B7CE6982FA93 +58064B71920938820E45F0EA57BF0883472181FBCDC3755EC9A8D884281BF621 +ABF10408D1E8606E5DBBAE579FFAD047A5C6A07B0816CB71E05BD166B446519E +69CF6388735B80C24D95F181C49FAF8064D2E0F594D29CF05BBEEA60FBC0CE7B +9300D91C3A36045F7D2F878BD1C6ADA0CA092F2775467A67E33FEF2A98B4D002 +16FFAF3FB906DA94175EB3677FBA264140F76363088ACD7A7888B7E7671172CE +331132A8809A30506C8DA7F3BE3A9B0773797491F925538677E7ED2AF656F029 +BA1F49A8E1785803A25AF50E45F6EEA32BEEF3CD51F34ABC382E228C5414FD07 +C7D6D06FF4BEB16A23DC1DED4B8BCB3E03A320F988DA29B6C5F9827FD83A4687 +45D0B21081859422873C04923508983AA68D62FB8967E1FA55891180493205BD +21EF09390C3DB3B65F2B5401652DCA6585D8939CB56A8181A882215FC3D4C027 +60896922D14E3C5EAB56B2447963444141F9965BD67B7DF4172993E006315852 +5422FAFBD627BAE803F3DB4E663E3D3BF76CF2797B38A8118FB7EB051D562E64 +652F41092C65E3EA8CF55145C845EB9669371810BE5E363777D87D6DF2119994 +B36AE798EE19025ECC01B8D1FC60049631A4994979706C957C88EDABD4B599FE +71CFF1E18E879BF578DD1CCEB24404F99DA57FCEFE63DB9D62E08A6762418D01 +A62D1C23EFA2E2DF649C4D5D6E79206726904A0BED65588977782E69868CE43F +B93370A987AA70BA96456B163A0A54467CB544EDAFD74FA9440E07A43FDC1BB6 +ADB984FE98D7B9FA5354282595E7674508686241250474AA184D61B45E6A8423 +B3CB3B85125825A173E84A1AE6E316F04CE1EC2C3DFA28B939A52F7E5D8561A3 +578589A939A0B9578AC6712AC6C6AE4F1A4DF2E729E12816CE216F1A16277885 +F22AC9CA28F69D33E2DE6DA799D8853D46DCC73C0DB05990ABBC93FE552772F1 +3720FF170D75E3E7F78897B304C986CDB56126D6A7E85B1FCA713471AB91BB1E +085652D0B877F9D09BD11BC6D7C87ADA05143B2D38BB7CF990831ADDC7137CEE +968B0478B69BC5C264BAE4FB01C4EED2347D23901D0711362E694B9325628EEF +D9F9F570D66308E8E42F1FE330E9A8DF4B73192BE9083CBA3377913EAC5244A4 +9077C13029DF6715DD0C6C59EF0882F0B937E4A3E8B6420749DBC5CDFA8FEB5E +84BBA7CD0809F294DA1242487764B4F0CDF5E1D51D324EDCACE240798F963058 +C40AEB5645CB3EACA000E58FB0F9C521892FD4D7B2072F51983FE6F3A89CE530 +67834C35E1FACA73921F7C5E208528F7E56F84FC6CA118D53986B8337B9F9D0F +9C3696A59536CDB8D7F1085A725CC804B4915392514A6F62185D48B698A70241 +121066D9364A534D03343CA2B2C661FC0CEEEBFC9D84A0F5D7D4B3EEE996A8F7 +A3786BDD81CC9C9A70B02CB1C090EF14D15B7A4FFEE80E5718E55E62AF0721E3 +4B3BF57CA2168E32D45F8CE080A3AF2E699236C5EDF2DA80C6829951ED50C736 +D6AD298FCEF45A6E38B1B1FDAFB697E581E8AA97AD1A105473BC8BCA80A99522 +00EB1237A57C0343BB20125D07D683B959D428E1A842056B8626BC4731F48E97 +72B04B089CCFD22559A0D37CB82D984C8B45EBBD79B5F211F9960E93446B0064 +384F0FC0D9E0DA1371D02CBE0DA83FAD44E036CB091E6DE3E2034E1068A1B575 +B88DA149C6D2AD108497385CB4E733BD44C31EB83D14E2AE90413FE94E98C749 +CF8AD51935C1B7D1928C59810AC7BB2ABB58787853FA95B0FD48145952365433 +C56D3351A18E3A30C624DF9C8D6C874D8BACFB9819E5F7B6C7CD7A03F254FB42 +1F738072DF419022F6B4D70A379EF5A6BAE74DD4C51D48BE1A7478FAC414B82D +CC9DEBF0CA8BC4C8176110E3865CFDF1466E994A4ED36888F2BAAED4C6ABA39D +18762758D8A012067A1A55016B45B7BF2AA418EE41BF2D357B7EB06609CBD612 +C3CEF2257C71D25CB7CB1C9C14BCCE6F4A4F42013FD658E6CA8530E283BC7F65 +5082A82BF57C3BAEBADA0FAD6008F310A167D9BC6F3211571531AC6D8E1C93D2 +A2714888BCDA7DDBD74E68132E127A0C33FE8BC885FAE09A944664FF0F1FAFD5 +8C75C69D3DB2DBC2547AE3E4EC60B5C2F4D31CFFC7EDE4DB2528B849061EF2A1 +6AD52529805723AB37D39A1F991ACB0130B9C0FF2CA1AC97BB15F39C61CED561 +69EBA28EC0468C9C0C39DBD475DB88FE70E7826E82781DEBCBD554759DC2CD97 +63065BEACFA1D88BE2ECBF3FAA3DE8747473D901366F1A79D4F69C3C9D31BC0B +8C494A206C072EF4701514A39DC4095C1B1D3E264649BA4D1BAA7A244B641289 +67EA5DFCFF84DB6D9366238832F8686C55547444F4AA7D98E948985973578E95 +C26DBB0585A3EBF94F04BCE2112C682A02ADC8ABE0EF51A840FA4B3A2CA9B305 +31B12AB103B4A5D51ACD487E3F1B733E5F05F5D758B539C8A46D734B76856DD9 +44C6997A73614001A0EE5EBE357438F9C64C7E8885ABB96D8053E18C7B54A5C6 +E0367F46309BC10171E0B9D1A6240EA85A8BB3BDDE9056C4662B03F552F361BB +978DCE03696933CD1FD024D739A478C756F5F04D72CD4FA02B5283E0BABAF5F6 +95A8D898B655DDB24E1F6580CA91D0887F130C2DD3247A47D65D9B6BA193DA2E +2956A162530847E21C974C00C4B7308BCA6CEE1DD9EC0568BDB6087D67C565E3 +395A76EA55E8880B78EA68DB2D9B547EDF9FACDF48B19D73D59D244677E92C6B +CE27B30F4268B88A0F334C0C58E0E1D93664D8BABFFCD40C2DCAE916DD85AC07 +9386C403C7CD67261AEA31A13C90337F4EAD3FEE75DFC658F959A7C12B0F6A36 +609E2575296A1A50186DB771D8F83CB44B44F8CF7B29AC7A499B016C4C56834F +38AC0242ABE60699553B555AA79768CFC3A8CD8AF503EC320F39504DE1C4F7D2 +29A32A8E606E43362AAAEF4D9209DDA851667386E077CE10A5911FF86363FD46 +692905003736FF14CDA144D8E17C1A5E40C59E6916D2A21041285492458DD303 +3A87B8BFCED45ED505BC2F0E44FAF4C5FFBCB332022BB908BDB8E24F3316F428 +F2E8D9CBBA037A5BC5135755B7F5E861CD5E4EF2F98CC0F233963A2A826B3731 +7F3A941D0BD39B469306376C4BFDAC3E01A37DA1360D85F9CEBF88A7BA31DEDE +4C462303EB5A3A332154C1FCE37BF541FCFF6C1E1DFF516D98AC049967988B8A +8B36B486CAC56F70D029AB37C66A765B636718E21088F6AF14DFC8ACBCE200D2 +9FF58347672B77A6E0CBB15D4B3AA193EC6914569DDF4CDA5F946A8085422F6D +42CC03A6451A53D869F28BF3D7023ACF3101EED578E7DF310CBE461696A979D0 +745DE3BE6F27F1A0911EEA4DA9FE387C592BEF52340A0FF9D8AF10F3D5132C04 +220622F8F7ADE14846C3BCD35284EBD5FA895E52EE1A89F90E1AD7D996263D01 +2BA0FDE290DF5AE268FFA38BF0F2179A356D89302E995CBAD8354BC51DAF94E8 +C1BA9CEFE0B619B9CD9705EEA847A9420A4A5BFB3D1481CF4F50F9D5CE4460E7 +1B867E428A32F78FD532395FD31FDC363164328C18464A07DDAB8A1C2C4A48C3 +ED74BC69E75D1B0950FFF1F4BE870582644248A4A8BC1FB9A5730FF4F848A32E +B797F00C4D4CF32F6A0434DE361FBAAB77BB4E225C64F064A8CEEC417D4708CD +32AA6EE8ADD733054E333A66D6755C6F2C46CE50A2EBCD2C3424ED4547FD6B4E +B22A6169854BAC03F808B829A896EF2DA0AE2B44E2728BCEB9B660F1F1F829E9 +E4B4A8B12C0C738B9845465879F63AC6B6CD83F06F6AD28AB2F340F96899743A +D4C741A0912225C99ED853F17AD92B9D4234E1DFC65496E622B30A7630C9A4C8 +35108F0C749E3ECC4F9351AB137DC1EB13333E3FB5749017C74D971481509FDA +BE405C6E66497E28CEF5CE93D08C83D202E88203969325F7FE968AF01F625D44 +2D6D7390F18F9BA9C560C6DD125635670C7D51CFD14887EA41578F0A3E7286D4 +F10BCC18C324CBA75DDEDC3910E801B05D1D7CCABDC14BE9EDD8AD3BD8FB3CD3 +6D38552A3AC4447FD80DBA49529F10EB7B45D647A446300EC6641981FB1A7A4D +A28C77F9148E36FB79E4C43A8EB0303D23 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 12 /fi put +dup 33 /exclam put +dup 34 /quotedblright put +dup 37 /percent put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 91 /bracketleft put +dup 92 /quotedblleft put +dup 93 /bracketright put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 124 /emdash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 +5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F +4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F +E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF +9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 +89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 +7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 +AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26 +71B72D15270CD8CB1D59CA2D9DE884C96BB923B1EC8208BD7DCEAB0FC2293629 +2AA1F72C6B470701C381E335C2364CFCEBACDD20CA36182CA7E70AFF5B14B02B +75CBD0738E35DAD8E60CB3DA4DDED557FF9ED386DA52D10615E700751C842FBC +85D89C0E713F556814E051C6CEFE7E83C2F379B88A801DDA565BE73013DD56D9 +44D97798564787AE6D5A6A9FB777EEB850C7481B4A353EB9279731512C9B95D3 +2ACA3A0D44585E55AFD968135F6492A9381FA2D126CF50373AB7D47B509AE6F5 +C4B100BE8334ABE2268DAFB7983BF339540A8D8280F3576CDCD4F21408AA7D92 +BBB218043ADCAB60ADF6385516C2A5A9BFC5C3845124E0954EC5C627FA7C65AE +AC1A283A5A9676979E28179AE77404776A4F84F67CD4AB272161FF7140DC7E7F +D8CDC2CEAB74666F958CF9FC2D8C436A70B0C1C43A41956D57D601481B2AF1C0 +2B1E1AFC64C0DD2326B351F31862FF36B049CC836C975870BFD49306F07C03FF +CC1174A28E73074D00A184AE6B06E7D12597A942A2AC99AFD78C94689D50556E +C30AC6A01EB4A52E159CBB7FCEB0DA2442304FF353060D4326034A5CD9EC8F74 +909350E9DF91058E7AB0598B03FB9E95CC4484233C61E579E91D7C857DFBBAB6 +1CF1B461902FD93DBB5BB144376992058FC36C23CC0EC1565E8836B6F25B62DE +AD8BB23DA364FCA6A92D8B9D5BC89BDAA7297D17E245B809F2ED78ADED5AB589 +AD1A6C2143E1FA6E7DAC6464AE3DCC06FC882F7F947F9CC098EE97488EEA1D92 +353524CA44E1FED2A199C2DE9C408A5A4FB57F4714E6C68369A0BE1CA70C5219 +33C5E91796B88517647780990A2F06C0462C608A5F68071882FF59E35BCFE4F2 +95607666606D75736C6FFA6A1C5A77564427080265184BBFB93CC1A24BB58039 +D2C3956923C9A3505F99FFE8ED5EEFC69B3D4D36F79787E7FA176D63F9D972D3 +68412B3F534EF67D53B3B44DBB0703BEFEDB48F8B5D7764246EB7227A6A8812E +00ACB6C34E7CD63783BB9F88CE3EDA258CB85E413D3655B980EEAB9CABFA7A2C +0BC2F157F158B41E72BD801FA05C596C8F652B3FB6E18E63517FB66E333BD79E +D5D82F6B458208BEFDD7E5799B5AE38334DDF257D312811E212DC74229F4ADEC +EE59E0C58EA928A31F2B2E9B6770E399B82F87FC6E2AE8112E501F285D199367 +0F02B0780808074A2CFAE877E4EB59F3F56EC61B205D6FD047603E302D3D57BB +A55282E3AC689D4323883C36B3C6F3545E298ECBDB5E6259038907B5448215E0 +E968F153DC61A01104EE6614DD739EDA4B5AE24D8CDE4D33CDB70DF5C47DE886 +A1E1F78EE180D23D02A7EE18656AAC3D73C666F535D78A73922F795EEC1897F6 +FF9551906FDDCE87BD427B0CCC771783FF8E0AE3487EDE0A148F2D79715A8719 +9138664F306557D601481B2AF1C02B1E1AFC64C0DD2326B351F5F659DC33AB82 +8E9D80023BAC482F8B93AD55F1D27ADB5C080E7881848222220A63605F00205C +205B35DD3C4C80193F72B5357E8BDC19B408D908B1C5AD935A40C2834C6D68F3 +A0B7F152A9EACD5E0E0D21CD6BE8ED0E8957540141BAD899AFC4C8A656A7EC50 +ACE67867AFD9AA90368B31AB3110CBCE54BEF387C875EDD263172C374C0BB74A +280894B6B7765205D82B57A79A5756F254FD477654C630B711A591DA05938FD0 +33B2EC5AA5E7B704B59058E21B0A78302026FD585ABE5EAF11A279BA06F8212C +08A4E70E6B587BD0D1DF7F3ACA418808B1AADE9680499EB814B9B43995414E9D +390092116CBF3A33A5BBAC65B18D05DF8FD346F7E452BECBA1FCE47432CC0156 +4A9D3C2275458780BC65EACE41F2975322DC979EFCB23DF2F35C22EE15680E97 +2DC7B6B8F31042ECEC87E538CD1A13F4782D3A0AEA58DA45CB7652D527A4DBA2 +2BFFAB3069E88D09732D3B63BA3088C1E140DA40049190D74692AF2C287EABFC +E30631CD649D6D0D56125D9EF26BB251011EFB83970199B3AAE7FDEED53ADE14 +1678B689AC03CA093B8670209513D31A66A461DF77C5C8EB4F23873C4C2466DF +C809931CD93E8D0C05BE9BE820E13291132AEAC19D4700844285752BD61638D0 +8203E5CB475D4CFDC4306C11D1D33C390AC5496B0C2B4ED404150DFF000D76B4 +541F62952C6AEC9BB506DBC1C7437C6C806FA68F50D4F40EA836BBB40FE61A20 +00D99C21AE722AADA6DB873276480D47713D32B7AE3689C9C0F407C5462722E9 +6592F6EF5B4704A09B24D9546B7812BA06DC7B9F113981E275BC94ECEB7B2F23 +69B624936AF5CB6597D55D57ACC1F25A0DB6F5B88952DE83EE4773BCEB1C016B +7C466E7CCC9E10EF834FB25F110B5DFBD041EC129115058DC5572BC104DFD48D +E1FE2B681C391F7CE4F95093EDB58EA45CEC2AFB0B16C4540ED9969E2052594C +FAE7E96F17DE324F93559B20E09187E0A9860D175C47D3AE719776455AC4E814 +C3CE9981791B5CD30ABF10AADB6094DA1E3A725306177D891088EF18D91F7E7F +1E1B3E234ED621DCC1D0A6EA1AE4C2C19178B4B5A253C1756AD232C5560DDC07 +8B02AE4868012441E36C4EF146A4F22EF1D4CE57E6BF7B74A77E1A17AD0B39F1 +723B8E668823BC8BD3EE0EEBD1B06127A7E7F2C755CBE0B43B36CA68E9D452B5 +37E9FE45C6C30AF163EF2E273FCC3E367F6A90A5A37C5AD57E9A60DAD348299B +AC8F837009DB9A4985694F398C95CCCB1CBD4239EEA7BC4A9A6D7EA884C1A171 +A728858B4961BA4DE6C5DD61482387EB78EA86A244F8131379A057266486BA1B +0D819F6DB6228C0105AED43AE0C62200B2933F2FF99AB476A01333581D1C4914 +1D1B69777873F05A364B2DDBA4D4E7848A25791C1DA68332AA444ECED4388B0E +451A3101AEEAFC22C750752A6B8ACAA46EA224E2DBFF02C21F3CB3067F2282F0 +BE85BE25FD062C24E70AF49A829E4AE5D0025EAB79C917DE5C1B6DB1ADDCDE2C +C5B77B9B9E7BCA9EFDCB0D08DE54D8434DCDC6DAA96C4EA037F4A4453F7331C4 +5F95F38E8A011FDBCE92DAA365D6C80A6B5F9353B1B31382599F607A1A636250 +2CA2B9A6CFB2C494C6F6FF275D11CEFA9EAF90E09371C7A23DDF4ECCCAE1BEE7 +59E7D04EE2190D2677E65B7B8BC8A399EFB0C091D6B493B49FAD3636AE519CD4 +C8CDC57A0BBC8574A49947E076233EF4DE23614928E5718AC2498022087558F6 +8F4B1B6800267C03E9D414C24CD9F612BE4260D998DC85047DC36611705DF0DE +767C405ABE4731A1095FA1135CB73CB07D6B7B54E7395531867D80DBEF72EA66 +0532B9DA1F0E6975398573D65BFE4C6AB204A0164552AE036D3093A96A0AB5C1 +11C950613EB4336A78690593BB7C3F63F603F3442EE12E199D952B8789DEA09C +BAC8ED110F6557AF412C8999E378EE5BA549A818EFD250380C358B794C2EE613 +2CE968B82B0C0CCADB597E6490314CC68B06A9A5D9136D9D35E32C31DE01D1A5 +9C6C9E2844A8E064D5BEA8BCA6304A8C64D2779FE40A18FF3C3A8949549F12A8 +EB1C5B4F3B5F633645BCB53F6F80C6196B20B8C81E463ADDB656F98E67ED2546 +40F2C10E42CE8F29D9BD6D7ACB8A11281D7D8F23A5E9452652D212E6350F75A1 +9DC8D6EEFF6944C870D80B4418FF8788EFC79A0297F6DF38378884040B22F37E +8FEBD41602031030E3AFA00809C113CD99EBEE373FA2C58D500D42728C710553 +EEABF5D994762E9918C42221DD64A5C76E792A6061D4A18CCD6C35F29C0B767C +4A5C46A1425D4B5B25873E8C23E494DEC64AD1A1A62C8F7F8C93F5840CC20EE9 +5E217038A0CC1D968C241C486AEFA2E3411EFCA3661C091D322D3F7144974526 +2966CBDD42FF7854E8016174F0AB0E3BE746ADF7911EE0587466B0E55B569015 +D261F03482E5C63CE39C88C97BD8B95705A5F87B523A2C35296556422493C3E2 +B5187E2DC887F50E177438ACAC2EB9F874675136CF2C1DDEB46F7EA4C3E42119 +DDBEAE493FEDD3709224750E31A9A8D3A5ACEE595760EFD47261CBE2F070CF96 +1EDD60103A20D82CADE304480B0C4205D86615C84B81EA10F4DEDFB4AC7ED4A6 +0011B54A7B82D8B25FA514BAB9F7141C86BBC39C71F51905258F3C78F03DE8C3 +BB63C0BB94D9464FAAF2ED1D90FDF92AC9F25075CE7D76366B5B28A2EDD77F89 +C1501C46CB5B5152E54A78930AA390B2B24E969344292E3EAB2E25C9687F82CD +3E5CDC3767905FB64A7FDBEA836EB0A4DEB9984D59F8B043264B09238DCEBD82 +AE6A09A234149ECD5BB283403ED15D2F48F41C853E1023781CCC770CD334334D +1B5FB7902B46633626A827CA90A345D6673C310E29F44C92230E730893EF074F +43586752C9BDD9AEA705136CB3403C8CC3279EAC7024E1ED7B0A3C4CCD59AACE +14B18826ED2E56C67571D38952057D0633ED19D2A307F628AB0A8983D818D151 +B4559449F4B3F52BCCCFA407224D3A75461E5514F6DCC20CF5A601CED71A3C4E +8B8020DAF8F44E91CE5BBDF6DC27AA4E0E30E7A4A7569A0EA2A6AA2D58715194 +31A85D597A49335CC40D3869B7F9547CA1817FDF25DB83B223EC072FC4C14387 +A1153F995D33111211AA8D22DC11DE7EF63F825A8C956598A1C515680CF31200 +B31AE18AB27BF29BCB96B4107D586093B8C7184A445E600E9E850BD264B92D5D +CF45FB6EC5DEA9805D048AC31E66881095BDED0B468AE93A8D49F88CE0457BD2 +DBC735E3C86A6D4BCC6157D5EC1C25CA3751047547A544DD19E5E967A867523C +5BD7CCC9C0065AF0A35B0A6775099F5F271C42169287D2C5AE3BC67CF4E8A200 +6B7CF3BD8930A8513C55680F5A000F610FDFEBB57D7CDD6AE56323C7E4428D2E +E1428B48311A08486B2E69957ED8066AA1E1C2A79624063CC20B5D0F2526E8A7 +4ACF731F820111C2164C12AE8665356139EEA220175469CA430FE2274ECC1BC1 +36BE8BE912F5996E1D7EAC7882B1E979FBFCE731328C46F09C5B10FA241414CD +3DCAFAF94E80D4D5C38D5C8C5501CF0BE0FFC17D089D4EE3E3D6A9243FEC4AA2 +B679E4F1508FB4E9E06364D8B5BAE9425262D84083E96563219F82D9EE2F78B0 +350DD8A2EDB4C812F60E91A9FA4CBB5D6143C9E43A41EFC35CC3EA462B361D18 +91E27CA8E177640CFCC8DA0C13646719643ADFDAF3831ACEBA80141F5B7CDA22 +1E1626250ABB2DF42434C1DD00E11B088BCECE9DF6A506EACF74C650A0576031 +3B30C0EC51A5B27C4267E696563090CBB6FA735575E6BF9E327C9DBA42BBA8CD +EED86EB35CA5F72BE32E98BDDBE889A5C03A7C0D9F900D78845052FF49E24FF9 +2DB17EF21ACA72B3C5BC575A6038371D97A5158D2BF12EBCDCF65B366AB09328 +D1B505C5C9BD4003D798461822B8F394B30F6428FD97A6A0E80364D14DD58C5D +FE254994061399A8990135C398BF579262DE3939C50139E67B71E33B49C41402 +194D133F373B2F6EFFBBCA8FA133776245F0141FB8639EB66F09FD503731B21A +7BE105503849822FB15897B27F591580D7D428B61B5F7260512F61A5E6CF814C +FF20697E1BCAD121B6F6B6E0BEAA6102625D44E15AAC499CDACF19CBDAA5B879 +83D7D1F0D9C9107FA604D45BB9C0277F2B8FAA35C25F646F8CE658D929621B11 +6D143D65601ABE982BDC0A12307DCD964470ACD87636639619369B4CE36F2110 +635002C8E9D54B004CC337F8FEA3D731C98BBFDD2ECBCCA6949EA325827D1770 +4482845AABE26B9B3CC7B53017DF906D0785D056DA6310708CC6231D8334FF53 +330954EE6A14369ED064393353EB6CEF6C0C383246477F6A20AD48DC52BB0054 +C74968D33170FC28E00E82CFB0F7456029DEF5BADB8423614DD32D25560C8D49 +00BA288172AEC6381EF854C9B482A0087FF0D32187979E9CC0925614365CC0A9 +471E4EE80CE2B745EFCE30CBB4614FE8732AEAAF4898C93DD2DA5AFA08C6E534 +2275471370124C084B6615805E1C6734C297EFC67F42CFF95D58328CC7248791 +B190A2CECF4206E362952074664B4BF33F9436C6712917B24ACB990D17C665CC +1CB6518133314C59B9F71F83323E9FD8F49DBE56A53EC47F5DC525A04E107072 +00732C8E191585BB3D02DBB713F3FEB05729AA22CD014572867219159175C458 +C2ABBD6A9527FC7853ED6259A35A8DCF1829410D020F2B13BE5DE69E75B37D25 +65284E29625564E7386A97F2CA4F36588380F94FA756623AA957048DA4113D98 +BA38741EDE32DD0468B0EA3393C707A36085AD8B4BCC4E5A20FED3A5D78B309D +604A50FF905EEC2BCF04EF983915BF78D576C4CE62AB872AEDA7AC01CD7ABCC4 +723E537A0CAE43B11C472CCE802E67636139F34D5EC64702C6B8A3E66BD5CB70 +98963A3B759415834DF63B42FB7116B7DA9C6B7A4449A86C5CC1877DB6837371 +9A96A32B6E7F03535BB203CB9152F1559E92D1A4E3B2B839838BB87CE112869E +D3BF4DE7568EA9235D583F8292036C64A86F1006E078539B01BE9241511A7221 +1F50CAC5689FC6B1F3CBA5544277578850F72F28BEF2CE7AA15D15D3CA069E35 +5587545B80047CBE219F80FC457EC1676B7847C04C083F54971BED84C27A4F77 +9F64750622728D52F82797348DA56757D42A7DF5A0987922E0CFAC1D88CD1586 +AC9E2E90E749A5FDC8CD04354E4A99B11914131B330BC6424A37E4C1817FE523 +C6BF8369449F4759037583BE5870166A9D7DFE9703EBD0365823EFA4D190A4D4 +54E74FB0BBE0356E8031451295AF4120255CD23B2DB6CDC0C4522F8B0A841B02 +1A67EC143A33786BDAC64BB4EF06E3FF707C55BB314805F19C4925B610AC7ACA +1B0CE8C674002E921F7F2895C19348089BA5651753B078BC9EE03D4EBF8DB6E2 +AE01AA2374F47330135814AB8314E40688B1E9EA4B18B367730AA6D3889284E7 +84631370146622C18BABAED6EEBA8BA07373A8722DDF92740973DF71921141E3 +71275256314C10E0FA7317251C9048AA273F72D8864D6728D3C22D52A34F3A1D +6178CF30AFD7E79DC3835C1D5569838FF37763C532851BEB609B63A22ADF574D +F971A738A4405C074E8D9D5352C2CB7A6476AA7550A57C44C836A3152D307B94 +E6A590B69299C3C0BCC1FF4E1EDBF41DE9973B986367602CA17E811DEF673D25 +281BCC62727C97DCA00D64D6A14F8BF92A8661CE6E429D59759BB036E962B910 +3FE008DDE8E13F1C5A929EEB95CEF32E2ADB8E76A39788EFAED45783B524D7EF +6F182C8AE3F0508F365E11F8D763E45E2BB6760941D90A3E5E3B8A89BD9590F0 +CDBD50C7EA77FC3F6DE066781A910AB3171BC284508CB23DDA849F7783724E5A +848B21357AF4264728D9F5E1561D7D97669F5926F68A0A368C7B4DE27DC4228B +5CC21417E117D64E3AE23B57A1E229C02BA1186EFE8EE62F1EA787B8D81C0376 +3AEBEB47E3B2835D7578C076323991003F0EDB6CDC0E3A2D5B938E3E9AD4DFCE +8DAEEF4DA9539EC8A334A43DF083CA7E48C37419BA59087B74F22AFF11812DC5 +A49C4BCD04C4E444C457696A34E3391E9C3F4CD8BA1C71629DF5CBD24BB6A718 +C62074FF702EEA82EF8D424311055D695D3F3DC1170AFA48C5013A1E2800EE11 +99BEF9F250E10CD6AEFE28025F9B368EC3CBE6DD25B81373DE39C0288FB2D36B +D196F115F41E8ECD839DA09F96E4C01BA4D4B898E50407F03524DDD57D5CB7D8 +63C6DE3F1D03698D7F162E00A949DAAA96716229DA516ED07DB3B409B5647807 +755E676C77709A7A0AB27AB2253A548CA2090844CCD7BCBC43893A0F216BE66D +4E14161FE31633A6EDA1A6614750A863A174291A9B9831BC551A696D50F04F45 +F95561D5B84DA15D6496C9F8427D5B556119B79562AFFA37EDA982AE2E19832F +DC20404DC5478E86850117BB9AE474C8E913D660F429BE61E287C9E7D59DD5D0 +9A62C28FBCA6071733410BC14E49B22CD8636B3E965D9DA178CF8125E86FBA93 +31D50F5C7400542DA93CBBBA8944EE169DB7611E79CFAA67688CCA936D180EAF +8077680C74D1BC645A9FABA310A2B9AFDBB9DDEFD18F912A7D966FE93038A429 +82A8088058FAD8B52F2694AF12A3B3E62C80A82AACE1A5480873F77996B3546D +3832DA426369CEA42428EFCFDFBD57B690E848A318867C3B56588FE8ACAFDFBB +94DA4D6C88265A517AB3E561375F06C954D33EFC1C5571072F89C180E1462AA0 +B2A79FE47B686EFC46065667ADE70D3423C7C449DF8E2A39D189C1B548E6407A +E3D5E877E553685954DEBF5BC78580A7EF7921EAEA472EB81B2964C15A9094EF +DCCC0EC95767ACC3D9F6E8BBB36E1EED76566DF362BF8DCB94BC351498420673 +FDF75643AEFE1CA6200B714DE03F6F2A4B6858BA73B71273E2D7FCC0E43BE97A +C335D5228B664DDFAC0CB72839500E9C8A2516A9C946F28C93DEE86A7E73B104 +2279AE679EE707F4EE45D5B7EEBEF828ED83E3B2380D9B3F0333A45557646C80 +B7143F152701AD8544E5A8109F3E0CEE0A6E8D8C49C7D4046AFEC410A283EDAD +42781C38FBC2D98D1DCDB6849A96C7351EBA0D783D56905A5D772A118F9DDB97 +DBB26D6FE4F775793EDE0A5F4519A6C4D973A6BD436D2330CFB6CE5F45EBB568 +6A79EE5CAD3A65F747B0C068D562063C0556CFB8E3AD04CE0F438391F722E135 +90E5423033EF6AAD42A0202A686C780C87C5D3799033CBB459EA2DC1343ABF88 +7C137FD8C285826EF665B5F90A1E362AA8FF9C2474E1F438A2E6F16485172579 +23B1CB0B0511D09423413201D2A211BA543E680939DD879D567225A16C4CD76E +B04D1B91BF21FA67E161DB26A049D097A4B0431AB4FBBB0BBDC70CA41B307449 +AA25A7965D89E5951B2EE7A3D46D26DB0D64A1B8D94220A6F94E3936553683C0 +04D4B8DCAFAC88141C66D2D21D41DC553197AACCB4FE62D0E9D3593AA0B6BEFD +3ED51F6C677A1CB247FB5F39D08EB465CCB0AF8D84EB1D9E05C3FA75DAB08DEB +2BA9A1B4B8D8538F2D20E9919C76DEAD4B230B0617EFB32101A97E12C148CBDD +081A14ABF04BE50A7FD1E11F06684760C1959C85D157C6DD67FF4D7F0D934842 +8396536318F6BA47606BCCD4C97D18213762623940FF87E8308E49A71FA1FB0A +7C006F84E26BAEB5802A08AB3CDD4861B1CD048758EB2F303AE0BE70099F1C6A +EB5D77484EE63544A1140FC09E13896237183CDCEDF677A4D6CC6FCF0458548D +00E7BD7927D8E0AC6822A858BE2D2F369797E4F2F674AA014D3F0B04A08B4C42 +11ECA4269EC6DEE7DAAC11BDE4B30EE256873920E79C5A089266C87A0122EB4A +1D1B4E0D86764FD14A1C800FA29084B35878DC093119F71CA9FC70341D6677F5 +7BBBCA5E4EBA5E1CBD61E44985C5561BF21A22C4D1A942B75FD0FA75B1C78970 +76421CC24B96DBEEC9BB927AAB90B94B2914770037D0EF14D2983B1093B5F05D +58DAD8DF60C143A48BAECF4FABA813FDA935FA6CEF098D29A62175545A0789FC +872482A331B720663133AF0D61B6EAFB18AB4D471EBDABD5FB232390D7239C82 +47AF507CAF69C62484675EEE5471F735E8AA6C29B15DDEB1D2517D6992A8E02C +CA49118220B4717C4279E0A6EDE76A64CE54814B51EC4DCD81DFF2DF9CF59A5C +C12EE56980E3A80C78492773C1B1D1A0C7F3BFE1B7E7B1731F1402EA5BE61DEB +21C8EF9F1E57E170D22F6FDDE20D70120EBDC209E628DA09B69D525677AE2B4A +17452E2AC33925EA45997BF2663CA153759DC8AFDBCD5817F163C86369D2D25F +12686E835F115F8531F8F0EF890FA264A3393238AAD8BB6C955DBA593332F321 +EF86489E8E6ED3815C698BBF21D5857D10102A06240438FF624A3ED426EA821D +A9113B7CB1F0CF880157B257B216CEC215B6B73C0A8B2DCDB88A43AB4F3B1171 +4AFA9DF16C92C7A78AA490E959A1BE803A893412AC078B6018C1FC9D8F23BC79 +63B6697B87BE6BA0E569010F3BDB70F52DAD6478118C265174597F312FD4C464 +A5C116B5C06DCF212379758EF2CADDA208D434405C83D4361FA5410DEA1A9DF0 +077B9E08F6AA96CEF70F7756409B35EAA22D102EAFF5E8F36ED9681F9B4B72AE +75313AAC6951C9C1DC2642D1854883DFB22C6F3EA7D8FE0CC70AB678E3190B34 +2EBC982E9E92BE03F195FC0F85B2C73BAD11624E216FE60325C19C35AE8FB25D +C174813BAD51CEA75AED974B82679027048799DF42F077082C0A8A567515443E +1AFC640017962345FC891D1FFA7EB7C88CFE8FCCF2FECB5C7C49D40D8F7C5786 +D9AEDAA2857AF5CA7D90FF18EFF86E4ED211088387DCA9C3874131DCB134EC2E +1F2D5B11827678ACD93701B6F57243E15B47763930B76F1C1E33B2A196816251 +0F5C81290917380D0580AC949B32B9220805A9F44A38E13397C8D0953619FAA3 +68D4A5F9C38599842E330EDCD86E72A767776015142B6251A59DA33AC28F0AB4 +D8CB296ABC849DC00DAE349D9A503E405428179145FE9F3EAAB5C39DB39CB343 +F5CDBE328276EE0F2035C4B1C8E104B94EF25030DF7F35BA4BC5AB1D1A5E369B +0AB187AD5878243CCDF1F78CD4352B3B13628DBEED34954C2D8911BDB13D8A62 +F68A00523FC04F263524D82C66F176B8986958562C1A8CA201C1C7AFD7F33517 +C807ECDC55949B05B38C5D58F2A473C5575061B2CC994D41EFCD270D428FA64B +DE22E46E229FE262F7DBCAE2876FE695C69A3ADF5DCC6AB89CA6EB468BC418F7 +F7D7A1785D271357D2468A82BB61E5EE244BE1F8AFC9607FAC90B243CB748F16 +8D3412766E462BBC08E616AF209BC801453C9035880F3C04F1430C0A30FDE8F8 +C8DE93BCB3BEF729430152E6E81B0967F7524C12E19DD862C8C9E5AB01F67F78 +141625A159AA3FFCE1C626057EAE888C82147FD78A5F9925746E320751DBDDBD +958E52F01604B6D94CEFD2241192924609B7FBCCC8D8F2F186A483DB58DDB20A +A7B94F839E2FA69DBC924EDC94EEFC48BC84A3BCB9BE275B0F3B1BFED0651B07 +147DB8500593EAC0275BE7982B57148D9061CFC4E70BC9975F1B00DEB5D13ACA +8A4169E9FBFBD476DF494B1CA81C58A952659B03B474C7017FC9ABD6840EB83F +E625D84E8F2FF8F04BEF8F28317217DBCC86C06565C7C66946226B00C939434A +8774EECF9EA62CCB18FEBEDEA4361F917C4DFC7B7FBAB471CA724128FF287874 +588C9EDE2F0B950FE6AC847A35D1F19057BCDC87EDF8BAA7126CC74DC86E9B8E +F4857315529812B1641408DDDCAF40D27EE666AB3604EB641EFA4D3FC3578890 +5CB58F8ECAD89E7D56370D1D502E81EE63634F2B1F0515E6DBA5EC819642EBED +4E118A902CA906919555368A5E5BFC75F3A9E2EC461C4724C7AE6878CB06C5E5 +7158F11C40AFA4BFB57A1496C38C870C8C05C1ACC0CB2564F230035BFB083AD1 +7F84EA9F477FCA8E8F3F5AD967D391B428E3572B9C8A25603535F84D0E1BD764 +938AE74F438AAE79B72F37E08CEC0606D493F2EFB25DA34E1D72FAEC889352F8 +11DB5B3B4C384C6580C30B52DEDF273C7533871D5C7FA28AD2060B6409C18D99 +0EC58C23B1D648E191ECF9C12AFFB78D765AE53ED625C1FB2748B5909D88ADBF +166F348862083B7C58E25D02DEDC89DC0B87ADBE0924D160C7FD4579BCCA83F9 +1FE4B5E583B7492E36B0F16EB128DCCD155753D01C5DECA37AC02A1C5E274356 +158B2DECE1CA4728ED6D5019A836669EC84085D91FA1D402A4F500B89C6B09E4 +01A67F4027086E5ACF4B5A669FE81E82553133B4A4842FE45913BE3F320998BA +6F2EC1854F842735FD22B50DB2EE69EBEE6F458BD1D895F729DABA54A443297F +E2B65B5F9A8D20AC6F8B0083D5703AACF109CFE839BAC653A7C1D2AA5B3F911F +F82C5827FDD23BCCF1407E767F52EF7467BDC5C429E5D6F1F663394D8D17FD43 +B58C7EDA3CEB1A138D1402FE86162C8BEABE1F8FC39B802F6C313FA332E15554 +9060BFECE1E40FBC7889E70900D5F22CDB6B8BD2844E8999ED79A2655A7086E1 +36184E08B6BC509FB4742B65F80F1FD4A29FC2FE3C2845C9C0344223DA3A2B89 +644DC7FDDE03AD8A5D1259EECEC759F1C0F5129E0CF04BCBF277AF51206B28E9 +E8EC58B96E168E2D4E3DD9E44FF129854B367D8FC177315993682ADFD2F33FEB +4213111C728D46BC6F13F65F60C0013AE96AB8FC5728A3D84E8015205FE5380A +04A5EC6FC9C72C3F6D4763CC1ADFAB74698DABE21885F59E7E1955C26EAE176F +2C0D84AF904501C88032569941D9FED4E209C8BDB2023ED220F15228A0075F11 +A36935A8B7D1B91E0E66DD2910622D8ADA384451FF6F5E6D28051D776B430E4E +E99436ACBC610143EEB3DBB7D873E35C88388CC0629DD29ED62601BB8CB54536 +61224923D93A69FB240C1D25FD879A7484E8CDA0FB76BC1AFCF4D135B8CD247E +FCBD2DEF74547F5FAA3FEA8A60AA790F7B85ED071004F82386B86101B41CB722 +DEBC67871132E27FADEECFEB7721C6FF4B77928C333007277FC7AC06285523E2 +598780EFEFA487CC5878A57D2408061680CB726AFB44A97027F9E7B3164AE545 +BFBFB81D6BD47975362004CB333E5D810BDB17511A01D1487F4031379D0E131F +2B813D895CA143D8A6978EE2E58619E8B55BE3CBB5401A8583E0005E1BC922DC +C4CC5A716A47C31D8D5D3B7BE7E2B6A7AF3956C0BFA35B5F89D9EE4E454D9FD7 +2D1E0F3FCC128BB6B92F6B3115F68DEED6757541448176B64FBF32BC9224A0C5 +E4E82D7DCD0BE1C0022298875D32F27DDE9C850ED3B72E01584EB03FAC9C4713 +D29DEDFAC4A738F4B943B5BB2B5F92179A4CA0DB29B83EAB3D9BEABEE4D02282 +70708961192E2F9627FBC74E54C8CF09952424EB591894D889D0FCA0180BE70F +51AB9820BF7333952A51F0F4448F7B0851716149F4B491B90924B8CDDDACD486 +14B790D255D871CA594DCDA276C074A1F51A8F095B6BA1DD5B26A57BB26977C7 +568A30160C5465CC8B66B012688BBBB0908386F7AA4606BCC46378E1A26C30D9 +F284C84136FAF8A0489F8147E73E5FDEDE2D7162307D428A948988C3F537CFCD +2E3F56EF51425BEB6D0DB37C42983C49AF7324F7E9607F87AF41877643BA2644 +EB23FE557277C327D50EED9AB4F23A35DBBE39A7997E2B837C1D166E2ADAD130 +CD56565DCE92731B818C7291549E8344AB8D59A4A8B0D95BD1131D806CBF2E3D +FFFC0546151BCFE73B016C695F3788F5F6BC9AF59283039E02A91324825B2A19 +4F60A482599375B843A3D646078C22F4E1DE5F13C570688925280EB69C0B9FF9 +1AF267E3B4B6D00F7A16DA6C2D9622858E81513C33508F2E7199BBFBC894DAD6 +2FB3B7878E5735C2A3ABDA6DE024826F249E8151373ACF5883534D7B8680D0D3 +A394EB482814A35F8BA0F8CC8CD364849953B35C43C5E6CA469DCBE8C04BD497 +A7D38DE4E9387D0D9A63F41ED2E4AB5E857BB6D9B6E21036DFB1C956F54A1F46 +002F98CD767B45317F3FD02B740C5033D38D315C753172C48F05AFD80D331D40 +3D7D832175367A9D6422C39B076DD94533EA81C17B9AABE9EFEB3F6DAA910066 +7EA8848B48CC2BF693910F6C14E6AD900849AAB61B5D1F4B220D6847A1FCB7D8 +D2721DEF363B65AB01ED9F4254A3D54A610053A2671DA1425EA1542CEA6E2F3E +5F355B3B1D5148DBBDDD3A84432542A2880B9A5AD886DB1CC0ECBDB91B0EF5F1 +A4D01855BD959E683FE920F9814C5EBCA0A3B521738B4068EE88DF6E5EDF826C +F48C3022CF7C723BBF9F3FAA0A9F28FD6199001FBD5CF488684EE070060ED514 +AE8DB2D05ED979B191F8AFD35757E69ADE1F09D216BD6F2A1F9AF730BC1603D2 +A1A8DC522F1725826ED4D2548F8503322C5391FD4EA211461B394D7BAAD1009F +E0F5709885242BC5B611CA08D0AC4BFA35183ABF17D06BCE6608978AE8499A1C +410178DCDBC1BA036AC1EFD5C59ED1BB3280F075F1CA55F9BF9274A787A4C5F9 +D38EB8E7BA3F4251F0463E03744AE294B7F4C5C7420278B52791AFDB1E54F8DA +61B79A3EF3145AC58859244EF9AC6E122D49B3FF6FCC7B5A62D6191DF7BDF217 +7C837AC7A945710C4C6413F0F7EDC32F03D2B72F51035BFA3BA7271B50E56C73 +5DDA45F9DDB87FDB08EC69732627F91502823F0BA6E6FC287391A17008D82702 +D93F19AD258BAA1F171B4AB4D6C508D950F4BC71C87B4AE001C95D54E2E8167B +C167F595C7BFE9E629BEA1A51A5A7E4A9DD9453041585524AD00C04BA1F1BB9E +CEA58FAF301C61BAA901E9E5FF11352F0FED712693FE7C9CE8D841B7B1EA34C0 +9374B83417A2A1191690C7DFC43F540214CB696FB53D80FF7D3F756BE0AAC4B2 +240C00FB2245A007C86D7F5F88DC976B86FC96B7C922EC6868DEAFC9C2F3B60A +45A4CB95867C874408D1317EB47C8B8368C063C1AC6E5D24C37EC63631C515C5 +22FB2CF490B59FE573E6DD28D201F58955263B10D5D7F9B507B6E6AF96FA02CB +7F773A494E0B4FAA9BAA565190A022A5B3CA9DA5C7F376449CD18DE62F08E93E +DBDAE4146E9D16DFE9901520D02DDD9571938FC030A683D817628EA03FA3CFF5 +227E534B05117DE3B45D28178BE051DED6ED76591C9ABEA2888DD513452A3AD3 +78759C8DC19DAE3269B1C19E3C109B63EE457147A526C572E106D1BFBBEEB759 +7A4B7C51CE4F7AD15F61E43A465A86EF62FECDF59B32EE0925F2D4C70A74A2EA +5ED1E65DFE768885249F250175323BD3DFA5E1E1BA35BB5CFBBEE0F2524D916E +4D9910244226DDA66A7A3B292AD35ABEB937824E2FE5BC689F7AD6B6E5FFE9CD +3A0F3F4BA42918BE0DAA22AE4F2F01DF24D89D73D0AD147FC7AADD3931B1B853 +B601F569B3CEC2929C2FC91A6A4CB61B7FBA27C35FEA5B0E769335579F9D8629 +6479F658BA9C3C334F1F90E09F157D3800462F68639C2640549B9EE1F46269D0 +7DD1FFB1600A6BCF8021297899026BA143D253626E678D2A4F7649F783AE1C33 +35767714457735EED3EEB9FF35EA057D9B66811BE93EE28368AB7321E1F53008 +4383582872C51DB60AD2FE56E257BB8A42FB40C48330E2C42835CF1AC1A2AA2F +C9858A5B19ACA961DCD7A74045EA1843CF5513352E6A054A8CA9B6B31125A924 +66AE2A7D61128B3A8071FD4872EB1BC21022E506A0FA90865108479E427C846B +F50BFF421C2A2F3E268616E9D26EFFE62192B25A72537CACF09B690DC9CE030E +61A8525901989FCAA57FA8A2FF8F700B6151DF3B975F1C216B024B1FF659C968 +579A14A1611EE5DB460248529AF30C45D48D97891F3F6F478E6214547A0E69D3 +AA074876F550B8C56514E7F31C23C37E50D939EC29FC194752483D692A334C05 +D3AE554323F7DA8989172A1D089DE2131D03FD2CD26C9252082D23B7C7DBBA4D +E4B1DEF34ED8AEF84DE89839E075B26F4C480484DBB3C92489B7A130E7693BBE +6AE29994AABF290BBFB504DAC83CE3696378EE894C6D72E14944A238884520D0 +6A1380E5AAA0F57B6F6E4114F95DBE7E3A966A6D6E92E0102E399B7B48343882 +24D50B111990D15CC40591CAC74036B4637219EECE69CD83A23C9E7E49097086 +F7A8C04D1A919057DE8750BEEFDBA865607EBA84F71893CF39103E74AEA79302 +912A1B6D9446D12B3A3BB2D8B4A906774A6354BCAB580815B51742C64CA03564 +8C0BF0D8F1292B67DDED02D40D21AC5666FEDC76C4191D19A89A5CEE13D2D93E +1BA0112ABE3551ADB6C8220A8B25A7C6D2596AA11ED096F8FB93C674306FEA1E +6007CA755E72AF4EC297FC3C6B8E655E74F1F69021EFE34A35807BBEDF008B3F +4D9C22239AD9FE3880858441BC82487026FA43494A5065208002E8360F6BE7DF +C54B61C4277B2924BD0C035FC8CEDD4B03D562F39AFF77195B4B6396538A2F85 +225E9C243D6ACA71C954D7A5F8F0A42EF22CE2A3A8968A6D328632A309470332 +E174647759B31FD0B0ACD121F90125483B5E9279C149F01AAAF58459465097D6 +11D6667B97555B0A4874CE54E2B5CAC2C1038C25C4C74B492D3803D2983DBB87 +7EB21B7A9C0ABC08466DD6A28B086C1BBAFE32A03C4E07CBA57538E3614711D9 +D57398F7FD74B7EBA1EF5A31AF68B37E59F366D9883A7BB1CE4D746321CFF4C8 +63D80C10C31F069FC99E14C330B22F21BAA7325A6613B0750163DD8712449190 +328ED568AE5A58BA068D04012D30ABC24E43407D8D4D5782ED2D0D663A7C521C +87FBE0112EB9E2DECA00903CD5BF623DE918FAA83DC7485AE636301684B6F078 +7B8990FFC2078596FCE69F0A81B2847B390BEA338E678CA0A93D9689DACDD54C +67A9069AA4C9CA1A109A685EBE4C6AB8103338D514932700CECB39AD5A7A4D62 +31CF42E6759A81FF5F868B912AABAE823467DC86F028731E6A067D7C34288031 +36B52BFE2568695E9C4718556862C80501A9465DB2A5F3876C929BF6DFBD5450 +0A4E596E3AB53E33B743B07CB169E4672F2FF79DF11EEF3645BA2F269039C137 +0ACFE44937480BE5C28EE28EBEFE3C5EFBE49671A6739096500067E65955AC85 +AE824ED2ABB48F20FFFEC4694C9836B3BB879F05F079B18B7EED988301E3AE5A +DAE3AAB2F84731571094B7D2DB2C726BC97596C2AEF39AAC6E8D32B3505B5BF7 +73FEEAFD3FBCE1FA87A4911FA0C75A763ADDAC7DB097FEABF1BD8E8E631F1B16 +3EC03304518C35E555BC48870141B73038618A7B20F687066A0E22A8C531B076 +9962D22BC1E64E0ED5FC26C8D618E88146558EE38279DC12F886010D3263A4AB +C2BA250F9E8B5277BF23AC15A0E5ABD32591EA2D30935E80BAF07E10A2DB7520 +52DB91DAB60939802ACBEB745582ED8C3778E3B6ACE3B7DF9AA0864AC7CC4A65 +82F17BCC3041F8075B89A8612B30CCE046DF714257E1133A47127F76AA4AE718 +D822893060CA79DFD0235BD5AA1A57DC0E95C6FA8B37ACA7CFDD823086624310 +DCFD99F05D8EA641E533CB3B2CC6C857F3E50AE607C827DD0CEF79BABC032384 +220F667C66A950543311F1D14F9D0B24CC3BFA0477B87E0EA10EC498B4F87F40 +198500379F5C62C66B5DBD31A1E66466F9300D1634DCADC8A9D96C933D6C0E05 +9429B43D71C8DB8F80B9068F3A09AABB41C145C2AF9823439734498271EE4A96 +5678036C5DF89B6FB3948163350EA5CA5C379192984AF83C9379DFF3CBE0BD7F +13EE02F9ADC3EFC72F07C4F37480DFE041E28F6620F53A4EC75BDF6781579993 +4BF1566F30F25AE584313FDE436C899AA82A10C2FEBD0F7093EC78ACB639C3D5 +98DB725ECAF33F7B4ECA29E28AD4B913795E6607F0FABADADFE37218365B8F86 +40A75773632F10C4B602D410DCEF5E8204187E996DB2781F5478CE9702201A79 +7CA1C3F890873E1E6020184B2DDF2D050A34E06EEC1FCCCEC78FB5530361DCFC +112BF7A9380D13ECB486B07FD33CA36FF02BA559EA4FC3A7F855850446911F53 +21A9B0899F8F8FEE54E5D61160D6A35F8AF9762132C9650CCC88C889A5090611 +3E702D29B5DC109F2E8D39871A89F6E8582D4FDBAD0BC681BBEE327ED45E1BD5 +D27218067ADE2B020A851F9773CD8FD9585E965D3D192B664AE8B19010A825B4 +F590963E06AE5752EA26534887BE27AAE882CEE68EB0C9A83981324239582620 +5A3D44C1946AC7E5C074557D484F8858515C9AD8825F38903A5FA5ACAC8554A0 +07C5174A30A5091351866398C914EFBB78D0CC3DD7AF3FB95A99A921B946BCF0 +870284F3A96691375D5EF48A33EE79EC807811A5A44A234914ACF08ADE69A772 +EDF4896F2169199BFE4C5B66BE0CCC4A02F3A9B87CBDB3E83B2F4581DEB0F432 +C13CA4B9D7CF8C52A9E9832550BA87E5DA95F76D4EC55BF57A4CF6E399B00ED1 +4ADF57A2A47E7ABCCC867A02975E40A7375307422EEC85A278C39E6091CDB776 +15838C3F987603E8CA1858FACEDD1CEC3B78B0D1A1EDA2CC368C8B125CC3209F +12FFB560C6B96CCC5A638E71939ED75546249215FF61A4E9ABE0925FE8C9A6D6 +0AF5A33DEA8C263D51143F72D5A245B56A0E49FB660F07986FF7C91F4D11AD36 +1C5F66A6A5283F9C8B444EC4EA4FAA4C1B277B455845278AA174C7D0D5881E15 +A5AA4468B9A20A1AC10B3B6996C136AFBC2EB9F3D6B9A53AB65896E5BD8BA962 +8DD5B29925B992DF4AE30740E57F6372CF430FE1190AFE0BF1BB389C2129C8D1 +7A69EDFFEC9BB35A52144F03315444D1D1A1F8600446F2959050B1BF4AFB6D44 +90911D5FDD4E38BA3E345E86ECE5D27387381CC53CD652103C6B98748455BAE1 +A31FB624F23CF39DF9560093C8DF64BEE8043B8CED8E110CD124B119C143600F +0AD5FE29C39DB36BFA6712E0E297BBD031ACDBCEBBCD4514F8042B748B787A71 +492BD21070501C0FFA54217DABFE5B99E714C5279B6A3B9E38C5A4EE902FBE09 +B90EBFD1FBACECAF84CB6070A983A28BA38F872158154596A6950AFDF6E6528F +8369C65BE389B921A9D32854390B963AA86D84D2619F6AF88A3061E7C490B85E +B8B4C1F2C926706B6E63D03C0E7E76EE4B900F12F337ACB4664702D493C73B81 +716A784B7AE9AA8A4E1391087A0510B8897F0A420A5D359D99621F92D0968876 +B893C59059F309D7958EE76E7D2539FE740E2BBC53FCBD9E1D7C00B01F5FB9CA +6867E6F5C80570363D598735D5076FA2956F6AE05EEE3528775E64F6FE9F108E +B96586D427AD6289A59589DFF7FAB6C5D4130F4E01E1B668D24EBE47E83E53A4 +FDC8F58A4B13AE4E9736C967296638F304834732A905FEA93CE590FEF6E07B5C +F4DA4120AE6BB742E6F1D07B86DBE38F300175F32AEA111E657DF6CE59E76435 +AE0432163E70D050D7F212AF8A5E6DA2FBB5DAD7F74AFDF9B89205556BEC19D5 +DD2302201E468F81EA408F9291FAFB00EECC1EB7552BA26D1E8F248A611E7CBD +DB533CB9C2C07257814CD6E700C2D2C52BAEEE1EBCB2DBE2628ADF6DDBC5C10F +69CFEB494659A06202519D30A61C1E85CCD94A9B4C237F7E8CFA9B7BCBA4183F +18C33DD6FC3348E5130584F197EB057BD4197373B8C93D5AFB8B2B554955CA08 +0EF5C93DB7119199AFB94CB5A1FF01B755908194487932E11CA522615E412F10 +8EAFA32BD28C8CD6D71F7DA29986DBE7C6F9B2C45C1E0AEC5336BCBA05695848 +0FECD96FE5EFA301E3CF75598790B5CE4DA0EC088AB0702B8643F60A51015C15 +0FD23F82939DA2F3E181A438703198E1E358DF205F7C2C291CC7462E0676A0CF +F58990D1D10003B33954AF071222A0C7B7C4892641F66875BE576865D1DF0D8D +8955A3A0D82BBAE24F2E41936836BB5CDCFEE4A520DD619FD344B964378959FA +3DD39043E23DFDA51D40DD9B5562291E9FD9269B1A6D8DC80EDBF3DE5C140C88 +4238C245BF23B97F4C592C63EDF916C355282E342E8B6174B4CE008B64041588 +F0167C3867381E81A403322D4F0215AF0F367FBDC3A5048D6FCA584B57BC5F69 +F1C2A2FCF20FB96C15E9AC8CBBDF8E5D6B5F4D8DF969925E947F0803D318545B +BA446682CFFF6E08F70A7782FAA409CC9F323C7D5AABFF0AA1B9161BA5838B96 +90D73021BB1591500394542B97ECCC48D3C59DD7064AD0E98621ECBAB1BE7D61 +D3309ED265D25990199AD9C9F9E5844747DDC944101C551431B263B5BD682399 +63FDEB162A22E8BE3F9CF129BC11C5C4FD1CE1FFF595B372BA4EC90619E0E26E +B34E49AC3AD2411443C147081710481EAB129C0C1D8828D51E9EE29551E17600 +9465564C1452F27B1104242E9A5E28527E96B610935AA75EDC3ECD498CA02D28 +B9504EC27B404A4619C21697B4B019F196BC545CCEEA896E3B80767F29965294 +7D3E06D83EEE083048D7AE841308DAA75246B32C96CFC5D18757E58DACCFC363 +38EF2EF442C6C7739C81B0EDE88A497E824EB1DD5D661AEA15DDF9A1161AA572 +FDC8EFE27A3467FBDFBE1CBE0231E0153A0C130DAAEF9700A6201C9BF2E306E8 +D4286A816C52156E63016224067175C3FDB44E25B9FD8AF1882980BF3DCA6A5C +DF6651289614BCFD82F4E105B1C43C77FCD6C492775648EEE15DFFDA250368E9 +DA192400821A481567BE177D33DAE4F4A39075DB9829488FA98D9275BCC49DD3 +ED835A655F688FB64A642200A75801A3D80F6C8C0249F252B2EF1FD5888E0E85 +9A0A5105DB09E5F1E92110FB05446A312BE1A73EFC4572A750BCA74F0E511BC3 +2503C8527F3F36D1A6575B0E61F0E2257E5ED0E7BE8681E7F18129B0C7588801 +1D8444AB2FCC25D43B83703E16C23B5902A9A48EB17CBD1E6307D79DCAAEEA5F +32BB6E028CEDAC2EB9C79E314621F176195C034BA1188F934BA8C303AA479B01 +2EDDB0AD1164306BF6ECFAAEB67E63F26B4AECF87AF397CDD86ECAC5262ECBE3 +6B489567BE56012CD7F0B09773C37B7A25601109069343B5573023100E5AFF64 +793A0B8DB10539D3C199AFB94C59DEF040873D0186336EF786D2D33517018BBC +076ADB08D20FC01E7E7F3C42D7339C2A1FB350684D67508AB5353B6428AB12AB +80D2C572FADC30C839E102EC16FC0D4D3D3E5ABB8D516C8C0C17744CB9CB9925 +374772D000171BB4416976C6B0484C6679EE6217801A4E8091D488F034D6FFEF +F3BCE6232DAAA82A990FF8B61BD0C471F02433369ABC6F761A32C88973007101 +5C45A75C3D25D9401F7A2BD13E9CA51ECA4EBD3077C30E9BD2A102D04BC7362D +E31813932A8E9402FA067BDD5A255087DF95E7CFE906C30AE748F06715644D7A +5A4140188D11AF8339662D16E2FBC465E4AF33F38A9231AB2BF90A7401FB3E2F +296073B8FFBB80CCD60A1DBCD77FF472958488C3314957B8F5737913865CEF18 +7D937B3C8627609D7A32DF6E52961B136741D3348D12D5D6F1B65D821A72CCCB +AEBFB7E802686C09AD0BEF38A55A11DA49E18665A97DCCC584F3A59B6EC121F5 +AB1A60E3D77F71151F54AAB9017735CAFC5A0144B0EB5F4ECE69D8404BA40E14 +BB291F6977A51D2D2838EDAEF7BBE328E402974C3920AF2F9C30E955D5975BE2 +F2DF60879B3D7D2DBC760080F823F6154BEF02547FFE9A28C02778CEF33F5ABF +FF085A5066DE27FFF461BFAF3FE1E25C62E26A7994CE2945E9C05C58C1F18390 +C7E27D7C6F201B611C4D92884261F27C937B5EB40FA7ACEF3D2F0F8FBC3911A6 +E8D92827E44AE3856D4C652BFDA2C29535CA65F7C5B98C4CE922FAB73E9E761E +2D083973ED4C7EC5F3C71EA7D6FBA133569D268AD82D135E90C3715ED9305717 +74B01C610241302AE094302A297311DAA4A7CDA97283BA8D9457D543BB20893F +0AB2C2053C3498448CF74F1290AB80475722D5604364154CBAD44663DA6C4665 +C59AF29360945A687CBAFDD76B68EA7D1120723B3B28557E46F6CA670764F00E +45591289138AB00FE741BC3801CC88622CEE775E9EF54725F8F354E5931BBAA4 +9CF7D6FFA9133709CA0F6218ECF6E32307D704CE40A0C565DA36C339F6842EA2 +FF1EE47AD2107FB3DEE40FB2A7278C8EC74A375BF99D5744E9CBFEEBC6D3BED1 +5A4DCA7E24BCD5E569FCDE674AEFF462F4E2D9DCE4769A796848803929A63DEA +8030DF8491AEA8A35B926BEF23889C543315F3E3943F9F39954F2D516BC47ED7 +A5D6D2544C56337AF45A2F0809D8E498E06382D2C6636B93F67D0502F45CCE6D +98393C8AB4F2DA5383CE92B9AFEF6FBC99AF7A6E0FEF18DA56F90EBDC74D57C9 +45611369E4D8687BDBEBA054A5899534208D8B890F1D86CAB88528C9269497C7 +21329C0ED415B4411DC8316260843F3EDCF8BC7C18004DDA6414E832316D7C46 +B823A11ED6103B82C9BAC8B8EA60DED9AC50002DA3C1926B61CB2511DC19A7AD +F2264CCD3C503448CA1D44B3B6A5E01BD7DC46EA760876FE5808C7E1CAC4A261 +41776282BA4FFD6D683D267511697E3EC02EA48784A7D2E7D6B806641BA88F51 +81AF66F86060C4C095D16141B3DED45C397697FE8F663D8E4D96E38506C8CB22 +C5729258D960CA9696AE98CB3E61D1114A58ED89453C6364F13CB9285B955459 +5ABE5B5DB88AB1C3A8EBFF5F40A77AB4CEC5ACBAC6B6537908C2F19EFD40BC55 +147D7ECE398F2B7A744002FD42D816C6BFD47E2A118D11EC6E93784D104079F8 +D1C68B7C9D56F33273CAC459CF7189240C34DAED52B48F9DC31614F57DE70373 +C0077C9767C05C35DF49017B907713D4DB5CE57B980D60D79FFAFA3797E880B5 +65595224FBA1B8F07AE1B6A21C33BEACAAC3421196D6E163D9D66EEC310FA915 +A307544F6F9A977EA065C19B605EA3377BB42B48137AD829CEA058EF582CEA8D +6D8D814DCA8AFAF60F9F9018D99424CA7336946F129C6ABA3FCC18E4EC3D3867 +B8FB4C35EE461896E8F2C860EC5924EDCCEEDA63E0778B6598E95B0EB65A710B +6B01C68E7D1EFE68C17BAF0665DE8E50952A13DC96D3CEA3DDC4697A72188F5C +FEEE5FEA51960DEBD3BBED7C79E221C68E1A589101AEB69236A096762017EF0A +AEBABB115FFA3CC931AD569C75B9C988F7DA0C1B7F0FE091821224B446012483 +F74290870EE02B3CC7BF269EF4453418D6D681875DC29ADB2388D9CA97B40961 +073135E62998099E27C758E6EEB663561995A19AEE322620B6EE8A4E145F59EB +17AEA655FFEBB34CD7A9E66F127A5B3A7003AA7EA58226F16FA2C2A6DF5D3C76 +BDC51A25BEBDDD216568B6700D467FE442CD2A536D2544D29AD86F3B6DC8F9A6 +D72E4C31E555CB799B6D100BC02483D69EA463993BADF50BEF92EAE36D8BA88E +3B87D4D84F0391CD3C1FD00D93A9ED85AD222A233E5331D25B1D7C84CD7D45EE +24CBB35FC87E734710262D4201319B407C750B460BEE16896A795E4558C9FFE8 +B8F0B622B9CBF41B622DA64D901E090CE0D35C1A10CC7B78854E24849ED896A1 +DB128BBDAD7DC229EBD7B9A15D77E2470280FC162E0DF064EFFF0781D48B9A32 +866DBF5FBAA0EBB91CCB0164B9F4F5DDDBB6BD96FF9210BFC4A25974C5EFF115 +3172A6E4C31E30E94EC7F956D493FC72C74E8BE524080E9DB08B3A17404F318A +249420D01D2E59C12CC0DD8F35EC399941B1844FD5E3D98299047B2477943563 +ED594895ED23BE64CF77FBEB165CB48A31CF8E7019C267F9DD1DBF8291AF20A4 +4EEE10ED317BB7A70863242323B7C60B5574AADC34BC583995E8EBC8834F15E5 +88B309125EBC8FE83815F838D82B6C860A033FF70477B4C75C32D60257972B4F +C9D9F859B57492D528C630030A7D63337B9DC5A646F2597C3458987A82D76064 +BCE6F79C03BA241049DDDCF616727BFDE793FFB645FA74B2B0831154EC3E9136 +D08681B82758FDCB07626550FC328243BF4E46DAB58EAE4E2327F53365068693 +0745CEB33178B2BAFE7C03D75BD6F78DAAC5F92A015EAB89CA2EDEA0A8D18906 +AF216771C0D7DFADF1CA842CBBB69E8FA45319953D38C4CCAF41538798729B8A +4DE30230B65D53643D9177315E39DF88FB246099 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSS9 +%!PS-AdobeFont-1.0: CMSS9 003.002 +%%Title: CMSS9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS9 known{/CMSS9 findfont dup/UniqueID known{dup +/UniqueID get 5000802 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS9 def +/FontBBox {-63 -250 1027 760 }readonly def +/UniqueID 5000802 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS9.) readonly def +/FullName (CMSS9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 97 /a put +dup 107 /k put +dup 115 /s put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C5165C6545D6DD11 +633CB01CF6EE3B37AA823D92F442576C06EA48520F0F737DD7E36EFF1436913D +7B55347D27E02EC93D8F98260A4CA0D41D684DC6D2CCA5746F13A862CA42419F +FC585050BB153883D3924F26A261CB59E945236BF818D1067BEB62B89F25B57A +C81D10844C89A1A648EFABD92B5C8FC1671A9361602E52B9EAEEB8A603C8945A +F8295D0706DA6CF8964B671F90DBB3949ACDDD20530134FBEFE9D1F1C429097B +2A8AF2818951D34F2798A46FE02C69BCE1A2B4C11DF1D8FE0610BD9FD2016D3A +ABFB483773ED4255C1B00B9484918BB10893DB86FABB84B063B0F287AB61C16D +6751C62EF5CDC87DD0A92D85A316BE8C707249B5FDD5B61C1906445E2B04C689 +6A8E764A825A75424F14E0CD2BA99AC4746E8E0DF4C4C682F7A0900A2218135D +E5E58CA35D1ACB83255F683AAAEF8092CB082A8CB0D779673F065D7408FDA080 +4E12BA4729806B39E930A9FF2280D603F9F2EF1067461193BF703BB5383FFD53 +6F67E20F0A88A204DC683CBE272E7E8489AC886630624DC40BE31A47B8AB6484 +0014D5A9F629CABF60681786A720D84713972B0D590F2E22A666756EC35876A2 +37E893690099F6F9F0449187021D72A7B13E04B6FA937F7C2E840FB766EEC767 +5BB4F23E26CBBC216F73770B50F992386A289574CD6F8F4C9B7588BBF8482DC2 +3B33E5257C797790810BE889DEFA050B290D6381943A222F1D2560CD26B72FED +A2013E359EBD486CA5034784707060F17E257BDCC5798315E7699EE7EB576FE5 +8D35505C808ED586C153AF420529F113ED9A05EF1C7F1F606F62BD2FE1303F82 +3F483CB2EFEEA499D3EE8684DF5EC36B4E9035E56D5180211A849FE222D99210 +8A3CCB004CC1457C3647FC73F64CBD2B02D692E0E9B7EABCF1A29740EF0DC8A2 +CBBEFA563DB9D3BF920E504EEFDD56036217B61D8E08103405A9781A9CA6B9CB +FAF508A835E2D49BC7CE894F9D0B7B8E759660BD7D53492AA89CD26D603458C0 +776258F3A478BDC8E4D9C55C92F38C0A336C8FA39D52533A4439945B045CED20 +A2D9C64EA02D34FB4CD7B377BE5B4C8C110924DC0F71DC4E0C5ADFBA8D9BADBD +4EE8588E139E55570360D11E05A4B233DD8749DDA75E8D53DB3FB331B156D437 +5D2BD10C724ECD919780AF578C696A53765533FD4D2527DD2DAC8FB7A3CA703D +B34003DD72E3D20DA315CE4B62018C685D071E9E866A224B2E72C4C417E62FAB +A678429808F95F98207C4A48621F6431DDCBDA2D137C43D765D02EC4A724C0D6 +4DF9E07A9666A85DC95DA2D39DB3F90F69BA2A717796D1C87F5D1A22B7537740 +63846E8CCB48F3250885A8D3F83BD9DF1A8C14AAEAA670D438D47420F6DCD38C +8884C761985EF58B8BE65C9FD1703F24BDAA827F7FFA56E5828E1DED1CAA75F9 +6E00B8AE3127204BF420593221D6E7C35EDBDF8C1135A326A43CA14CFA2EB30F +A3D2AD65DB0E6E8F1D242F69D4B5B4A1DCC937A129923070CF0BCD8C016BAE0D +9CD293BE8446BD1E4C3627506E78A346E2B20107DB58F0696193A02F4C54603E +CBE96510F306101B5C3F86EB222743244573B84919C8683831F3034112CACDE4 +6B9FD23FA96BF3BEBD96198B2F19D0622FCBA58AFE129420C374BF6EBCDDB1A9 +99829124589CA5564BD5622BE33A1E3BF0FC7D1E6FB699A3D553D86CF2C3B748 +CEC5E58E948537DB684BD8C57B1C5B6BE0BF32C1F958147792DE58A9CBD010B0 +6F4FC27A1AB18C78A83926A627A8191DB14152B424A87AB752F8979DBDF02537 +B6AEFEE65D271F9E3BFCC90C0B082C3D1F77D2E1AF27C1091ACB90FDADD69B21 +7F8925C8232136784E63A90A5226D9C46DEEA7A7AD477BD3CC6BCC772A6A7CE9 +DDDE578B6B71C73E60E3B588A76C4276A3B68C9E4FB771530139344ECE15CB77 +048108E56E60C55781FF4D9B63E43E606187C430FF2CA43B35373556D060E693 +628C9C33327DABF70C169CADDD89392636D1F6636692D1DD600D7DE98F73975A +9C3CF72D5552794EFA5210F3941D39A567352B083533E9CB9FFCB07304F60F05 +38BC6E9B96B1381E84C3EDDD5DCEEF9B328B5CAA147BD686063B686856E77A2B +C7E29ABE94452AEB3B68C28DF3417A411DBB6FC328F182C1573CDA9AE2B53A94 +2F964CFF55479F3AC5472D794B2AFE97F34FD09E487AEB96A5E643C9AF82F6BF +1FBF5305A7334A8E90DB30C3275FD3058E30C6B8C7B0473CD97D91C8451947B3 +763E2998318E0C180AF566A836DCC5E4C22F18BEAAC6CCB9AA98B156B59265DE +661A3049AD676BDACC9E431E0C4C0A3F1C794570436D827D8B4AEE442DF6D9A0 +EA4B7BCC5F0CA377A914C1B49B66707F2D37D5AAD8357B831A052B65901CA3AC +2D476E711D708860666413CDF348E496DC8373ADC3BB8B4A15F157D1E3E50A48 +9235EE6CF156185E5FB4A8893138E97B4468E54B8E5CBE6E1541DF97558D27DE +902516C70F1298F7C17E5FD19D34F3E38169E1D6DAD860109CB3A116B13EE719 +D9A6F56F92DA250D5912EBDBC64AAD62B6727539487816DB2C2CB1502BF67C55 +4A22868F50CBA1CB020C2BBA91C327106DCFEF15A41511777B30EF6D9E830D33 +5551A85BC5F175E1F1E4E6E7477D347A066A881E1AF8073163CECDA77AF62BC8 +FC634137FEF052367138D6893B03CFB5D8BE8DD201C94375A2E2CC9898AFD52F +A98A7B235F743A9E5D3D7DA8779B032D42D30C8B685CF74241935CA8CF4E32D0 +0AE9E91C4935D4C8F1D4B04731C6D325BB778A9661A42738DE1E63D85CAAC9EE +4C8F26FBB61365A8D1B3E9E4A2020A7302594E7C992C56E5D21F421254857807 +293F58F42B00098741959B71A1F1E7FC98EBF7EF23DFB49096DBA6FC5A4704A2 +81F71E86FBF54B08436BA1F55B3B9671F0490350411678A09CEE903A37720311 +D10E6823DE99D94ACC54D6FF08BB079C36E667DA778D09574B027BB6FEC2105E +FE6A3DE580C763EEC8FC59FB9D6AB81BD0C64CAD73D9857A10E505ABCD075260 +6A9F554864259B158FF14B6D5EB894AF5CB2593A4D443C5E2C5C99834F29C96C +4167148BA7CCE6BFA0A131763994D268CD2BE565DF6DCA3BED6E821C39004EE1 +9E40EA741038E7A49B01A302A09F3C3E046A91A782DDBD82DF0474246D41BE12 +3F301640DA56FFEE5CF6A605767E3036AADBD0867D0C630432955618784AABE2 +A1E731E8B7FE85517C1FE08AC5FBF317144C734A8E4CDF19383CE61C8537AD84 +F1D43F1DDE40B704EF8EB3512F2D002AE1EE8474BD0A12107B41A96DA9996F6B +AD780CBAE845CC2F4233B23BDC2C959003F997072F7456BDC5D0546A3191C924 +66452283578E5035448686E7DE488E5E217F59A8FA2324F3A35FEC7A8AD8A26D +98A16BDA35F72B91B0F6ABC2400D99A88384AF8B832F91AC003FBDD76005E349 +188CB97BD3CF741C01CA3129F113E0F79CD219700C4A3F84CEEE93C0BABACE19 +A3501BBF66A5C20E8D2FDBAF482B96CA9678C3C353F65400A21EBF181984A8D8 +62C1E3466594C967C45026E1362AF24965A0DABDDC3952FEC1B5C93C733E1617 +4692A56563706A8C4EC7510D06C0D4543F5AB4C61B3D976B93AAEBF4897F9070 +FB433CC9A67D862616CBB4DBABAA7A8FF4958094A6122360884BE9B9C5E73B6E +9A35415DD62FB25B7F1C188FCF933B6EF4993A4EB946941594655D7309E1E50D +836ACB570698265A59152511AA53EDCFD29D72A8632EBDEFED79F2F8E1D2BBAB +8DBCA5BF77C99CC911398867A0984CC649BA5EBD5323110AC8AD48FD0CD45C89 +C5AE9DA169F2BFA676E2A9BDB5BF8A95ED2851E215304B2E4473B68AA7F2A9C2 +910D865CE15D189BCA09436BA7570E56E67BBC702344F52E046987068FB853D2 +2E45A6F483E27416C97EB8D72491D01C0955E10CA5C70359B8F90CAF67768B5E +61AB2612A5EBAC73029597E0AB924AEEE0240ECCA73949AB3722E8BEB2A16361 +8497722FF6382C6978891680B6861DBCEF320E8DE457F4704A62ED2943DE2382 +7E2BA30649030D92B3CEF2DE55AF4770FE275E57034C9D9D7112A1A0F8F2DDC3 +6F391D18A15F6E0693B9DC7CA095C3209CCE0D13697CC084CE310BF499701BEC +1E1C13010A34C6FBCD44AC3BAC9FE70A2C065A1B5243E26755033E2DB0255D68 +2431942FB598A96611B77A877F230B06AB3E28DC01A585DB605AC6C3044EF2D9 +DCA7CECA07CBB4FA4718E57F26B520291C46A9A8AA8D3BB7394111096D932741 +495A858901BD8674A21208E163160F727F122D4BC5632D2B30C9EF10AB2F4A42 +72E9E62AC44CD0CCB50B25E30EC2B90D9A46CB8CC749EDA7A5F5A1C1734AC556 +3DB253D56657EAC24097E94045A4BC969BD5ADFB577F5A5005F742CD2615DA9F +6E5F65A02FA47A8A36CBBFAF2442C01B42EF9950D02E05EC3CA855569FB13389 +90ECF476259754C8BDE5B1E7816C64288352EAEDD488ACB3D0219C14C457F665 +C5947F08EC99F8DFD2DEBA6E6972D4125E2EBF88AEF6DF06C5996E48D52DCA99 +365E2040D066081368AB6D0D2429C2FCBBCF6FE387A01B7BF00C66E6D21FF951 +EDA6893B597C4B2278C8B4EFBA21B34DCF3D866A7536BD9874FBFE52E77339B5 +28B291E1D519938578FFBF2B9FCF7948449BA8EC6E99714BA5CEF7E6BEABEF7D +B5D4475631CE1C48A51D7EAE0F048C6118882586B04DAEBF9C7D319ADF3CEC6D +FF712845E670BEC0DE8D506183CD8A9D26435247C1CDF5FC50A8C6EE8DD2ED26 +27EA1B6EFDB91C272C5CB7444F11D655E6D745BF3A9DB8CA1B3441C142F1507C +0CA0CB1C2CE663FB337E7DDCED1F42C76119CA71E372B57818CEDE3D151C91BE +E09644B62EB1064630EBE55F55F99B68C746D3D053B6F4CD8D96E3D6C4092ED1 +A9C1D3B79C611520BF8C1163528E3E446E72762A625C1C3FF4B7391D6031EBCE +FD5B5C4B08C0A3124FBC40DB6908828CCFDECF732182B953913EB2B12134F1BB +2843FB7FA3EB1945FEF24587799BDE5C6FF70FB819C49B42A3FC2B18AB885A91 +2ADCD162D466095C7439BAC2733937729D26209ACC1264DE0F3EF0AFF7F5069E +74B80B63D79F6FBF2FE45DCD7C69B7EE9CCAB68F0BD33DA003F11EB930861A56 +A5188E014E40B9F8D4026C7B1888A966D1B229C037C1DC3D5D575D62D4A885E1 +9DA31DF09746BB0FDE16EFAC1A801B110852EF0EEFE8E5B592366A05544D46EA +8B0F2D661DDC5B400A37DFF7848E75E9EAB21BD4A65241B72EEB2E59B0A96924 +D633132043F78A3B53E348E34681382BE6BA2F91615563FD3C01F33C37F75792 +0BCE0D9AECDF7478E1920355F207F039B7CCB5B8300693E1433DE4511D10D8F1 +CA0776F16F3DEAB2B501B702A52A7B428E584DF52222F0AAF87CD854422E2099 +BAE68FEE0D7C5CF7E98748862699A80B721273F3C62BF79CCC1A162F056FFA4C +32E7E588AC0A41B5579E799FF6616583C368DC0088DEC148036B41B30AC6D7D2 +F0F299DC247A23A22E0BAED4C0CDE249D3785A1FED11292D09DC9474E7461531 +F015D902341361EFA48B3E3B467D06937BB604CBFC1EE38C9F6935026ECF3DA3 +9F13CB250618CD5AC65CA27C30B7924DE91138AAC8BD82859696DC7F5A91BD5F +851D954C8FA91DD27611532070464DF076DED556A3546C08C5F8459407A667C6 +499E8B616A72D295FB1C390DAC790EE4FEFDF9B896440B1E137CBB99967897E5 +1C9D327E5E5497DB6ADD53A27C34CAAD56DBDAAA095A74467227777094D0341D +4DCED59A5B00BA39CA41EAD203FB02143EBD9D0DF7844F20C0D82477B39218F7 +B04926DD29415B50892EB3A39F8C89D2CD0399DE3BB46D8386BC7D94FC0A8C3D +C26618B0FA59E3D37CB50A89C9D9BF211EAE4D2C10082D8AAA8FB3FF63D7B066 +107BD3135521EE8A81DFB2C9DDB74772994414D00CC15D933E0B6BBCA75EE095 +EC676ACC85BE5189EA312B5EBC6127BF225AA9CC77004DE668139276DEEC76D4 +C2C0C036B504DD0F24D968FE18E2F6ACFF15D4966BFFF45D22DF3013A7B88382 +1C627E439603EA4A13B176CAE39192489CBAF53A53E726A584D0A1C0864E32E2 +8C0E6A93BBA2A17119301AA7F819AEB987821914ED04B7C18B6611D4B2255292 +0C55279D75A15A6531F56D2DF3FA26CD795C9F39F000BE8BE5064F5F57F57167 +50621D833DA20AC483DE71ED28B1D258A7F18381CFDBB3D2C3D6F8142CB50870 +8BC52CACE65295C5CF87E242C83E3967DE730C1CFC11FDCAF71826620E4D8983 +621FFE03D497B51EE2DB2CB803666619A32D417BCB8A95964E9BBD0C6D444BC8 +C1FB896901ABF6E6EFF1C1F3573C36520EF22D159C66F150049B64F008B06150 +75350FEF34634EF2FACEEBA06182D06CC5683874117179913942ABB12FF3F371 +BF6FF699E5A1476752AFF326B068F8B6129CBB1571A0C8C3D5F95336D6DA1496 +7D34B965420BAAEBAB6978043D37588E9183CB12DB4C45852F56B21C8BE60EEB +D3D9082BC2990BDDA7E64763F1763BD63EE91F59E81E22D1AD5D9914EB8C876D +B851CC304A5DD190A21220802F815EEE957803C06B822C9518649C5DB417B103 +0CF11737BB3CB1E73E38D2626FDABE3246B40D1DF0EF74BE428CE04EDD6410CA +38D760A23FEF9B8018191F92562D5AF172B3D6945AACE4F7E54F588CEB27CF5C +7F934CB1FEA1FF69D758ABCC1B316D1C432858CD8A2111A96799DFDF62F63F87 +0D259021FDA53AE71FCE676578F27D1F0D90C0C51CFAFDA3BC017F504CB17D9A +D52ED77876B204AC36B7EA59CDF9C5C401BDFF97FC2A3A942ADADE2C969341B9 +2216FE4C4E501EEAB32131F64BA99002BE4869B50FCF99BDE45C1091DAABB160 +3AE7F32CE9FE116A1DDBF7BFED23F8F6FA29F1411F1366D5A11EAB224EFE2425 +8D3D30124A9150D9BCC9A8008ECBA81E69F230EBA9206584F5E02E245C65C9CE +88C0936B2FF8918C970CEEFAC6208B48ED3E85B7A70E9ED3043725A1D96A949D +50C6B68E16C3496D5D32A9B2249087AE16101825C43CD992108A3C833EC6498B +FBBFC294E223A312B81020125942528F13F3B8CA23455DCA7D15A7D69F72BD94 +60AB07097FC343C97BCA64C0B51B7FCE961A249AA0E882CE620DA64BBAA3317B +36CD2D983D2D9B9B928CFAEE346D92E922FA44B8E430EDFED946E408994747CD +63A0BA185784741890CF07EF9DE2E7255EF360948D16590CC44144CD4B5C9C7F +621CF194373879A0991C84EC2E6FD6321A158104E3BC2DE6DFE1AEF1A96F3D32 +12E74B14DB1A6A96F81C47A049FE9BB5E89631F30E848D1AFE47D1D887C09EC8 +0D2C2139EDF5B678C9F63CD57D169A0DF52CBCB3117627A075A39FC431128570 +2C987DDEAE3945E9958A2C2E933FEE805DA7E2CC4085CA382CB2C9AD1C06F639 +E12BD609B9E3484ED50F708C8D7E94441BDD49137A001C18CB2F644E9E7AB94D +5C03C56EA770A9DCB8B8D958CCA0EFFDE199BD4AD7957B1029301D2273AA4BE8 +F2804EA60A603EDA3C4FCC3BDE1BF95EDACAC458CCDCFD7AA052BF8DD79CFF86 +E57B0B07912D33CD236087BACAA8202D431703C9B96FCBA8308E19E19C1A99C5 +738E554DAB1CD1F342E1EB86825002D131730148E2EB5564FE42D2E1AB86E7AF +3A0B8D60EA289A878B9F22F2EAB7B9A5642D142A3C3CF0FCCE0E75753C1D8373 +F824AE7A60BA3B1B9C0456C3767D8768DEE153BF971E35DE1AEAA165AF023B67 +37631A91A680833A0C7FFD06721A0A3200699F7CFEFEF365EF4A554986C30DCA +B51168EAFE470BC26A8A5234A8AC19BFD6F214B7AF4FC2F56904C2043540A061 +BD737CFF6C1483C4521C7D72EFF375CC4D0754FBD4107B9AAA0D8751B368F37D +921C607FE783F964B97281BDDA295FCD86209CD31949C7A9446FDBA27402F7AE +908BFB59B8894593F26EF56B6A10D7D5EFF8F06A4B7AD042FDC10488B76FE414 +06856C1ED130F192EBD5CD90154193492D2EBC37039000E3A5337E2378E4197E +85CE1790C429F277578FF803D18D161844541BFEB87F5F446F3D0F5CCB9B73AC +706123FEEE9E236078FD7ECA9B27361AF3062237B84E1BA7A16B0E6DB9C37F9D +A3600CC443A1F60E79E3B1162621128D08D4CBADB54C5E980E9FA42E2E0F31BC +B41ADD6BD721F201166F975AD2FF845F55F3B093EDCCEAFD24B9484CFB6329FB +3AD2B9C3FD40275BC793D5FF92EFB45BBA8F05DEF17CE4B1D511ED2ECD8D6006 +CF12D59C34459F490A3DEAE33E50A6E3D62384F9ECC1C471B88F2D46C6EEA9B0 +1A3593C67217C9E7DEDBEB9575DAEF499415DC45B8FC684738EB32D2EFEB7547 +947E4495F95EC74810B525986E3C1C832F31EFC87BAB0ABAD6C34D2C6E7BBB0E +7D0122F7F53E073B641752D5F277CC687198BDD97CE6B992CBECC7BF96A3BDB4 +DC83CAEE006EF59284C41F05461DDB2211B597EAF85E86F455D173F4C725C9C1 +CB7A7DB8C5852B843FF0CCB4F4DCE65E9A3518BEF57F0528DA0D908141876E70 +E2EE996894BDDA2BAFCBBE9E05F42DBE24760FBB3EFCC599D3B0AA5AB6BE9A85 +06ACC6CA5ADF10B60C9809AC +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR6 +%!PS-AdobeFont-1.0: CMR6 003.002 +%%Title: CMR6 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR6. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR6 known{/CMR6 findfont dup/UniqueID known{dup +/UniqueID get 5000789 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR6 def +/FontBBox {-20 -250 1193 750 }readonly def +/UniqueID 5000789 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR6.) readonly def +/FullName (CMR6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 65 /A put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DAE339BA29C1C6F656 +1DEF13780383DAE38A868377CC7D396B2A05F341AEE0F8BD0A0191F51AD11A4D +2E927B848A1EF2BA15CFBE57A51E3AF07598275195C9613041F71C1AF39E61F9 +EFD5F6512FBDA76E29DE6B508F62F5CF9F73F5288DF1C7B0B82C92D3B6358BAD +EC3CA20BDE55DAA7CC58004AA86B6CBF8C410D8287E88BF20588A39309C2B703 +CED322F030AA6069869064486CA651DA054FF3F5E56534CA358B0829A6B954D8 +9103436E6B06DAD1658BD4A95AB41343B01F5866FC87C4EDFC71F1477C98F8E1 +1DCF27EF743FF90BF918AB8C4E5AC35841E2F745480E5EDE1C1DEAFAD8D0018D +2C1F1CFCAD9F6609859DEDFD1648A6CD23D8ABB80747F94899F17C8F3E6CA55A +E176F19CDFDAA0D7C920B3A72051A4745560AC81978C92459EEE5AFE85AB247A +32981139CBE352B248F4BE5F73503A084A3E91F05328EE521D9669E44E202584 +5407E7846F9FEE3D54EA18FFB144BF2D6803BF65AE402034B3CDBB40DD24217A +3CE0E95E2717CACD603A958187C42B3558AA38D6B6390EEEDD396F96E6041FCF +6F8888221AFA87EAD79F46E0E32CAED91E6C8500879AB6E580C581E8C8CE9B68 +2BB5EFE2604E8DCB2432D39D75EE556969F1B2FBDF6A4BC72D106AA7CF22C268 +464027898B311613E06E1584707F262F71D9F49D2149306A88E02BC60BBD6BDB +EF41D90F19197BA9AEF32B5E63D5B9FF41B5602F9F786E76621DA54D574981AB +87A72081EA05D6C6BA940EFEBD0904EA4E77BBCE17E20B42E1722617E0F6EF32 +F1ACDE9D758594E9C81049CCC10605A27C2A06872FBA9F159CB155609B496ADA +4886F478E44029B5E620DE8319E257697E93E1CDFD27D560E2E4D34507020E2C +D9FF06BFA14E056D81DF701FAC3ACE4BE6C098AE116E079F0044391EC1661F6E +7A93B9320BD7F91E8FD2E8EB3F5CAE997D5CDD35107A1D35302260D1499B8B65 +39625B7925F97D917B66BAFEEA992873F07220714F192839948CEA080BDB9A03 +77B9DD032273DDB5629CB28B5D8797EDEFDBC601823E038384C90C79012A7D96 +8F27784DA15BACE21501C26E3AFA5DCCE81B52B0ABAF71A35D33103EA86F2415 +A39A830D559C5C6CA7423945BD3DFA942B20A06D7A8D8671F9831DBB52907AB4 +4E54776D29C6085CD9970B6DD21DD3EA8EB09C49CBEC6CDCEEB0BBB1B8827109 +3BDE64DDA024D67F098D6C1998506DDFF7907ABAADA1C39C759C850E0C6F8E89 +A392D1C9329ACFFA92D361218D75E115F70A47C53B73B356D703E9C499AAD098 +AA9C8119EE9E9708A9EA3049E976FA19AD04210D5F6092C7903FD155113F3A3F +269B746560F70970AC9F8D09956E0E84DACE4112C4E7C7F6B3F0B63D26EFF95E +2B2E9699D16BC8AFC4AD9113AA3A974C9E82E877288CF71E9169D2DCC61AAAA6 +C536E5604EF0716F6487292BBB677518504B52C63822BED3BD5FD14EB41EE6A8 +AD4B6CF90D39F98E12A765B645CBA3E8552FB9A986390212CE119E7C3DD675AC +17BD006144BEC534DA2A860188619F17589008409C5A309CB83FBA70F6446B6E +2B56991B6A03B1DE10C621591CEE45BECA27C54BC8B4F1754A9E8F660812710E +117850E1BB6FD89BB13F8CE391C43DA89EA67E9C3E7A4697790EA26B0E4E2E80 +DCA508873A7AFFC11B8C02EF86C2316E8D8B6BCEA37F81A3A87546705F070C3B +9D4D28C366CEBC1EE485B8E2357DBE46E86C87B9939DADA60888AA9F1B92FECC +CC1C198DDB594BB70A8FE690ECAC21A414BAC89BF019F34D2A130F485EAE35B7 +2A10C67EA3A48A4D9734759CC93AD85C6A570500AE5AC9973FC76EFA06BF5DDC +26E20E28D16B50957EE01AF2653F8D860817967AA5A9BF9BF7ABCDA710E9F34F +4F0EBCC32B3C9C2971F6225D2DAA6A451366B83F32B2ACB83E746D365B2DE38D +C1AB7447FE7B37F9630E410E5D8F0ECE74DF46C538947B3A167AD9F3E4A7EB3D +60F5425AE75AC3A27D39311DA35696C3DC7282AF1532E7AECE63D13DDA0296A2 +01487185FDF1875AEF55A36C17D6A8DD329279D229259463A2F05CB7A874374B +E2320E1F6CFECB9C1CE62FF468C29751ACD9754AF1EABE8E7696C2888914416E +235B6766F20FFBEFF285277B639A51EA2F2E30D207BC891B00F0436008F980E0 +9EEE7FB375BB069B9E0BA11DA951A99D8E60B4F920A0495C247FA7DE904765AB +DB5C3B2D634757E43EDD6FAA4DB3C67F82D6853E1170F0B2D8CE496DD4E72B0D +28277BEF172F1402959F64527F9B640619F04416DDB9D05FB2ACD019CB9C119E +E544D24EA6DAC5C69785394EA50E6EC9AAA9E14B904EAF29A733C6D7942B63F4 +85729686742F26DEF78DF0DA1CA7CEFBB684F4CAD99021A3B3D1FE03B9C5A4B1 +BD04CAC89BB91B11952A2B17A61789BEE0C54B46C03FE9A1AE73D17CF94BA30A +237C29D414C3BCE8E3E2DDF83C0BD59DCB66C4D2C3DE73DA8378F3C6C8035D28 +7464399857E57651A53E9C4AA68DFCA91B2376CF98AC5290FDB9BDAD9EF1604E +9B0A70EDDA1E564B6D2456E7BC722454ACA8C4950FDD44B6EB9AD01169A9F845 +B06A0DDB7897C847A5B1F42258AECF3807AE936C8F52C3A7A0A85D68160AE442 +FE81543DA6702D76AB6E8701F80DFC1D87C961E350D0E52AB2A298B9E5908600 +7E14D2A87309043CBF13F69AEAAB1BC239DEA88EB5176624F6046664B1D2691F +FBB2071D3706F97DCCA355A6DCC4D09FD35DC078FBAAF672FFDECEC61050A120 +10B5A96629041303FD01ACCC7686165DED6AA712FF8E5E85DE33C4E7D877C49C +6C469A90410BAF60BE65ECD91CDC2EE7AC0CA8BA7B53865F26092BFCAA0BCA77 +B80DC51DAD09C93C8DD8E43502B4B68F3D5918C3492196292447732BA90F5AB4 +9F5E1D634ADE1CCAAD028DE5EBA9535F6FC5908DBD2D643E0A7E059C8C386FDC +E72659C0033F535C0D7F6B98D0335552D0BF3C6E302B672A5EAADFCEF81912E3 +8F54E6FB7EC2B325125159713D0AC50DEE3673B9B148643727E94C80971A2E73 +5E1E13237BE69C84FC039DCE02ECE2668AFD047F21A61BB94A9F498C9FE5CDEA +B274B40728B6F6CA9B6C15BAAF92F465B0D7311B46545CBA90D874839443CCB9 +3110F052EB247B24B45A3D2FA6FBC7EB2A4BEC2A5892914B3C5EA3F4F9B9DCBF +6F932D95700E045B49E4B1F2C9D2A42CF39CA2F5A2654E6E8E6E92473D28AACD +5E35C6705EA728F704F5996D286BED433F976AB7E018621A577AED7C0AC0A84E +A032FE1869F603E6F20386E3A190A30A21EA886249ECF8CDDE2C33D73BA8647A +3DCA7A8DD9E8EC8D9A415D126BA38B6771C489DFC419303EE9C1B83FBFB3A0B8 +97D64F30E4BCBEC24DF603FF3BF541E00D5804B6B6543D3D2B661CC551D497A9 +9DFFF535AF424B2F3150BB39AAE8CDB306AAD37767BA10BADB031DC2FAB16955 +EE78342CCC0E8B5976BF98F215461A8C6F63EBE6E2F1A1104662DDE53388CB51 +8B44F3534853B8095F3B746A2459C2EF800FB1EF7F235EBAA9731E3AB3BE4369 +1D3636E3ADD5BDF0C34FA80E90D8A1DDE770943FD196E0A7C5F1FAF6970B34C6 +4673AACA6B2B5C12B9608521AE736C1F4B97209B063D991300ED5AF3D7F27E76 +68E0B858FD8BFF86581E2B9548C691E3E5D9EC4D39C9715CDE86C7D22223CCEB +8A38C776A30AF14912390A7546DBECECD7A687D4F08646E57A12C80DCA022B7A +33399761A50B8E0ABEFA1163EDEC3DFB5DA3248792EEEDD894872D4E6814B4C3 +548BAFCDE0CABBCDB97EC6D1BA47F2E77CC1389BF19D73661749AC33F46A618E +A665A85776545BF9662F2179D7BFD604FA8EF4700591AF3AEC647E27B24B76F3 +133F9198DC15C1AED830E737909E43EB91C334C44BA35810007A3888E33F5DA5 +B3B2C35481C648AFE630CC3E08F77744E401B2934E407D1EC17ECE737606B076 +F8DE8EF3344F57495EF49D11580D6FB28AE0B1422521B320843B13467501CAE2 +3DB93D7BB779F73B6AA30050DA74BDBC3F8DBB30F32EAFD07734A151BB2BAED5 +C9B1F790059339B64BB4146470F30928C9A49AE88906BD6FDB7431A4B50809CE +0F67ABA01CDCC2320B0B097187B9299E3D80CDD7BB5DD5BFA7B28D924C5633C5 +45A23CCEE097C41C3759C1FA8DBA0DD95034BCA89BD23FAC18C70093F40FF2F8 +0FAC5DD4835F2DFD40540E9A9E9FD951A8AF2CB766597DE00147B163BACFB7E6 +EFDA4DED594F1C746D8B46A1145E0E4058F5917B3F21E9BEBDE745EE72CDCA64 +FB31EF7A2E55265F32559480E2B6726D3DE26FFC97EB4E3160F117E890C4B2E5 +8DF310E6A728ABA85540F571C024F8DD58E1D7827FE97CED5EB31547EBC36415 +02B8C0E10B7E37D816F01D56A364B8552CBFAAA95BC4BDDCFDE91CE0EF005B4B +7AB56FFB47A093AEDF0DE1EA48FC8103CA3CA1470864D2693E360006D05668A8 +AA422CCCED20DCEEBEA5CE0DA1EFB00FB93E922B18124FA11A88D0F6E0F719DA +57603DD5DA42E1C56C2FD9E5415AA199D4F334C151C1157E75C107FBBFCEB706 +5F4EA47A29B54ED8CAEB8DDA2F53D2A703B95487619780A52DA1270011648A28 +AA64338E04AA5B92C1EDF3D8DA34FA6D227A0325EA6F22E9B38B6338C657BB21 +CD4C582DC04010330F62923F817E4EDC6E5C0E6500F2A975A8A95BAA30C4A134 +BB31B5AC45A2E7F6E9CDFC810D41344C4F606049445F8E93D74271C1E29DF7CB +5459593BA28AECF64D903D3E4D77CF5C04B06DE44A41EE4D9FC769854503AC85 +69E4A5106E84016DE3D59865D4AB30BD6C9E45C45DCB5408421CC50CD6179C85 +34E55CC70FBD8FEFE9F1D5160664981716E3BC7F24B6F54E0323D9BC4B692971 +24419EE62D8B0BA726E2B4294A9A76F328B8101DA29E78BD5C4AC383350FE196 +4D42DB1653637D19530124858950C22F1E9CF5BC07D46B7A58CDE19CC88DCD2E +7FE4EEFD8AA6047E919823C8CAB2EF5274F45E861E6508CC11A8AA90AED2403A +B2BF1315C2157B3B50A3685205D93E40906EEE9DE5985405974BCE0B84BB37DB +080A45C5237B269B93C0A7CF294A18B45464A41F604C494CBEF829A381155CFD +71CEEA54CC39EEDB6DF58A9896246B09F95DC6BC40BA6916AAB5ED3D24F66154 +3662F8978FC63DA9280FF7ADB09EA5BA79D3B66E0C88BEC1EDD78DA93839073A +A4D7B0E627000C4ABA76C47CCFEE92E319315333A5584A951E34C55412049C4A +A5569FE65A006F77B416E0530AB6A8E7AD6C72340AD4CE25937158FABB2153EA +281E1D840206F5DA38E00815E9081F81DAB9FAA8F4DAB305867AC84735DB4F52 +A36129929BD2084A8EA37BB6889695204BF7290B68D5E722540BF8A276F8BB6D +451D582EE59D2FF03F6B97DDE05FA00C3D375D2D0AAC8FE298F85CC067B15481 +48D70B6A0354C705715B891915FE8EA45244677B9FCE81E72D66177E309F3F83 +F744B9EA9E55C3B30DEC6E5E03B3988FD526A82A5E8E1DC79127FC62B2FA7949 +B3AD3148868DE22BD4B5708E32CEAAE6ADEED1F463EAB9692411E18F8D6BF391 +126B2700B4CF3B59D02E3F8795130C96285A63FCD1E0F647ACB1D35E9C58BD01 +1DD06BABA00CA4343BEBEDBE677E053E9732B33A7495DF51782A07DA07F5646C +770C957AD915CC70BA8E08BE7A1F4E6BA5BB9C603E38F6FB0A2578471C4D02F4 +283069856D926B9076EC73AA39CEB0A061AFF1575C7093FDAC9F89C3DC06EA45 +06F3C2A3BC9FF21128B10CB758DF0F099B459A5264A8C24C098110D2BA1A8532 +8FAE146A91BA7D033F591AB1A94B8A6FE0FFB610F698D216D58B4EF6C87B1524 +8037CBB7E23D8550A620341C6625A1A2ECE7CEE2598D66277F857231A36155E3 +984F147783E9B93975AC38A29F2FBCF704C8A04AD84C3E04A12D2321FA56811A +5B6744813CCC187968C5C26BB8D3E6615A912FA5369C01CCF8C0DB790593B190 +1A90CFB5339B8771F325C5FC448D36C7312B11A15A8635BAB59CF3CAD176131E +026F6E141B2619EF7F3048750CC9291397F141591EEC8B612D6656DD34DB54D6 +DBDD303CED74BE76664E7DC86FCFEEF2001C9DBA56418FB61F589566A47AF36E +C94671C5E8939AF9F4D53C0DE7142B7B63C86AAFA65877EBBB48C64589AFB2CB +1280AC099FC48058855CBDEB6C2D2A0D092267996591DC3B5EC8252984E9B27D +2E9EDE8CD8303F0905DBFCAE497DE1B755B924452CDE11CF4F20893DD6FF7251 +427F520FE00580DAF1703FD968E0F8ECCDE618E1EA5820EE6CFED97C78864EF6 +26FAFEEE194A268F24249D44829AA360D731C34DC285501E966A959180718F72 +6330E4CC060588A2F65AE64A720DCAA818D49D4440F5D0B6C1F6C3A107E12445 +F1BED2D3FCBB87A9597F01C7332AA79143564056219BF87D4B907A04F77621AD +054935E883B2B137D3D1C4BC792E8335CA08B6D83227F35736C41312A0BB077A +60FC6488C5E02FD51A10AC113D4EF70038C649C1677B2204A77F2ECBE9B3C341 +F4126BECBCA61E3F3801F9188A3775924A62D30FB096B440286FA655EBA00A74 +9A4162904BEA07CE68EE76018346DEEE20839C9A2FF71179B58E1D4AB30856B5 +F5D97295A097174467010B15D733AAC5813CAA633746B430B1AAF9F997FDAAFD +436844D1A56B8E25A89D2CC4BA6EE7ABD167818FD4F6C747E07B262C99EE2C35 +323F0B471586CA50F54C6381B052B15B0C58C19DEA82C0CA29F00400B727419B +2379979CDCBFA966AD513FA903160C571C3BF1BA239540B11EF2371A3880837C +6D6CA2F374280CFA1586427AE975A2AEC34244874E4D441DBAC6CD1828841C91 +069AA87FAE849C5DC7C9EC1B9876E59F3CCDF8BB23D939F5348D7486934BFB02 +CC5A22541ED352616830A510DE7732E5D8F7E785BBD31C2BC9D348CE5632654D +2C1740F89D57FB2AA1FD8FA3304EA03F757BB8F498ED98E48485722E78D97B12 +A05F3A28438084D1CF90AC4C3FFCD7B3365941C45E1E02CB13CA1E99F7FA1D00 +1C9D489D5C95F019AB4CE89FA3B6604473DBD2CE8E278969E0A0FCBCE68C23F6 +9381882443D3FC16966555FC222F3FC4B1207522201AB7A15A7A6F22CDC9D392 +360BF4C95DAD35770E0AC7E5EFF015F2C74ED7391F40EC94B8D1C163B5DEE5B3 +911A20C2625AD3B24BD94D2A42405E655DA47D3F94F882CA2F479437B4E0BE71 +8AFA4482C6FB270F8D05B4599A01403DAAA90C01DF3AA7C2BC7E66AB6AA833AD +FB6E5EE13E45CC7CE7E200FBFE639F9CFFF5D08512C02764997FD28368969BFB +0876F236EF6189BE73AD827332DF1B2EADEAC0ED3B939CE5BC3CEC78975FC636 +44FCBC2CCF4396AC7343EC62E0E4F3DFFA2B880BF31D93ADFE201BE9CCEC8BA5 +0B9B919E05B851E0909968DA259EECC6AA0743F25247978CC09C28C4F878E29A +5070E4023BCE95FE0ACCCC01D0EE219FA8344E8F6D7D4347563BF8AC030B9097 +41F24D4BC9494915A82EE9FD37FBB6A46BF077B728FB569B1258CEA5F51F36BE +4F4D0F890D782E44748CA3FE8C8A515998371D9C7D2311F192B4B7E7C68FC6EE +3F7136714C282A2570FE591F247A08319CE9EF1E43274E4E57166E31A2ECA506 +85350DA31AA4C33C9687F5210BA225EA1007C444FBFA2126769767E47A967884 +9F68589E4BAA9ED32A7A466DE35554C132810C68ABDAE536D9D884352F28EA02 +8A555D2CE11F30598F44A65E2D86B43ECCBDEED9E4E5B5B7DCDA20EAA09D9FF7 +422FC91F2201431A9E8FC624FF44D26C0100183D77BC7E6B1A6CFBD3FA8BABC1 +AE4CB0FD382E26BE0A83169B46D91429DCB746A0326243E212F802AF6A56C709 +6E70C6C7CBC54F807956DE75D7C0E689B2684E95F1E619B02E026111A02A8BE2 +7C22515F25EEDEB353948E35E582F8DCA2C44BED3F3B18642ECDFE919299665A +FDFEA129D42686CA54D497D94C696B040884D24220D76E44941BF1A18B33CA5D +EA6D560CBE38CE01088DC057E29FEF0AEA4B4168A952D0B5A7FF2C1B3B478090 +24C36CD8DC2487F21901056FC8BEBCA67AA96790F83C446733340E98F9E80E02 +F055F4B45F2470F4C21972CADA01A47250C143BFEFAFABCDD7B60186F150B918 +0ECCCC7792570DFFC36DAB53ACB86D8E67B8EAA8743D93AC2A7C85C545D041B7 +064F5FA585ECBEB8A2A25CE058B80A757086E667B2D6AFA707617AEEB8B37E3C +865AAD22CB842EAC08AEC81A26214D010581DCB6258972585DEC832ED97C0DE9 +FEBE4ACB671CF481D3198829BB21BA9D817FA8B0AE0C679183314FF67142DAF2 +9160ED5316B2E9607B919D4E7785A0E40299BBBC4743D432FC7ABB1807117691 +451B96FCBA953268F5FFF8B104331D4F5B59FB033588E7F4C2D92115E6187BEA +886A8631EBC004B82D224270AEA8B0FF7FFA27BB1D1057893508FD00A9D77928 +19E171B9BED122E9CEE925DB45973338BE145382AA7B62DEDCDDE250AFBD6D28 +237137B24B84BAFCA3E282796DAB343279A905D7C155176E64B0988F683F9A7C +2BCFFC84ED35A03A34DAD841 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR9 +%!PS-AdobeFont-1.0: CMR9 003.002 +%%Title: CMR9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup +/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR9 def +/FontBBox {-39 -250 1036 750 }readonly def +/UniqueID 5000792 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR9.) readonly def +/FullName (CMR9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +dup 46 /period put +dup 69 /E put +dup 76 /L put +dup 84 /T put +dup 88 /X put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340 +15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E +ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4 +B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029 +85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C +DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955 +F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D +2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5 +B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7 +78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7 +E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3 +41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277 +B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072 +55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA +700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9 +8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A +F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4 +FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4 +3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15 +B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2 +AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013 +461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC +CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85 +CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C +4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F +291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223 +D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181 +C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115 +D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9 +9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405 +2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380 +A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB +2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E +2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6 +AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577 +9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB +B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67 +0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D +9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B +42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0 +C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35 +623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6 +B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4 +E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97 +CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D +07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7 +53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350 +EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9 +52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88 +F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC +D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3 +81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D +B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6 +B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A +31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF +E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293 +846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733 +46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E +44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08 +A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A +BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5 +1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4 +D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344 +6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A +E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E +24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E +75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D +EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51 +C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0 +5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034 +099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281 +7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE +53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84 +7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F +7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C +D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933 +CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD +866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B +B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826 +ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B +B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64 +FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B +40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643 +D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8 +2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787 +39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2 +1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4 +F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9 +253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B +14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085 +6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E +E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B +9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E +EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339 +FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F +289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3 +A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5 +5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46 +5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652 +152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE +67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3 +BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59 +3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88 +713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF +2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5 +D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143 +6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB +A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9 +F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95 +26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A +C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970 +350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700 +70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5 +F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95 +F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8 +9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2 +DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473 +F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D +064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF +1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325 +A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E +E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF +01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C +40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C +72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645 +24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1 +EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775 +D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311 +83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483 +5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448 +1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69 +AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC +4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3 +7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9 +65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063 +B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6 +FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6 +4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490 +8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6 +1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3 +10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B +C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4 +8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A +C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0 +7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F +852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C +3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997 +648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD +855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE +1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C +1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0 +B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7 +D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99 +24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C +552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733 +6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0 +800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8 +6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659 +E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4 +5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2 +00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F +E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4 +82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7 +6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3 +128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D +744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507 +84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF +AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86 +5D24AB1323A0BDCC0A8FCCAD408E091D37B62D3D1BF8537CFC619A78488DA0CF +87FF97E3181A579D373539E8AFF22856FD03F4C387BA307983EDE87FE0F320FF +41E45F60704B913C7381D84E98411045E4AC9FFDF8168FA2286D8C7EBF681EA8 +787E7960CFCAF502B7A3066310BE7A1159A02F1BF2C5C11A3A9A52E01DE3E108 +8ECF6C9F892370DE073A17C26D92487DC47818C92555B5FA22B8E2D726EBDC07 +7B0E0DBF8060AEAD5106824D748D9C085BAC95E031069395B41D5BB131FCDAFB +5CB678DA317AA3082296487B40E1D4297E22905E096C47A26F4DF5975ED3571B +8D41E4680A8FCC063278A87F78062708C344AC78C167A0E5CE18889CE0B44A03 +15084F5C57B50DB76C39EA6587B515F5CAD0858001D0F08DA33F13C63849DED7 +8CFE4ADB26070E46F7E452BECBA1FCE1D1604D39EE99D02D3FE7C02D0BF476D7 +68D438A2C185B65F6148263D3133C7200962174762F97B1EA41634C128793856 +2B2203565FD277C13BD2342C13A682C0303174D9022512B07ACCCCD0FC88CAFA +99839629C1DE9A67257E51FE20B5D01494A8FD21A104D906B000BC068A00B757 +D6F9DCA2AE54088311ED782D682B58F4EF4A3C6D9969CC408705ED11B2CE62D3 +E940616E483BE513ED163242C8A16395C67E4EEAA170C208286C5E86F0126AB2 +5A5CA2875B48C61CB8112A4CFF52C65000714978E352F4D301B9688E76ED5AA7 +BAEBEB668B24430916ED58EF36404E3B912BF4BFE16F0572FD530C5B437E27E5 +E435083606FC3B43F0240E01171A3BD42496D758AEBFBD49C8EBF885197615A7 +639C32791FFDCE1561BD18943A0C860BADAAEC8F1602CA4E90E0A8881E1A7490 +84C0602F98FE352B628A2093C4B707795612B51A3F3AB2A52ADDF6E9D7FAC5D8 +6C0CF0FF79BB3E2D358211DF809239CFD0AC7C18140DFF32A234E50243714D41 +C65EB117F74F5BF076049BACE2F4D5766F6F839077D4C851BFADA4F202D9F4FB +0387D88E48A4E9DDA24E7B41EBAD5757C6DB346B20CE7BA55AD821FB43058D15 +E6B577374C6F8918E3EA6BCD5CCE64A657C543DAF63A2A8453383A051DBF5AC9 +E8600CAACDF129B2BB843A32A84B2C5624CEB0A5DA14980B9F60B6CAD9A9E694 +305A5A652DB7A6F0AC28E960123A04365F335B19735F54B78C794B35A49FBB9D +60FEFEBA5941085C71D25920A0CFE830F76DD45C1F88B9C3DB554403EC5566D6 +D4B270A06BA454296EC17A8435C39721EA5C3464B0245E02013E1666DCE85044 +D7052D5DAD7CB06D15F07AD79DECFFA7CEDBA0F151727F93909B1BFD7A018C37 +099933140495831EA0F62DAE0D60672A349E2E47141187B96B846A54CDB34BDB +6647E785563AC550C78230F9DE248589C55FB2FA7D935A4FD76D7A1C03F19C5D +7CBA05E59E74C7B5B58F4145A22A5CDCA376CD2586BD2B33F80AA1938F035390 +CE98711FD1C07D94FE1A1329C4D983E0A8AAA0F61F3B74F8EF14DB359D881F7A +FCCFDEF33DE27902F4B0FB754D69330A7A2A0C72C3891E4D22B393FF25B5C46D +7391C6F010CA4F741FE939FBB642CA06FAA5E11A7EA52CB1BCCE88D89ADE52E5 +D637878DA0D48BE5C3635E2D13A0F0E9707275300A86AB185D188A27093E1BBF +CA3FB51903F806D15B7177BD8E9D24F7FE3209CFD7602B74E1E6DBB4D6C8AB12 +12CCC7F398B49BA44472E164C63A0FC9BE16947E4839C2EAC582C852031DC339 +103010CB68F4588F0A756250CDD85CE6FAFA01CFE20B58762A0AF66BEBE84811 +E098F00CF9CF03C2FC2B6A1EA45B1E466F4CF89BD80CDD4B8924E228169AC880 +FAAAF8C23933ADA8040378EF40B3A93AA01DF86760FA5C65BF5F0DD45EC3231B +ED6F014A7B7CE4D18AE1419122ED175FB06B99685BA8DD4359D2922BE9F1809A +78FBB5DDDEB3ED5A0DA71350E6329E4F082C00FBD73BC06D830A818F0F735BA0 +468954522498086CCE1E87A94355B3DBA695DE4E68439B79B33FBBD44312EBA9 +063EA01F274C9F2C2C9C3FC28971837413C28C9EB1129BE5286C39A01C57B387 +D7A08524345C0E6A9AC08525E819BA79872FEB017DA832D56E4E19FE18D0DB64 +CA34BF4CBF5AB1ADC6F42FA55848B8DA24583F47F28153A36F2F91877AB9D9EA +DFA0D510772C0F9B23748AAB5AFF71127B99E68311A4475050F9883343269E8A +CD6D71F567FE79C1DFB97641A3524A78F31E12C42BC062141BA602307E7A75AE +CE3C9BC4DC9A9BEB3D19230C2D8C05705A6102EDC7272C5346C4A3D1221549FE +9EFB9621106974264CE4D12219CAB25C77647227F0644876069BF9098EA05AFF +570B7A4BCEEE08E69F7A3F642E7B9667161D77C9059B5341947C4FFFF277230D +34376F35F3FDE14EB567A79F69EB25061D4F13E3384B4299140B6007EC79DE4A +C6A5233B037A7DBE0E2C76F9CD832A8E4A935666EF60796E16F3128D61699865 +C1738432404F068A90860C9B74B459A62D1536D898D4E5F932A5D17EE5E45EF9 +8A2D29395F1B62EFE8D4E90E30570BB02825F879B0773F90B2B4866841DF0142 +19547B9F5B4868BE8327F1670BCF1986547FD3CBF8B18F064224C65753D3C346 +2AE5E27D3DD17FD45CA68B1CF49ED71CC3CD99485D625B719355211858A60F47 +01B9E6B47E6BD648FF890ACA4BBE581E988000F7980A17284FB56820BBC7322D +E0676E2F731F1D13EA3C93636833AECC5931E2EBCFE0290431937DD907C63F13 +F0F559FEE08BB543FB7CF180EA7C25497B940B0A9ED2CC6F665A39ACD4EAC9B0 +056D09CE7A577746E4C27D264C5098160CC6442A94702E433B0C2AE9EA96807A +9D1EA132C79F9A137C7014F744AC5BE17DF9809D451BF1A00DDB7423EB341DF9 +FDC316D8C362C1E4BCC54C1DFBFFEA1530CD233C2AD478F1EF26F1EE789D897E +6C655B28EB040FD72C2651BE388A6DF15F924DF76B6A13F2F4006E450DADC5F9 +20AF97AAF58D569998FB2C18DE4E872EF4295A006D74A8D5365D433C72DFCD87 +AA80F7005FF2B05D486E4E7F13C774DBE38F0AEE8E4D28A02EAEDB92823CAF46 +B4CDB4C9FD0EE6CEDDD8427D63D686E12352FEB92D77FA213191273E01E1EC2A +1354A5CED374FC6525BC7D41DF2704D2B7A771B69BEF174CBA890B795FECF8BC +4DE4D16C445DFEC08C22127D5A2C1A6100A11AFED1C6F10E889E17E0C487DEB6 +1ACAC7123A40B8285B9BC63E975D92A955BF5CED1FB012D9C357A28A272348AD +F1DBDBAAA9E7F631D0F0342EE72FEA35BA24D8406860B82A2FBCD0D7F113C890 +BA9CB4999FCFBB49A4D6E6A315D6E5F8B1CE8322D7B1D7E861A24B6AE7772D20 +144AC3FFF9F0EC7FB289DF79F00B01BA9948BCCD99D0B68F46F74561F7218E5D +F0D79FE7B2E0EE5B5A320994B274941ECCAF6DB62B068BC1F3C23B544370B3D7 +150148488F579978E1E0EAA426BD5EC089D2AF21F19F71732145CBF5181C9E00 +203915EF44DEAAF41CC38AB56F956AEAF264247AC214D7E7C50251863F79A9D6 +1A5957347B4D6127975279A6E6BFB97CFA2597EA461856A7B6B40C221FD92122 +560D54B51EB06A89B13819BA9F7CB18D9255E096E2B7BC7856F2F9D616BE45A5 +C2B0E7F3463E6DE3C5490D2D920ACA5D12B64750E1EC4F71ACD8A588EDCB68F9 +426C7D9CF0B354DCF62E99BEA1968C8526FA511BC22FBE4575F82DC95F4026C2 +D51C4AC906180258988D2028ABE388DEE7B854F4B94740C1C2908F5533169535 +DD273D49C925E424AFBF759170FFA0D0FB9916AD69462C8030CFCB156FBA739B +E2239E15BDFA6FDF570F9CFBB5E99857BA877E7660028F8ACF9E09A12AEF6C0B +90260CD03D45B5DE67C1B881ABC09AEAEB3201168BF40FCCFA6630E1A91FB413 +3FF66AC2AB4F94AC670E2B23AE3CE46767D41E8E342A991AB72149CD549CDDAF +4F0AE4FDA61BCDA24D83303BA5995514931B8EA06CBD2322079553EC2ECCC9EC +7E01C3299501B76EDDD446878B948D2BF61B3EB6BBFC5B313D971651115F671B +242A11DD6F2E53C1FC1DF6BC94C6FBB39949CFC727EAEDBE378682B59B79A604 +B4B8DC89304E058AA7DCF16A6EFC7A0FDDF6700F9D6F06994136AEBB299632B3 +E0DB59FC5CF29B0BF3003AAB518D7F67DF88E901EE0A7BB31EC8CBEBD88546BB +F78EEDF9BD21D5D3EE84BEE56F9DB24B58CD3EF872200A1DE792FA3F55AB7059 +438C42FB1CFFCBAEABF3A871C8A29CE9AB9E7CD5CB064C498685A8C60FE0524E +152F1BABFAC966CDDEBAA3CBF35F184B531F6B8CD47434F2DE526045A0F37EE3 +6E60879CE203EB232FA327E9A7B5F5E0AB235056BDF9B9206CD18BF6579E81CC +49D12BDC6912DE98471D1EB75D4D1065DF7C1ECBBF389EA2D619F9DE0BB9158D +C564A9F80B8C75EF0C4469B110636BE36C78A55587BDF0AF444A5C694264BA7D +3C1B17F929733E0D1EB049D1382DECCF2EA183E601EA8D085AF7FB49C181AA62 +73A7250A30A555F433A407DDFF6D92847E82F95B624C252750AAADC85AA832EC +C429F99F38A65EC90F03DA8CF79A024CE0093A23CE8065A6D50821129D0F6DD4 +73745CDF20A273EAFBAE230FFDEA698D7D798A3DB965D88A7AAD939619D55035 +F45EE743141BF5804C21A19822BEB4193A76A2CB8B4008A454B9B192BC5F67B8 +B7AFD0AE49FAA68F99AA4ABED077F13FD388B0C375D42660C07EC6EE33AD78C2 +D04150BA2250F5758CBA0769E9B8D2C7522F08907879A7A7559A3509D26A2B4A +D9DC81FEFB593E70DD4E288EA8F020B98B49E7B5B179A5FC066508A0A63CFB39 +5F3B9A7551A6235218EC8E5D6317FDAD83E73A1C848F60F298FEE26686F7594A +0078AB2E6A980A42180D517E40DC991E3ECFCD89F3B278D14AC646753494BAD0 +351E52D23841EC09C997B30B65C7C888C24BAEB373D1F2B6E7E14782DFD4E3CD +2C02497F21EFEC73B88ED4135102B79F7EA69C7BE1B0EF047EB10CBE090BBE21 +BD6D04870FB51B60328E5B72DEAD3ACDC990E8C96C82E66C4C7F5447272A189D +9BA111CD84C513E2A48EDF82673106ACA495F7A557E1CDE6BDEF7205268F4088 +7D81821016BD986A63F47E2FD4D5B19AD2C66590939CDEEBEB1CC661628CAB19 +4717CD76A40E8B31E61BBC5544B360F573A28A445ADF5A9C426DA9A01BC4ADBE +225C83D3642B2C4707B3F6B829CF95B91E21623C1AFABD6752B6C39DA374E29A +C87CB7451859E872A44EB1C183D448358A2022E49C3050FB0DFA88D74BB82FAF +2AF19EF2117E38503E77811FBA88EA76861427F9ED872D81961B652B77A651FE +69DEC0C685B81F32B9B1A1DABC5BA6E5224FF988F19BF70A390160FCBDEAFAFB +B3143D96E42D70E055A3718B69B0DC0D5E1F5E6299C371F80666941EE3E85B46 +00D0E077AA632858E49139D1C7E87217B65A7FCF1D5F21121A1F25273D3ED5AB +7ABBF1F10C9519BB518BB07E6CA87B1DB6A611C1D4238743CA25E38AA219A5A3 +21C539B1A45383AAB9B33B9E989A202F564D26DFFD74CB072F6BF596CA25CAAF +D69ADF0F68E25A19E37D4C2106C95FF0BD6A69BC9608C1CD0904A6FF90016DFA +DCFB32FEA096B0C96F4AD9C0463B0621D4B91AFE086546C01D346474762F9F71 +60318E866B378E69A5AFA75824183A5217EB6FF062755820FE06C72AE6A89141 +89EEBBFF967E9BCFA5A2BFAB978670698154E5F3C26A28DDD4A17EC565485D39 +9717A3AE1457B15AE4BC8271A9101C8D13AA2EFD09C18704CEF3C07C2C0F40B6 +ED6FB40618F26A33ADB4AF32FE32662F92E74F82606E495AAC1AA8BF7ABB1E13 +8811D586D1F9068D15126173FEC063FFFD218BA328FFAF88B8F5CA2B024C883F +D0D441C38E444C68FA86183C6F7247FB9B18D7B4AEB483BD480EA1AD8414346E +2817E860A5399E2AB8D285A430031C0CB61315F520A79C0F1166DE137BBDAE6D +5B8469AD8912FD9893AEF5DEF0BD2B85EAEA124ED4A6150C07AC9355C798806C +0EF6571F44869EFCC41A5AC5AC18CA8A1A30AD9E626DFDB7ED16252BF14724D7 +6842EEB7241EF1C504FBF6743AABB133C5BCF7A03BAB2557C6E6FEB317E63945 +47EBF27A12F3A57BE85B616AEE1FD19344E8893EC3F37AF32E554B2E1BA31D71 +14A91CF0B4323A42EDD5E17C858170FC5DED3A55EDD504F128A377B0006A6B86 +6AD5524BA7F7CFA0BD65C22A0077001A4AC9DD57F05E2CEA103DFC5D0C6191F1 +752293E0344DA0E367B6BEE53B0553106FBAFDC26B0A5BBEBA30FF33EE75225F +CA7441D76E4D555BF591B986C67E58AB7F8DE6156F91A4BFCD8D1DA0DD9C2FC1 +113B5DE1925639010E5334549E033E6159A5B1655DC605520577EA577362C7C0 +C0B5232D682EE900FAC6BA071F8630F1215C71C10CC7DAA067B8F86A9D9EB286 +C79F24C391DE8AD955247F91DE62EFE9D28C7FB8EA1F6A154A68E3920418067A +840679BF22AC7A730C9CBCD3719E2B9B68163798E0694C419E75DC6B4A11552A +5CA5FF971425D30C47BA4F3F5945D289FA413D4438A1BA672B62FAEA36428E79 +2D53A72F1FC125647E6E223FEE980C094A9A928645B3B46C524AAD2675B9633C +7074015C6AA14EA913323C7BDCC1A88A9634733E9794A90EB8B559681DDC50A4 +DB1D56963A0CB974870D8462F1DF0A9A3BE6B1D829C431EA85A376F510A7D887 +78C81EB8E65B228E1025A87A4FFB17AADDF364CF81A94020739D1A3309E8AA90 +6721C1BA39EEAE6FE198E450C14691E147F890BCA998AD1C5BD146921469FBA8 +677BE8BA7E8BF4AB74D3E8757F0C247CEBA7690AB8051EDAF26F7BD595CD107C +D1F9924F54611FF80BA73B9AE5DDAEE194BD73ECAC0F38C60D7892F6CD28226E +45DFEB7C1A1730A230B9886D8929F4E2769EBBF86D41DCC40DF169E6D785EFBD +5BBD462E864087BFC4E142EDC98B0E45A38CB01B8ABFE1F3CE8EC287A367B15C +0606C774F56E3889F45834F7ADC1B244C59D053599EA746E8B3BB9654F4D6B60 +8547D41EC3C91B6C96C35CABC032A2106058AA0D673237328220BB28D3BC82D4 +452B0B9788F4C1C37615E4FF4C627E8522EF3BF791CF14CB47C274C69DC6017A +85B14C28C0A49DA21CED2FFCB15B1894C4BEF6CEC9FF6DBEFA32C31DF28A18DB +BE8521DD1936AF2E7189CF4435ECDDB1A4551BD2E9717A6B3D01A2FAD825A9A1 +5645BC10667DFF15CA15F30F40E345E04B770D0B9C51A2796C0B2BF14DF0DC1F +3822691023245A3FF3DEE53A64D5BF466F292203D584A54707A8F0033954979F +06E788EFFC2587600FB2EB045D45A079A3803D30701D28F0F39B7482F1FEC732 +D9056E1AADFB33FA2984DD4A80205AE30D91A6371C330B08D0F556C524E15C7E +5DD0BF4234148DB06258479ED1EFF7A4B0C1552437F0340F6CB5DE73A6512183 +3D6B8B95B56D77995A348AE921C3F8D4C186A16AB83CFA7C85CBDA00282B33FF +89DB210F06B6079D6D38E1EAA2A83ADAD764DE8A8C9748196479CDBD6760E17E +FD0469EA15783378B7F2DA062CDF0DC554FF839CCCAC01232D82B7F09AF77A0B +D4408CDE023076B8D6CB53F078B648F350F91310860B3195695BB04FE1B05455 +683C57DA31F2AF4C11DDF7E2AFA021A6B54904754B89DF229CBA0F28E32F8140 +C359C22BCB3D9B000141C8AAD516A706BF67675D98EDE71E5CA2F8CBC875E0D5 +98010443A55DED5A785ADFBA67FE872B2DA3F0E16E4215608F19F7AAEF12D536 +210A969CFAAD9BF95BE122DE0D4B07AF903694B2C808556E366FBAFCBE1F66DC +5622D7489B2ED54D1EC1489F8B6D776B4E47A758A6FEF003B07A68AB573A5274 +3FA2D419AA686229A9D1ACB1D317044EB9ED0FB929E7E086896EAE987538E86B +1B9B50AB6E6D2B948C28907A9E4C78CEE8C311BB0F344F2EB8B7B859D013D2EB +9F166E120B8E58472247CE28C804ACAE68BB4F6334294AB517F305F52531BAF9 +A12FF97C41B316FCB64C18D927B7747698155184F36D48ED65602B08CB2809B9 +56E2FADBB8B22FEDB93B9761BD75AD22927836A145726BF3C501B08F64AE16C0 +AEFA3D25B93CC274066FE8E755BCAD19A3559947C3CBB28543C50D5461492A43 +6F767A2E93310478163F0EDE9442A913762B780529E8CD4DB0AF6EEB764E212B +B8EC19CEB12CDE854BB7BFCFE77C7B8B2550822AEF4AB1EFAD54EBF0A415DA52 +DB9C9871BBD2AEA8234B6D6AC2F579081E7667D1431025FC0D6050109E677E35 +FA4CE075B6659F0AEA036628140551D92519E41EFB8B0C36B3B3450A3C19FBE0 +0396AFDC2E734211F7E325D0BE14797364FECB61CB19C4BEA44942B863817556 +D505DC2589119427BAFFF7C566402D8548E18281323493819DFDDFD3D5AEF0EC +01170EF2233B1034A8DEA98ED32EAE17E3207D0DE23ADCE61C63012A94C8CBC1 +8250A336700139BD2029D0724858F84FB72879B617462EF6C9528AD98ACBBEBE +8F1D83DD919B41822B32C0A38699EB7431CAD51482A308482D266F45A8A9BF33 +AA46436CABB6B1CDE5335D535839DD2C903E23CA5E5BFFF5490ADC2F3B65BEFA +B0F65E70940EDC89381ABFD3432C3F0907DDF95172CBB89A7FF1E5AF80C8AF57 +583454F5B7451A6F366CE37E18533A1C4B3D136B49ECC1EABE12E07447CDD8E8 +2F4F1EDFBBA8CC8B37CEA857C5ED4A8E030960A25EC5D39F2C0D57513858EC91 +65132AF2CB15CE80F557C9E54AE16C2B1E9877D715480BB8FA30BB1A60AB49B4 +310A93379DBCE523B7F5D6057A835F8708F9E2B64977F5102C295C808456BE5F +3FF5E0726BEBF07E0DA4A0E7E5B524DB825F6F16EDC89BE86ACB4A4C7705E210 +97A7999CAD53D83119FFCB49CDCE00E5D7771B4F83265777D23357311D9B0528 +247AA12B77D5014EDECC963C80E67365E0A0804546C9E9D42962BD493B5F7655 +7B528B284E48543ADC13AD366CECC39C2F0EA30084798098DBE31CBEE78E9978 +F132C5D86A47123A44DB6466F71F24761B8BF596C70C95A6601418907F09748D +F0DBD4B33AD543085C54EC332A0B38E17A5804968C0AB5E50D85AE7E68474E39 +3970E6A3045D20A72414576A41727FE58D8D55C830974700F0A571924A98EBEF +E532E789A0F7DC57880DF42E23D9E6FE4F9D445D4182BA52AC10486559AC30F3 +6CE4E1488F30300C5CC690590583604E5F5FF397F4B0A5D4F0DE00271BD42CAD +ABF0D3CDD6F94C615350D45E5496596CF01766C2E072B298B019500A9D6CEF6B +AF2C9053EEF9F19C310A9A865FA8B44296627CCDFEED6F67D1DC6EE51EDDF1DF +D5A93EA860274BBC5E42E2428A6F12B4BC2EAFAD93A945EB00724BA84A17B988 +8D17363BB72464D4233CEBCC47FDF74F2281AC95B2E142AA9654ADA2E7CEA591 +C038173C8282F28B40DA501BF42A72289651ADE6536524CB66DE1C679429783B +6ED3BAD1C7F9ABF6738A25A400AB46CE193294E041D6E040AD2F3E047B6C3646 +940227B3FBABE0B120F43C7C28D4E25950BC233EC90D70893CB9FDFC6344869E +9F3EF1F3587237E141BC5FEA36D88CA2A66CD18D05138B7A83CC4C887AFAD250 +9A956EB7D0AE17487D1D699D8D618171826E57BA0FF0747E81A7E789619C697A +2B61C38914EBD450B3E8EFD60BCA97F8A6CD726054910551BCB8A6753F9563DD +ACC13937B3285966676491DABDC3754928F3BBB7339D47C813A420281F04E8A3 +FDBB897E2368A368A8C073A9EDE69FB7A00853619AB67D764DEE3294907E7644 +67EEC8035658A548B251FCA866BE86966BC04BF041C414BAF85CA435AF6F5FAF +A8AC43EECB5E5D4BC5EE1E7BF29945A967D835DCC0E3BDAA2C8989B10B7914C2 +7F5617EFF326CB4B060173B2CCB152235E50A5A3FFF67BE01E553537CDECAFA8 +72B96715FD11F53B0EDD51A1C55AEB549A9428FB3D1343F7B60FC636F440DE63 +7344782D90B92BBDF539A1C3593D380C331DCB029FF321736FAFC2575041A085 +6203552A8A7C21BDC502C6A5D8F50E23539F63A4D12A6CEC3966B13FD5B78994 +AD88081580DE8FAD316FA1DB88F20D3906226270A0ADEEBCADB9CCA0F0960DD9 +69994F1AF2AF3613728DD333C6A5C68886A697EC703267FDD2615310EC5D2883 +C995B253D1FCA9F2B7E9DB9BF5D45E56 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX9 +%!PS-AdobeFont-1.0: CMBX9 003.002 +%%Title: CMBX9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX9 known{/CMBX9 findfont dup/UniqueID known{dup +/UniqueID get 5000767 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX9 def +/FontBBox {-58 -250 1195 750 }readonly def +/UniqueID 5000767 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX9.) readonly def +/FullName (CMBX9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 114 /r put +dup 115 /s put +dup 116 /t put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D4347EE3E5AFBE73BA +31023D79A7299D8F662042A8D8B6A7B4E86F48AE98EF848E83FFDE68E17A0832 +A181C126D15EC79861796F03957F5A51462C817DF752097718413D012D19C9D4 +423A5EAE1EFD4EA7A9651BAE6E45CC194BDCD03FF43F255E58EB5E50CA26BB98 +B8B11E21DBFF2BBB04D039E63C453EEDFCD9378F5E7AAE3A93E8691DED5865B2 +B78F540F8AA3224BE372B18904651D057608DE4DD729FAC398A80CB904410451 +90D66C44E943517A8F4969673B985D9D244FFC743E0AEE309EFD224F7029D37A +F6EDD96E2F88C9D071FF16EDF055955D31DEF10808B343E948BB4F6393D275D0 +44C4DABB75332DD716E8127283E8D70511F8EAF4D1A5F72E2F8503A2F964E5F9 +39304CC17ACCF531A8C0B6A9D58DBA6F24A4ECA62EECC939E8111E4BF79BDF77 +D656F9998F1EFD2ECE3E61CA526106662273D5AD3E74D08E9D4453569B359C2B +E2455F2136B4DB54ADDC3C0256EB7A11E1615AB9323ECCBB6EB48ACD469A2020 +A873E88B28AEAACAA01826C1C18120774FD5324DF9AD36FC256706DB24FEDF34 +0FCDF04B12ADB66876EC7AEC183A1EA8BABD38BADDCD0EBDE11A5A1BEADD0F7B +83585C3BA141A8B296872F712EC42C625DBEE9EBD2C414E57CC1378CAEFD00E8 +DB4B84F51967F2968329B8503C4B37A56F6136DA89167FE3AAA93257140FE94D +D96C7F85C6F82AE1596511ADFEFDEBC1B41B0395E66D2074B39B5565AD4687FC +89BB4BAFF0F7568D9EAF069CCBA2DFF61C59E2CB2F4274459792C5D097FDE6DE +0E40AAD8DD8F64C28D04EE50AB79EA7D3420CE42D39FA9080E9E046A4F22B5AE +AAA17FE750BFAF7BFF097E4A6E9362412C55E25767C311832C1C0C76005C733F +E046FCFD4CF49C6181C24BD299E90F20A0A0ADC868C11A8AB7F610186D0483A1 +B3BC4FAFFFE12FD746777209B4DCEF0E4ED15D90F19BF2FB2B56231FFDE5D40B +146E3FAEDDBAB365D88CED98629B9855AD6E57FB01BB82659BD320D248E5F7D7 +B584DD43E1F5DD2C91945DDB772E5A62AEB7080AF36A83D2BA8533E7E6FD287A +924F616F8090E9FFAA607A21F38718D668FBD6BA3434500BD01EDCEC00354F68 +E1D0E9A921DACFB83FB61C1A5C27D027CAB348C4B7E2781013B68CC5A2BC8703 +2809A49A0C2E9E004D56844EFAB4A8763B103CF7CFF980C9CF7F6BE28814CBDC +348E2486D9379DFFCC0E9329854D518B49B98F582972B0D1D18A3319EC00DDF2 +F64C2CD2DCDBA287B279F98D16ABD1D140246E8B66C759571981FE7402F14C94 +18394A4C426AEE4B0688D86D08B408763DA3537E5BA0D6A6796C316FDB0193E6 +77C6F257BEDDE17F2CA5E661F434964BAC9834BFF36F563637872FCDDE94CF22 +F076D1C2DF6357D8A26D305D52C9086CE36F49CD92ADFB4306705A0887407C9D +59B6BFDB82379111C9E33692BA9E2ED9782CE4334C6125933A2F210684642DF5 +3B129F955BADA1E86D6B80CE299FA0D1C0AED1AD61686AF1052A188881E2125C +98083BA8255B92B9CA0B48EB57F936790DEFA6E6947C0FF4083FEC296FF3034D +AD657C64F2675EED2B4EED1E88F0B1338762CB4C64C79F111CDE9777A000F65A +F9979943ED7C445815BB59052B91F0FEF7219E3DF27E1D5155B9C42B7BBB06EB +1815997FC3471CF963A15B1C5E4653C84236CC5BF55A31B94E394C635B95D847 +69E8134F4FFEAE836CD6AE71F58F48AA2F95BDB1E2CB89DEE590EFF3AB7097DF +AC185303E647628F5D87E0D82E6685DB467A0F8B7D3AB2B7F3F11BCC99BD48A6 +FA5D4D75698454CB74451B486CDA6B65547C0CBAA563EC3574364540AE7B11B8 +F9E86BFA655CDE88DE2E7D41851FD208649E9C011E04C78ED9209FD56E2447BC +E1AAA0A3D36F6406C60F6B19347CCB7D56A84D961E17E361F92C5542109D9BFC +FEA2FF9775230EABE3333EB25A40E29016E9A8255713AC8336B8F7DEB89FEFEF +4006DAAEA26C6BA1EF494AB99C2BC960D9E07981BABE909B5C121F2CAD48C938 +A36129D10D38AE8F5C64879F61138FA9F7479341F5C5DE86376B65A642B9622B +E58DBBFAFE07EEE1D11DE9DC34309572868586CD92D39FADB711883AA85210E5 +C82842EF225E55370FE0AC600A170687C60C8091B0625A1C5589186F3C7C1218 +B15B5CC3A5CDBA7085338D963D929A18A651EC7CC39B8500899DE9220A1BA363 +78698E414607C34E06E29AC5BCBAB98A70DC2BDE0FDDCCE22D4717EDA7D95397 +33420EDEC2F1D6E7072FEA85945378A6BE9C7F68DB4FDA6B5BBC0032B3C02519 +F4168C804B6A101AA60EF4FC40C2428AFEEF5A80F9B76D561C8A21B3633E13C5 +215A14D54B8A1E6143A9CA0B5794D20DF97C35B3C9E9A4673AC2123E7DD8E216 +044269B1D6AEEA46757F8D9AC5C8A92BDC1EF22EE0575C80CA7895722CDD2BA6 +F9A208E6BEE5319E63B3B3CA197D9739A4498AAAC9C7484D61418ED2BEBF63A7 +F5283A075D1DFD4B2702E1551A0D1A90DBBBEFB6A55B5F29C869763A856C4E61 +EEB3C8E14E3376B7D01A4E265C6C8056ED23931DCF669A0EC9427F74A147AD8E +82E172FA6C13DB1281651BF3D14163D963EFC7384BFC4B3B9274274DCEF647FD +D6DF0CC146BE8AA660D709526B394CE253369281FDB45AE071319E8FAE4EDF10 +2867A431E22779EE40D885E95AFBF62916D9900016805D004C0375D29130CA14 +F3E466AF350D1A5D181816EE1C4BC75DC09E4195DADA5AB09CE9EF2C4D5F7CEC +6C16BB6EC791E2870DB46B6B06DF421E7A2781D82A07D92316B553D068A1DF5A +8B19041F96ED637B932DE184F8B856FE1947F5FC8AE505F0E3953B325E0FD6FA +825EAD072AF06E258BD35607A1F082DFBC2BA5251DEDCAF68B4D03086CCF84BC +DF70BB8D2EEEE3E0EAEACC8440AA130273E5C7E78A15EEF66A9A1E0D5E022188 +0AFA50FA55C6C461C743E1845FED77378D639839F548D6827CF371AD3DFCE592 +B7F6E29FFEB6CB92B33E24E34875A5A92C08806F67E18AEAD86447A977890AE2 +30A452F33B609DE5B792D9CABF39A086C0936AECC081CBBC810B3EE1D35F9717 +260E76132661E3A8170759084AFAB04A6E773E9714A6D486E0BF46F336A7CDB5 +C325E28E747295CB0E8FFB289F4907BAEC213D4D0B495A246A3DC359B995E9C0 +C5322D750E13159B7242E4C4DD27932AAA130BC6B0400428B5E6F928CB8F7658 +EF02F7522779CDBB67722E09774C419489192FDAD3DF272C95BD9BD64DDF0BDE +999FC72607F52805DCCA5EC17150EEE38B866E3D5199E5A6CC262785EEB11D51 +80E79545DA191071487EF70C7FAC0CA345955F797912C1268924DD79D0FCA3BA +460F43E74975C04296E34423BD366A4EF7EE9463ECEF08F7E7BC8BEC570F812B +066383C2EF5375FB1504537D902818D63B30385421FF81AD92A1C153852B1427 +A39685A76DD636DC4ADCC53F2A78F795F48EFB23807E5751023FE324CB401281 +60F8A8DA779A245DBC26E73B61A1450F25AC276E1B5240578E85E1CDF5A784F7 +D4F5BAFA76F70300972E4B130C685189C4010B9035A5CBF0562EB3B387FD89F5 +C53A25D3E883B506E0B477389DA5CFA82CB157D8C30F287678B0F9A17F5A8704 +ACB5DC57D7CAD21A4EBA49248F277F929D3E49B17463EA5F31A4FC11B0836E34 +3A5FDDC6B9A45113590F114B99566D18C21464E7FC1D9AAA9B1133E5E8E2D14B +8E143E1E16595C42376694A83684E3B217A17F158DE89549ECCCB443701B520B +E20B972CA5EC6405C479C5054663D48A22D105AC98AF094340B5964D0C26D9CE +241D2706D3444C1405B2C9F7C912CDFC87EE8FBA01C0020D1AED1A6205A8A45F +8504B42431DB5409BA8AC472F2FCB4CE698F6DA92C4C8BF1293C2C998B771540 +3D933EB5E976B7D2252DAE9584E5C6864B29C3048EE159BCB7638CA956E07F81 +F76391380AAD2F1DC2DC201BAC657A1BC93F5569A5F612A4EB6B01F136F41B87 +E20D4DD6ABD7ACF1275FD80D9BBB87A45572979BDFEF59212F1F6D9423FEC976 +1228499D626A328569B4BA2755B1ACD20796398AEEC5F3C61122D52124996535 +D0813227F549FCF59C6182D6514A70F9E38565C8C98D5F797318FB531B5DA58E +EC60235B6F1D97CA5D495CF689C3F9B3260998ADA1204AC00135C7C72700DB00 +7C06798A46E897875BE619508DFA2201FDCF689E51C3D85342247B059C0DDA14 +766A31E3E25E792F090DF3EA0C45C3F64AFB918BDFF92FF0ADA2F71866CA190B +87B2FF90C872284652619F084E2259F044E2980101A62004AE9F4BBF675C5279 +BA3437ADDF2D552A033D2301A669EE8BBC840C0028275D077B8E9977D447B396 +F1D82608E030FA43511BA01C345078986B8C35B6C6990D018C2DD2CBC7774450 +D8482DBB262BB816E6A26A1FEB084FC2027C62D17790C80C65A9183F23BB2458 +34FDC5D566C1B667EE801D0521BBA520A15C0C923EDAD84AD6A83DB23806711B +0AC2631C15EB1D33C26F8D65852EC37A3479152557366929A63B753226059870 +45CE6403CA23FF95BCFB6F0C8DF8CAFCC0BF27C59414217CC6552F5945D9E6DA +AF83F4AB1917742F7502B069DE44A6ED3BEC966F59A84FAA2F8DE441C11FB122 +DEF1768D250C0CA5F2DDE6FC4E24FD3AE4386B91ED2A492A959BF7E4C0AABEAA +5BC2D933147A4A21FC5E5CF3B2AF5C0A768A8B79337FA3934A43E24F9F7DF24D +22C5BFE4DF1FD57289A6E1C9AA48D32D20F613AE94B4308E0D3BE4D1BC95B33E +A9911B82EFF461D295C5462EE2B12A3E40B89E0BC778FB76F8B847B6AA99E061 +3444A55D83FF839B926985B0F4E562D726FD99C5DC86DA24BA7AF38B93C90F51 +A937E7C35793010F351594465B39BA5276F223DD3CAE1868B969D8EC93AA50C1 +4C7E51D0D7F5E9F0EDBE1BE24BA5A977163BEC724D575749C56C4F39BD60F3AC +47B930C9E07A2D59642C9DE85EA6FAD1E7D8817812C049FDAEE148E8AB207B89 +B2324191F1A82A7C499E7BF09CF1299F0ECF55EB0A2A32C5BB89411B4AF2A401 +074718859CDC27C2FA78BC5269D5A38DBCAE55F6CB669DEED2C36E5B0D590504 +B6162391FACA9F20224E6AD24B86CCAC0048EC7A618B3263F82A317B3969F0FA +9D5EA4676B27F371785FFF6599B61A6D32E82DD9D511B04E03F14C95A4CA6CD9 +5B59A8A7BFB2AE32E9357C7766528E9F74BB8D0B9317F02EDACE2033B7918D6B +8616F1C1B3E113B0F77B0A1292E41F8353DB55EBD872290491AE1FBE95EC034F +DAC1394928930EE297693598D97EBD0720A0A7B4A5DF4EF4BE0E2E0968E64CB8 +167CA1B8C40A779023AB6F74E0F1626D8BFFA96EA09CA88524837B18DA6152A4 +3F0DC3C3958EFFF86B07581B416720FADFFC4AD35F1553A18944A6DB8FAB0AE0 +A8118C09DC8E905CA32904B44E0541FCC7EE555335E61108D8346B4EF697DE67 +7F67E1E4CF0EE2F6D89D10FF2D115C6F8163B8180378018F58C148EAD188E969 +C60B83C7B295F30614B93FF925BBB2974B0B9C68C2BBA6E973DBFB5500A574A4 +F7348BD31C735A1E57519990582D8F7D97F8B63D9DCD488DC569D5B392FF26FE +F06F9762956D64E9C258EB9B90733BAA8F1912F3B9AE88C6D14DB46B7131BCBB +D47CE60D9C63FE0B9620D03F615EEDAA3C76A7285F9897A0D476F35F5CC158D2 +D148CA1E5A96D16253B360F34336D476FABE9A434AAD5FCF65A27F48C5BC3519 +DCBC35DC1D324A270996B8DEC6D3833E76A434E05074C7E3FC8E5633D6B25B7D +69D9BF7039DE4E755A7E3BEC8A4E5929A98FE265E742B269666C75644E53E6A4 +C5AC907F7DEB319BC88CD1A7F29A0A4D43D471892A674D50C70BB6EFE5740F97 +50522F2EF056E208C0134EAF15DC9F85C7C06066782B715A5EBC22AD414A169D +86A2F606150B6F903D3AAAF44E75649DC410C3B8C845909BFC8235E573A2D291 +19440D724C960014917EC802414651E298160EA70FD54BE4EAA1A1007ABDA8B6 +085A89221C3DD5E9C759C19BAD6EFB91360CFDEE6C4876AC19B4BF67A38BBD5E +0BA20996BEFC1F8C427EBDD666B30DF5A2389F1F3BCA17132FEFFD3231570AD2 +61CB33381A0D2E2FDFF470FAC3A60E61E99C76A3F4A6BF32FD4B2B6DB6B27F2A +76A5C35E24E78F7DF28AE1B7D04A71097881CB67E060DE537C1A318B95964FAA +1455264E48DAC7689EF10905E381C569DD65825089EF325595388FA5BA6A1EA2 +E2536872DE92D46AF3BB3F1DD920FBAA4481034DF831FD15C01798AB04A73B50 +1461BA7298B2EAD460D6E645A9ED41EE0E0282C335AA716D7563AD7CFE2841B7 +0C782ED3F6D31871350A12A41AEFE21E9A03DF676671E4C953E51F801CBEE091 +BE0B7B413B7EA2479E2529DE9E49C03CBE8159DB1B28D2E290826B6D01B35DDD +083F85E9CAE378C1A3B7065280D9FFEB04A02B76F1F0E547328F005CBD39936A +5063812D1C958FD4EA6BE9FF87E5FAAD483055819D1DC39D31B8417B44F30B50 +EC95E26103A0DC2241B56DC62D424438A5FDBA8AD4D9B417F0DC31CD82DD772E +FEA23036A719927A4654876985FF4AC2D28A180969A76F3584D001A2EFAA2BB3 +7F0CC228CAD9A485F3FEE3E0F0059D3BD8484FB97593A6EF08F9D352E3860613 +2617ED6138ABE551DBC67F0151D0F9CD83A613C245E23FEE6FCC8858592AB43F +8E66FDC5A27F9312091478D102BF867B320431F7A6EA42EA763C51FF7E0E0FED +A6A830AC95600C837033968174A9406D0DFA72FD65ADF153E5CB3420CEC76A3B +43DA6743F24C6CFE0E9A7E78D540385B657CCB379BF5E238A07B836F907017D9 +C0CBA503FCF625536E27B77A262A0EA1C3DFAB015EC859FFE5BB26197A05F4F9 +87046F3AFD3387CF1B040DA7B7CFB1EE92816C7C172164CBAE3E9204559C2A74 +87E4A41AFB16E7789686047067947F41C82A26E3F343E7359804BFB3B7904F4A +12FBB7EA0E8C26801ACE0E9093D7E2C3E288F781E3E6A53B8C121625CEE7354F +B1A059AFE21AB4DD2B43A9DA710F2D811F63DC41699FCC43330DC7AB9CD10F00 +C959F73155E9D63EE7B20970C7AB1B9A8A51D0DA0ECDB917291FBD57CFAFD9F0 +E1636B9DEC48FA7FE5B225283546B01ACF3036F1B5F399688F1657E41A5F4EEC +2CB1324C136CFE6C6B92958597B952552EB7A8D58BA7773CF685FED451D89392 +C290D38D67FA7519ABD024B85D3002D8592C5D30B50726C7BD17577FDBA79E38 +3D99B3A08797696E593C0BEDC50706C986E6BD05AEF30108F4BA192E956D2942 +72F59E1A025FC31568C2EAA1D5942A479203EC01B37626F1EC334DC3C6527C06 +41162B68D66E7923911921E861FECF78F36E4BA60B4FB8554E83AB554054B2C5 +8C05D3FBA010846BC5B32E9ED62C6A0E8D92B8F3546CE0406A87634E2D96F5E1 +F007DA0161E75DA55FEC10F7564CD7CB9AA0A016438D082D9A9FD107CEFA7B27 +BA3C61B3A13D9A30E4BAD25B2FAE3ECE3FEBC9722B448E3AC5DD9FF784718F6D +DF58A8A7DA91086BD86AC776CAF3F4F2DBC2F0AA81600D53D2A0EB178568DD96 +1ED459E1CD3D897776901284DE5673813ABA0CA7ED342130B261727DBAE566E5 +F57FA86A7B4EE5F48F039FB95D318DC142E26022D7F85B34558E99078C5E6467 +FB2ECB21BCE1E271E22FFD2E71F203DE5D3BE3EE5DC01A9FA9D3E4D01C0F12D7 +D430BF07CD774516464C6FBD414FF6F0C22B9C02C7B4DC659BA3D7306AB4EA90 +12AD3D9EF3C73E567590ADB3C6D261F650E218E7A87DFD9185BD17E8FB9B8AF8 +5616C4309919470B2E01F294D6CF5A8D89BEE7B3B199C4D935EB8F12308C4610 +01A5E4EA5AC9E47B414B924B518F44461695BDBB493256D530C80A2A88A2177C +7389DB61382349231040253A36E9C91355A5F712201ECD1C786660F544C3116B +A0993F9C043DFFAD52BBAE21E69799BCD56EAC612B22742334E801FE3F6789D9 +E8B51FB66F3A3994BE700FAB60C8433504179D9329E6662652F1C6DE49CD8369 +9CAEAAE9C25FF0A986CD5B91A78A7B281FF724201841CA0C0D9D48D68AD9C991 +4A2B7D515CDE867B33DF058A239E5FFCDC44E20149C02C89C5B87B075FDFFEB3 +371700E036FA0A232D1B534C581C33583889251B9F3E32203D8FC328299D6093 +BA244223A74506D13E1CC9716F496D50AED48F058071D6AD036D571F32185338 +F2A6793724E8FB850E9A175C83CF701AD2876DF91DE0D9DA7C3D13B745367D96 +22E1B8C006DDADFFE4804F83FB3BCB48544D0091684C1BE9A4BD325AB959050F +2535F50F12B73DB7FFB418D7D6B2CAFCFD5BC761EAC675E0EBB8A23BF332794C +2D67F4974EDEF1EBCBC5FE26D62FD71DD749445960267DD18322626F84416B78 +AABA54E6DC8181CAC0ACBC66952C4E96507800FEED6D7604834A14D9499F5D7F +D93E31CC2152EFE43CD355D981F91D774689EA589E542F11297A430617BBC177 +2AF03ECEFD7151E6347343F6A12CCFF5F64FFBBAD48D8A806C6E563511C97581 +7D4BA510BA1B84B72FB495434C2C07DFB05F8BA0CB099FCE8AF1275AB983855E +3E61F8B818BD04B15533479FEDAF2AA4CF1A0F111834BAB2929A9E9B67335F5C +085B13726B55EB619D2474BB50B473629FD0ED9D4987C17A36CD0B3016F479D8 +EBEDCC7B626FD5F54EB70EEF08006C92D863F9623F50F35158EED0C209FB9D84 +45BDE42A5B3F1FCDDA88353965D55AF0072AA1278B3CCE16218C2B393263FBA8 +2C2210721E5B8A92633F6E19EA3CBBC54CB10EDEB70C4DC00502F8C7B72BCB5C +12EDA943F183B470D7878B1911583199701BEAD17F5C4A5481BC27597DC35EC9 +FFA8941D718692B0B33DEA798101DAA470BD4444CCE1FA857E6ACFFF8B860F75 +CFB76AC54708C02584E9FC8AF486A9D16D6175B87DDBCE0F270603A94B7612D2 +65181880FC339C100B1A7EA58DFF7C64FFF8FF24790DCBFFEDB4AAF033B93215 +8367CD9A9AF44E12A8EE4B7A2DCFC02C969AF8FAB72C1A1AAFD91C36173D7AED +B259DA94331F79CC0698CF95D14562D88E6BF6C99743307FDF5269B44DAA11AE +2C5505BA70F9616A855D5A75026005164BA2ADA6279CB3664A23B3C5A339CE52 +D11627E92365C39D4CC02D34F9340F4A97E6E186FA9C52E9D7086FCFED0C5319 +C97670CDA4461985A2553A7E845737E04268AEA9FD26BB8409D145E3ABDE88FF +2730DB4697F637CCC4F94F633F4B6F1D352D5E6E192932120AC10E0830B436DA +B474789F08F51E23D3DF5867A64D688F5A671E0D025FB5217B919B0C8E9154ED +43BB6B3ABE0AECE3A74A4AD8EEF54C1AD48F8B63525A05227A52E33D81C9D531 +9FF9821CAADCDA4157F8871CC1DFA9450E12B9996997BBD6A3A399C2C8461B38 +8D509B501C34B319E11FC9CC32116E9FBC913C73E80797C995ABA622E8D8BC16 +27AD703EE7676F06CC2BAA648EE5E0C04156DF21D18EF62A577CD2F9056A5A6C +B7EABD639EA8115274A88C57247A82CF44ECFF98BCF7C128452DFD54FF9590AF +464D0474E06F30DD2D82390805F4703740FB5BC6D0807F83F866A06302548ACE +CDCAE86F789563 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT12 +%!PS-AdobeFont-1.0: CMTT12 003.002 +%%Title: CMTT12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup +/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT12 def +/FontBBox {-1 -234 524 695 }readonly def +/UniqueID 5000833 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def +/FullName (CMTT12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 64 /at put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 116 /t put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0 +7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3 +A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3 +4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C +A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251 +75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0 +9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507 +098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02 +ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581 +DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B +5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2 +F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914 +2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4 +E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21 +C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23 +42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D +4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068 +95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9 +830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE3 +FC1F39A39F5613D50934419B95A4A2FE1B6C18912CECB86726926F6B77B5C3AF +F38F85F974A2D2145BE010EBB4A390B842BC222AD4A0B7FDD882668C04C51F19 +13FF91E7CFA0A0F4E99A1944B272E0291BBF3F9ADFCF3F625B87377AFEBD9F11 +6385726E908BAB7D1357504048C0F5B26251A1FA52F08BAE1D64B9FC32A684AE +896F3DD0AAE9624050D4DFDA25E581FB2630E8840AC5322D38B92F3E77B55CE2 +91ACB8321BE53A2C7D274D63CF0C68AC833BAF4B22B26EFC197D4A893A5AE492 +660D995DA9294C16BED1113CBCC18AFCB5968175EE2FB374B1AA261F22CD75F6 +6E7295A254FEFC41A66EA6833A6A4EE0E75EF6B6FAF292DC5D2AFB61D5203DB5 +4BAEAABAF39E9F98B45F22F2E37F337A7BA412807D539C91F3FD1AFB8E35446E +DAB21346AF2FEF98F7751360B1CF9773DF4D22A358159B4D1B847C6CB96DFA5B +50A608E1795688076278504401627ACDC2FF46E28D21B53CCE01B56A7B0F0733 +C07118AD5B74B4984EC478D154466F4C961C10B92CA34EFF106ECDB5189BE09A +D99F93E225D13CE9B110499CE1704474ABDE45976A948C062D61BFCAC2A727A5 +71CCEF3475FB360F235ED735A9DD54CC812427C8C127C7D4851509C5D64BA1D3 +E1B7371330186CDFBF4CC6E06F7F4EDE286773071E2D3538EF3A83A81CD93D5F +DC74E1094F1C134DF16D4563687C25504983813DD7F2D9CC326A497A16F629F3 +741CCDDFC6478EF70311CE0E62D5BFF4A54C7CFE6909F9D0D1B86E4A445584A5 +4C173AB3395F2E909F4D4F8116FD7D311599B96D40DFB3AE5648C36A263A0F0A +2D9BDBFF64BF614BBFA695C69485EEE9DE426CF567B6702D5E48F5901A1C272C +F53D0EB13EC9E65E9E67D8267013A486389C3A5FE34E2227E0D26236E86B5181 +1D05219B1BF09F791FB8401538B2D8B4B7C51B1949D12AFE4E19F14F6FA4FD57 +4F36AAE67B69DD20FCCA021FDA29BF27508279920E51FA087AAE9407D9D18811 +1CF84DE25B5DA355A202926EE5A5E217BAB15CF98F79FFEF71E8BA1A270A29CD +3121A9CA7ECC21DB84EF3B68436E684695636A7A75F77A4BB12C1993645FD39E +1A809043425C1DAB4BAF4782CFDBA46C3A5B83F260B9E302B5B86DDED50B34BC +0C711732723C2CDC85CB5C893F1358C7FD336B92721A1809B3090D61E355D198 +B39DECE01FF973079E347F0BB5793B266B83FE1CA8B63F999D7CB25AE2B4A74B +647B9F614EC86B1EC714A88F08D52D9FF00B971E54E9EFF39653612160895339 +92382B7373A0D42BED9D30F5906729DAD1C81E80ED2B72A68B66552FB98786EB +01444A623D81FEB80907DAE87B2748C6D037F4BA0D77CB7A52D657CE71AFBBE2 +39DC4AD5F8F2BE5A02E31B6110E3EF2D298B2FBA6AFB47976CE74EB042155ED0 +74A21CA9FAAF2D55FFB7BCC580F7A2F50173C17CBAC63A5C3FA81B7B3323C81E +7C32EF5127353C0F8C7C4045A285344EBC908F4E6C8FF69EA7E4F359889F163D +15F1BEF62BAA782DBCB58B09496EC3FD56EB911012E1703F7B55B6097E739DF4 +ABEEDBB7F0695BB6A45B8011535D62258E01D083F0F768E10A4754BDAB9F1871 +FC2E16188AC8258B1B5019C9D35E91DC3A99C3A53394C4956FBE532D5192CD8B +0EE6783746083534BF723F8F780A294604F5FB05525A3978407EF9AD5E022A72 +D6B6282F3D2B3D1E0B74B85F70145A577C7102779082F718B908CFDDED55B813 +D9CE153B29A86287E4E962403D84B5AC7D39C88082C8E765D7A1423C42847085 +566472F82E28BF9903A3B401F1151DF57100CB60368E2D1B3C88034584A8621A +5E42E0FC61C7A807C642B90C1424851880D2C9270C665581CDF7E5F1C223F239 +7344932D8C969B28221F4214850A32F70F035CF3AB37DF0DC4FFA0DCBD5315C4 +B7003DF5A47D38809AA45A4842E60B6050B4121C73D82F882D8DF6E6BFDD48AB +D9290D2A476258A294FB32861D0A676EF2001C1EA30355066DE8A11ED4A7E47C +D6BB9F13C2BDC22A81A5B0D8606DC3405EC99BDCB8ED21A35F62F5A756EE08DF +F558B76318ABB2D8CAF9E4CF026428E6FC6B0155EBC830FBAA717D540A54C92B +A9C6C0BD4298E9A65482D7A281214C7A6B81FA7A87F2E6A43F722BB425FA6F49 +9B1C43FA3A3E0210E1577462FB345512EBD82A5E281213EB8AD90AFA64AC32E0 +3C75D25C5D49F232474BA6E9E6F86283A481D0A08D920CC0522240CCC8B4EF73 +61CF048EA2E225278BDC2BF0031F468E2127A432D50E4CF9168501F2E41B49E5 +0E04948A13BF9B1070262B54F58B862266BDF09F8938DD94368D8E24B74A04C0 +DE58C32D290080FE1DC9A29AB717A924F57B12B68FD58A26EF22BE4EDA09852E +B5CBD164449AA5F3550EC12FFC02019C24D90F7D6085B79F8256FB2CF9D35CC3 +0195B55DBDF8A4422B9E052E46C187C51512B8C386956EDA4861E37A6B4ACBC5 +C99131B436E3BFA4B429440D1B5608F101684EC3865F8D51FD2576C09D573800 +0C31D6AA374EE2967B9728EEEC9378CD991F18D4F02E39D8318499669A56298D +8E75AA305DCF9C3074AD566F963B75F041BF81215BB5E5EEEFDD52648672E80F +387E821EA6472B994806D0EE353CB3C361DB8AE6FE134745F5B2A3032E55BB2B +ECBE04B8DE58F66174967E41E8CCAC37CD9D5DEF0D2614F1345AF461912BE820 +C754842694C614D64A80A21AD050A7B27A71C25F05ECC52237E5EDA5E2B4E5B7 +CA66322FD2062E16100E5C280476F2874894BCA3D544027096A8A60F39895993 +D06E518D15AF7D6FA3D5D4F02196D9B277A2F9D161EFDB46D3705A23120BF2AB +4D65B31A0207337AE46CD88D9A2B82FFAEB795300F174CCD47E2F733513A7943 +75079AB8AA8346CFC66CFD9AEADCAE1BE23541754EFC9D261552506DC3F59ED6 +E16FCE3DBBDC7EAF9C24B4766AEC95770CDA556E14D08F4DB8654A9EFB014D33 +69F1D79DFF14A78E63973017BC1700D001B61DE40068D053334550C08ABF3C35 +44EDDA137E5D0310BE110BFD338486AFE629AA96A19338973C00F08262019B29 +2E8CCB2F45A0DE983815D5E74554044E264D462EEE5BD06AF252E12337334182 +46DBA66FD4072A47480491AAF13B9FB652E11AF063C94C7A8FFC1A729FEE9540 +BA7379C1943E042DF8182B4BC36815C61E60493021F76FBBEEBB6DFBF23CC1C9 +88A6FCD96589A19C7CB6F54961B35CE185D65C12AA5072BE796574F3911B8B4C +564020934144844CFAC9742F85A5A9326FB7C2AA94405BA093B98A2BA8068D05 +9D72C28C0D004C91438554B0D68BC7A64379B38000C3749BA7C8A16D35A69C1D +CA84CD4855FBC044101C4BE5C0675EE6011218D2EB4F21CBE775E4C43D85ABD4 +7D2566E44A8C0DC4BB47D282C49635F23A70034224C358B3289C3DAA1E7317EE +4CB05D361F04C7055A55C4612BE87779F5F6DC20DD988BAA483D35FFF6E3CB8A +87395F5833CDDFA873E2A2969544DF647CFF4D63978EE82BF4EFF209D91DF823 +482C2B0C40719DFBEAB55B2BA6689663B33B87895C41440CF9523D3BF23FC451 +BB30E1BC2C7EB78CCAD2858DEE626E50BDEC9DB1C8447694C5B4F93C92EA4F9A +C30F0957B931BC9D4ABD7E1F1E9288A1127B2BF3C5FB8EA6AE5076C6B39755A2 +B6D472DD3603B12DD5FF936CA5EC0216872E286E6CE692C496665DA892A752C6 +9BFC706F64852D400400130D88D1E71C0592FEDF7108305F4A1C3C32079E21E5 +2AFBE0F3DDC38C0D1CAD55D63927763597949788DF79CB474DE172C1F965EC62 +511DED001B248C600EB715110E42C6BCDA4B4464EFFAA3EEB28D79EFF17033DA +0FFAC0B7B6299571 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSS17 +%!PS-AdobeFont-1.0: CMSS17 003.002 +%%Title: CMSS17 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS17. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS17 known{/CMSS17 findfont dup/UniqueID known{dup +/UniqueID get 5000805 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS17 def +/FontBBox {-58 -250 939 758 }readonly def +/UniqueID 5000805 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS17.) readonly def +/FullName (CMSS17) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 97 /a put +dup 107 /k put +dup 115 /s put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C2EB4E1CBCDD815D +CC955741BE4EB831B7D7CB85C1D25407B201CC17545B780E8D6352A0A0D4A6E5 +DE796F2FF417A3620BBC6DF08ECB46DB523766DBB51CA9D2C9F1E3DE8F108320 +3578BBCC8247BD059AE9C9B56528BCE58E4D4B58DB41F665824B4BC63129069F +691248167A4342A569F3541DE83830482FD25BD376A02F5FC2A38F6551647C21 +90EFF59745ABD56F742D164BA3AFD6781DCCEC7C91172FC9129169EBC8E008B6 +E9240BB7389B3A8583EEDA3B25E7D8FED9037741385EFCFBA4EFE33C68593D7B +5A400D9B7B37959DF426C5030EF2FD6CBCC796894C49162DDF304979DE20CEAD +29990FFBF811A278D938290B562D19AFD4F86E4032BEE83E0D19C6694D12741B +FECC3825C65612357A34E4B9C1339A5CED9CD21F1A6E79430E9D10FC9689738A +0C008E526EBCDFC0C2A836CB7D28A1256B7E0B7A148DC21440DFD5A0BB1BCA05 +D18F7D7DFFFF9B49747DC555C38592857F4EB49D1420F99BD1017D26B24FFE93 +A7C50EF56178BF4F2DC5B7E62030734F548D4B4C6C62C1129E94771CC9853EE6 +DBA76A0FB60B083D3FC665F84B168BE5888E6CC8AC48BA19647D548B1B516947 +A199D504BD2C61D447C547E128189326D6C6CA6C9725DEA862DDCABF8626AB10 +C0A635128ECEC12F6AC471CDA0C87F3A7EBD5EDAAE562FE8DB6D7C22E678C409 +BEFE7F927BD2FBD1C5E288FF5CF3492DFE9A73F16FA9ACB2CCEE08E184AEECC4 +EE452CBCBE0D356FA042BDFB969E8182ABB6CFB9842588F73FDE1F7A3542E6F5 +34968612FB1AB95CF7084025EAC7B7AB46D47CBCCDD2E631C8F28887FB3B9D30 +874E4B8ACDB503E1E824A3DA893C4178679ED7CB36634D07B43E4BCEA0C7C06D +F61BBAB43C60F457395195C2D83C6BCFFE9BDDD4153CE84FE900CB9F55D89A01 +934A6FFCD3EE6A4C496CD353C784B8C77A01C95548CF92E76014218E458A540A +FDA4B68864B432CE0C9A2CDAA92BC9473944D8786A6E85901EB0419128EEF276 +392CE1FB154F47A6D057CD58FEADFCD019B917E22798AFA2F5FD1568C0254A67 +BE716C52D54E103B89DA8E5A2F9B17B708B9471367389746964D86FB890E50A3 +67C81F07056A1689491528262AE3B3F7725D77CBC084EABE96E43EB237881257 +D8FB61E2F17BB5D30D234DB0CFE5D7955CB336075637B1081FE13B32A06117D4 +1D96577EFC5572A3047CFD8A1CB4689C4A744EAFCB256F20429782438172A5FB +86FDDD4A61EC7616CACB8017950D0391C981F88125CD7EE8FC75197D61CA8448 +9538607EB5B2A64363833C7B0075B80BD879BDCF50DFC025F9716AEF9F792D26 +6FA2593D99FE7CBBC69BE81D60CF58A584E5BA86862637A8BB28425C7F228B9A +46BB6C38541E5722622DA81C197F1431FEAEE4FB7AF93F897CD218015D3D5A08 +A193F4344C8FA0F994282B8EBA1D5F05522D7747A5B9F897A3493D6CB5EB3B13 +47271ED7A157987928E8F7E29776763FEF469BFF6702DF45D892BC72D304AD65 +38007EC5F091CAF340BBFC7704A3F96EC3219FB182C20D1740B080BD42DFCB86 +22154F49CA31DB9419862FC830C3C87E09304FFA9BE8060515FC9E2DB8751FB5 +5B97F9AABBABAFBAEC512E399E736DDD7C393291A0C65F9B73E2AC7403D96950 +027B4B90A624721557376F0AD1DE5474F6A1824CC9BDBB367E16C7309209BDF9 +A52697F8EB247D5D25F9E83DE42FE4BFC1264886E4B30C1FABD320F004538870 +03FE50D0B8955EA3B9315B95707653DEC919461BB5AC20EB026E23A70B3058A4 +52A17BCB9D119A579326DFBAB6C5E9C3585FD9FA85FE607AF347D4E5BBDEF98C +0F60C44F818CCA60892D28FBA6B6CFA838FFEB9E93D8759609D66EABA8CF0B2E +1B78CB1231AE71F1A47763695F90404EFFA3B4F8C913A941BCEF5E3264DDE043 +B1BDB637E9299499936DF695011C5B5F24A153243DAE1E4CE83D2D237E99EA61 +1CCC9FFFBCDA9456E0637BC64E81003B685385F2ECC5002A99D59C359D435311 +28C4AFB62451B80B188ABEBFD3BF8D61C0A8A9DA88388C6E07E97A4458C8EC9B +BF58F3721CC48847D0E504686E5858BE8DDD2534CED6101983200671E7660A6B +3CBBFA13A92F5AFB750D754EC7A9DE5FFD41BD935961ABF2CDADD7BA8DD92C49 +778A00A84DD6E2EBDEEAE64ECA07B5FDF9CC56E0FBD88A1CBD8289B5A9A680A3 +F1E61B3615BDD18DE70BECD736CD7772E4FB31EC46B6A043780DC1293E1FA05F +D9F0EF4025BAD2094D6F75E86031392751756161FF1F6B6543F5A83DF2B55ED7 +C78E0B7A30D486A900E3ED261FCAFFF3897633DF567085AE9C86FCB3F88B1F75 +B927D6F210F88851CF19E96195BDB199847FA753710920E53A289C0A5235B771 +13B074D6972D62AC61168AB6C57FB8AAA99CC2B3F9F0667DB015BD2482731430 +4B9C57629C77A4A716E738B72C10C987F43C0A3D0A1D62361F96D3B56EAB88E0 +2AE551D8F881EED75776A223EB6E3397E2B03961DE20B08C6872ECBCA4BE349C +197F7422FDA8C7A757D03F83271404BBE2933B826FC876E0DA0DD441DBB78CA3 +12CE38DF095F7221BD6A0168662F9978BE3A7225322C69CBB50A2C6346AD0A5D +6BC75288A292687793055A0F8CE069F3AC8CC66EECA40EFC641238ABDE31B760 +739D5546F3BC2A28239E2AB0B99AAA7531017C5A090C778A0DE6C6D3851A6C97 +C2A626B38CE1DD78DC6DE61145864F947AA1345ED44DA48ADB134A5659CE73DE +8F52B4510C01BB6E712592C1EF58B923804CABA83C9FE53E5A855D3572797B23 +49B65A59118C7EB3C4CED4C474BCBE0D13ACFBED15F1CD0C5D5A949D4BA91622 +D6960A4482B834D097FBFEBB2D8CDD5A9795D1B1EEE03265D2B827F2B090D3C6 +58B5C6B8533402F94667DC4F6AFF5A9845CA81CEC15D3A7F1295CC2F1A360F0D +9B74A99C34C8862FB8A29415AE215B134BB8B7F9B8B9D7E382FA9E5F46F8AC9C +337D88F37F412077FE48C1FAEA75B9E8F4E070FFF83110987A4F3723E5CFB28D +F3ED2DC547504B0C19FAF8D7C0855F5811A094D62E1439AF334D258D20101A43 +1EBD8CC79A0699D1EF0F685596BD517EC053B5A45AD1B68EBC3128EB85290510 +E4C42D3E28ADCF02500868BFE1ECB70005B5B2F470775D4738314F7D68A46869 +8164FB3FD9AE36C628E88414EBB076122AE27E86B2A16389A6B9C59C31E30BB5 +F83427ADF0ADFA53C1F35A0D91CB8B4F9837ACFE7E3FA5A10A3C986B22F8E154 +C1E564A55D3BE44876776128BB73624D0DE091D37630E26DB8B6FDDF8F34D3DC +E3F8D3E7621DF3DA02ACE4EB3CD541E92CB4857A2B50C4DD507B9C0E6A34FA2F +9BF88F99F51ACBFD06FAAE9790CBD9E292D0A60FC59B60E3F176136BC5D3C443 +27047DEA707438E5A8FD1944E0774201033725CEE85B7DEBF9B0BFA884846749 +F27283F82225CAC1F21867662CB7272827BE5B78E78F7072A21697FA8E5BB7F5 +A71926864B3205DAF014C2D3CBC36A645D3DA6D87A4CA12C8262FB9504D9EAC6 +27054BA669269E6E932C0DA49E90BC99DE071A44D2C08E6BF0C8CDBFC65A332A +39F7F5ABC6C529FA1747650CFC872DD712FFE2C01E9BEC4DC8FBF59777DB107D +6E38DB0D2DCFBB26FC82CAD69D749429106037CDB5F1069C01BA61E7B34DDDBC +0441794F29D852066DB9EED90476626D184D46219C14BFBE9A99FCFB4A0FF823 +60F2D71EBE70855800B7C2EAEF13E8B65A0974ECEC0867FFBBF91C49BDA85FED +B905D70A86EB35485C63A8C5B93E283604A7CDADB00B5C664DD0D1D4D07A4631 +F83A2268A584E653C9404EE26754F0B81C14E7AB9AA542C170177D71C2C5AFFB +2252C12FBE5B555113CB30FE7ACC0EA86B4DE18BCF53C9B46F8D87E65E6F32A3 +8BBD5E2164D30099BB1450B7C57CE75288080A718962DED791395FDD55C63B7A +977FA56E123F6A2CB842CCF98A0A92FAADD5CD7301AA25F3877B2414BFC326FE +551A0BFF15BAC735B5560F5E7F66B1774408E83A851B310D9471482CBA2C6C0C +ADC2782C6E1428F19F3FDB4F57E592BA7EF985F7BBA1DAB3268CF58EB1914EAF +7333841457BB03E6A68D2A9E76B7B8B8C5228902382531C44E54E5FD541CF2E4 +D86589460B916859F1DE87DF4D10FD12AFC57E389C03CABEF44FA9428BB0B333 +E258733AF1372855B280FEDF087C633701D8F8EB6A68941E66FCA2FC243827F0 +706547483E13E723BFE81EC3D096E32C21D0E7F5A7917D4F34BF582A2B29300C +904AE8F82F4B50D2C3C7F8B9701451A4121725BF2A55CA5DF0584E5BC5A741CC +16F8551F485F2C93E6E169DD83CDE1A2093406710DFAF72B2EB075BB01FE9779 +8207D068582F7625ED486812D9FE571FD5F655E9E101E6807D5785DEB574FBBB +F6F3B2902A6A8C508F508B2A9D0E0A17E41F30E526AADD1500786AD789368855 +E9B68B5226751576D04E8C9DC41A40260D3639843E057BC1D035F556BB0950F6 +3C1AA01861033008F0191394358E73750997842ABAC2CC98E58000FC28322193 +25AAFE634348B31B1A13586196167BA1A57D76CBE9BE39A6F15319E055A5ECBC +873B110A80DCE95C57EA9D6DA1683B2CDD0D839EDE32CF28409E5ADDC07933F1 +464444ECB94DF8E94085270DF7BF7AEAA1DF4813B665C46730079072DCC1830E +2B53CF271365FD4B6D4C55E592FE3A343CDED5CB792AE970FFF7AAF6DBC95B64 +EEC477032FA07F86FF19BDDA23D8B45957462A6B35F7BAF1FD053564DA9A3BAD +9DAFC06C7747916395AC616B6076ED236400EBCC425081A1A96715BBFD3A1E6F +BEBB070EAEDC6D77AF8E73B689333DAD2D825DFC3E41352B5B67416646E324DF +AA81FF48B419E0E130C92735232705F134E8A3F17A51AAE1EE00EBEB72C4FC50 +8B930F6DDA0015EE5102DF200D7BD57806CD08119A3977643720680224FDCF12 +DA7D0BDEBA050192DB87BDB7644DC3D1DF4CFA7A807B13D7A4E22C05391CB0DD +7AC8CD72A861D4982AEC874AB3F438A954BDDDE5E15174DA05522D69D1D33B63 +6CDC647D910D81F24FAE2D98C920325220C303BCC3BA8E7F9880664B29420A8F +85F98C03309FE2A0A652C09AB6AE191A760C4BD18F9B706429D46005CEF0CEA4 +4E0E171390B0D99D02C3A54A36E93DD00C852695E8B18F0D438EAA8B51DD6EF6 +5D3F14E30DD41491D39C83BEC83E914C781196E4EB9E5D8A96F2A5514D462460 +5869AC5B54FB940BC0FF739733223ADAB346431B5E824AC04BAC9F2C62A1E349 +10DBA46694BD66B3642EE61829AC51DBBF333FCED695660AD76CEAA4E77A22CD +78F3B4061F4375AE004A560512981355D0E4B8B783EFAC2F35820D237140CD37 +9E75FB6FEB21AF8DFCED4EDF8B2C8CD07060F7027DA678E650ADF1EBEC47BCCF +27BF3BB3E2CF823F0D1B4D3555941953E8297993E039E0EA83B813ABEDDFDDA4 +248F45F8546C71389B373D2030F60EB98456EBC829578E550DD92C362C7196AD +A4DDB7A672E8750840320CADD2995A68B6CE541A3A174C48D01EEEF19F82986E +339B99B75F0942535F3E3B619B94AD63AEA36EEA750E48D0F904D385E808B029 +3A9D5E9FBC35B4270D81B1FCA8BE54E576C591D1196DDED33342DF595C504B3B +7BB51B6436E9A53DD1C796F164A7A602A99ACC307645085F1DA8F1EE34F1FD30 +CAA2D72CC41BFC19D827C3A7FA9BFFD17DD2AEC41AA019D7B185C06A19871D67 +4998192C973F5809C7EF4C225F4180F7C1A8ABE4A4989D06FB6AEC300FBD9792 +F5D35FF2C34220B2113BE6D0CE81A13620AA043C921E70284F7B6E358A9F6F49 +48A2C43C31F58C9BBE316D2B2DF8DCA423AB23B840667AEFDB871BDB19949368 +FF999CD67DA81D654D3E1ACAB38D7B620DF8C42928631368F47123BC317D5ED5 +5D03182575284B630ADB3E712E4B1DCC798A3F86B8CDEAFC88F6AE4039AE8753 +D011E59A625427B68949C89D76099173EADDF2B3FF108151E4B52D5D67C24A2C +E92DC925412802DB2B6C8EBE24E6FAEDF00BF9F49182A128F309572A55CCC4D9 +DA3B177AA2F1A629B97325F818C4BABCA8C2A9E70F134091DDC16A69AA758A74 +30BD48CD6CB49339F28F283E1E3A05C9DBE01D84F964CC3058D627CD0191DAE3 +33B38ADE3AB56A73FC2B7E52B4B834204FBC41AB78AF879305A0A2B22E41420F +4860E01C3843EC762CB3D2631B99E402417CF91770E3A6627D9E689843DEEC48 +D288950FA8FD3FA2FB44F960145FAA75E7E801577735FB0F518243BD64165DFA +53456E6D1951F17A33AB2F908682107A69A46098B8500139475434829A61FBDC +A593656A61C7AE8CF61B27341AC9F7F50D7A49A5B400D84E29C0D04486F0925E +778125C4FABAD95A9A06874C5BF7EF24D19A5C4C6862DC7DEF058DC9286A4575 +F934DCF1252BB5F587644F6779D082178DCAF038334135BC10942001ED6E4907 +B8752E8B24795F8F5E153EC8BD430D09A5885ACA3663D8E6D46CE478F742E069 +7E6CA5A20D570A23291F6F9290761F005A2A3D1D43657704AC8357A9A098AB72 +7A6C3E07427732318FB475CFB31DFFD4B3B2592F4A9F0FAB39ED4F7B45B5B9EE +3622BF6F8AEEB3F24EE0A7FDC59D92BAE9D69D2795AFAE078621E7BB4D5159FE +2616836DD740D7C5429DAB2C9071B5DB6EE573A2D2CCBC462246A837FC5E3776 +23D9944271C19F338EC8BC226FCD489A59C29221D9122E6496DCC79F875A157E +CFB3C61BB62B4CC11861C13108F6F9351242A0A945E34842B79BFD0F963BA4D7 +58FFBA7F9C3DF06634022173735206287D43364571624E94AE037496E8AC4EB2 +BB175D168ACE352E51CD2B7CAB5ED47557533E1C9820540BE3EC7A678D797232 +7DB970F7D8E3B8BDD69BA8DD3E305FC8E569744A57C4560E570189D10C7E1023 +2D5C25B6EBD6078EE71C8DEF8FAD5EAAA2DAFF3D8D03A5B38CBD40C30A9DB09E +021E9B8E200DBD7CAEEF4C4E679C8F358A048147E38B8C1A0BA66F5135645705 +F1A825EC4645DB43DBA36CC2B928A5C0F90B2BF7F2B747ACC153162DD98B715E +F35100ED5232E20B8B81D04DEFC16C93F0C25C96ABD7E7CB37977579FFA33077 +E1B984AFE5BDBD8DA4A38A8D890BFF40B0907F3BDCAD309ED84C85F6F4831AC7 +BB72729DDCF7E171001EE0CAECC0E315231DDD748CA02D21B3E975074FB292CF +BE44037FC9CC1B3272FF56F65334167085E5F89BA14117E50271C4F9510D3D19 +04A5A1EA4102AAC9F84D53D462272CE6533E1E0B78A68ACE6B0F304D53F819C3 +B63FC830A13E8EDB008CBE932350F2FD9073686F003EAF600856CAA82CFD073C +E81FEFD0B0526EC0EEB44BBE497FB1400BFC1231F4B74F9C0E1803124C66146F +E182F161AF63F547F6FA9DB53174F8B463671FAA8510FA1C88C2C257C88FB50A +4026C1EDFF7BA0C723B6EBF66355FE681998F954B3DBB3E2B27542D38FC3D9FB +7E6B8170D1194D1B64EA38A567E5932DB71A7C47EEC1186696F0E83F7067AAC5 +9A6A7A1BC4A27BDECD1FE388E34721951867A0FB1A85B998824BF6511F1AAEE0 +D8BDA3586CA4061437F2A432D4AE30FA18C00FA133A5576FD3CBD981B528776F +4B77AA24032BD8547267218D76D95362CB5610585708724517F1174F0F13B777 +BA16B992CAC59C8EEE3F646EAE209792C5CFC6A50956D7E022212D4AFD3F70E0 +46FD57B19E24E8AE3BA83F2A362CA51E747C6C405CBDD1711908D5B92A3B2D14 +EA94DA77879BF956A0E86F5E3CB4673C0F18F57580B62E6B5D06FCF544CE8C5C +086BECE5DEA564BBB5E456F818BD729B7E5D42FEC21F1B21DAB103722B0DF5F8 +975CFB5F1762444C54EAEF9D3EE785E863E59BFA94A1090247C458B7E0FFCD74 +774BE704298F64D877C2D63CE3974216C2F10F127D659F078DB3DEC2A82FC839 +015E79FB23C340DFEF1A110E8131F155B106D8E2CF5AA431E4FD9BC2F2018442 +BD3B1F25C8B259B082B995E04E632D251F256ADF04C0FC467DB2DBDA74F6A3DE +3DB27CC211B29337CDB5E44F25863D23B497932E1BBCD9EE92341616CF601231 +7553B05DF230DC299D621A5FEC4B27B325166A025ECE40F40A6A12A5159185F4 +EFB1E5AA59B8D901C4B328970FFB993EB19349F0464CE582EE66662279589483 +53E761E63AB2230FB689F0DB5EC24564ED2E7ED16DBD8AC099C917D1D43BB60E +28158B9A10EEC8913A05D42183776171A1A62BECED72E675E18AFBD037AC9658 +D7BD20319025ADD1F93608D99EB5CC5A41816ECDDF97DC82340379B58583188D +1B64432BCD75E59238E161DE2704993219DA6EDE41320BCD75A048C70FC4C909 +C006019C9CFF51278F5E5C48848DDCB7F35016C23FC8F36F8EE8935E2E52782E +A14A688838B982278EC4452E28BD75185F33A1E078DA7E6B4622BE3383314B99 +272BD83D8785BE73326A4F9E8F3E1267632202A253ACB9FE30719432765A8CF7 +F57C0237C5440F3DDADD79B962F47A460D4B3C8E64B432C40EE2625DA3D18CA7 +0437F7F7748BDB07CB15512D21012AEEC330389D8181D4FA3B9BEC9702862F81 +4D696D4064 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR12 +%!PS-AdobeFont-1.0: CMR12 003.002 +%%Title: CMR12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR12 known{/CMR12 findfont dup/UniqueID known{dup +/UniqueID get 5000794 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR12 def +/FontBBox {-34 -251 988 750 }readonly def +/UniqueID 5000794 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR12.) readonly def +/FullName (CMR12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 44 /comma put +dup 45 /hyphen put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 56 /eight put +dup 58 /colon put +dup 65 /A put +dup 72 /H put +dup 74 /J put +dup 84 /T put +dup 97 /a put +dup 98 /b put +dup 101 /e put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 117 /u put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9C535A5E57376651 +F6823308463DC4E0339C78699AC82C769542FD3B410E236AF8AF68CF124D9224 +FD6EE92A38075CAAF82447C7AF41EF96F3ADF62F76FB425BEDE4C4124E7B1E0B +8BF254D91912D3A99557F5427907A56514C5A3EB961B94112077FE9417B70DA0 +B2E1C1FA3E1D6F01D11F640CF848E45BE3E205258E64FE36AFBD4DF4E93F6B1A +966C8E7FBE2CC8FF43C1F67BF6C361678B5E90F4BA524FE8A4CAD6AB28183E6E +CA6C9636E884845105595A2E40CDBE8D4807A81AF4DB77B31873FEB221BCADD4 +2C4669459704CB58A7BC230FC59F867EEADE660E49AEEDEEB042BA9A7DD8193E +56C3A36A1F639F7EA512EE4BC6992F52C2FC82A890EFDA730105B0AF7B819295 +EE00B48F64C2B5BCB275B1DD62F289CDAD4AD9B7EF057684642FA6FA6322C277 +E779CAC36D78F7779CB6DE12638B3C65B70C6B5F8A8C6421A379719B8DD44973 +5F52856A4A29B2ED37F2B1FBE6EF4B79B7C0CD6395C756A00FACD763C235914F +847D1D99831023CE1FD89EFEC83AA7E313131C0C197248605EF5BA773D0A4000 +72F607551A8EA6F0FF19441ACA179177D1FF7B423FEBDF58B0C19CAE3C10EEF6 +3538D8FC4762B77C5AA023A8186C40D0365A4487DC3564265B3DF908572DEAA2 +57E29EC669DD72974F806EFF5ECAFA9ADF1F9D2A63087FB7BBD100F0F81C6FFB +B1EA1C9DD46548AEDD147EE64B1B4894972DAE1DC3E8569D6A3CEF9F9E46DEB7 +547E10BB2959D374A33E47C58F1B20419920AB485F166062FCCC08EB5CC9AC88 +F388F0C0155027B727729488E44CCABB7064A1432E179189C4627453C5231535 +47D1F2B8BA43069696830CBB6E5F9A135CF22D3D1FE490A3A63C088EA32FF444 +24A2427BBA63033DFE2E06DF8CE67949B6AB02F26335A376B57376814D2A7DE7 +64A4347577EBE9A6E33DD2FC214A09C6D889C8FFBF1D567032548851B8F97204 +49E215CC7D222F593E1EF1439ED60AD922D41E0E9EFB5CA48F2FEFF75AC5FEE7 +FB6676D8B8D4DB6885FBE8B61B586313E4DAFB09D94CEDC0507E93000104F3DD +F83865A2C6F6A7DA8562BF86F5DB233CC9B53391273A1462E40876A8AC2B098A +DBADD5A160DEAC061F86A5FCCAB495EF8A9D121AF07928EAFD56F618E4EAEA97 +CF89A3AFD406FC9DE1E9769C1E1EB83BB883786BC075EB5DA2692CD59C4DD7C1 +7FD2FF9B18AC740A390C1DB38670DEB18C67721A1DCD502FE7368F47DB4281D5 +459B3F020595FA3B10544AAE9EF786A0645FB7C9BB29D091E1432CD878A05918 +1665643005BFD9A4B0FFD347ADC84CE22D6F9AD4EDC05E8C7179DCB360AB57D1 +6ABCD200A4B4AD56825DC345984D9A3DE11CDA5E9EC1E5006EE4181E4EFE0846 +67D8C27BEE8F84A1E01947E945BBE988702DEB2240C4BED952E433E5305484E5 +71965D3DE95C4115FF78CE9EC18E323C599727C8B93CDFBCD1CCA780DB8C81ED +C4B5E596E1603624308972FFAE9A57B0EDB51FDDB6E23EDE2946F61BEB241345 +2A192D8CAD53E823D687F9C64A70A4B4B703291FA6317C051DC6A44BCCE0288E +3839D726A8F2E39BFF429865E95C726E808E02CD06F36C1CC9AC77999F8E28BF +CE9D74B699CA982479E9D0DD98EAB24D29C981EF0349721D6819549A39413801 +F80182D567EE316E2F0AB208068E15693E4C399A381BF9BBA625E597E6E109B8 +16F3A84C8EC92F2ADE288821092A421A8D3B907048FE947230810F0777EE2542 +29A3485223FEA079B359034F70464DAD2F0E420271A4E0CCF57A0ABBC20AB327 +0CA71B292126D395E0D083B19BEC6B48A9DE2BF470C3D01A8C3F52075BD4BE02 +A0C518355814478202FD4762EC542F8E7B9B1F7824F0554660CEB83E35635E1E +DF0D03C94C903ECB36B4948ED98B6324E0094EB1DF70863142D4ED3A932D7346 +39D69F8F044B6084482D7748C27328AFD24A3A70B99D1F7D32CB984488672254 +28B6A9E9DCA2C9FF6A1B311D72413404B3CE5428BDB7FF3C36357D7975184F56 +FA6B32AD54C37D0AF7576663AB1397B80D4E998F0B4C4F6D90B483029EF2EDA9 +D4C4204C1546EFF3100629453EAE01918D09FE104E626ABA38646F17B6A94CE8 +116BC7A8D9C319434CA5B830859B4164DFADF1D7C3ECA5C78D8DEA930EA4AC3F +59DBBF3148C91A2E807FB934E3439D4F67C6DBBA9972854E6E3688E1E0A34B74 +482217CFE031CD7B5DFEF727C3EF8DAEEEDA08F4C90289E62FB2AF2357EB2E45 +4BC547980FD479101FFEEE477AAC6268DD659E8DD9E244676FD3C6909713B71A +323B211E571BE711D103FA23B5B9AF077D84E2D20FEE805E81D20C03501F0F17 +C3B081946CD0FD577F00E50B76CC37CFA97A61B89C25DD43911B28857284BEBB +5BEC61FFE3A14C64BC5425A7A82326617F6F1FA4FEAE56071C9F559F91568179 +46369B394A5CE96FB7420FF8AB7C61CB83492FA5AE4A4B0799578594C9EA67E1 +E54498AA5CD6ABA34AD3417F04F5D8D664A7EB39D41E2D17643CAEBBCCD9C38C +C5C9541641A09335EFBCE0D276A54253EFD68141807A66F1DFEB4BEA5889FFA3 +4D20BD52012206A9F8D3E0F6AFC03FDBBDF3E51506EC6336E249CEFB571AB84C +BDF8E471E3795C04E38A5306BA6D450D72E50910D1AC385BB06CCD4B8E433A32 +5A4B7FACC976BB31FCAA1E62DB2C4FE06DDDE7367930E336B49F47DAD91C8735 +9A35D80CA2E117E86B52E41E9278046ED923454989E48610ACB3B1663F197117 +52659A9D7BFA561C7ACE0771794FC778675F83C5EDCB132AF124C7E6540A140B +E0A268836C73A3C746DC964E482E63C56C0D396515283970FBFF182F9F684FE2 +655FD8F5D057D22246DDC3FD11B77552DB4D90ADBAB77BBB1FB1592129DE0AEC +F822D7D36E52BCDABBD560B403A5C56C5E1BE789C3AC049318C7FAC5E5861E42 +FD66C3C0F46361078D7E036281682BCE9BBF77983C93ECBBEBA9B359769CA442 +87FCA1B98F4EEC4935CC93B08AAADDF355C99816453587310F08C50B9BA3D107 +5388A1F3AED2AE32BEFADF0285DA90436D1D7EA85D7B9B6DF2AC4B778CFADFF6 +6EEE54D1A1C5DEE3CCA7EFF57A7C2931933CEED90CA26DAAB45E4388EC4DC366 +B9E88518D6CF094861D2A59282044CC06E63EFB390A6DF4BA5EAC7CE39E1EE03 +3D84099F5BE96612789AF3EDED07266EF10A0FC23EA1EA97040B6BAA63138B1A +A9CB8F5DED781260962D7618EDB200C3ED976033E8967A8CC676E9C11F74BE34 +343A7ECE7EE97E8F76F7E95517A6D6163527406EF5A669535CB2BF4031F29046 +BB2D0FFFB47A576F5EAB1D00A582965C56F28C00B3BB7BE2CC8D8391F789070D +775EB775437F0CD53DA840BB3575104B63E4B0BF14E3F14B320EDEF65FD4CAF5 +8596DA491BBCF3153DED3B718F833D106432DF8DB8B8E6B34D5308C9010A5DD0 +7E0E53260BB84BAB3EA748E8D72F75901604F80F4416920D69B4B983DCDB72C5 +E9928F01A4A85954FD74578AE336C782CDF81D1EB7EBCEBFBAE7ED8AB4862584 +397928F502D65139CCD582CF0723C5262EE54B9D2B8C39614652A8A90E1C3B65 +7D26B99DA298FE4B9A7E98848F619C9BB4FF9FD215B72F99506F06355B332689 +37D80AFD9F9ACD8172CDC51FCD3A759ACA0F7D4EBB07840840EE42C2D5B8B257 +2C6DB3A7657B75F2F0B9730A20112745703E2D0FE709436CA6A5F36F59E64D9E +37C0A23D6D289E1AC1DA273872F5FC5C3DA2B127F078A4D7AB3FD7E124455817 +DDC796D54EF26A1FBFD539D3A21B86DD4477DA49213259ABB3FF241424F2BE5F +89151E02FF87E0BEE26E85C0E518D8BE7CC9214B8E9A9EA1DBB49C6C212CCF08 +90C0F23E9858947EE344062EBD9C574979087439975EAD4E85CD7BFAD3C91CF1 +EFF577843AF1427D06CB2F3BB519ED1591974218C43F0D2038665F9E2E3960B7 +FE68CD3CB2DB6B36C7997C6B21EC11CF1DE049541001FFF26D14C255E3AE862C +5A5701292FD2FB3D04523D6E2F3547923BB117718DFB6E6520F0D0B5450C695B +8C9242CC8671B7284CB2E1E9EB097A3DB1B4D5E8EEB93B4DC7E38C0A10474665 +54DDCBAF079B92EA494F6FA75A84C5AAFE280284D0823D7C22249A21044BB0E6 +4062074ECD17B62E03EDF4945A294BFEFB51F5FD870D9D7230FC91B83C1D85A8 +86CDDF326FC90E04362145D6E8630C50594484FB829DA18F5C078F2EE67D2F2B +08DFF39AE2E8C9741FA989AE494C7166F122D2C5F71B97C973B7CE8500E9F87E +D59C30F2E99CC4D34713DAB680598F41955FBDC26A14CF1E73D6BD6B9AAC8D3B +B998F2D0D647356CD236DEAD6561389ED3A6746221B0CF15D6648412B35A6B54 +6A0EF5BBB34AA376D9BAF025BFC650C1B74333CE85413D0EBB2F4D082A26A5BC +3C0A25D2B12CB159F140E00E262F1CFECCB2C802FF94CD34DA0CE9B4B3830FB1 +DA85B9B670D5169928990A2E9CC869891CA2FFAD9774E6B92549644DAA5FE00C +A5BE4F5FF91A0B6D2FD8F96121D766391EC4ED3E73DADD476B7DAE1A50AFCD98 +DB7E27E44D30416088D9BC07D4661D9ECEC0806830ABF14CE55AA3CA2DF66E8E +748B8ED46466F1EEB072AC0674FE6FED231E0DDA59ED7C42BC05EF00E176050A +C4834D893DE42474EA20DB1E25059E84BD137EF65A02CC295B0FFDE4CDE95879 +0FE88BDF2519ABAE7F8CC3E6386ED35E04A14F1E3861922645E3A3F43B48A5AA +1999A5EFE192515FCC625C829FF5A7B337AA422F5E920545F9BB269C869A821D +6C4C26DD2AE746EF0F0B4C1E7E9871ADB5270E1CA9BE28225F7A0370D4C52422 +E25263EE101C4EC1C7811B05AD42F364844A56BB91EE72FC8ED53CC6954D2BD6 +F945D739BE4C61E36143CE890FC0CBF2F610018D678ECF7CEAB18FF5A0E48F76 +FDE2463D40A99380D679B3B76D39C664F4992D23E5988B0D1AF33DFB04894016 +E852EFD1EFFE586153C0F31ADBDBDE3F73FB49C5EE64D0D02E1504248FAFAC3D +903FD44679BB09C30288139B41B1E90A10139CA3172677250B16535A1F3E5E4B +6F4264DE58896E66051FC677030A121C5A285C47B6129CB5A3998830CE070D21 +2F093FC1B44089F603A21F45F60960F134A47226874C737EF6C085634B0A4A66 +139420501351F737A73F39D960EC38420BE46E5B09D298E7C16B8E32F01507D4 +0141FC52DA1DE718D634AD9C8B00E46EEEF84356759324D2B9A3473C5DA38DE9 +E30182B87F91B6A7F7BACF29A93B44C879CCDEDB063F9D2E51E0F1FC9F018FE1 +2433D85AF24B55DE3A61C4D0A2DA4FDE933F5F6FDF17E9FA9932BFC46E2D71F6 +585EEF5B2E4E89E797A24B799D7F064DD1A817A53677FC9EB8CC3E7F93FE50E8 +D50E3191052943FD6C98B573BDD1F6D70349E1F8011599E3F8FDF1D6E80A710E +51E434E85801617C6FD8ACCF1B77B4BFCCDD35CB4C0367F4EB4D8D9DE8284D5E +B4F43E2F8320C2C5A9AE90ECBA7E65D377E91DB69FEF27069235366AD3E126C3 +A73CE97F4C90BA00D206FA012C327FD69EE59AF4470A315B1799CDC0539BF90E +512C8FC3BEFE4D1B01D969EA9E3FEF976CD6E0FA4C9ECEC955B265CFD58AB8E5 +F7371E479279EE14B689269205C5B506940606CF3E24A1E7EFF3CA96ED30AD6D +E243DE57690C3D69A401AB3315FA49E4BF4ACD4DD1CA39272533E82EFDD508E5 +1C2CD286CCC5DE1202C7C7F654521750632EB637F918667E2233A43DF75239EB +F28F3129EB5DEE2FC5BFC331FF709B0FE9B327CBBCE98BCA2C861C6547E50407 +1218CEBE6EB5F9BABA4F2E11BCC6FB553A544A567B459E06375102C69F8018DF +BA6A227CFB13E2D74E6A521E01B74F2963E9A0A1C9FD87A88EE6356E3BFABF55 +BABC751D2BF85E6712E8EF57914920775906662E4BA68FFA21AD422D34E15578 +43CA0568B431101A1194F8AB1EF25E886BFCDFC10F4A5EBD9530816548BC298E +AE4A0B6B52B8B59C644C409B4191B6F4203F52314F2675F02AEB65A72C66E92A +2AC703E15D8D381522C0AC30C165B822A9B8D18CAECC094EDE020756018DCF51 +D0701B507519C4270B70D8CE94B436F640C15872F9B5B77892AA3D110E4D6A65 +8F0815C61A5127BA25815378683F46E69E54A391A8675977E7DF9C2D4E6FA991 +9F029E50CC2F266B31EE9F9F24452D5838905F330CB7E416B8AF836C5AC26AB8 +BE2ECC6EA4BDAA08C30995709E225C21D35DB6369167602CBFA8DB2697635925 +969002CD1BEE745DA2E56C17EF3F0C05E3847147F86963C37A221C8827195A8A +3D38993E4939AC915BFD9A212F5FF3F826F742B952018986F9FBDDB69C3AC65A +845F7F33C55D4BE60A1817EBBCA7E1538E8087E1BD5C083A320D52953BE65F31 +E8339C612A510B59CE48D2EF7061560C4AD258E7DC59694493E3AC878246F37D +6DE89253EBC8830C6B209E818213C4AC4CF1F391AD91D57BE76FB0E2924A1407 +E4A949C905E44F54EAED6419F13D59942C8079336A172D4758BEB5D3E786FB93 +3CBE4FD2EB53E4E1DAC34E821EB30FD44BC6CB4298242C38F848FC23AEDC9733 +52BE6F32E31E25F18301370F8936810B0566B664B042C7AE0D78ACF0A87E5BF6 +F9B66E358168B2CEA30DCD940074F3ADB793CDB136161FE2522905E87B8E463F +95D4DAB7E14A3DF7BCCE8141C5A08FCFA2BCE9F2D1B05A7642E75877EB840149 +AAB007CD239AE47AD115929427717F219B0A8907F0EC79ADE1B901DAEE87A2F8 +39361DAB43DFFF69650F601B24061A9353CFD619FF9626F63275FD09A5B13BB4 +8B3379EC4D147C41197E8387FC04DA7BE409524CEF74EA91DC066808A7FD0EF3 +957A44E2503EDA67B1C61827479486134E922E560A673BF314D601C66003CD07 +55569085AFC8428389A140EB976CCFB8F29E27587E46C413ABE2EFB51AF5913F +53EEB74063162E0BA1E24CEDCA320377D3E11BD374F0B44E132A5C35835B6E2C +D32948EF9DC7931D104C1385709DA882DED6458319F21C2329938396BC074106 +CB9CFB9E0A915F8DBC8435F386917AC87A2BA45D857EC30ECA66FB4044F5439E +CDD556B82A0E43418D179AD883C85AC276E1190CEC242E3E1D86E725ADC39E46 +BB6C47FE9E17E29F8EA81E870302A00D91434F3B7A05F243176E6EF1082541A1 +B9052191EE5C2B8E94A2E02DB65FC769653CA8D1C07A13CB853544AEC7FC35C5 +218DE3128AA31952DCE19C55C23FD69BCEA2C661F57B11B8F9E86BFA718D1521 +3346E78C701A5E51923D6D937E62FDE3669B214D240538F069A100A542720A86 +31DE88116DE775F7ACC2A49EA6C02A24408271A846990669F2AF60AFAB4C16F9 +7F4E88E917F0FFDCE68F22998AC0AF2A60A73258C3A4BBC42A2F918123128195 +196D0E150D79AC3CF4628503D1F3FC528265ED8324E56849A47B3B07C29940B9 +1BC270071E221D355EA51E9942D3BD7F99816304FFFC8F5B036C953B38759341 +ED5D7B9C8E6B70C409DD8362FD291201CC385E4A98D73E8518A4C0E544152563 +82032FBD2FCB6E403D34B85ED4053A8CB619BDD4DE001F4C3007B1F317579651 +E6D6662189CC2D95AB85D7473F65C5D7B4AC63B0FE928F3400035D5A9D443D0D +F3532B99F3AC26CB25EA3CD64C341159061E02EFBC7C033C05CD919BBD827A6A +BAD50D9C98DD94332DB4C7155F8A52013F9ECB7CCE3CFB3E667C57B022A0A753 +A45E41A9D8229D5198031ABA3DAAC142AEA5FAB6694A6433629E15AE45A67FDA +34DE10D995ABCAF45FBB3B6B73E80D05F4C51F8C29D4B0F67C8A86432A6C5E86 +F0126AB25A5CA2875B48C61CB8112A4CF9AA08F8B0157396CF63CBECDB8867CC +AC10F060630C9BFBAD84B1FF01C814878F0C177F552BDC9BB181B14581C6E968 +DAAAB2896FCFB745795C4D2C87CC15BAA041EF80C5BDC12EC1F5786BB41A5A21 +073EE0BC436B346E014DB4099EDC67BC432E470A4B779FD556341061CA3F2BE8 +EFA332637AEC878C2BB189CE7F95230979D99132FD13604B050C2CBE4D6C94BC +03CF89CA2C37032A036FEEA8362FE97F209BA5D9285C825A33A0F51CEF1787E1 +C42B2EE342CF50C81800CE3C92AF8E82561930FD2A920BD8CA7746C4EAC6883F +03C5270685D5D21510638108F4F7D4BF4E1D4A227AC3CD7161B3070A8581665A +FA36669356E19FEFC7E853D3C4E32E032627449E14CC801269424ECDD2BFCD83 +1CDA3BC83F2A6BA4241F1F1EA83815477D728FC8BBACCEC5C168C6B00653328A +88168998EA43F053664ED5BF8FB86DE483C92F7C9DD390D6830068973C302C27 +767A292071A30AF9B3C539CB41EC8D7295A4C432B53FACA297A615823AD2D564 +15FEF83797836B07216103101ACAE3E297C32CD596EA018EA7E5600F9057FCAE +831F0D8C0312873144C7AF57488DD5E977B2EBABD42A37F1897F0CE857E87BE7 +945726B80BCA65720A0964EFD95902630039A984196D994A9126A2C951B71CA5 +9C1E6807E725FADD5DA641D842F46140D7233C3DD96F4F12D9561F37D9D0DEB9 +9D22DEDB18981086ADB559A01CCE525A133C686315DE6D99573C2D104C30ECD1 +2C3634E92D32D6BF48B8DFB719313D729B8AF113D817128D51BED8BB67903D97 +E5583BEC117D405E1AAE17E74B0BAEB265E8E34EEF26B77585BF794C379A1115 +25594E807EBBF7C331CD06FB22E1F7ABA5BACEFA7E35689F2E97DA2B72C6E3BC +CF1E2971C779BD834D3577A5567DD95D209BB4E86893E95BB357E9789BF8C2D2 +3DF86ADA4B7A6A648C8E75F6A0B1BCEFF5C2FC3F5B154DF08B3F04EACC1E6FD5 +54E87EF67C39C5E7108D5D85605A3ACA000A4E7D40B5B14743D409366D24D9B9 +A5DB837BDFE654644FE9F48C872F6F2F931674B75EE20F566A2A94EF5A1DBDCF +D1E69996B6D8A8F0205CA7B592493F67EB0B6EB296D38DBBF61BE0ACE7D51D7B +1B7E968D2377A5B0502CCF599847A7150F343999F1E1251CE6D638CC08031CE7 +8ADE56E6BB44760E8361AB1DF0B5DC11D43C2BC3F6A554541462532A4275DEB3 +AE84C5D32BE195888A4482EA8D94AA02AF14E1B09F907EEFA86BA126B77B817A +DBF1E54BAFBF14A332F073E61EEEF8285B59EF58136FCB091E3838C16183B802 +602675972EFF362C55779085BD1BC33E1987999FA5CC642758E9E7BF61CB298E +6745224974CA1C9BCB5A94CA4899D6B18D967EBB7E8EC1BEDD2E039DAEA4E867 +AD6E407F60297151754287DA9302BDFF49F0AD8C97807EDE701E66824931B8B6 +54B8EC5201F17ACBBA4948544360BA056B699C73D3D2BA7348BB78E8B313DC8C +2E156381D12AD5A053592BCA98ADACCA904D629DFE073FBC217E5B9702623541 +935498A3250912C1FC11A7AF8FBB9A2F3A8F46214845DBE63D1DBA0B5F5A8C57 +3D70072845DF00FEAD7C8824173B0C5CF0350B5D66853B1FFE2B5851229D48DC +B82717CE5F18F405C98E6B71446D74F33A127F57F4270C0F1D1D5A0C48C857B2 +C87EDD76F5E1E4BC7152FD2B7FF3AFC401F90DD6CE2E74230C19A2B702F313B5 +18B9ABC9C2CE7E0148E4A4627E1B355E807FC0FA7B9E2CE2C43DE4DC33A20C70 +DF066F8C5C499CD93C0538CD26CB78CD5ED3023979A5E7257CC040FAA91A583F +0A2058041696829CF8DDE043E78EBB4E384C19265811EF4A894DCC67ED83782F +3FEEDE06998C3A4BC874B79EB62B0A2B3DDDBD956D91C5ABDD96FC4F73FDEEE5 +9307D82C97F2C3EFEDAFFDFBAE64646ED812F5C8C3F67282C8F268B68655C6CA +3A281EDF0DEAD428B21B74EB88C734112E94552BE9FFF204DB689A8AB8DA52C5 +01316C6D3903330956D986AC107AAC083C020C3CE912F6C5799E47E3273B335C +5F89230BC17F2CAD4612A9BA22D3E463673A74E602F19B210EE8FF2AA9BEBA7F +6DD902F02AA6402765101A3CC2E71B2ACF1E069A79DCFA3AD793F57BF06811C8 +94ED472A585122B6CAFCAE569F95E03B67176A0837ED8B9167970E1D35636156 +96986DFBD9E5753C16B65BB9BC986893D13D35FB16101D1245FD26397086A7A0 +A5C16343DBE02536E476BA7A53ACE19C6DD0FD8D7103FBABB5FB3AE3AD970C73 +BBB3D4E2F2CE07B3D6A294A8CE482E0DEA8E2BF325787B5F5E1309EA3533BD16 +EEA6FB31B50881855B33AD6A955C46BB7D26D93EA0F1C4C4D31CC49B7446FCA8 +6C5BB7C41AC66E6616806086AF0DADA43A429C73FB4A760A8352F5804C27CF80 +02E317ACDF777430930F7ABCB4ED59EAE10DF4BE8F807FBE57261A94F55A786D +9C6470A1C85A2BEC9CF7B301A4E2BFBB277E9FC2FD827A1A93AE249EB30CDC5D +4D1B691CA1FC6B564912E9A42304992AB224111A90D3C0C76EFF07CB62F6FEF9 +ED2417593C51B960A7DBDE87EF3247478C690C354F950A03FB0065B0CED98627 +6FE6E1893A43F18EC3E198837733841B67384EF284481E392E2B54441A5CFA56 +DFAABDF0C60269580EF42240EC04526CFF47C241982865C46D1B70DFE777BBBB +3A4FFEC3D3226AE13B5558B7D5C1BD68B0F090709E0E87C7EF6F479742AB553C +57667FE17AA727D25ECB7C7DA2C1700926C200CF17E9AC88AFEA6FB5ECA91168 +37CDC2272A1C3AAFCC1F5302C05A3F0CF04DAF117256C5D2B865C256079CB9E5 +475017CB2B1FC68A88892FA30D44FFE2F66C2026223EB6D089D41F7E83AB5E03 +327CA9DCAC23904C2DE839D0CE03A8C8545CB98E21726174B80A3EB5DC39B772 +4D79B0A244D617C5CA896FFAB393DCD8B67A12B218F3138903C4891B3524FF03 +E3471B1B390D536C4BB448D684725AC40DBDCE9E7A3518DA08026F953C23A4F6 +70CF057032D30361948B38941EB2AEE096270E242777664B8F9C8322BB7FDC0A +94ED19E7C9F216E2A0005A9A7ECD4563E2D1A28D32B29362FF5D6524138BB6BC +35364DDFCC01850872F6B715AC159791B5721BAB94DF7DEF242FD1E467B7DE6D +C2F5883A6F2552F3B1F7914ED334B8F39B1BEAB4A92A0829057A07FB71086D06 +BB849B1DF96268A57062509B6CDC7EBF80435582226CECAE9184C1E385BADD91 +43C6BFA74BF2DEEC72A4B41E714FCA95E7B1160A7E9DD08C006B6C9ABF3A9CE2 +4576A971AFDF86ECBB5B52CA27D41BE429AD743B42614E75FB2E5E4827C5EF08 +7DA223558997E5A397D2A8A2A537E7A4378807942D9DB6DD425AF4C6AF865F85 +1CD044CBD50770F74C8BB3CCD8F10D43DAC7FACCA4BE70EF353CA5F20EE7C8EB +F2946DA89825BD9EA4117173D92591BC4494F551BBFB276185A453FFF1740378 +B96A92032CDF61626C0C2BD0402D138A8E6ABBCC8C64C38C7334C792B17AC128 +4FBD5378D0925B9DB1005B3F2DF995104E440D00DAB666C24906C309D27422AE +AC45E98954C7B8725F9A57D0FA9D348C318FAD756A30500FF219EA033C8CD0DD +87403AFA39E2BD635C8783420C87B8B89280A06C1933275EA261510E2DF7FAF7 +95C88B7A856E1DFB22E5C275A0EA21F97EC7CE6FE8E3999658FE3275980EB9AF +9984703CDF36096FA374ECDC73B19566ABEF87DF348965823C9866BC350FBB17 +4B10DA0C808AE46853F48C8F93698BF30790AF1EAF3DE0C69D98ADB4EE8580FE +925CC4C4A5CFCAB6704F91E2044F2BDA528033A051291D83268FDAA8458BA251 +163C5C0553C36B3003CACA97113016B2DCCBECB92A2A207BE15A6C1A09574330 +3638F3382A20CBCA42F41800C4D3ADE83771F13C60946FFFAF03E40222616D16 +5BF75291EF6E742BE9564C9E77C70F76524EED417352C5F6C81BAE94B483C0E4 +E8C174867FD64695DAA5027DC299DEA9D64DD29C42BF5C3499B76E277192D784 +E76A98BED0E4563956DDE7829F46220226247AF9D8EA6627F5332FFDF98A399E +BD0C390F69CDB5B7B49F71F7056B323E32400222B007A8F558BCB5DD9C3EF605 +898309C7C375ADB02E4FAE62F96A289ECDEC32D608774E75668A4877B7197EFA +F7FD4AB7211AAE20051581D8CA2DFB8058992ABAAE827FD83F60FBF59720CBD8 +6941B4EF77EA80EC2D0E1327434CF65E50CC1AA927F3D05B34903BD667D06B69 +65FD380314E1A0D78F1AC933C6A337D3DE89829C41F66A534B39FF30791AD313 +0E28D73C15AB1891AD54984598F2ADE1478B78DD1369AD8266B181099DED2F4C +03B1CB838EE2CFE6D5B05B589BD21D80797703411761B9FB175C459E6B752086 +377360EC2D77DEA3FD0EA67BECF3482946159402CC2FC820AF309067589BEF6C +2D983A16284D1FD66235BA564DFDBCD1AACC45AA2BFE3DFB24004666BA2437B7 +BCD46AF19AEA81223538AF64B0501586AC06B26EE666E58A811F35010D7A1602 +EBFA84E2387AD58F66A186461E9E2FE040577FB2665DDE7B24C3800B937E58FE +607C215568DC5447AFF26EE3C71938CC782DC3075F7FBEE6ED9707F7DBCFA17D +F12A13CEDD14199F4B2E06A943ECB9EADF3A04C6C122F1AB4D6E9DC3FE8DAD27 +A41D6E31281340205D5FE3EB960566638ACD1ABD65A61992C0E7F35E877C5DE6 +2724647FBF31B767B57847A439FDC5D8ECA6C867F1978E947DDCC9164631857A +A6CEAEB79886DC87C445C3E36DB994710A4D2EB7ED159AE6B00497C9CFD1A602 +7117B5D176EB4EDEBD2391390279B1FAB2FA7136D07E292A8E4623858DE893AB +C21D590679A055FFEFDC19DEFD43122205D89DE6BCDD7900F79C7FF41563787E +5FEAC84651D32FAA52287812F76A878B788DEB47B40A97C811580A4E36A3F4E1 +59566FC60C809F01E68517379EA3A8D78A31ACE874B4E52DFE489AAB54AE3B34 +92A2B34451FE97D3E38464C05397866D5831F4F9E82188D78202F9453B5DD66B +E51AF170AF55A5824803139F08CDCCDADFE58965E9989B94E2A9BD3EE1079E73 +EE1C98401ECC8BAD0E8CEF584DB4EDBCE72DA4BC8CC5BCB7B53DAA11790BB6DA +212B6436A4E71081B98F0D601F293AF566795EF218990309154158FA18643EAD +592854B0B53782F355B13496DC00B4CE5B05896CF0A12D2F2C2185F376C0FFE8 +570C8DB66373ECF721A66F48919B690F7A3282D850120AF99ABD034B0BE47314 +7FA81A4A7B341F4B61B9292CFE1DE2ECD63CB4259AC4152810A8072D806EE214 +53495BA4996F443CFB05DF4A3F1E892AA508B48CD692B693DA93C5A3B6F35C5B +34D3C099D5049428B33A89B5897F9444E09E6218E4E690452A999EB07978C27F +595BBFDCE92199FCAEFE1B7B1E14D09141289CDE033B4EA2F8744DD762E55E5E +570E9FAE70EA0E03FA7206BDB102BD55F685F9086397611D17352C863A451AC9 +940501189586797F69D438B0AABE1564BDC3AADAD90839BBC47DCBA60C5E2CD4 +1565E8AA631AECAE734AE88CFE206B7D19310C0F326DAF227E8A20460865B8B1 +4A744E6C0AC55569AF51CEFC98393E72F87D3DF1E005EC034A495C3E9440E5C3 +A9C7718BB3D310B01BC4CC20850F9E1AFCE6EB6879DE5BDFCEF657E59A44BCC7 +F4138FC29B57C2A864859FD98D0B05DE8E27BFA0712ACCDFDD2E719A62358BE6 +D7039746D3B5BEA6D634865C68780D866E56848E9E758E113BD9C516F1AF9CD7 +8E59E340EFBD0AF461E419D81453570CA33E36E3066228506A393B7B8735550C +A63E7F98F83233ACEE78AA9485DF6FC8E5290C4419D34E57E5F2F358CB4840EE +3D2BA0CC876EE54D42FB74C8C2ABE600F691CD740AFE071C0ED49B6DE8F58B45 +8D85D245BF7ADA4A7EEC382DCD1AF6F72ADFB60CCE2E63C3B2B627A375B5AAFA +F00102B9D4F4764C82AFE3B7FEAECC59427E47C64AFBF646823A7F55C3E59FFC +710079D7F5C508EF933575C1F63C109137E2386137CC87104E46788C9F319F88 +B19ADB5708EAA7EFB411E1F9202B61E09BFC55A26D22AB0010E0CA5F279E5491 +E539E6C50A0E662767D83E465AFC0BA7B8850D299B48CD92532538C1115690B0 +6FF3C154779C85B9DAED4B693887D9768217FD32655F9491ADF914EE3085F5F1 +332C7411CBAEA521428B4339B167C70FFB94E0036FF50276743F176C590B23F5 +BDC6BF3714603154F3F0F53627B8ED31C20103665EA11FD7B6E338DF89241475 +BAEB5F9515D9 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR17 +%!PS-AdobeFont-1.0: CMR17 003.002 +%%Title: CMR17 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR17. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR17 known{/CMR17 findfont dup/UniqueID known{dup +/UniqueID get 5000795 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR17 def +/FontBBox {-33 -250 945 749 }readonly def +/UniqueID 5000795 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR17.) readonly def +/FullName (CMR17) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 49 /one put +dup 53 /five put +dup 67 /C put +dup 69 /E put +dup 76 /L put +dup 80 /P put +dup 84 /T put +dup 86 /V put +dup 88 /X put +dup 97 /a put +dup 99 /c put +dup 101 /e put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 119 /w put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9D6295729076BD8E +CBC0F4C1BE246922D2482233846A96D867B66D9CF25A1DB661141D36B8506E61 +A022F9EF8BC1F2F674EDF1533E67A78CA29A612AA9268E113C5EB84DA56CEDFC +D7A111403E6E2A8682DB04368889747E003A124395ECF0C7FC81218552EE7C6F +60BCFB4120893528670D0E8A4117EA5676915E3591AE5652D003EEF67818A41A +8882E102AEEEBECBD15DCF632ED246A6A58B6A7780DB6F1F9AE3FDAC8344585D +E104F2BA2DF06D68945889A2A3B6C262FB53FC670BC5EB7C56887FBFB7AA7026 +84115872CFB0652C6BB330447AFF8F0F665EFD6A41D6DB6877B08052F402448F +CB21C26BDC900636C99CA347B79AA73AFCDE9762A992CA3DDF7279E5C50F453F +52098529850AFB1F501A442D6A02E0A2896F81C8AC735AF1E7EE47208B4CC944 +649DF6802EEE813F1456205C6126D7D0B1821AB62DD65468F3A30575E491623E +0054E2E680E4402E1C8C538DA389B81603BE88D6DC287A076F92B224CD58A0AC +44B8D490197341808DEF243660971F444A560C747BC6F52707ED42A99736ECCF +EBCB694A561C3A70A319D204CD40D402FBF937A00BBCBE85DD26C9E3F91B7D10 +D85B9D314BC3AAD5A58B107F5F341BE2C53490924142566417D6BE03BB4977FA +6635EA58DEB9508E40B9FFAC75FF44C683680CF242FE210519C9BF92483B0A54 +83F48341318BE16D2F8C988FE3DB2E7914581F579D5E323148A31E4ED03BC24B +C990372DF5F3B0C5FA32EB2CA4FA0EA33316569133C87697BAA2292E685C26CC +F8CD40A2366E60B47D47CC9D0FA29D2836011376A07F78BA7664DE96E775CF45 +9BC91559A063073A4C2FAAD0893C517C5C46A1425D07EDCC2B57162E3A45103E +FF26A2D2F98B194256A4B052AAFCC08965A50EECD7B9E8F35AFDF7B6568B3983 +8030655E7C2BEC961A2F20539D617626E8454E3FE9EBD3EFCEF7F63498441DAE +16CB509BF239FBBE25EFEF07A3E16C9C71EB8D9DCB8403916FB40FD7F4E1A52F +72F2DFF94FD14D7D49FE775390C17C37C1BA0CAF35CF75D682B7833A83224158 +D54CE962CFBAFB1B2CA50B60CBEB1F8F58DDB2F5470C355ED9632342D9382AE4 +5D33BCA3A0A25EE9E5B39BE5370E7F20684C664EDB48E7973FEDAD9676F9EE8F +701CD4D8CC9B9EBC06E8C86EB88AD56E15CEBB8E1930E8F711CB6E01D5D14967 +D7E6C1BDDDE2C4D00384EF4CB02877DECC27AD53FC981338977BA0CC0257CF7D +B42E9BC91AF45D9722461EC3CD9DEAA8011FB855FE14B74BE0A102008EACA2B6 +0E287BB4F466FBFDD6E65A5262B9322F95E20DAB875A10A84572D982E6FC7ACA +23C0C37E5EB47B8E69C07507B53CDD98CD1B6445E1699CF35B3DA3E0DC56BB76 +F997C40E2ECE47DBDDB707EB527055960113F2DABC87FD9EC7D0AB36B400CE33 +0D54D4F197B2830B43DF0AA802DFB2BF747A4C44B31FB708B2C8BBE1955A6A28 +379C91AA4CC065A50098AEC0B837E180B76801865A43C74859DF18FE1DA1483B +C17843BF1C7E1B11A8C6D8BB8CDB1D552FE6A1FD0A696A8F7405F2320F8621EA +17C1A32056C45A9ED35D2BD12D02D8B26489CAAEBF4EF33B66FF4BD9B46E4823 +6395831A8F3366EEA0D0EA88D612DEBF63DA7FAA24DA979ACC1A52544BCAA007 +6C39946BEA6076ACF45722B2B8E4D0823EA2D12B14A98367BB0433A21FBD9F94 +18DF298C56F67ABC9DB1868D431A854DBEDF8E1F49E359A545C75A7AA1FA4D5A +50F1EE6B45FC68ABF65FFF257964E4E50D8B0C1FAF498DFC554073697C2F219D +4A68DA9E873B270B9C56F0DDBC9927ADAF9203FD684DE615F68C24ACFFB44690 +89C0D5322049FA69E7FD00EFC9C9B2BD177B5B339907F81C31496662847BEC1E +56B5DCDF4FE618970F4268F475B2EF7E0F28CC986DDF098E59DDAD818649CC35 +4080C0867A884B8177A6880F06F1E5CC130AB4243EF8DD8032FCF390765BAB1C +1F0C9728EEE261A09F8C1D7ABC7A6B1550551BE2A7D19D45B656650DB00B3A5E +B3E1186043E173BB4DD5EFFB379654F88146382AE3F7196F099BDCD6D245FB6B +AA2FA9B6CFBC9F0CD52798DDF2F13874BDE5B124DFFE0DD93E24C9DAEAE4C3BB +71A9A13AE2860F620B4EC789F95221015D9C510CB4AC775EF69DB9E32E59C896 +1AF82C9F0DCDB4812A37761859A3D3BA0CA57F244489C78065346FFA78F5F7C8 +0B2E8CBA9EE62FF5C27369D0BCD52857D40F1FB8F8A1441B83565A4150AB1945 +0B54D6E49F66389E43096269EF5CDD39526A288C0CB81E324E75D326EC9A182F +2CD966368CE300B41873B08E17C3E6BB51804460D2562AF5A12339966F44CD09 +114C6809AF246B5BA6937631842CB9417781A58944B6BA4FCF961465C208957C +81A662D560D0F81BD3CB53C06B6D979F04F6121CCFD5D52702CBF6C70C01EDBF +2040AAB9CB144321E68C4010E0E98CCA2603EB55DD62E881DB621C37EA4108D1 +528ECC7A0121B57C6BB1E26F8AE7161ABA7E88256D2D6A8B7CDE2E730D137493 +3FF628EF6030DD2330D747FABBA03B44CF600418C245C388F33EC5559E7313BC +4B530C4FC12530D38B27D6408548F25FC084DD0523B27D29D6518D3115AE7755 +37162CFD4CF528214466FE525B13782F9C3CD78F3D6C7423E63A134C0A371F15 +10F4ECE1D482C647B563D3D15586F80BD9DF7381BD53927825D5AEAF762E1CDC +3BD184F345029A95B3AD4D1B66E79AB4F0809418C0CFD4D503457A190D02F134 +3F57FC04FF655AEEB783D6791E4EC300755861837D3D50649F6B7F60766211B3 +8148F8E575E28D6C2DE75B15E722ABFC6DAADAE53D89FD295352781DCC2CFF6D +982F6DB778D6FCBF1B7BDCB53F3A23AE6EB499BBFA96E8BE04C3C8E5B660EF24 +01EB842DAEBE979F2C2DB72AAB4D21627063B1D3C6CD40944E4CB81655698FBA +A343766CB22E392E5DAE01DB33A00918D6DAA07F2F38B336A3C5DF3708865E75 +0DE04D3AFBCA27A249E97377D5785B4E28EE0E93F7D353619C200DB967372ED2 +153BF8BE945474266EB2FD30F80042A11B7E3586DE4AB1FBD4A741D36DE583E9 +1CA25DA345520AA60634EC819E7EB493CDB128BBADEC3890F055455F060A1100 +D5A41D7B180027E08AD6EE7E393DB9F83799544404FE397F557773BE6A130541 +157C0EB37E036C94825B5090EF85F8B4E3DB72895D86687758C20EDEBD6D1079 +196E9949DC6ED0113571C70B150B37E446E319EC54D44CC0CF6A14760953DF4A +D0E1F33A54D240E236AB63B35BA8E071D77776BE5B9312245F2C6E4FDB4312A0 +0D9CF723E7D9A3D8546C4739C00C301A89ABA60A02757AB1A0AC40B24CE6CF12 +5850485B11E16646D7150795EABAEB08364A53161111F46A7BC3423A0D3BEB69 +BF15726C1F8363914945DEEB29CB8766328318AF3B344FD6D77BBB92BD7FD161 +93356493D4D8252AD125708D47C124E44232FB2BF7DD75F87889496DCDB75D03 +F58A57D4122CFC194B75A9E9C4789C9A33C0435FB4ADA16AD4A6191928D1663D +05FB8152C0AA176FBA4755205F8A66713404787070757D3721ED6E6D55A59DF0 +C92BA8F05EC7BE05D0A2E66DE85E75373483EA3BBEE0F0DFC7E2FA5FBAFAB118 +058D095AA71FDFC8AF37E5A98406B64E58BF476C6926725D7EF3C2346CE3F662 +1E5A4A18D966479A37070859014719456EA2C7F23E68E1AB2F25ED3A0C00A18C +DD403506923BC983F89CCA125780DC76A411472E38173BC0DD4CDA7B43E13419 +B5AB0B9A35E77C58BBA12AA4F5C7EBF8A29996B059E4FAE6809565570442AEE5 +D56CBF4407E1CD9A4398B1F3ADFF023F64B230E3D29F526B62D964F5C8DF801F +E94295AD85BD9E1C18E6327977260A871E921C0745CA06A263E335E344686E7D +D6FE3ADB4EE0A7E462F3C00873C3E95D183CCEC71C0E5DC1D2FB310B28FC3611 +67C23DE336C374F72368F4973052B48E39969305791C986E6EE35D0350571860 +3A8ED849712CF21AEF444BA390644E8646CCA16559BA4642A5800827A0DDC453 +7CA0818BC47DF6348A5209A2F0A10CA39840CE6346E89CA0E842BE8692DEF25C +4623A5A0E0B98708B9492E9F564324BB3872D6B953CA59E9F393C477E2AB85EC +C557D333E88C111CF995FB79D9432DC94C2BDB3BFEE13C0D7D1BB920DAFA6158 +8548447AFC65CD5515D5021E0ED7D213B0C08C35BB424AA91885CA023D7AF767 +B83E619B15DFEF5588D2F0564296E14B5A6ACE03751E1016105C51BE76EA5ADB +4167BAED2A8899031FD7BA05C410ADA25ADD94A787EED1A7AE133B0568B1DBA5 +44B41BE013782CFCA3D81E8E8210DD506ADFCE7DC7E792EFEF438221164A7D1B +5E7089F476240C5F94988F081943F24DBF7CC3D1E58CB89E1C0C1624682CC3D8 +C95815ECC9183A4B3E353C7F920B7E64086E01672DAA7C8A81319BAA03C1FBB7 +8E5E84CC5BAE0E107754794C755B7AF00953504094E1A9DF357D51B578259613 +8D26F0BA26AAC459BBEEB90BCC98B865EDD26AA4DF533D6624EDAC762C446B6F +CF9F86DD2D8989D4655775E662B93BF51805EE3CBA0AE2293D95F166E80973CC +82C53042D0249C598B0821E9E7F218BA6114EEC86C158F277934F2651490B723 +7F0D0288560DA5BEBAFDDF243048E590871AD18B3B220EC56549004DF122AA03 +BAAD6971D790BC644369FDBEE74A324083CFA9496C2A333774F06E35299242BC +F4B26578907CC5AD1893613F2B8622CFBB7B55810162EEBFAAEAB2A6D69CB72B +D7859C73843E665125FF450631F32E64F13A6207F368103C7A7318DBAF2560D0 +F1CDD83C3E48CB30C62AF1E0896E1962C655D9ED98E1BB38477C1C60ECDB6B95 +067D3A638AD43EE886338F7AD2D2A574CE6FD2E21F6FCB4220EFEC85ABF8272A +82081CE70E4390A74EC717F1DDD168F4A4A080A79EE2ECE0F98A96871DA4B52F +78441601AF47763C2219F5A167604C32F478D498835EF3A6167936994F7C7139 +3019FF43C97E7978D3CDA641C1E391FEA572D308E759F28DDE2B40B5BC207A4B +C5EB6A93EEE26782016F8B6534420BE4D790A2E1A65B6CDBE9468152230384FD +14E9AE84418A44F94E6825DD7D77D0BB5486DE26A692B3DA96C81FA4440C5D44 +8E7F3CAA9B8DF38F87E09C4D78841F629F78F4E7CC8580CC44E59E5D9AE8B2DE +C0682F793AE7AEC12A8AE688636197E8A08FEB70EFDB6203681A60223B9B0D39 +2DA656E5E99B82130D4BE38D7AFE18568DD30B0CC3C73C1E2914ACE11A65334D +A9F18135E7B86157122CD221C33C62012FFB16D2D2F3473A53BE3E7B9FD4303F +66ADF0B07155C7B9B002EA68C6AC7247EB3CE7D2670A60138049DAA964F86A05 +22983EDA7242E6BEEB90DF61C937399B2CE1061DF1E551CEED4A80D86C2D4649 +C9FF9A1F93E96773CD392478D5B70D5336A03A274E0A6EF44BE8CB2274324142 +706BC2E340DC944339D647961FD7BF29944503B4AFCDC69A706AA6B0F6AB2CB5 +D220A96ACC1EE5E7826F6F75F044224E5260D581AE761AD0C752A06AA03FD935 +FAD65C9EDD4E5505396E331D45DE88F0D1A4303D766ABE0702C17E2A7F53C0EA +96A4DEC5A6B6186F5DBAAB05DD78E38AFE630465BEF0EC66ABA9C1C9232214A9 +795D105C33CF069F6BE20B179F4CC9F484AB63ED25C1212C457DF62CA0D56E20 +608572216F2D4C09010B03A8AA6D287C8F514BEEDC1C912552CC2489858BF4D3 +084882CE4F4B6FB9EE27C0168671E6DA154018ABEAD013C88E1D3EC918371251 +63D95BA0FE20212C20AD3F4DB614EE36B488A3F55D94C1EDFCA8E68E54A1EED4 +7DD168DCCF07C3DDB5E2B499DB5635C5C5056A7438120DB4839427D07F96AB8E +F842E285243E40259F6DF029E27779CCF3D3BD7206B2C341045A5A4AABACC2A5 +91C6830FE05ACDCFDE99046F16F2AC183426ACA4A89FE5F09B7EB2F811BB5FB5 +AF073BDA2886070B2327D582DCBA66B47E8948C3BE05E837BE4B81402A583403 +74FF9E938F0E9DC3B1CB81B93DFD4070F9EBAED40BA570DE8F9A5C2C0A097311 +22A6065139A6580E332473E9410D9F4C734794F79E41D0D437CEC7381919DF6F +A24B170E2BC97A6396A4E3AC3D844AD6E2B8FCE1C6AE97DFC5319F49130C3D6F +AF2541EB2384D5D4CCBEB976846EF8C2165DBF706112BDDDEC9A57D157F5996D +95229FD5C71B885D16B177BAB06B9DF5740A45C2A005778EE879193290419C0A +A4A339029E37E685B8A05B111DDF94AC19B1D85C8E6026E57E3D3B373C08557A +F96E6FE3916695ADFC1F0BF5D558565F42A71C61ACFEFC9026424397F0646642 +7EDAA05794BCCD164A645860B57EAD53CB6899B18C6E9496EA4DAB0A0C272639 +DEBC4FCBA94B3BF123F7771F602E7667C8F56E12429669F2219C7D8E294BE07B +71E88EA62F5616CAAB7C0198E6FF12A348E36B306FE2684A401399431B6A84CF +B46EE4BAA0F4099E65E9AF3B70274EDD6B6524F4FA38C23F9CD5273EEDC8C6C3 +E7312B6E0497C05AD3F3C246638F01387CC11DBCBD287ACF54D8E24759F51415 +35ED64132EF4158F54AB9F4D567482B3057880490F805822F71E7E2C52F7BC38 +8B1F803AC3731064B90E5E97AA3351D17E73DC2FE526CD6C91158636E395867D +C1150FD3BD12493FFFB813AF0D08C8ED0B7418A2CF90BD5B783364358605D075 +5DEA95A9299C0654EFB28E2FE8A41358A0DD124D0314A27558E42ED5F2D74BB7 +056DE04D2CF13B9B804A3CBBA29BC155A3F18B8B48283194C33CE8291677E1EF +0721138F8E0409D49BB99F217607586D2DF00C29A25536E21924B4CF6702CF85 +C02DFBFD2AA4DE3DBED1D2C02E21052A8D10F96629D0D18154923638FE0C48BD +E2DEAF11663E20717EA77A5453686AAA39D6FF7919AF09B1AD956FDBF734F49E +262F3076F62E77BD45122B55A5913902D9F91C4246FC235BA9C0FA4A96994291 +830638949BED423387DA2D455A3C9122484EFF27F5367D1D3DD27D207D973815 +965E1CFF36F43C653ED406F65348671D9FFAF55BA3FC266D438AF473181B7801 +164EA3F04FEC870743195B3F467DE36B3719BAD9BF15A18637A314C887D46673 +445BA3C212749B0A33136FEE9FE2C9A13D62E7ACC96378D257FBE0EB06AD4D4E +D41976AB92AC720DFD33B0677062C32E6F5C992A0324FD26E984B5341A58C190 +D20EC3F1144697D514D9157340A6C9F82E62AD8CFDEE59F6FF86C6250CE33D6B +BB82DDB4F65BEFC6F6D0E4044F7BF307CC346E2FFD191846E3CA288C6F91CB71 +5FDE855FEC5E38816CC635C470BF15263A10A409F0BC4877F7E6D4C223E3564E +E7BB5B320AAA5AAF4F32528F7413BFB97C70FF5E6843E1FE501472129BC9758D +7531BE576C75840CBC4CD3E6D9E5FF52559B68DE6E7827128BB2ED1BAD43F36E +A0CB68C1A147A7093EB02062AC5492DB7EEE08B1BDB187E15339A66269E459BC +67495937B4317AF66A498923322B087ECF47B601C26E253D223A784DB2D204FD +0668BD403A73723848018B7C86B627B9AE0BD9038F567CD5F670CAFC5C4D86FC +ECA211B713ACF8C1370191161CBB6C2592E8B9DBF3471133F2D9A60F15D72F9C +5E5539D59A6A7E124D9A38A6FF6EB7C71990716F88E1888295584F17D49144B2 +B5768B77E7B2B812E8C804239B23202AF0EAACB83E7A32BF32493421CE4EDA74 +808C7F2D0818FA5CC7B9DE5158BC7A1B7A9C7B95BD29B01BC1DEB37D4EC57C01 +38AE5277D067BF0242AD7D07C2EF591D6C3EE87A9D65A57C287DAAF60FDA68A2 +1ADE7E7A457B95C7BC603CD8D9A6BD66548E5BB2167E415C21463C22C4459A92 +374A9BF3C35E2A4FE2658D8835158A2BE0E39E2553001E83367987705ADB7596 +D0E268828757AFC19E45C3C949A68C4F8F52F0A87021F773E844F7E60E12E4EF +FDC0700FA116E97797ADCF647FCA726B45639F0B4AF5301BBBEABDA877B61551 +06DFA3A34871D5052A8040E24A0FC633249D6E1029ECC74140F92019D3A4D67D +7D02A567FB66A67AB2E9556E6C9AE40D3CE74A35338B9F9A3F4B89932B9982C8 +D4F0302A61C41E33E1C26879D91DADEAA25F850083BE6CC26AE7437664ABBD22 +4991097015E0C4F622C41AACE1064C1F5AFC65A5B3302A7D631BBFBAB0CC540D +B65D0E98718F1F3B103B327B3DC2C83E7D3A888053F0D0BDF164DBD65C4C651B +47EF9FF6F3EF58FE1FCA44906016B497377ED16A7C920F15AB986521CF721B28 +0EC06CB9EA99AAE8E5E252C85984B9013235F19D36681AA6A43DC0CFF225C3A6 +488F7B406422A0350B90D80D2B227474038114D3F37DAA3996DAEF61BAB88998 +FC2741984A85D91F90F4D11A5E11BDA402E4EACE68F89F318F5160665FFDB61F +9BAAE309EB0C3A32C50DF0F2AB6A6A66DDAE81D5860C0602ADC117434B22F0F5 +7CD62EF344132CEB51EAD0DFC57527F9DD78105456544E34FDFE2B44691E42F9 +59B9E7ECD5D42B141AE13810BCA6CD83EFB8CBD689247F43709BA8A836B1E7B3 +43D0A329DA89DD2DFCB83D29DD6A50353303EE10803FC664AA5F1DE3A712009E +4111EBABD914895FA68202099F99B7B6F5B24DF2E030DBB284F9796191C30103 +0EE91B50A902FD538D91A23ACF75BE8185329EACCA86FFDCFB6432DFD6F61A68 +969D376D11C9CEA4402B7EA3AFA453C68D212D3F35E3264B7F358B0AC38F2232 +69415135BE9D15C28B2DDF21FA461436A6D7F0B28A836E3FCCD534AE07C34D7B +166398BBE2D0B4741E11B022BF20D6A46B25A1AD3907E0FEE105D3095902FA07 +3CA6E366F14A554DFA0F0A33E14CD6CBABAE6AFBD7842578CCCF7D4309042BE7 +964800105D626ECA1E214613DF500BEB498DAB79934A94D51CC8E09AB54515E1 +7CBD99D6C0E0C465F2A2240E42C4B6FFE58DEFCF40E3D7516FE3D2DA703BDEB8 +B337A63B7EFDA91135CFD788A22C64A5A2DFFD81EBF72D77C675C491DABAA549 +04ECF46AEDD8A6753DA3BC3D9AAAA2836E049C7424D514E5B902A8F4D31EBE75 +B8F8A8CD4A217669C30B543B29D000C1FA330F01676E2C8EFB61181AC7B07EAA +B1438AC047982647A8EC25C97C50B7892D05C064C9B39AD2CD171CC39D6BE203 +4E436A9A92B4217133A4D494FFEFC088B24F97D853D9B4210B10BBC85B628C6C +463E474AC966CDEDD2F7C200A7EE9EB9A09F5EA45974DE591F50083FF86D148F +8CB2C3C8630463565A4165B3722A092818FF280C63B8E6F7B2A13F6012B6980C +AD45A8270EFCD868AB89FBEFAEB9CA5160E1FDF835F5D76731E3541A8292844C +F6D5835ADBB7933F2D48D0D33A701C49F4A80E919510D2FB0FCEE61995EA1546 +8B8E9C852A2401C659C78F7820779979B2B3901DC8F1CE56B3D591FB50365460 +6DB3AE5A1A81E01EBC126F93DE850833B09F01A0A4D91330379DD812A62A5172 +4CD1414D8207D18528918D00CD7C4FE27B66B5C16934C9929A08C423284C0BC8 +65123EF0CA1011170E4558A640B0509ADA759E1FB11E5EEA5A3F3A662B9398F0 +AE7A76E6DA0264717FC52F921E629BA6EC83AFB7F1A82E96A8FCC3F6479D513A +5D4E5E085B92F7988352A303E539DD932C0723D819D1DA64E28397DD3BDFD126 +D1AFA19992BBC3A7678D63D146D77747C67FA00F5690DB1906123D94320991AA +6145F11BDD2D146BCEDBC76763C29F6E17A63CDB7EB2CC5A46F94481CF834A6B +457B626C45C8DDB7754C8E6B3E6C354B6536058F828C7CBE79C207B6635D3244 +942EE46CC71239E931A9B30571149A958420225C6E798D41CD573AB5AD11235C +A2209ABA4140ABC0B672DB163EC43AA3928575A3A8AB5C2178403598DC30C9EE +B522E9D25901C270357576082766EE800675C6709D35F6072229FC1A003859F3 +828CF6BCAC6B8B3170C5779172610867C1B209D5175DA233BCFC1DAA1EE4B370 +D3974C855A4F883B69B8A81CB89EF39ADCCB21D7406EC270E1E45BB80A6BE752 +44539B020DFF70D8ED06EA99BB10091EE6ACE5899DB5B9856FFF6858E24CF048 +5EBC276593E24C266E75B9932E76F17B35503A047D375DCA12494235C85A3312 +1E1D925598801A29FEB8CB2693B996F6940894CD66E75FB2E9F82AB572F56617 +F312941E76439153C49182A4565F104AB7FFA0790262158A9BC983C9665361C8 +2F33C2661663F8B9A15A195A0ECD9983E5F45FBC5BF0B03C98B6A951E402273F +2A0E2A7C7AEDD1B6EC0B67AA02AAF6DD81EF9FB7CF851A8888FAB7EF10CB68C6 +6956F85063CD6EB4C730959B6B720A874DE035475A2578CFF840CF141E3B2413 +8065A08860FFB9A826465E2CBD774BB6A615FD63499C721D3263698DC7E8C7BB +4B01C393530CBDB21236A7FB626447D811317C0E84885BF0F4533111BAD57626 +13837B4DCD22329939F69CE3D29BC972743C43B116132289290C626041EC8658 +DEC0727FEF43A6E16D0AC25825B7ED7FED27A46B7470A0497817FC212397B5F3 +8732D43CFA87726962FCADEAED716E39E22937661BD51232E8A19ABA2D711D90 +CDFC947CB80D99CC16E8F0ABA47A996316E2ECAA571FA5C7F81A5AF89B7568B8 +CFF19C34C1D972F7F78F932CA11F7968F07213F0F3071AD316E803B256BC524E +D432B0195FCF365E8A8589D8837B06B5DD62EFEC1C216E300511A120DA01F6E3 +FAB31216B525143CBC8BEF7F20BE40B585F33E4330300A83B63F454E5CAFE470 +D393B069C8CA82661217DA3F5F89553CCA730C1422FD1A9F5ED488D7CBE920CD +88A6A79E7831CB0F2AFB5FB44ADF92DCB327BE060E0D818CB681586BD75C6AFB +7A45613F7BC19CB67BBC0F4DBEF3D92C2B6FDC10C8E806642005DB4BFA961A22 +3FEF2C234D2EF7DFDB4B6235E85B6D84AF460524185BAA64E7A4FF10E401BEC4 +A814557F820BC0C2B06D012D5B2E7E5C3E9E5EFEC030D468DBEA20459421557E +B3D7EC715EB935B1369349F7F6003EF0AC7D1D6D4549458832B0CCF1B602F929 +42E7CC430B7A4D412FAF56CBE5B8FE8740DDE7E34451896788C2BEE41A3375EB +A39378F7E72ADC558188F79DA7B3DEF5DC092BC933E66FF1BA489C7A75E7DD23 +310BCCD8461F8E13401D906924CB9DE07CE9E0ABB34C0395785EF57FBDA776B0 +7750973E175161DD7825A3E6BCAEC6351C6B973EFCC700DD6911F956A12B9899 +2DBAB66F127E3CF16D8E7CC0D8E56E411513CCF6549D9AA45CF10D0B4CDE1153 +1EB94E289FC31BA70B81A7801A2AFD8E746322BA6CF75EBCC911616BD613CC51 +ED1083F2C43FD20C7EF3C6991300A4F78B1B9BF05532B3E9CE9EF61E8994AB4C +A4FE34871F61F40EBB75EEA4F6075D3E428E1867507CDF595414A999A3990031 +D4A84519C87B2CFC86D33375C8292BB9175B1C99D42F2E6E041F8B69C9511757 +3E3345D1D5F10654643C269E9C5D33D6F227711A6F145585EBF7167E40EDE631 +887E58960201E595AFC289175A5FC430E6B84F94F138AF0021D041B2C326E60D +8DE6A2517BF4364FB5698C7F6A827A4058EF917404015F5CB63996E367D6C132 +D60B030476A6CD0D6FC36236F03C00DFC3D1A8ECB0F4904665778A28CD9F4109 +D7224AA6E4F9943047D18ED3A43EE3EA0B6FFA39E0AA430776ED5DF7FCF86CB5 +A9999C8C4CD0E643B9228825736BB6356724472F1ECB55EBB81349835F2C1EAE +6C73EFEB0EA08F97E0F0C862742F9A5F8838FCBCB848E99716E32C70E349063F +B34EEAC34DF4E44799F9AF8F5CE9604EF7214999FD371ED1B4F676370941FCCD +C649BC74B54E340AB11A78CA88988E6608640D9949E879592DACCF7AEA52E5C6 +EB4FC6520701994D5FAD19A8ABF8F41C82B643C3465A4789FB91A016120CCFF4 +084C692A9FC04F3800DDEFCC11589AD5E6084D279F8A1687CA86E7C4C5B13F05 +6B8B034BD8F84741BC37161F3409D27C0B866C28D61F351B46F145569BE4DB68 +0EF7118C654E898995BA873C8397EBCCB0282D4ED123CC7F74AD583976BB788E +9B2694BA0CCCD78F85B139C23194C8B81471CA72311D69BEA0E6DA0FB03541DA +75F5F4E00AFFF6A6F956CF1946E4A746E939979E123FCDCC1C0F5A89186CF8BE +F00BABAB411307493E9273B7F25BF1DF32D9C243181680C7F751F3B1E4156C0D +81776505F86B3FBC6180748FE660A84669A06F67F56FFD7162DC577CBCAE1C4F +B34C4B082D0AC754914A7733BA0D42C3F46323DCA7EAC03DE3EE8689FE160147 +EA85EACA45CDEFF16FCC98C2728EEDBC120612188B8CBD46499BFEA2C12AFC24 +109B4BAAFBAA06D8B82AF492919C1B919CFF2555E53AA6636B0C55F868BC5E31 +0DEBDB382A83A285EAF4060978A9850970E0ABF9D86E2E35EE5E95D4270F289E +3C375A640F891985E1460E840EED749313897FC59D367BFE660999A7F6AE8434 +05E60538FB4E74763A6CDC6D6C6CC3C018D3A72749519B3657700A4813CFF420 +2954833999FE5AB2EADCC6AE6EC74BCDCAB10DF2F1847CDBD0695E11567D4CB6 +A40F47DFE8E6283CEF97536D9EC9F3BF0F34AC7CB08C3CEFDFC25941BA699CAF +5D7CD0224176F23C3E8A2EDD8AADC43F3D7431067C1E1981461EEA9F817CF882 +7E28AF179C231CCF0CE263EFCD846822BE6D87F5ADFD60EE1FA6CC8FE711F0D2 +B9BF3B963942FDCFC1A367F0340F8C2B6DD4E4EBD0B21D67A0A44E080E8911FF +0A4EE8480E96BA0204BB124904527CA1DD8BA491013F92B286967072A79AEAA6 +F606FDD78483910EEFD3E07BF0B1B859077F5C8E57D31DD2984A2ADF074041DA +9163A0CB68200676D6C7B9AA966E14AC6FBBC18DD7B4AA828AE35FDF411C7631 +2E9F16A54846330E2AA17048D61975224F0B3DC0F9B34B1FD539487CCE6E1ABF +46C460F214FBDCF33962CB2B1648E0D0AAE34959466FEE2F2D5EE2BBC8082ACF +0B54C6A784A7E8F98BEE5F424FE243FAD1B0DE89FC2D0F56C507CB50BB76E610 +8A13073ADF4CEB6F7F20A575DF67AFFE4B1FFAAF646D6274053920E482C82696 +E65DF27EFE7080D7F7A6F07179BA44702BE71A2397CEA8B455ED9FE7E3B59493 +7C06EBEC9E02BAFCF590A5D699348CCE89BD75E37AB8E30BAE3E0D8C5257B1E5 +3814BB91531BCB9B5E308C0A99EF8038A9E102D1460B1AAE0FE5F13C7A35FE69 +733698703640B87974CCEC4DE1E59B0A1FF7E95918C9E0835FF1894B0DFEF682 +CF7A55420CF585A9265E18F0FC322891C98B82F4E72A3AF306A6847013E1AC16 +76CC428151818469211389EDC9D54528EFFAC29388E35209C895C870BB90419E +FA4512B183F523C34D93FD5B47E11A1B9F0F349A54071D305D4BD02DE0272C0E +56085BDB34396C2286C6DA78C248B7284648F93246E79D668C9B462D4F95991C +B817A317AFD40C840C2355358CE4A6166C4446FB0D2D6004033E3DD79B70BC44 +243562CBFAB02F6CB87C5321DCE0679EA6D10414597041E517A2803493152FF1 +FCEEC509E63F3F016E3536C2E5E6502AFE2A71C7565F7002607974F7593F2CC8 +CF00C53018762CD8AEC95E5F5EE31DE166DBD3B42084A07CD74BC391F2B85EE7 +677A5C7922FC273A696D2046713EE625BEBC0ECC0BD9DC1CA10E57B20D7B60E6 +FA5BDCE85A731698FF95AE08958B9217ECADB62FD3B54A494A06591FD7CC1700 +C512C2B38884C72C3C6E4C81350AC0BFAFF37D44790DB2CFAD560601D2DBF6CA +DB267CEE60FE547920D3BCDF3B1FF706BDE45CE0BF548FF4ECF99885CC486668 +2EC19B8071C1F65C82191D2A8174C3301E70D1AD82F98572D35611D923E563E9 +389A1FDB3F30FFDFBC4B5BC86AA87D41EBD76B24AE9D5D2F612C38A91B16CEF3 +3120AB5E9838D3E14D9C149E13AE79F13BF670D5D82CFA1319E4A36BBC430263 +6439D94CB28AD09AE3F33E94DF26DB5F35D5A370D0AA45CCC623921F799BF248 +8B178365BD73546B97FE15F64091804F7821DE7291325566387C6B9F009B9AAC +2E08294B8D399237CF4B71AF24D034B0F123BF8E431C530288C43DCAF81318ED +8EB18E1B815767C83655072C3977C5D8322D9B9B80C49DCFE31F3B5C40427F5A +D22CDD7CA0484D5FF17D0A389B09BF1ABAD02FB099E93AD7612B34852E760C08 +5D7B86A7B1BA465985DB3FFCC33822DD988CFFBFE07C10BD6151CA6464611265 +0C3F09471D758BE55863F00CE44986FFF6D73C568CD826E61BD3B8E0B793B7BA +822C8CDCF5FB273F1E113E8EF78A99632AA3FE67DCD5759FB6501363C4567975 +B2D9B9AB1C45B58EF6C7C813C8ECAA474EF5C83752117EAB52FDF44DF5D8FE74 +7C8E47BD4CBB370B80F6911FA22F3551ABBC420C9B5E30ED9FBCD6F7C544CE71 +543C1CF0C34E4E8C4E24D48428B8FE971C8AF63CA5B2E96A886AC6B5D88F96D7 +CE4C29E573F8D4FB7394869600524206581D4539CEA8787D55DD039DE14E8E44 +B8CA15B6EA52DAD4A4BB1B568B591D20C971F4F1B4F6C4F7245C6314B75EA85A +AA6A5BDD35A6232A54F1207F23DD3212A4ED201D03977CB23258BB2AB7DD6B3E +522E330934EBFA36AE176FB3D4A9F8740E587AB07245764FA50C8E4E4F64FF0E +D3ABC4B977226C0FB13BB083C877E1F6F0BD7BDEC2BA089AA7806D77EF922092 +4107724F98A8147BE1BC5697DE5BC8E0480E8C9727D51A3FFB7A9F851D063DB2 +762970DE9C25FB6B4A7D8F2435EEBEED5C426E9DC32FE5F0C20E3B645179574D +0001F4ED9A4BF4DF84EE31E5C278B2E2957AB14F644CF9C28B58A06A024F5D45 +A835FE73C6038B5169712C56EC34AD2AA024F04E40D3EF43FFEE259CBAEA6292 +1633E18EB69F9B7FE181AA0D81D0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 39158280 55380996 1000 600 600 (skakdoc.dvi) +@start /Fa 145[48 110[{}1 83.022 /CMBSY10 rf /Fb 137[44 +6[44 1[44 7[44 101[{}4 83.022 /CMITT10 rf /Fc 134[37 +1[51 2[27 28 28 1[39 35 39 1[20 37 1[20 39 1[22 31 39 +2[35 50[20 46[{}17 66.4176 /CMR8 rf /Fd 137[35 3[35 2[35 +1[35 7[35 101[{}5 66.4176 /CMTT8 rf /Fe 145[35 110[{}1 +66.4176 /CMSY8 rf /Ff 134[40 4[28 1[35 2[42 47 1[21 2[25 +1[38 1[38 1[38 38 42 97[{}12 83.022 /CMTI10 rf /Fg 177[75 +78[{}1 83.022 /SkakNew-Figurine rf /Fh 198[28 28 28 28 +28 28 28 28 28 28 48[{}10 41.511 /CMR5 rf /Fi 140[125 +125 125 125 125 125 125 125 125 8[125 125 6[125 6[125 +125 125 125 125 125 125 1[125 125 7[125 125 16[125 48[{}24 +124.533 /SkakNew-DiagramT rf /Fj 140[27 7[34 2[36 35 +22 31 36 31 36 34 40[35 35 35 35 35 35 35 35 49[{}18 +66.4176 /CMSS8 rf /Fk 167[50 5[62 83 2[75 11[71 66[{}5 +83.022 /SkakNew-Figurine-Bold rf /Fl 119[42 136[{ + TS1Encoding ReEncodeFont }1 83.022 /SFRM1000 rf /Fm +146[86 25 7[56 1[56 52 97[{}5 99.6264 /CMSSBX10 rf /Fn +134[59 1[81 1[62 44 44 46 1[62 56 62 93 31 59 1[31 62 +56 34 51 62 50 1[54 11[86 78 62 2[77 2[106 67 2[42 88 +88 3[81 80 85 10[56 56 56 56 56 56 2[31 46[{}39 99.6264 +/CMBX12 rf /Fo 190[49 15[33 49[{}2 58.1154 /CMR7 rf /Fp +140[50 7[63 9[63 97[{}3 119.552 /CMSSBX10 rf /Fq 130[44 +1[44 1[44 44 44 44 44 44 44 44 1[44 44 44 44 44 44 1[44 +44 44 44 44 44 44 44 44 4[44 24[44 44 44 27[44 37[{}30 +83.022 /CMTT10 rf /Fr 145[42 6[42 42 101[65{}4 83.022 +/CMSY10 rf /Fs 140[32 5[66 20 41 6[43 1[43 40 97[{}7 +83.022 /CMSS10 rf /Ft 140[35 7[44 9[44 97[{}3 83.022 +/CMSSBX10 rf /Fu 135[50 69 50 53 37 38 39 1[53 48 53 +80 27 50 1[27 53 48 29 44 53 42 53 46 11[73 66 3[65 72 +5[36 6[68 72 1[45 5[48 48 48 48 48 48 48 48 48 48 1[27 +32 27 44[{}43 83.022 /CMBX10 rf /Fv 137[71 75 52 53 55 +1[75 67 75 112 37 71 1[37 75 67 41 61 75 60 1[65 11[103 +94 3[92 101 5[50 5[97 96 102 10[67 67 67 67 67 67 49[{}33 +119.552 /CMBX12 rf /Fw 131[83 1[37 44 44 60 44 46 32 +33 33 44 46 42 46 69 23 44 25 23 46 42 25 37 46 37 46 +42 3[23 42 23 1[62 62 85 1[62 60 46 61 65 57 65 62 76 +52 65 1[30 62 65 54 57 63 60 59 62 6[23 42 42 42 42 42 +42 42 42 42 42 42 23 28 23 2[32 32 23 1[69 2[42 23 20[46 +48 11[{}76 83.022 /CMR10 rf /Fx 140[29 7[38 9[37 97[{}3 +74.7198 /CMSS9 rf /Fy 190[45 15[30 49[{}2 49.8132 /CMR6 +rf /Fz 134[41 41 55 41 43 30 30 30 1[43 38 43 64 21 41 +1[21 43 38 23 34 43 34 43 38 8[58 3[55 7[48 6[52 22[21 +4[30 30 40[{}30 74.7198 /CMR9 rf /FA 139[34 35 36 14[39 +49 43 31[67 65[{}7 74.7198 /CMBX9 rf /FB 139[51 1[51 +2[51 51 51 51 2[51 51 51 51 51 1[51 51 51 32[51 17[51 +46[{}16 99.6264 /CMTT12 rf /FC 140[52 7[66 9[65 97[{}3 +143.462 /CMSS17 rf /FD 134[51 3[54 2[38 2[49 54 81 27 +2[27 3[43 2[54 49 12[70 9[50 1[73 6[73 6[27 1[49 4[49 +49 49 49 2[33 27 32[57 11[{}24 99.6264 /CMR12 rf /FE +134[70 1[96 2[51 52 51 1[73 66 73 2[70 1[36 73 66 1[58 +1[58 1[66 8[99 1[99 1[96 3[90 3[83 6[90 1[96 13[66 3[66 +2[36 46[{}25 143.462 /CMR17 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +/setpagedevice where +{ pop << /PageSize [595 842] >> setpagedevice } +{ /a4 where { pop a4 } if } +ifelse +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 515 440 a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + +515 440 a 515 440 a +tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end + 515 440 a 0 TeXcolorgray 515 440 +a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + 515 440 a 0 TeXcolorgray 0 TeXcolorgray 518 872 a FE(T)l(yp)t +(esetting)42 b(Chess)h(in)g(L)1806 842 y FD(A)1859 872 +y FE(T)1933 903 y(E)2006 872 y(Xwith)h(the)f FC(sk)l(ak)g +FE(P)l(ac)l(k)-7 b(age)1579 1054 y(V)c(ersion)43 b(1.5.1)1570 +1295 y FD(T)-8 b(orb)s(en)33 b(Ho\013mann)1192 1411 y(e-mail:)44 +b FB(torben.lehoff@gmail.com)1663 1607 y FD(July)33 b(18,)g(2013)p +0 TeXcolorgray 0 TeXcolorgray 1778 1906 a FA(Abstract)p +0 TeXcolorgray 0 TeXcolorgray 837 2036 a Fz(This)39 b(user)e(guide)h +(sho)n(ws)g(ho)n(w)g(to)f(use)h(an)f(enhancemen)n(t)g(to)h(the)f +(existing)722 2127 y(pac)n(k)l(age)29 b(for)g(t)n(yp)r(esetting)f(c)n +(hess)g(in)g(L)1842 2110 y Fy(A)1875 2127 y Fz(T)1917 +2143 y(E)1961 2127 y(X\()p Fx(sk)n(ak)p Fz(\).)41 b(The)28 +b(primary)g(impro)n(v)n(emen)n(t)722 2218 y(o)n(v)n(er)g(the)g(old)g +(pac)n(k)l(age)g(is)h(that)f(it)g(has)g(b)r(ecome)h(easier)g(to)f(t)n +(yp)r(eset)g(c)n(hess)g(games)722 2310 y(with)e(this)g(new)g(pac)n(k)l +(age.)p 0 TeXcolorgray 1926 5255 a Fw(1)p 0 TeXcolorgray +eop end +%%Page: 2 2 +TeXDict begin 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 515 523 a Fv(Con)l(ten)l(ts)515 706 y Fu(1)76 +b(T)-8 b(erms)32 b(of)g(Usage)2043 b(3)515 888 y(2)76 +b(Ac)m(kno)m(wledgemen)m(ts)1899 b(3)515 1071 y(3)76 +b(Installing)31 b(the)h Ft(sk)m(ak)g Fu(P)m(ac)m(k)-5 +b(age)1577 b(3)639 1171 y Fw(3.1)84 b(Using)28 b(the)g +Fs(lamb)r(da)f Fw(P)n(ac)n(k)-5 b(age)47 b(.)41 b(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p +0 TeXcolorgray 131 w(4)p 0 TeXcolorgray 515 1353 a Fu(4)76 +b(Basic)32 b(usage)f(of)h(the)g Ft(sk)m(ak)g Fu(pac)m(k)-5 +b(age)1387 b(4)515 1536 y(5)76 b(In)m(termediate)32 b(Usage)g(of)g(the) +f Ft(sk)m(ak)h Fu(P)m(ac)m(k)-5 b(age)1042 b(5)639 1636 +y Fw(5.1)84 b(Game)28 b(Managemen)n(t)j(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)p 0 TeXcolorgray 131 w(5)p 0 TeXcolorgray 515 1818 +a Fu(6)76 b(Ornamen)m(ts)2233 b(7)639 1918 y Fw(6.1)84 +b(Sho)n(wing)27 b(the)h(Board)44 b(.)d(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p +0 TeXcolorgray 131 w(7)p 0 TeXcolorgray 639 2017 a(6.2)84 +b(Handy)28 b(Commands)64 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p +0 TeXcolorgray 131 w(9)p 0 TeXcolorgray 515 2200 a Fu(7)76 +b(Adv)-5 b(anced)33 b(Usage)2002 b(9)639 2300 y Fw(7.1)84 +b(T)-7 b(ailoring)26 b(of)i(the)g(Board)e(App)r(earance)51 +b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +p 0 TeXcolorgray 131 w(9)p 0 TeXcolorgray 639 2399 a(7.2)84 +b(Setting)28 b(up)g(the)g(Board)k(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p +0 TeXcolorgray 90 w(11)p 0 TeXcolorgray 639 2499 a(7.3)84 +b(T)n(yp)r(esetting)28 b(St)n(yle)34 b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)p 0 TeXcolorgray 90 w(12)p 0 TeXcolorgray 830 +2599 a(7.3.1)94 b Fr(n)p Fq(styleA)37 b Fw(.)42 b(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(12)p 0 TeXcolorgray +830 2698 a(7.3.2)94 b Fr(n)p Fq(styleB)37 b Fw(.)42 b(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(12)p 0 TeXcolorgray +830 2798 a(7.3.3)94 b Fr(n)p Fq(styleC)37 b Fw(.)42 b(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(12)p 0 TeXcolorgray +830 2897 a(7.3.4)94 b Fr(n)p Fq(variationstyle)21 b Fw(and)28 +b Fr(n)p Fq(mainlinestyle)51 b Fw(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)p 0 TeXcolorgray 90 w(13)p 0 TeXcolorgray 830 2997 +a(7.3.5)94 b Fr(n)p Fq(longmoves)23 b Fw(and)28 b Fr(n)p +Fq(sanmoves)37 b Fw(.)k(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(13)p 0 TeXcolorgray +639 3097 a(7.4)84 b(Input)29 b(Language)i(.)42 b(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(13)p 0 TeXcolorgray +0 TeXcolorgray 1926 5255 a(2)p 0 TeXcolorgray eop end +%%Page: 3 3 +TeXDict begin 3 2 bop 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 515 523 a Fv(1)134 b(T)-11 b(erms)45 b(of)g(Usage)515 +705 y Fw(This)40 b(pac)n(k)-5 b(age)39 b(is)h(distributed)h(under)f +(the)g(terms)g(describ)r(ed)g(in)h(the)g(Latex)e(Pro)5 +b(ject)515 805 y(Public)27 b(Licence,)h(i.e.,)p 0 TeXcolorgray +0 TeXcolorgray 722 987 a(This)f(soft)n(w)n(are)d(is)j(cop)n(yrigh)n(t)e +(but)i(y)n(ou)e(are)h(gran)n(ted)f(a)h(license)g(whic)n(h)h(giv)n(es) +722 1087 y(y)n(ou,)f(the)h(\\user")d(of)j(the)f(soft)n(w)n(are,)f +(legal)h(p)r(ermission)f(to)h(cop)n(y)-7 b(,)26 b(distribute,)722 +1186 y(and/or)33 b(mo)r(dify)j(the)f(soft)n(w)n(are.)57 +b(Ho)n(w)n(ev)n(er,)34 b(if)i(y)n(ou)e(mo)r(dify)h(the)g(soft)n(w)n +(are)722 1286 y(and)26 b(then)h(distribute)f(it)g(\(ev)n(en)g(just)h +(lo)r(cally\))e(y)n(ou)g(m)n(ust)i(c)n(hange)d(the)j(name)722 +1386 y(of)h(the)g(soft)n(w)n(are)e(to)h(a)n(v)n(oid)f(confusion.)515 +1660 y Fv(2)134 b(Installing)47 b(the)e Fp(sk)l(ak)h +Fv(P)l(ac)l(k)-7 b(age)515 1842 y Fw(I)29 b(could)g(not)g(get)g(the)h +(mak)n(e\014le)f(to)g(do)g(the)h(job,)f(so)g(if)h(someone)e(could)h +(help)h(me)f(out)g(on)515 1942 y(this)f(I)f(w)n(ould)g(b)r(e)h(v)n(ery) +f(glad)g(indeed.)639 2041 y(Basically)e(all)i(y)n(ou)e(ha)n(v)n(e)h(to) +g(do)h(is)f(to)h(follo)n(w)e(the)i(guidelines)g(in)f(the)h(mak)n +(e\014le.)36 b(First)515 2141 y(y)n(ou)i(create)g(all)g(the)i(required) +d(directories)h(\(stated)h(in)g(the)g Fq(install)d Fw(section)j(of)g +(the)515 2241 y(mak)n(e\014le\))c(and)h(then)h(y)n(ou)e(run)h(the)h +Fq(make)42 b(install)33 b Fw(command.)62 b(Remem)n(b)r(er)36 +b(to)g(run)515 2340 y Fq(texhash)25 b Fw(after)i(y)n(ou)g(ha)n(v)n(e)f +(up)r(dated)i(y)n(our)f(texmf)h(tree.)639 2440 y(Sorry)f(that)i(it)g +(is)f(not)g(w)n(orking)f(100\045|)g(I)h(just)h(do)f(not)h(ha)n(v)n(e)e +(the)h(time)h(for)f(it)h(righ)n(t)515 2539 y(no)n(w.)639 +2639 y(If)35 b(y)n(ou)e(cannot)h(get)g(the)h(things)f(w)n(orking)e +(just)j(put)g(the)f(\014les)g(where)g(T)2987 2657 y(E)3033 +2639 y(Xand)h(the)515 2739 y(other)27 b(to)r(ols)g(can)g(\014nd)h(them) +g(and)g(y)n(ou)f(will)g(b)r(e)h(just)h(\014ne.)639 2838 +y(F)-7 b(or)36 b(Windo)n(ws)g(user)f(I)i(can)e(recommend)h(the)h(MikT) +-7 b(eX)36 b(installation)g(since)g(it)h(has)515 2938 +y(sk)-5 b(ak)24 b(as)g(a)h(pac)n(k)-5 b(age)23 b(and)h(all)h(y)n(ou)f +(ha)n(v)n(e)g(to)g(do)h(is)g(to)f(use)h(the)g(MikT)-7 +b(eX)25 b(installation)g(to)r(ols)515 3038 y(and)i(select)h +(installation)f(of)g(sk)-5 b(ak)27 b(and)h(y)n(ou're)e(up)i(and)f +(running.)639 3137 y(Ultimately)c(the)g(sk)-5 b(ak)22 +b(pac)n(k)-5 b(age)21 b(should)h(b)r(e)h(do)r(cumen)n(ted)f(using)g +(the)h(L)2869 3120 y Fo(A)2906 3137 y Fw(T)2952 3155 +y(E)2998 3137 y(Xstandard)515 3237 y(do)r(cumen)n(tation,)g(but)g(that) +f(is)g(a)g(ma)5 b(jor)21 b(undertaking)g(that)i(will)f(not)h(happ)r(en) +f(righ)n(t)g(no)n(w.)515 3469 y Fn(2.1)112 b(Using)38 +b(the)g Fm(lamb)s(da)g Fn(P)m(ac)m(k)-6 b(age)515 3622 +y Fw(The)33 b Fs(sk)n(ak)e Fw(pac)n(k)-5 b(age)31 b(uses)i(the)g +Fs(lamb)r(da)g Fw(pac)n(k)-5 b(age)31 b(to)i(do)f(some)g(of)h(the)g +(hard)g(pro)r(cessing)515 3722 y(necessary)i(to)h(allo)n(w)g(the)h(PGN) +f(notation)g(as)g(input)i(|)f(since)f(it)h(is)g(not)f(standard)g(in)515 +3822 y(L)537 3805 y Fo(A)574 3822 y Fw(T)620 3840 y(E)666 +3822 y(Xdistributions)27 b(it)h(is)g(included)g(in)g(the)g +(distribution)f(of)h(the)g Fs(sk)n(ak)e Fw(pac)n(k)-5 +b(age.)515 4096 y Fv(3)134 b(Basic)45 b(usage)h(of)f(the)g +Fp(sk)l(ak)i Fv(pac)l(k)-7 b(age)515 4278 y Fw(Once)23 +b(the)g Fs(sk)n(ak)f Fw(pac)n(k)-5 b(age)22 b(has)h(b)r(een)h +(installed)f(y)n(ou)f(only)h(need)h(to)f(kno)n(w)f(v)n(ery)h(few)g +(things)515 4378 y(in)28 b(order)e(to)h(pro)r(duce)g(nicely)h(t)n(yp)r +(eset)g(c)n(hess)f(games:)p 0 TeXcolorgray 639 4560 a +Fl(\210)p 0 TeXcolorgray 41 w Fw(write)h Fq(\\usepackage{ska)o(k})21 +b Fw(in)28 b(the)g(pream)n(ble.)p 0 TeXcolorgray 639 +4726 a Fl(\210)p 0 TeXcolorgray 41 w Fw(the)g Fr(n)p +Fq(newgame)d Fw(command.)p 0 TeXcolorgray 639 4892 a +Fl(\210)p 0 TeXcolorgray 41 w Fw(the)j Fr(n)p Fq(mainline)c +Fw(command.)p 0 TeXcolorgray 1926 5255 a(3)p 0 TeXcolorgray +eop end +%%Page: 4 4 +TeXDict begin 4 3 bop 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 0 TeXcolorgray 639 523 a Fl(\210)p 0 TeXcolorgray +41 w Fw(the)28 b Fr(n)p Fq(variation)c Fw(command.)p +0 TeXcolorgray 639 689 a Fl(\210)p 0 TeXcolorgray 41 +w Fw(the)k Fr(n)p Fq(showboard)c Fw(command.)639 870 +y(As)30 b(an)g(example)f(I)h(will)g(describ)r(e)g(some)f(mo)n(v)n(es)g +(from)g(the)i(Ruy)f(Lop)r(ez)f(op)r(ening)h(|)515 970 +y(please)f(note)h(that)h(the)g(commen)n(ts)e(are)h(just)g(idle)h(talk.) +44 b(In)31 b(the)g(left)f(column)h(the)f(input)515 1069 +y(is)d(sho)n(wn)g(and)g(the)h(corresp)r(onding)e(output)i(is)g(sho)n +(wn)f(in)g(the)h(righ)n(t)f(column.)p 0 TeXcolorgray +0 TeXcolorgray 543 1270 a Fu(1)32 b(e4)f(e5)g(2)h Fk(N)p +Fu(f3)f Fk(N)p Fu(c6)h(3)f Fk(B)p Fu(b5)p 535 1339 1013 +9 v 487 1425 a Fj(8)p 535 1464 9 125 v 544 1464 a Fi(rZblkans)p +1539 1464 V 487 1550 a Fj(7)p 535 1588 V 544 1588 a Fi(opopZpop)p +1539 1588 V 487 1674 a Fj(6)p 535 1713 V 544 1713 a Fi(0ZnZ0Z0Z)p +1539 1713 V 487 1799 a Fj(5)p 535 1837 V 544 1837 a Fi(ZBZ0o0Z0)p +1539 1837 V 487 1923 a Fj(4)p 535 1962 V 544 1962 a Fi(0Z0ZPZ0Z)p +1539 1962 V 487 2048 a Fj(3)p 535 2086 V 544 2086 a Fi(Z0Z0ZNZ0)p +1539 2086 V 487 2172 a Fj(2)p 535 2211 V 544 2211 a Fi(POPO0OPO)p +1539 2211 V 487 2297 a Fj(1)p 535 2335 V 544 2335 a Fi(SNAQJ0ZR)1544 +2335 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 2335 a 1539 2335 9 125 v 535 2343 1013 9 +v 580 2402 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +105.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped +{ moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005 +15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 1179 1433 +4 v 515 2442 4 1265 v 1944 2442 V 515 2444 1433 4 v 0 +TeXcolorgray 2068 1680 a Fh(1)17 b Fr(n)o Fw(newgame)2068 +1780 y Fh(2)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 +b(e5)35 b(2.)42 b(Nf)q(3)27 b(Nc6)h(3.)o(Bb5)p Fr(g)2068 +1879 y Fh(3)2068 1979 y(4)17 b Fr(n)o Fw(sho)n(wb)r(oard)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 639 2596 +a(The)36 b Fr(n)p Fq(newgame)c Fw(command)k(sets)f(up)h(the)g(in)n +(ternal)f(b)r(oard)g(or)g(a)g(new)h(game.)60 b(The)515 +2696 y Fr(n)p Fq(mainline)29 b Fw(command)j(do)r(es)g(t)n(w)n(o)g +(things:)46 b(it)33 b(t)n(yp)r(esets)g(the)f(mo)n(v)n(es)g(and)g(up)r +(dates)h(the)515 2795 y(b)r(oard)27 b(so)f(that)i Fr(n)p +Fq(showboard)c Fw(will)k(sho)n(w)e(the)i(curren)n(t)f(b)r(oard)g(p)r +(osition.)p 0 TeXcolorgray 0 TeXcolorgray 543 2988 a +Fu(3.)15 b(.)h(.)f(a6)543 3088 y Fw(Rarely)27 b(used)g(these)h(da)n +(ys,)543 3187 y(3.)13 b(.)h(.)g Fg(N)p Fw(f6)27 b(is)h(more)f(in)543 +3287 y(fashion)g(since)g(blah)h(blah...)543 3386 y Fu(4)k +Fk(B)p Fu(a4)p 535 3455 1013 9 v 487 3541 a Fj(8)p 535 +3580 9 125 v 544 3580 a Fi(rZblkans)p 1539 3580 V 487 +3666 a Fj(7)p 535 3704 V 544 3704 a Fi(ZpopZpop)p 1539 +3704 V 487 3790 a Fj(6)p 535 3829 V 544 3829 a Fi(pZnZ0Z0Z)p +1539 3829 V 487 3915 a Fj(5)p 535 3953 V 544 3953 a Fi(Z0Z0o0Z0)p +1539 3953 V 487 4039 a Fj(4)p 535 4078 V 544 4078 a Fi(BZ0ZPZ0Z)p +1539 4078 V 487 4164 a Fj(3)p 535 4202 V 544 4202 a Fi(Z0Z0ZNZ0)p +1539 4202 V 487 4288 a Fj(2)p 535 4327 V 544 4327 a Fi(POPO0OPO)p +1539 4327 V 487 4413 a Fj(1)p 535 4451 V 544 4451 a Fi(SNAQJ0ZR)1544 +4451 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 4451 a 1539 4451 9 125 v 535 4459 1013 9 +v 580 4518 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +105.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped +{ moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005 +15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 2909 1433 +4 v 515 4558 4 1650 v 1944 4558 V 515 4560 1433 4 v 0 +TeXcolorgray 2068 3454 a Fh(1)17 b Fr(n)o Fw(mainline)11 +b Fr(f)p Fw(3...)e(a)o(6)p Fr(g)27 b(n)p Fw(sa)n(v)n(egame)m +Fr(f)p Fw(pap)o(1)p Fr(g)2068 3553 y Fh(2)17 b Fw(Rarely)27 +b(used)g(these)k(da)n(ys,)2068 3653 y Fh(3)17 b Fr(n)5 +b Fw(v)-5 b(ariation)22 b Fr(f)p Fw(3...)16 b(Nf)q(6)p +Fr(g)30 b Fw(is)41 b(more)27 b(in)2068 3753 y Fh(4)19 +b Fw(fashion)45 b(since)e(blah)30 b(blah)17 b(...)2068 +3852 y Fh(5)g Fr(n)o Fw(mainline)p Fr(f)p Fw(4.Ba)o(4)p +Fr(g)2068 3952 y Fh(6)2068 4052 y(7)g Fr(n)o Fw(sho)n(wb)r(oard)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 639 4707 +a(This)31 b(example)g(sho)n(ws)e(that)i(if)h(it)f(is)g(blac)n(k)f(to)h +(mo)n(v)n(e)e(the)j(mo)n(v)n(e)d(n)n(um)n(b)r(er)i(shoud)g(b)r(e)515 +4807 y(follo)n(w)n(ed)38 b(b)n(y)h(three)g(p)r(erio)r(ds.)72 +b(F)-7 b(urthermore,)41 b(it)f(also)e(sho)n(ws)g(that)i(the)f +Fr(n)p Fq(variation)515 4907 y Fw(command)22 b(merely)h(t)n(yp)r(esets) +g(the)g(mo)n(v)n(es)f(|)h(it)h(do)r(es)e Ff(not)31 b +Fw(up)r(date)24 b(the)f(b)r(oard,)g(but)h(apart)515 5006 +y(from)j(that)h(it)g(exp)r(ects)g(the)g(same)f(input)h(as)f +Fr(n)p Fq(mainline)p Fw(.)p 0 TeXcolorgray 1926 5255 +a(4)p 0 TeXcolorgray eop end +%%Page: 5 5 +TeXDict begin 5 4 bop 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 639 523 a Fw(The)31 b(four)f(commands)f(in)n(tro)r(duced)h +(in)h(this)g(section)f(will)g(enable)g(y)n(ou)g(to)g(commen)n(t)515 +623 y(y)n(our)c(games)g(with)i(minimal)g(e\013ort)f(and)h(still)f(get)h +(great)e(results)h(|)g(in)h(fact)g(most)f(c)n(hess)515 +722 y(b)r(o)r(oks)g(can)g(b)r(e)h(writen)f(using)h(only)f(these)h +(commands!)639 822 y(But)23 b(the)f Fs(sk)n(ak)f Fw(pac)n(k)-5 +b(age)20 b(o\013ers)i(a)f(lot)h(more)g(that)g(can)g(mak)n(e)f(c)n(hess) +g(t)n(yp)r(esetting)h(easier)515 922 y(for)27 b(y)n(our)f(|)i(these)f +(features)g(are)g(the)h(topics)f(of)h(the)g(next)g(t)n(w)n(o)f +(sections.)515 1196 y Fv(4)134 b(In)l(termediate)48 b(Usage)e(of)f(the) +g Fp(sk)l(ak)h Fv(P)l(ac)l(k)-7 b(age)515 1378 y Fw(This)27 +b(section)h(describ)r(es)f(ho)n(w)f(to)p 0 TeXcolorgray +639 1544 a Fl(\210)p 0 TeXcolorgray 41 w Fw(do)i(game)e(managemen)n(t,) +p 0 TeXcolorgray 639 1710 a Fl(\210)p 0 TeXcolorgray +41 w Fw(add)i(ornamen)n(ts)e(to)h(the)h(b)r(oard)f(and)p +0 TeXcolorgray 639 1876 a Fl(\210)p 0 TeXcolorgray 41 +w Fw(con)n(trolling)f(some)h(asp)r(ects)h(of)f(sho)n(wing)f(the)i(b)r +(oard.)515 2108 y Fn(4.1)112 b(Game)39 b(Managemen)m(t)515 +2262 y Fw(Returning)24 b(to)f(the)i(Ruy)f(Lop)r(ez)g(example)f(supp)r +(ose)h(y)n(ou)f(w)n(an)n(t)h(to)f(go)h(in)n(to)f(details)h(ab)r(out)515 +2361 y(a)30 b(n)n(um)n(b)r(er)g(of)g(v)-5 b(ariations)29 +b(after)h(white's)h(third)g(mo)n(v)n(e,)f(preferably)f(sho)n(wing)g +(the)i(b)r(oard)515 2461 y(in)d(all)f(the)h(lines)f(y)n(ou)g(describ)r +(e.)639 2561 y(One)h(w)n(a)n(y)e(to)h(do)h(this)g(is)f(to)h(use)f(the)h +Fr(n)p Fq(hidemoves)23 b Fw(command)28 b(lik)n(e)f(this:)p +0 TeXcolorgray 0 TeXcolorgray 543 2767 a Fu(1)32 b(e4)f(e5)g(2)h +Fk(N)p Fu(f3)f Fk(N)p Fu(c6)h(3)f Fk(B)p Fu(b5)p 535 +2836 1013 9 v 487 2922 a Fj(8)p 535 2960 9 125 v 544 +2960 a Fi(rZblkans)p 1539 2960 V 487 3046 a Fj(7)p 535 +3085 V 544 3085 a Fi(opopZpop)p 1539 3085 V 487 3171 +a Fj(6)p 535 3210 V 544 3210 a Fi(0ZnZ0Z0Z)p 1539 3210 +V 487 3295 a Fj(5)p 535 3334 V 544 3334 a Fi(ZBZ0o0Z0)p +1539 3334 V 487 3420 a Fj(4)p 535 3459 V 544 3459 a Fi(0Z0ZPZ0Z)p +1539 3459 V 487 3544 a Fj(3)p 535 3583 V 544 3583 a Fi(Z0Z0ZNZ0)p +1539 3583 V 487 3669 a Fj(2)p 535 3708 V 544 3708 a Fi(POPO0OPO)p +1539 3708 V 487 3794 a Fj(1)p 535 3832 V 544 3832 a Fi(SNAQJ0ZR)1544 +3832 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 3832 a 1539 3832 9 125 v 535 3840 1013 9 +v 580 3899 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +105.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped +{ moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005 +15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 2676 1433 +4 v 515 3939 4 1265 v 1944 3939 V 515 3941 1433 4 v 0 +TeXcolorgray 2068 3177 a Fh(1)17 b Fr(n)o Fw(newgame)2068 +3277 y Fh(2)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 +b(e5)35 b(2.)42 b(Nf)q(3)27 b(Nc6)h(3.)o(Bb5)p Fr(g)2068 +3376 y Fh(3)2068 3476 y(4)17 b Fr(n)o Fw(sho)n(wb)r(oard)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +1926 5255 a(5)p 0 TeXcolorgray eop end +%%Page: 6 6 +TeXDict begin 6 5 bop 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 543 526 a +Fu(3.)15 b(.)h(.)f(a6)28 b Fw(blah)f(blah)p 535 592 1013 +9 v 487 678 a Fj(8)p 535 716 9 125 v 544 716 a Fi(rZblkans)p +1539 716 V 487 802 a Fj(7)p 535 841 V 544 841 a Fi(ZpopZpop)p +1539 841 V 487 927 a Fj(6)p 535 965 V 544 965 a Fi(pZnZ0Z0Z)p +1539 965 V 487 1051 a Fj(5)p 535 1090 V 544 1090 a Fi(ZBZ0o0Z0)p +1539 1090 V 487 1176 a Fj(4)p 535 1215 V 544 1215 a Fi(0Z0ZPZ0Z)p +1539 1215 V 487 1300 a Fj(3)p 535 1339 V 544 1339 a Fi(Z0Z0ZNZ0)p +1539 1339 V 487 1425 a Fj(2)p 535 1464 V 544 1464 a Fi(POPO0OPO)p +1539 1464 V 487 1549 a Fj(1)p 535 1588 V 544 1588 a Fi(SNAQJ0ZR)1544 +1588 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 1588 a 1539 1588 9 125 v 535 1596 1013 9 +v 580 1655 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005 +15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 443 1433 +4 v 515 1694 4 1253 v 1944 1694 V 515 1696 1433 4 v 0 +TeXcolorgray 2068 988 a Fh(1)17 b Fr(n)o Fw(mainline)11 +b Fr(f)p Fw(3...)e(a)o(6)p Fr(g)27 b Fw(blah)h(blah)2068 +1088 y Fh(2)2068 1188 y(3)17 b Fr(n)o Fw(sho)n(wb)r(oard)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 543 1882 a Fu(3.)e(.)h(.)f Fk(N)p Fu(ge7)27 +b Fw(blah)g(blah)p 535 1964 1013 9 v 487 2050 a Fj(8)p +535 2089 9 125 v 544 2089 a Fi(rZblka0s)p 1539 2089 V +487 2174 a Fj(7)p 535 2213 V 544 2213 a Fi(opopmpop)p +1539 2213 V 487 2299 a Fj(6)p 535 2338 V 544 2338 a Fi(0ZnZ0Z0Z)p +1539 2338 V 487 2424 a Fj(5)p 535 2462 V 544 2462 a Fi(ZBZ0o0Z0)p +1539 2462 V 487 2548 a Fj(4)p 535 2587 V 544 2587 a Fi(0Z0ZPZ0Z)p +1539 2587 V 487 2673 a Fj(3)p 535 2711 V 544 2711 a Fi(Z0Z0ZNZ0)p +1539 2711 V 487 2797 a Fj(2)p 535 2836 V 544 2836 a Fi(POPO0OPO)p +1539 2836 V 487 2922 a Fj(1)p 535 2960 V 544 2960 a Fi(SNAQJ0ZR)1544 +2960 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 2960 a 1539 2960 9 125 v 535 2968 1013 9 +v 580 3027 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005 +15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 1791 1433 +4 v 515 3067 4 1278 v 1944 3067 V 515 3069 1433 4 v 0 +TeXcolorgray 2068 2249 a Fh(1)17 b Fr(n)o Fw(newgame)2068 +2348 y Fh(2)g Fr(n)o Fw(hidemo)n(v)n(es)o Fr(f)p Fw(1.)o(e4)27 +b(e5)g(2.)h(Nf3)f(Nc)q(6)g(3.)o(Bb5)p Fr(g)2068 2448 +y Fh(3)17 b Fr(n)o Fw(mainline)11 b Fr(f)p Fw(3...)e(Nge7)p +Fr(g)26 b Fw(blah)i(blah)2068 2547 y Fh(4)2068 2647 y(5)17 +b Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 639 3217 a(This)22 b(is,)i(admittedly)-7 +b(,)23 b(a)f(lab)r(ourious)f(w)n(a)n(y)g(of)h(doing)g(it,)i(but)e(the)h +(example)f(sho)n(ws)f(ho)n(w)515 3317 y Fr(n)p Fq(hidemoves)i +Fw(can)k(fast-forw)n(ard)f(y)n(ou)h(to)g(an)n(y)g(p)r(oin)n(t)h(in)g(a) +f(game.)639 3417 y Fs(sk)n(ak)g Fw(o\013ers)f(y)n(ou)h(w)n(a)n(ys)f(of) +i(storing)e(game)h(p)r(ositions)p 0 TeXcolorgray 639 +3583 a Fl(\210)p 0 TeXcolorgray 41 w Fw(in)h(memory)f(or)p +0 TeXcolorgray 639 3749 a Fl(\210)p 0 TeXcolorgray 41 +w Fw(in)h(a)f(\014le.)639 3915 y(The)c(former)f(is)h(done)g(using)g +(the)g Fr(n)p Fq(storegame)c Fw(and)k Fr(n)p Fq(restoregame)18 +b Fw(commands)k(lik)n(e)515 4014 y(this:)p 0 TeXcolorgray +1926 5255 a(6)p 0 TeXcolorgray eop end +%%Page: 7 7 +TeXDict begin 7 6 bop 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 543 534 a +Fu(1)32 b(e4)f(e5)g(2)h Fk(N)p Fu(f3)f Fk(N)p Fu(c6)h(3)f +Fk(B)p Fu(b5)543 634 y(3.)15 b(.)h(.)f(a6)32 b(4)g Fk(B)p +Fu(a4)f(b5)p 535 703 1013 9 v 487 789 a Fj(8)p 535 827 +9 125 v 544 827 a Fi(rZblkans)p 1539 827 V 487 913 a +Fj(7)p 535 952 V 544 952 a Fi(Z0opZpop)p 1539 952 V 487 +1038 a Fj(6)p 535 1076 V 544 1076 a Fi(pZnZ0Z0Z)p 1539 +1076 V 487 1162 a Fj(5)p 535 1201 V 544 1201 a Fi(ZpZ0o0Z0)p +1539 1201 V 487 1287 a Fj(4)p 535 1326 V 544 1326 a Fi(BZ0ZPZ0Z)p +1539 1326 V 487 1411 a Fj(3)p 535 1450 V 544 1450 a Fi(Z0Z0ZNZ0)p +1539 1450 V 487 1536 a Fj(2)p 535 1575 V 544 1575 a Fi(POPO0OPO)p +1539 1575 V 487 1661 a Fj(1)p 535 1699 V 544 1699 a Fi(SNAQJ0ZR)1544 +1699 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 1699 a 1539 1699 9 125 v 535 1707 1013 9 +v 580 1766 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005 +15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 543 1866 a Fu(3.)15 +b(.)h(.)f Fk(B)p Fu(d7)p 535 1934 V 487 2020 a Fj(8)p +535 2059 9 125 v 544 2059 a Fi(rZ0lkans)p 1539 2059 V +487 2145 a Fj(7)p 535 2184 V 544 2184 a Fi(opobZpop)p +1539 2184 V 487 2269 a Fj(6)p 535 2308 V 544 2308 a Fi(0ZnZ0Z0Z)p +1539 2308 V 487 2394 a Fj(5)p 535 2433 V 544 2433 a Fi(ZBZ0o0Z0)p +1539 2433 V 487 2518 a Fj(4)p 535 2557 V 544 2557 a Fi(0Z0ZPZ0Z)p +1539 2557 V 487 2643 a Fj(3)p 535 2682 V 544 2682 a Fi(Z0Z0ZNZ0)p +1539 2682 V 487 2768 a Fj(2)p 535 2806 V 544 2806 a Fi(POPO0OPO)p +1539 2806 V 487 2892 a Fj(1)p 535 2931 V 544 2931 a Fi(SNAQJ0ZR)1544 +2931 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 2931 a 1539 2931 9 125 v 535 2939 1013 9 +v 580 2998 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005 +15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 443 1433 +4 v 515 3037 4 2596 v 1944 3037 V 515 3039 1433 4 v 0 +TeXcolorgray 2068 1311 a Fh(1)17 b Fr(n)o Fw(newgame)2068 +1411 y Fh(2)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 +b(e5)35 b(2.)42 b(Nf)q(3)27 b(Nc6)h(3.)o(Bb5)p Fr(g)2068 +1510 y Fh(3)17 b Fr(n)o Fw(storegame)n Fr(f)p Fw(game)o(1)p +Fr(g)2068 1610 y Fh(4)g Fr(n)o Fw(mainline)11 b Fr(f)p +Fw(3...)e(a)o(6)34 b(4.)5 b(Ba)o(4)27 b(b5)p Fr(g)2068 +1709 y Fh(5)2068 1809 y(6)17 b Fr(n)o Fw(sho)n(wb)r(oard)2068 +1909 y Fh(7)g Fr(n)o Fw(restoregame)n Fr(f)o Fw(game1)p +Fr(g)2068 2008 y Fh(8)2068 2108 y(9)g Fr(n)o Fw(mainline)11 +b Fr(f)p Fw(3...)e(Bd7)p Fr(g)2040 2208 y Fh(10)17 b +Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 639 3192 a(Sa)n(ving)43 b(and)g(loading)g(to/from)f(a)h +(\014le)h(is)g(the)g(same)f(just)h(with)g(the)g(commands)515 +3292 y Fr(n)p Fq(savegame)24 b Fw(and)j Fr(n)p Fq(loadgame)p +Fw(.)515 3567 y Fv(5)134 b(Ornamen)l(ts)515 3765 y Fn(5.1)112 +b(Sho)m(wing)38 b(the)g(Board)515 3918 y Fw(W)-7 b(e)29 +b(ha)n(v)n(e)e(already)g(seen)i Fr(n)p Fq(showboard)24 +b Fw(in)29 b(action,)g(but)g(is)g(is)f(p)r(ossible)h(to)f(alter)g(the)h +(w)n(a)n(y)515 4018 y(the)f(b)r(oard)e(lo)r(oks)h(lik)n(e.)639 +4117 y(With)33 b(the)f Fr(n)p Fq(mover)1267 4087 y Fo(1)1333 +4117 y Fw(command)g(one)f(can)g(request)h(that)g(a)f(little)h(mark)n +(er)e(is)i(sho)n(wn)515 4217 y(next)c(to)f(the)h(b)r(oard)f(indicating) +g(who)g(is)h(to)f(mo)n(v)n(e)g(next.)p 0 TeXcolorgray +515 4369 1146 4 v 607 4423 a Fy(1)642 4446 y Fe(n)p Fd(mover)e +Fc(only)f(w)n(orks)f(if)g(the)h Fj(sk)n(ak)h Fc(is)e(loaded)h(with)g +(the)h(ps)e(option.)p 0 TeXcolorgray 0 TeXcolorgray 1926 +5255 a Fw(7)p 0 TeXcolorgray eop end +%%Page: 8 8 +TeXDict begin 8 7 bop 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 535 526 1013 +9 v 487 612 a Fj(8)p 535 650 9 125 v 544 650 a Fi(rmblkans)p +1539 650 V 487 736 a Fj(7)p 535 775 V 544 775 a Fi(opopopop)p +1539 775 V 487 861 a Fj(6)p 535 899 V 544 899 a Fi(0Z0Z0Z0Z)p +1539 899 V 487 985 a Fj(5)p 535 1024 V 544 1024 a Fi(Z0Z0Z0Z0)p +1539 1024 V 487 1110 a Fj(4)p 535 1149 V 544 1149 a Fi(0Z0Z0Z0Z)p +1539 1149 V 487 1234 a Fj(3)p 535 1273 V 544 1273 a Fi(Z0Z0Z0Z0)p +1539 1273 V 487 1359 a Fj(2)p 535 1398 V 544 1398 a Fi(POPOPOPO)p +1539 1398 V 487 1484 a Fj(1)p 535 1522 V 544 1522 a Fi(SNAQJBMR)1544 +1522 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 1522 a 1539 1522 9 125 v 535 1530 1013 9 +v 580 1589 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005 +15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 443 1433 +4 v 515 1629 4 1187 v 1944 1629 V 515 1631 1433 4 v 0 +TeXcolorgray 2068 955 a Fh(1)17 b Fr(n)o Fw(newgame)2068 +1055 y Fh(2)2068 1155 y(3)g Fr(n)o Fw(sho)n(wb)r(oard)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 543 1791 a Fu(1)32 b(d4)p 535 1857 1013 +9 v 487 1943 a Fj(8)p 535 1981 9 125 v 544 1981 a Fi(rmblkans)p +1539 1981 V 487 2067 a Fj(7)p 535 2106 V 544 2106 a Fi(opopopop)p +1539 2106 V 487 2192 a Fj(6)p 535 2230 V 544 2230 a Fi(0Z0Z0Z0Z)p +1539 2230 V 487 2316 a Fj(5)p 535 2355 V 544 2355 a Fi(Z0Z0Z0Z0)p +1539 2355 V 487 2441 a Fj(4)p 535 2479 V 544 2479 a Fi(0Z0O0Z0Z)p +1539 2479 V 487 2565 a Fj(3)p 535 2604 V 544 2604 a Fi(Z0Z0Z0Z0)p +1539 2604 V 487 2690 a Fj(2)p 535 2729 V 544 2729 a Fi(POPZPOPO)p +1539 2729 V 487 2814 a Fj(1)p 535 2853 V 544 2853 a Fi(SNAQJBMR)1544 +2853 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 2853 a 1539 2853 9 125 v 535 2861 1013 9 +v 580 2920 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +105.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped +{ moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005 +15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 1708 1433 +4 v 515 2959 4 1253 v 1944 2959 V 515 2961 1433 4 v 0 +TeXcolorgray 2068 2253 a Fh(1)17 b Fr(n)o Fw(mainline)p +Fr(f)p Fw(1.d4)p Fr(g)2068 2353 y Fh(2)2068 2453 y(3)g +Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 639 3098 a(This)31 b(can)f(b)r(e)h(turned)f(o\013)h +(with)g Fr(n)p Fq(moveroff)p Fw(.)41 b(Y)-7 b(ou)31 b(can)f(also)f +(remo)n(v)n(e)g(the)i(notation)515 3198 y(around)26 b(the)i(b)r(oard)f +(using)g Fr(n)p Fq(notationoff)c Fw(whic)n(h)k(giv)n(es)g(this)h(app)r +(earance:)p 0 TeXcolorgray 0 TeXcolorgray 535 3438 1013 +9 v 535 4434 9 997 v 544 3562 a Fi(rmblkans)544 3687 +y(opopopop)544 3811 y(0Z0Z0Z0Z)544 3936 y(Z0Z0Z0Z0)544 +4061 y(0Z0Z0Z0Z)544 4185 y(Z0Z0Z0Z0)544 4310 y(POPOPOPO)544 +4434 y(SNAQJBMR)1544 4434 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 4434 a 1539 4434 9 997 +v 535 4442 1013 9 v 1548 4442 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005 +15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 515 3297 1433 4 v 515 4469 4 1174 v 1944 +4469 V 515 4471 1433 4 v 0 TeXcolorgray 2068 3802 a Fh(1)17 +b Fr(n)o Fw(newgame)2068 3902 y Fh(2)g Fr(n)6 b Fw(notationo\013)2068 +4002 y Fh(3)17 b Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 639 4608 a(The)28 b(notation)f(is)g +(added)h(again)e(after)i(one)f(has)g(issued)g Fr(n)p +Fq(notationon)p Fw(.)639 4707 y(A)e(more)e(elab)r(orate)f(explanation)h +(of)h(ho)n(w)g(the)g(app)r(earance)e(of)i(the)h(notation)e(around)515 +4807 y(the)28 b(b)r(oard)e(is)i(con\014gured)e(can)i(b)r(e)g(found)g +(in)f([)p Fu(?)q Fw(].)639 4907 y(Although)c(it)g(is)g(rarely)e(seen)h +(is)h(c)n(hess)f(b)r(o)r(oks)g Fs(sk)n(ak)f Fw(o\013ers)h(the)h(p)r +(ossibilit)n(y)g(of)f(sho)n(wing)515 5006 y(the)28 b(b)r(oard)e(from)i +(blac)n(k's)e(p)r(ersp)r(ectiv)n(e)i(using)f(the)h Fr(n)p +Fq(showinverseboar)o(d)21 b Fw(command.)p 0 TeXcolorgray +1926 5255 a(8)p 0 TeXcolorgray eop end +%%Page: 9 9 +TeXDict begin 9 8 bop 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 535 526 1013 +9 v 487 612 a Fj(8)p 535 650 9 125 v 544 650 a Fi(rmblkans)p +1539 650 V 487 736 a Fj(7)p 535 775 V 544 775 a Fi(opopopop)p +1539 775 V 487 861 a Fj(6)p 535 899 V 544 899 a Fi(0Z0Z0Z0Z)p +1539 899 V 487 985 a Fj(5)p 535 1024 V 544 1024 a Fi(Z0Z0Z0Z0)p +1539 1024 V 487 1110 a Fj(4)p 535 1149 V 544 1149 a Fi(0Z0Z0Z0Z)p +1539 1149 V 487 1234 a Fj(3)p 535 1273 V 544 1273 a Fi(Z0Z0Z0Z0)p +1539 1273 V 487 1359 a Fj(2)p 535 1398 V 544 1398 a Fi(POPOPOPO)p +1539 1398 V 487 1484 a Fj(1)p 535 1522 V 544 1522 a Fi(SNAQJBMR)1544 +1522 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 1522 a 1539 1522 9 125 v 535 1530 1013 9 +v 580 1589 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005 +15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 443 1433 +4 v 515 1629 4 1187 v 1944 1629 V 515 1631 1433 4 v 0 +TeXcolorgray 2068 1005 a Fh(1)17 b Fr(n)o Fw(newgame)2068 +1105 y Fh(2)g Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 639 1774 a(If)36 b(y)n(ou)f(are)f +(writing)h(ab)r(out)h(an)f(op)r(ening)g(from)g(blac)n(k's)g(p)r(oin)n +(t)g(of)h(view)f(this)h(com-)515 1873 y(mand/feature)26 +b(could)i(b)r(e)g(a)f(w)n(elcome)g(refreshmen)n(t)g(in)h(presen)n +(tation)e(st)n(yle.)515 2105 y Fn(5.2)112 b(Handy)38 +b(Commands)515 2258 y Fw(By)22 b(requst)g(of)g(users)g(and)h(o)n(wn)e +(usage)h(a)g(couple)g(of)h(handy)f(commands)g(ha)n(v)n(e)f(b)r(een)i +(added)515 2358 y(to)k Fs(sk)n(ak)f Fw(that)i(y)n(ou)f(migh)n(t)h +(\014nd)g(useful)g(to)r(o.)639 2457 y Fr(n)p Fq(wmove)p +Fr(f)p Fb(move)10 b Fr(g)20 b Fw(t)n(yp)r(esets)g(a)h(single)f(mo)n(v)n +(e,)g(whereas)g Fr(n)p Fq(bmove)p Fr(f)p Fb(move)9 b +Fr(g)21 b Fw(do)r(es)f(the)h(same)515 2557 y(only)f(with)h(leading)f +(ellipses)g(\(see)g(7for)g(in-depth)h(explanation\).)34 +b(This)20 b(is)h(useful)g(for)f(short)515 2656 y(remarks)26 +b(lik)n(e:)p 0 TeXcolorgray 0 TeXcolorgray 543 2846 a(.)14 +b(.)g(.)g Fg(N)p Fw(d4)27 b(w)n(ould)g(ha)n(v)n(e)f(b)r(een)i(b)r +(etter.)p 515 2755 V 515 2872 4 119 v 1944 2872 V 515 +2874 1433 4 v 0 TeXcolorgray 2068 2833 a Fh(1)17 b Fr(n)o +Fw(bmo)n(v)n(e)o Fr(f)p Fw(Nd4)p Fr(g)27 b Fw(w)n(ould)g(ha)n(v)n(e)g +(b)r(een)h(b)r(etter.)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 639 3022 a Fr(n)p Fq(lastmove)c Fw(is)k(a)f(shorthand)g +(for)g(commen)n(ting)g(on)g(the)h(last)f(mo)n(v)n(e)g(made:)p +0 TeXcolorgray 0 TeXcolorgray 543 3305 a Fu(1)32 b(a3)543 +3404 y Fw(1)27 b(a3)g(is)g(bad.)p 515 3226 V 515 3431 +4 207 v 1944 3431 V 515 3433 1433 4 v 0 TeXcolorgray +2068 3198 a Fh(1)17 b Fr(n)o Fw(newgame)2068 3298 y Fh(2)g +Fr(n)o Fw(mainline)p Fr(f)p Fw(1.a)o(3)p Fr(g)2068 3397 +y Fh(3)2068 3497 y(4)g Fr(n)o Fw(lastmo)n(v)n(e)o Fr(fg)27 +b Fw(is)35 b(bad.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +515 3742 a Fv(6)134 b(Adv)-7 b(anced)44 b(Usage)515 3924 +y Fw(This)29 b(section)f(will)h(describ)r(e)g(some)f(features)g(of)h +(the)h Fs(sk)n(ak)d Fw(pac)n(k)-5 b(age)27 b(that)j(allo)n(ws)d(y)n(ou) +h(to)515 4024 y(con)n(trol)e(a)g(lot)i(with)f(regards)e(to)j(the)f(t)n +(yp)r(esetting)h(of)f(mo)n(v)n(es)f(as)g(w)n(ell)h(as)g(ho)n(w)f(the)i +(b)r(oard)515 4123 y(is)f(sho)n(wn.)639 4223 y(F)-7 b(urthermore,)37 +b(w)n(e)e(will)h(tak)n(e)f(a)h(lo)r(ok)f(at)g(ho)n(w)h(the)g(b)r(oard)f +(is)g(set)h(up)g(in)g(arbitrary)515 4323 y(p)r(ositions)27 +b(and)g(ho)n(w)g(the)h(input)h(language)d(can)h(b)r(e)h(c)n(hanged.)515 +4554 y Fn(6.1)112 b(T)-9 b(ailoring)38 b(of)g(the)f(Board)h(App)s +(earance)515 4707 y Fw(In)30 b(additon)h(to)f(the)h(ornamen)n(ts)e(and) +h(sho)n(wing)g(the)g(b)r(oard)g(upside)h(do)n(wn)f(describ)r(ed)g(in) +515 4807 y(5)d(one)g(can)g(c)n(ho)r(ose)g(to)g(sho)n(w)g(only)g(a)g +(subset)h(of)f(the)h(pieces)g(actually)f(on)g(the)h(b)r(oard.)639 +4907 y(The)38 b(simple)h(commands)e Fr(n)p Fq(showonlywhite)32 +b Fw(and)38 b Fr(n)p Fq(showonlyblack)33 b Fw(sho)n(ws)j(only)515 +5006 y(one)27 b(colour)f(on)i(the)g(b)r(oard:)p 0 TeXcolorgray +1926 5255 a(9)p 0 TeXcolorgray eop end +%%Page: 10 10 +TeXDict begin 10 9 bop 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 543 534 +a Fu(1)32 b(e4)f(e5)g(2)h Fk(N)p Fu(f3)f Fk(N)p Fu(c6)h(3)f +Fk(B)p Fu(b5)p 535 603 1013 9 v 487 689 a Fj(8)p 535 +728 9 125 v 544 728 a Fi(0Z0Z0Z0Z)p 1539 728 V 487 814 +a Fj(7)p 535 852 V 544 852 a Fi(Z0Z0Z0Z0)p 1539 852 V +487 938 a Fj(6)p 535 977 V 544 977 a Fi(0Z0Z0Z0Z)p 1539 +977 V 487 1063 a Fj(5)p 535 1101 V 544 1101 a Fi(ZBZ0Z0Z0)p +1539 1101 V 487 1187 a Fj(4)p 535 1226 V 544 1226 a Fi(0Z0ZPZ0Z)p +1539 1226 V 487 1312 a Fj(3)p 535 1350 V 544 1350 a Fi(Z0Z0ZNZ0)p +1539 1350 V 487 1436 a Fj(2)p 535 1475 V 544 1475 a Fi(POPO0OPO)p +1539 1475 V 487 1561 a Fj(1)p 535 1600 V 544 1600 a Fi(SNAQJ0ZR)1544 +1600 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 1600 a 1539 1600 9 125 v 535 1608 1013 9 +v 580 1666 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +105.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped +{ moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005 +15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 443 1433 +4 v 515 1706 4 1265 v 1944 1706 V 515 1708 1433 4 v 0 +TeXcolorgray 2068 894 a Fh(1)17 b Fr(n)o Fw(newgame)2068 +994 y Fh(2)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 +b(e5)35 b(2.)42 b(Nf)q(3)27 b(Nc6)h(3.)o(Bb5)p Fr(g)2068 +1094 y Fh(3)2068 1193 y(4)17 b Fr(n)o Fw(sho)n(w)n(onlywhite)2068 +1293 y Fh(5)g Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +535 1868 1013 9 v 487 1953 a Fj(8)p 535 1992 9 125 v +544 1992 a Fi(rZblkans)p 1539 1992 V 487 2078 a Fj(7)p +535 2117 V 544 2117 a Fi(opopZpop)p 1539 2117 V 487 2202 +a Fj(6)p 535 2241 V 544 2241 a Fi(0ZnZ0Z0Z)p 1539 2241 +V 487 2327 a Fj(5)p 535 2366 V 544 2366 a Fi(Z0Z0o0Z0)p +1539 2366 V 487 2452 a Fj(4)p 535 2490 V 544 2490 a Fi(0Z0Z0Z0Z)p +1539 2490 V 487 2576 a Fj(3)p 535 2615 V 544 2615 a Fi(Z0Z0Z0Z0)p +1539 2615 V 487 2701 a Fj(2)p 535 2739 V 544 2739 a Fi(0Z0Z0Z0Z)p +1539 2739 V 487 2825 a Fj(1)p 535 2864 V 544 2864 a Fi(Z0Z0Z0Z0)1544 +2864 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 2864 a 1539 2864 9 125 v 535 2872 1013 9 +v 580 2931 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +105.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped +{ moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005 +15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 1785 1433 +4 v 515 2970 4 1187 v 1944 2970 V 515 2972 1433 4 v 0 +TeXcolorgray 2068 2347 a Fh(1)17 b Fr(n)o Fw(sho)n(w)n(onlyblac)n(k) +2068 2446 y Fh(2)g Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 639 3104 a(This)25 b(is)g(often)g(used)g +(when)g(describing)g(op)r(eningswhere)e(one)i(w)n(an)n(ts)f(to)h(fo)r +(cus)g(on)g(the)515 3203 y(merrits)k(of)h(the)h(piece)f(set-up)g(on)g +(one)g(side)g(without)h(considering)d(ho)n(w)i(the)h(other)e(side)515 +3303 y(is)e(p)r(ositioned.)639 3402 y(In)i(addition)f(to)g(the)h +(commands)e(for)h(sho)n(wing)f(only)h(one)g(colour)e(it)j(is)f(also)f +(p)r(ossible)515 3502 y(to)k(sho)n(w)f(an)n(y)g(subset)h(of)f(the)i +(pieces)e(on)h(the)g(b)r(oard)f(using)h(the)g Fr(n)p +Fq(showonly)c Fw(command)515 3602 y(that)h(tak)n(es)e(a)h(comma)g(sp)r +(erated)g(list)h(of)g(piece)f(names)h(as)e(argumen)n(t:)p +0 TeXcolorgray 0 TeXcolorgray 543 3778 a(The)i(pa)n(wn)f(structure)g +(is)543 3877 y(no)n(w)g(lik)n(e)g(this:)p 535 3943 1013 +9 v 487 4029 a Fj(8)p 535 4068 9 125 v 544 4068 a Fi(0Z0Z0Z0Z)p +1539 4068 V 487 4154 a Fj(7)p 535 4193 V 544 4193 a Fi(opopZpop)p +1539 4193 V 487 4278 a Fj(6)p 535 4317 V 544 4317 a Fi(0Z0Z0Z0Z)p +1539 4317 V 487 4403 a Fj(5)p 535 4442 V 544 4442 a Fi(Z0Z0o0Z0)p +1539 4442 V 487 4527 a Fj(4)p 535 4566 V 544 4566 a Fi(0Z0ZPZ0Z)p +1539 4566 V 487 4652 a Fj(3)p 535 4691 V 544 4691 a Fi(Z0Z0Z0Z0)p +1539 4691 V 487 4777 a Fj(2)p 535 4815 V 544 4815 a Fi(POPO0OPO)p +1539 4815 V 487 4901 a Fj(1)p 535 4940 V 544 4940 a Fi(Z0Z0Z0Z0)1544 +4940 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 4940 a 1539 4940 9 125 v 535 4948 1013 9 +v 580 5007 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +105.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped +{ moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005 +15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 3695 1433 +4 v 515 5046 4 1353 v 1944 5046 V 515 5048 1433 4 v 0 +TeXcolorgray 2068 4191 a Fh(1)17 b Fw(The)28 b(pa)n(wn)f(structure)g +(is)2068 4290 y Fh(2)17 b Fw(no)n(w)28 b(lik)n(e)45 b(this)15 +b(:)2068 4390 y Fh(3)2068 4489 y(4)i Fr(n)o Fw(sho)n(w)n(only)o +Fr(f)o Fw(P,p)p Fr(g)2068 4589 y Fh(5)g Fr(n)o Fw(sho)n(wb)r(oard)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +1905 5255 a(10)p 0 TeXcolorgray eop end +%%Page: 11 11 +TeXDict begin 11 10 bop 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 639 523 a Fw(The)22 b(piece)f(names)f(are)h(the)g +(standard)f(English)h(name)g(with)h(the)f(addition)g(that)h(white)515 +623 y(pieces)k(are)f(denoted)h(b)n(y)g(upp)r(er)h(case)e(and)i(blac)n +(k's)e(b)n(y)h(lo)n(w)n(ercase.)34 b(P)n(a)n(wns)24 b(are)i(P)g(and)g +(p.)639 722 y(It)i(is)g(also)e(p)r(ossible)h(to)h(do)f(the)h(opp)r +(osite)f(of)h Fr(n)p Fq(showonly)c Fw(using)j Fr(n)p +Fq(showallbut)p Fw(:)p 0 TeXcolorgray 0 TeXcolorgray +535 920 1013 9 v 487 1006 a Fj(8)p 535 1045 9 125 v 544 +1045 a Fi(rZblkans)p 1539 1045 V 487 1131 a Fj(7)p 535 +1169 V 544 1169 a Fi(Z0Z0Z0Z0)p 1539 1169 V 487 1255 +a Fj(6)p 535 1294 V 544 1294 a Fi(0ZnZ0Z0Z)p 1539 1294 +V 487 1380 a Fj(5)p 535 1418 V 544 1418 a Fi(ZBZ0Z0Z0)p +1539 1418 V 487 1504 a Fj(4)p 535 1543 V 544 1543 a Fi(0Z0Z0Z0Z)p +1539 1543 V 487 1629 a Fj(3)p 535 1667 V 544 1667 a Fi(Z0Z0ZNZ0)p +1539 1667 V 487 1753 a Fj(2)p 535 1792 V 544 1792 a Fi(0Z0Z0Z0Z)p +1539 1792 V 487 1878 a Fj(1)p 535 1917 V 544 1917 a Fi(SNAQJ0ZR)1544 +1917 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 1917 a 1539 1917 9 125 v 535 1925 1013 9 +v 580 1983 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +105.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped +{ moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005 +15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial 515 838 1433 +4 v 515 2023 4 1187 v 1944 2023 V 515 2025 1433 4 v 0 +TeXcolorgray 2068 1400 a Fh(1)17 b Fr(n)o Fw(sho)n(w)n(allbut)o +Fr(f)p Fw(P)o(,p)q Fr(g)2068 1499 y Fh(2)g Fr(n)o Fw(sho)n(wb)r(oard)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 515 2218 +a Fn(6.2)112 b(Setting)37 b(up)h(the)g(Board)515 2371 +y Fw(So)31 b(far)f(w)n(e)h(ha)n(v)n(e)f(only)h(lo)r(ok)n(ed)f(ho)n(w)h +(to)g(start)g(a)g(new)g(game,)g(but)h(y)n(ou)f(can)f(also)h(set)g(up) +515 2471 y(the)d(b)r(oard)e(in)i Ff(any)36 b Fw(p)r(osition)27 +b(using)g(the)h(command)g Fr(n)p Fq(fenboard)p Fw(:)639 +2571 y(F)-7 b(orsyth-Edw)n(ards)29 b(Notation)j(\(FEN\))g(is)g(a)f +(standard)g(used)g(to)h(describ)r(e)f(c)n(hess)g(p)r(o-)515 +2670 y(sitions.)45 b(It)31 b(starts)f(with)h(a)g(description)f(of)g +(the)h(con)n(ten)n(ts)f(of)h(the)g(ranks)e(on)i(the)g(b)r(oard.)515 +2770 y(The)e(ranks)f(are)g(separted)g(b)n(y)h(a)g(slash)f(starting)h +(with)g(the)h(eigh)n(th)f(ro)n(w,)f(so)h(if)g(y)n(ou)g(w)n(an)n(t)515 +2870 y(to)i(write)g(do)n(wn)g(the)g(FEN)h(of)f(a)g(p)r(osition)g(y)n +(ou)f(should)i(b)r(e)f(seated)g(as)g(white)g(and)g(w)n(ork)515 +2969 y(y)n(our)26 b(w)n(a)n(y)g(do)n(w)h(the)h(b)r(oard.)36 +b(The)27 b(pieces)g(are)f(designated)h(using)g(the)h(stardard)e +(English)515 3069 y(piece)h(names.)639 3168 y(After)h(the)f(p)r +(osition)g(of)g(the)h(pieces)f(the)g(follo)n(wing)g(information)f(is)h +(giv)n(en)f(separated)515 3268 y(b)n(y)h(spaces:)p 0 +TeXcolorgray 639 3434 a Fl(\210)p 0 TeXcolorgray 41 w +Fw(who)h(it)g(is)f(to)h(mo)n(v)n(e)e(\(w)i(or)f(b\).)p +0 TeXcolorgray 639 3600 a Fl(\210)p 0 TeXcolorgray 41 +w Fw(castling)35 b(options)g(left)h(for)f(white.)61 b(-)35 +b(for)g(none,)i(and)e(K)g(and)g(Q)g(for)g(options)g(to)722 +3700 y(castle)27 b(kingside)g(or)g(queenside)g(for)h(white)g(and)f(k)g +(and)h(q)f(for)g(blac)n(k)p 0 TeXcolorgray 639 3866 a +Fl(\210)p 0 TeXcolorgray 41 w Fw(en)h(passan)n(t)e(square,)h(if)h +(applicable)f(otherwise)g(a)g(-.)p 0 TeXcolorgray 639 +4032 a Fl(\210)p 0 TeXcolorgray 41 w Fw(n)n(um)n(b)r(er)h(of)f(halfmo)n +(v)n(es)f(since)i(the)g(last)f(capture.)p 0 TeXcolorgray +639 4198 a Fl(\210)p 0 TeXcolorgray 41 w Fw(the)h(mo)n(v)n(e)f(n)n(um)n +(b)r(er.)p 0 TeXcolorgray 1905 5255 a(11)p 0 TeXcolorgray +eop end +%%Page: 12 12 +TeXDict begin 12 11 bop 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 543 522 +a Fw(4)p 535 787 1013 9 v 487 873 a Fj(8)p 535 911 9 +125 v 544 911 a Fi(rZ0Z0ZkZ)p 1539 911 V 487 997 a Fj(7)p +535 1036 V 544 1036 a Fi(ZbZpZpop)p 1539 1036 V 487 1122 +a Fj(6)p 535 1161 V 544 1161 a Fi(pZ0Z0Z0Z)p 1539 1161 +V 487 1246 a Fj(5)p 535 1285 V 544 1285 a Fi(ZpZQZ0Z0)p +1539 1285 V 487 1371 a Fj(4)p 535 1410 V 544 1410 a Fi(0Z0ZPZ0Z)p +1539 1410 V 487 1496 a Fj(3)p 535 1534 V 544 1534 a Fi(OPZ0Z0Oq)p +1539 1534 V 487 1620 a Fj(2)p 535 1659 V 544 1659 a Fi(BAPZ0a0O)p +1539 1659 V 487 1745 a Fj(1)p 535 1783 V 544 1783 a Fi(S0Z0ZRZK)1544 +1783 y +tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1544 1783 a 1539 1783 9 125 v 535 1791 1013 9 +v 580 1850 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62 +b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005 +15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005 +17.40005 2.40005 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 543 1950 a Fu(20)31 +b Fk(QX)p Fu(b7)h Fk(R)p Fu(ae8)g(21)f Fk(Q)p Fu(d5)p +515 443 1433 4 v 515 1980 4 1539 v 1944 1980 V 515 1982 +1433 4 v 0 TeXcolorgray 2068 783 a Fh(1)17 b Fr(n)o Fw(fen)n(b)r(oard)p +Fr(f)o Fw(r5)o(k1/1)n(b)q(1)o(p1ppp/p7/1)n(p1Q4/)2068 +882 y Fh(2)g Fw(2)o(p)q(1)o(r3/)o(PP)o(4)o(Pq)o(/BBP)o(2b1)o(P/)o(R4R1) +o(K)28 b(w)f Fr(\000)h(\000)f Fw(0)g(20)p Fr(g)2068 982 +y Fh(3)2068 1081 y(4)17 b Fr(n)o Fu(m)m(b)s(o)m(x)p Fr(fg)2068 +1181 y Fh(5)g Fr(n)o Fu(bigskip)2068 1281 y Fh(6)2068 +1380 y(7)g Fr(n)o Fw(sho)n(wb)r(oard)2068 1480 y Fh(8)2068 +1580 y(9)2039 1679 y(10)h Fr(n)o Fw(mainline)p Fr(f)p +Fw(20.)o(Qxb7)27 b(Rae)o(8)g(21.Qd)o(5)p Fr(g)p 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 515 2176 a Fn(6.3)112 b(T)m(yp)s +(esetting)38 b(St)m(yle)515 2329 y Fw(There)27 b(are)g(a)h(couple)g(of) +g(w)n(a)n(ys)e(to)i(con\014gure)f(ho)n(w)g(the)i(mo)n(v)n(e)e(are)g(t)n +(yp)r(eset)h(as)f(describ)r(ed)515 2428 y(in)h(the)g(follo)n(wing.)515 +2644 y Fu(6.3.1)93 b Fa(n)p Fq(styleA)515 2798 y Fw(The)26 +b Fr(n)p Fq(styleA)d Fw(will)j(switc)n(h)g(the)g(t)n(yp)r(esetting)g +(to)g(the)g(w)n(a)n(y)f(it)h(has)f(b)r(een)i(the)f(standard)f(in)515 +2897 y(Denmark)i(and)g(|)h(I)g(b)r(eliev)n(e)f(|)h(German)n(y)-7 +b(.)p 0 TeXcolorgray 0 TeXcolorgray 543 3229 a Fu(1.)42 +b(e4,)30 b(c5)i(2.)42 b Fk(N)p Fu(f3,)31 b Fk(N)p Fu(c6)p +515 3138 V 515 3272 4 136 v 1944 3272 V 515 3274 1433 +4 v 0 TeXcolorgray 2068 3074 a Fh(1)17 b Fr(n)o Fw(newgame)2068 +3174 y Fh(2)g Fr(n)o Fw(st)n(yleA)2068 3274 y Fh(3)2068 +3373 y(4)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 +b(c5)35 b(2.)5 b(Nf)q(3)27 b(Nc6)p Fr(g)p 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 515 3590 a Fu(6.3.2)93 +b Fa(n)p Fq(styleB)515 3743 y Fw(The)27 b(st)n(yle)h(selected)f(b)n(y)g +Fr(n)p Fq(styleB)e Fw(is)j(the)g(default)g(one.)p 0 TeXcolorgray +0 TeXcolorgray 543 4087 a Fu(1)k(e4)f(c5)h(2)f Fk(N)p +Fu(f3)h Fk(N)p Fu(c6)p 515 3996 V 515 4114 4 120 v 1944 +4114 V 515 4116 1433 4 v 0 TeXcolorgray 2068 3925 a Fh(1)17 +b Fr(n)o Fw(newgame)2068 4025 y Fh(2)g Fr(n)o Fw(st)n(yleB)2068 +4124 y Fh(3)2068 4224 y(4)g Fr(n)o Fw(mainline)p Fr(f)p +Fw(1.e)o(4)28 b(c5)35 b(2.)5 b(Nf)q(3)27 b(Nc6)p Fr(g)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 515 4440 +a Fu(6.3.3)93 b Fa(n)p Fq(styleC)515 4594 y Fw(The)37 +b(st)n(yle)h(selected)f(b)n(y)g Fr(n)p Fq(styleC)e Fw(is)j(an)f(elab)r +(oration)f(on)h Fr(n)p Fq(styleB)p Fw(:)e(it)j(t)n(yp)r(esets)g(the)515 +4693 y(mo)n(v)n(es)g(line)i(b)n(y)f(line)g(for)g(eac)n(h)g(mo)n(v)n(e)f +(for)h(the)h(mainline)g(but)g(on)f(the)h(same)f(line)h(for)515 +4793 y(v)-5 b(ariations)28 b(|)i(this)g(st)n(yle)g(is)g(used)f(in)i +(man)n(y)e(b)r(o)r(oks)g(these)h(da)n(ys,)g(but)g(lo)r(ok)f(the)h(b)r +(est)h(in)515 4893 y(a)c(t)n(w)n(o-column)f(setting)i(where)f(the)h +(linewidth)g(is)g(small.)p 0 TeXcolorgray 1905 5255 a(12)p +0 TeXcolorgray eop end +%%Page: 13 13 +TeXDict begin 13 12 bop 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 818 625 a Fu(1)227 b(e4)183 b(c5)818 724 +y(2)227 b Fk(N)p Fu(f3)123 b Fk(N)p Fu(c6)543 907 y Fw(In)n(teresting) +27 b(ho)n(w)g(2.)13 b(.)h(.)g(d6)27 b(is)h(blah)f(blah.)p +515 530 1433 4 v 515 950 4 422 v 1944 950 V 515 952 1433 +4 v 0 TeXcolorgray 2068 510 a Fh(1)17 b Fr(n)o Fw(newgame)2068 +609 y Fh(2)g Fr(n)o Fw(st)n(yleC)2068 709 y Fh(3)2068 +809 y(4)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 b(c5)35 +b(2.)5 b(Nf)q(3)27 b(Nc6)p Fr(g)2068 908 y Fh(5)2068 +1008 y(6)h Fw(In)n(teresting)48 b(ho)n(w)27 b Fr(n)p +Fw(v)-5 b(ariation)10 b Fr(f)p Fw(2...)g(d6)p Fr(g)33 +b Fw(is)43 b(blah)29 b(blah)t(.)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 515 1218 a Fu(6.3.4)93 b Fa(n)p Fq(variationstyle)26 +b Fu(and)33 b Fa(n)p Fq(mainlinestyle)515 1371 y Fw(Con\014guration)c +(of)h(these)h(commands)f(allo)n(ws)f(for)h(total)g(con)n(trol)f(of)i +(the)f(t)n(yp)r(esetting)h(of)515 1470 y(the)d(mainline)f(and)h(v)-5 +b(ariations,)26 b(they)i(default)g(to:)p 0 TeXcolorgray +0 TeXcolorgray 515 1613 a Fq(\\def\\mainlinesty)o(le)o({\\)o(bfs)o(er)o +(ies)o(}\045)37 b(could)k(also)h(contain)1779 1713 y(\045)h +(definitions)c(of)k(the)1779 1812 y(\045)g(various)e(style)g(options) +515 1912 y(\\def\\variationst)o(yl)o(e{)o(}\045)c(as)43 +b(with)f(mainlinestyle)639 2054 y Fw(They)28 b(are)f(used)i(b)n(y)e +Fr(n)p Fq(styleC)f Fw(to)i(con)n(trol)f(the)h(switc)n(hing)g(bac)n(k)f +(and)h(forth)g(b)r(et)n(w)n(een)515 2154 y(a)f(tabb)r(ed)h(en)n +(vironmen)n(t)f(and)g(normal)g(t)n(yp)r(esetting:)p 0 +TeXcolorgray 0 TeXcolorgray 515 2297 a Fq(\\def\\mainlinesty)o(le)o +({\\)o(sty)o(le)o(C\\b)o(fs)o(er)o(ies)o(})515 2396 y +(\\def\\variationst)o(yl)o(e{)o(\\st)o(yl)o(eB})515 2605 +y Fu(6.3.5)93 b Fa(n)p Fq(longmoves)28 b Fu(and)33 b +Fa(n)p Fq(sanmoves)515 2758 y Fw(The)j Fr(n)p Fq(longmoves)c +Fw(command)k(will)h(ensure)f(that)g(the)h(full)g(mo)n(v)n(e,)g(i.e.,)i +(including)e(the)515 2858 y(from)27 b(square)g(is)h(t)n(yp)r(eset.)38 +b(This)28 b(is)g(also)f(kno)n(w)g(as)g Ff(algebr)l(aic)35 +b Fw(notation)28 b(|)g(can)f(b)r(e)i(quite)515 2958 y(handy)39 +b(when)g(writing)g(ab)r(out)g(c)n(hess)f(for)h(c)n(hildren)g(or)f +(other)h(new)n(commers)f(to)h(c)n(hess)515 3057 y(notation.)p +0 TeXcolorgray 0 TeXcolorgray 543 3333 a Fu(1)32 b(e2-e4)e(c7-c5)i(2)g +Fk(N)p Fu(g1-f3)e Fk(N)p Fu(b8-c6)p 515 3242 V 515 3376 +4 136 v 1944 3376 V 515 3378 1433 4 v 0 TeXcolorgray +2068 3178 a Fh(1)17 b Fr(n)o Fw(newgame)2068 3278 y Fh(2)g +Fr(n)o Fw(longmo)n(v)n(es)2068 3378 y Fh(3)2068 3477 +y(4)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 b(c5)35 +b(2.)5 b(Nf)q(3)27 b(Nc6)p Fr(g)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 639 3621 a Fw(The)h Fr(n)p Fq(shortmoves)23 +b Fw(command)k(returns)g(things)h(to)f(normal.)515 3846 +y Fn(6.4)112 b(Input)38 b(Language)515 3999 y Fw(The)32 +b Fs(sk)n(ak)e Fw(pac)n(k)-5 b(age)30 b(b)n(y)h(default)i(uses)e(the)h +(English)f(letters)g(for)h(the)g(pieces,)g(i.e.,)h(K)f(for)515 +4099 y(King,)27 b(Q)g(for)g(Queen,)g(R)h(for)f(Ro)r(ok,)g(B)h(for)f +(Bishop,)g(N)h(for)f(Knigh)n(t)g(and)g(P)h(for)f(P)n(a)n(wn.)639 +4199 y(The)42 b Fr(n)p Fq(newskaklanguage)35 b Fw(command)41 +b(mak)n(es)g(it)h(p)r(ossible)f(to)h(de\014ne)g(other)f(lan-)515 +4298 y(guages)26 b(than)h(English,)g(e.g.,)h(supp)r(ose)f(I)g(w)n(an)n +(t)g(to)h(use)f(the)h(Danish)g(piece)g(letters:)p 0 TeXcolorgray +0 TeXcolorgray 543 4697 a Fu(1)k(e4)f(c5)h(2)f Fk(N)p +Fu(f3)h Fk(N)p Fu(c6)p 515 4606 V 515 4724 4 120 v 1944 +4724 V 515 4726 1433 4 v 0 TeXcolorgray 2068 4435 a Fh(1)17 +b Fr(n)o Fw(newsk)-5 b(aklanguage)n Fr(f)o Fw(danish)p +Fr(gf)o Fw(KDTLSB)p Fr(g)2068 4535 y Fh(2)2068 4635 y(3)17 +b Fr(n)o Fw(sk)-5 b(aklanguage)n([danish])2068 4734 y +Fh(4)2068 4834 y(5)17 b Fr(n)o Fw(newgame)2068 4933 y +Fh(6)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 b(c5)35 +b(2.)7 b(Sf)r(3)33 b(Sc6)p Fr(g)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 1905 5255 a Fw(13)p 0 TeXcolorgray +eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/latex/skak/skakdoc.tex b/Master/texmf-dist/doc/latex/skak/skakdoc.tex index e80618eda9e..c8d1a2d15bd 100644 --- a/Master/texmf-dist/doc/latex/skak/skakdoc.tex +++ b/Master/texmf-dist/doc/latex/skak/skakdoc.tex @@ -95,7 +95,7 @@ \title{Typesetting Chess in \LaTeX with the \package{skak} Package\\ -Version 1.5} +Version 1.5.2} \author{Torben Hoffmann\\ e-mail: \texttt{torben.lehoff@gmail.com}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} @@ -129,27 +129,6 @@ Project Public Licence, i.e., the name of the software to avoid confusion. \end{quote} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Acknowledgements} -\label{sec:acknowledgements} - -I would like to thank the creator of the \package{lambda} package, -Alan Jeffrey, for making a splendid package that made this package -possible. - -For discussions and alpha-testing I send my thanks to \Guido --- some -of his ideas have already been implemented; the rest? Time will show. - -Thanks to \Harri for finding a nasty bug in the castling routine. - -A big thank goes to \Dirk for adding the Informator symbols to the -fonts and for removing a couple of nasty bugs as well as improving -some of the commands. - -I thank \Ulrike for the tremendous work she has done with regards to -improving the way fonts are handled by the skak package, not to -mention the significant amount of bugs she has found and in many cases -fixed. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/latex/skak/tuggame.pdf b/Master/texmf-dist/doc/latex/skak/tuggame.pdf Binary files differdeleted file mode 100644 index fb9569f172d..00000000000 --- a/Master/texmf-dist/doc/latex/skak/tuggame.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/skak/tuggame.ps b/Master/texmf-dist/doc/latex/skak/tuggame.ps new file mode 100644 index 00000000000..1aa0c8d7026 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/tuggame.ps @@ -0,0 +1,7558 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software +%%Title: tuggame.dvi +%%CreationDate: Thu Jul 18 23:26:36 2013 +%%Pages: 2 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: CMR17 CMTT12 CMR12 CMSS10 SkakNew-Diagram CMR10 +%%+ SkakNew-Figurine CMBX10 SkakNew-Figurine-Bold CMR5 CMSY10 CMTI10 +%%+ SFRM1000 +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -o tuggame.ps tuggame.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2013.07.18:2326 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: pstricks.pro 0 0 +% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.12, 2012/02/12 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/DashLine { + dup 0 gt + { /a .5 def PathLength exch div } + { pop /a 1 def PathLength } ifelse + /b ED % pattern should fit evenly in b + dup /X ED % pattern array + 0 get /y ED % length of first black segment + /z 0 X {add} forall def % length of the full pattern + %% Computation of the scaling factor as described by van Zandt: + b a .5 sub 2 mul y mul sub z Div round + z mul a .5 sub 2 mul y mul add b exch Div + %%%% scaling factor on stack. + /z ED %% now, z is the scaling factor + false % for the length test below + X { z mul } forall X astore %% modification TN 04-08-07 + %%% Checking whether at least one dash in X has positive length: + {0 gt or} forall + { X 1 a sub y mul } + { [ 1 0 ] 0 } + ifelse + setdash stroke +} def +% +/DotLine { + /b PathLength def + /a ED /z ED /y CLW def + /z y z add def + a 0 gt { + /b b a div def + }{ + a 0 eq { + /b b y sub def + }{ a -3 eq { + /b b y add def } if + } ifelse + } ifelse + [ 0 b b z Div round Div dup 0 le { pop 1 } if ] + a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse + setdash 1 setlinecap stroke +} def +% +/SymbolLine { % on stack [ x y x y ... + counttomark % number of elements + 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + + %% for negative SymStep we calculate the distance + SymStep 0 lt + { %XYLength SymStep div abs cvi + /nSym SymStep abs cvi def } + { /nSym XYLength SymStep div cvi def } + ifelse + 0.5 setflat + /Shift Symbol stringwidth pop 2 div def + /deltaX XLength nSym div def + /deltaY YLength nSym div def + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + nSym { + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + currentpoint translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + deltaX deltaY rmoveto + } repeat + /YA YB def /XA XB def + } repeat + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + XA YA translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + pop % delete the mark symbol +} def +% +/LineFill { % hv ------------ patch 7 ------------- + gsave + abs /hatchWidthInc ED + abs /hatchSepInc ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + 2 setlinecap + systemdict + /setstrokeadjust known { true setstrokeadjust } if + x2 x1 sub 1 add { + x1 a mul y1 moveto 0 y2 rlineto stroke + /x1 x1 1 add + hatchWidthInc 0 gt { CLW add } if + def + hatchSepInc 0 gt hatchWidthInc 0 gt or { + /a a hatchSepInc add def + CLW hatchWidthInc add SLW + } if + } repeat + grestore + pop pop } def +% +/DotFill {% on stack: dot radius + /dotRadius ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform + pathbbox % llx lly urx ury of smallest bounding box + /y2 ED /x2 ED /y1 ED /x1 ED + y2 y1 sub a div 2 add cvi /Ny ED + x2 x1 sub a div 2 add cvi /Nx ED + clip + newpath + /yA y1 dotRadius add CLW add def + /xA0 x1 dotRadius add CLW add def + Ny { + /xA xA0 def + Nx { + newpath + xA yA dotRadius 0 360 arc + SolidDot { gsave fill grestore } if + stroke + xA a add /xA ED + } repeat + yA a add /yA ED + } repeat + grestore +} def +% +/PenroseFill {% on stack: scaling factor + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul} + { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall + [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto + i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25 + mul j l + S rmoveto}F i L j L stroke }F}F}F}F + grestore + pop pop +} def +% +/TruchetFill { % on stack: scaling factor + 10 dict begin + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /ma a neg def + /ha a 2 div def + /mha ha neg def + /tile { + rand dup 2 idiv 2 mul eq { 90 rotate } if + mha mha moveto ha mha lineto + ha ha lineto mha ha lineto +% closepath .1 setlinewidth stroke + contents + } def + /contents{ + 0 ha moveto ha 0 lineto + 0 mha moveto mha 0 lineto +% 1 setlinewidth stroke + } def + /dotiling { + f ma mul a f a mul { + /i exch def + f ma mul a f a mul { + /j exch def + gsave i j translate + tile stroke grestore + } for + } for + } def +% + /f 3 def + 5 srand dotiling + end % local user dict +} def +% +/BeginArrow { + ADict begin % hold it local, for end see EndArrow + /@mtrx CM def + gsave + 2 copy T + 2 index sub neg exch + 3 index sub exch Atan + rotate newpath +} def +% +/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict +% +/Arrow { + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /a ED + { 0 h T 1 -1 scale } if + w neg h moveto + 0 0 L w h L w neg a neg rlineto + gsave fill grestore +} def +% +/ArrowD { % the sides are drawn as curves (hv 20071211) + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /Inset ED + { 0 h T 1 -1 scale } if % changes the direction +% we use y=w/h^2 * x^2 as equation for the control points +% for the coordinates the arrow is seen from top to bottom +% the bottom (tip) is (0;0) + w neg h moveto % lower left of > + w 9 div 4 mul neg h 3 div 2 mul + w 9 div neg h 3 div + 0 0 curveto % tip of > + w 9 div h 3 div + w 9 div 4 mul h 3 div 2 mul + w h curveto % upper left of > + w neg Inset neg rlineto % move to x=0 and inset + gsave fill grestore +} def +% +/Tbar { + CLW mul add /z ED + z -2 div CLW 2 div moveto + z 0 rlineto stroke + 0 CLW moveto +} def +% +/Bracket { + CLW mul add dup CLW sub 2 div + /x ED mul CLW add /y ED /z CLW 2 div def + x neg y moveto + x neg CLW 2 div L x CLW 2 div L x y L stroke + 0 CLW moveto +} def +% +/RoundBracket { + CLW mul add dup 2 div + /x ED mul /y ED /mtrx CM def + 0 CLW 2 div T x y mul 0 ne { x y scale } if + 1 1 moveto + .85 .5 .35 0 0 0 curveto + -.35 0 -.85 .5 -1 1 curveto + mtrx setmatrix stroke 0 CLW moveto +} def +% +/SD { 0 360 arc fill } def +% +/EndDot { % DS is the dot size + { /z DS def } { /z 0 def } ifelse % outer or inner dimen + /b ED % the color definition + 0 z DS SD + b { 0 z DS CLW sub SD } if + 0 DS z add CLW 4 div sub + moveto +} def +% +/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { + /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto + load } if ] cvx newpath 3 1 roll T exec } def +% +/NArray { % holds the coordinates and on top of stack the showpoints boolean + /showpoints ED + counttomark 2 div dup cvi /n ED % n 2 div on stack + n eq not { exch pop } if % even numbers of points? delete one + ] aload /Points ED + showpoints not { Points aload pop } if +% { ] aload /Points ED } +% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol +} def +% +/Line { + NArray n 0 eq not + { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def + n { Lineto } repeat + CP 4 2 roll ArrowB L pop pop + } if +} def +% +/LineToYAxis { + /Ox ED % Save the x origin value + NArray % all x-y pairs on stack + n { 2 copy moveto % go to current point + Ox exch Lineto % line to y-axis + pop % delete old x-value + } repeat +} def +% +/LineToXAxis{ + /Oy ED % Save the y origin value + NArray % all x-y pairs on stack + n 0 eq not + { n 1 eq { 0 0 /n 2 def } if + ArrowA + /n n 2 sub def + CP 2 copy moveto pop Oy Lineto + n { 2 copy moveto pop Oy Lineto } repeat + CP + 4 2 roll + ArrowB + 2 copy moveto pop Oy + L + pop pop } if +} def +% +/Arcto { + /a [ 6 -2 roll ] cvx def + a r + /arcto load stopped { 5 } { 4 } ifelse { pop } repeat + a +} def +% +/CheckClosed { + dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq + and { pop pop /n n 1 sub def } if +} def +% +/Polygon { + NArray n 2 eq { 0 0 /n 3 def } if + n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + n 2 mul -2 roll + /y0 ED /x0 ED /y1 ED /x1 ED + x1 y1 + /x1 x0 x1 add 2 div def + /y1 y0 y1 add 2 div def + x1 y1 moveto + /n n 2 sub def + n { Lineto } repeat + x1 y1 x0 y0 6 4 roll Lineto + Lineto pop pop closepath } ifelse +} def +% +/SymbolPolygon { % on stack [ x y x y ... + counttomark % number of elements + 2 add /m ED + 2 copy m 2 roll % copy last two + m 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + /nSym XYLength SymStep Div cvi def + /Shift Symbol stringwidth pop 2 Div def + /deltaX XLength nSym Div def + /deltaY YLength nSym Div def + XA Shift sub YA Shift sub moveto + nSym { + gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + grestore + deltaX deltaY rmoveto + } repeat +% XB Shift sub YB Shift sub moveto Symbol show + /YA YB def /XA XB def + } repeat + pop % delete the mark symbol +} def +% +/Diamond { + /mtrx CM def + T rotate + /h ED + /w ED + dup 0 eq { pop } { CLW mul neg + /d ED + /a w h Atan def + /h d a sin Div h add def + /w d a cos Div w add def } ifelse + mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div + /ArrowA { moveto } def + /ArrowB { } def + false Line + closepath mtrx setmatrix } def +% +/Triangle { + /mtrx CM def + translate + rotate /h ED 2 div /w ED + dup CLW mul /d ED + /h h d w h Atan sin Div sub def + /w w d h w Atan 2 div dup cos exch sin Div mul sub def + mark + 0 d w neg d 0 h w d 0 d + /ArrowA { moveto } def + /ArrowB { } def + false + Line + closepath + mtrx +% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) +% setmatrix } def + setmatrix pop +} def +% DG/SR modification end +% +/CCA { + /y ED /x ED + 2 copy y sub /dy1 ED + x sub /dx1 ED + /l1 dx1 dy1 Pyth def +} def +% +/CC { + /l0 l1 def + /x1 x dx sub def + /y1 y dy sub def + /dx0 dx1 def + /dy0 dy1 def + CCA + /dx dx0 l1 c exp mul dx1 l0 c exp mul add def + /dy dy0 l1 c exp mul dy1 l0 c exp mul add def + /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def + /x2 x l0 dx mul m mul sub def + /y2 y l0 dy mul m mul sub def + /dx l1 dx mul m mul neg def + /dy l1 dy mul m mul neg def +} def +% +/IC { + /c c 1 add def + c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse + /a a 2 mul 3 div 45 cos b exp div def + CCA + /dx 0 def + /dy 0 def +} def +% +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +% +/OpenCurve { + NArray n 3 lt + { n { pop pop } repeat } + { BOC /n n 3 sub def n { NC } repeat EOC } ifelse +} def +% +/CurvePath { + %% for negative SymStep we calculate the distance + SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if + 0.5 setflat + flattenpath /z 0 def /z0 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def + x1 Shift sub y1 Shift sub moveto + gsave + curveticks + { x1 y1 translate startAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { startAngle rotate Symbol show } + ifelse + grestore /z0 z def } + { /y ED /x ED PathLength@ z z0 sub SymStep ge { + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore /z0 z def } if + /yOld y def /xOld x def } + {} %% the lineto part + { /y y2 def /x x2 def PathLength@ + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + x Shift sub y Shift sub moveto + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + } + pathforall +% curveticks +% { gsave +% x y translate rotAngle rotate +% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto +% SymbolLinewidth setlinewidth stroke grestore +% } if + z +} def +% +/OpenSymbolCurve { + OpenCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/AltCurve { + { false NArray n 2 mul 2 roll + [ n 2 mul 3 sub 1 roll ] aload + /Points ED + n 2 mul -2 roll } + { false NArray } ifelse + n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse +} def +% +/AltOpenSymbolCurve { + AltCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedCurve { + NArray n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + 6 copy n 2 mul 6 add 6 roll + IC CC x y moveto n { NC } repeat + closepath pop pop + } ifelse +} def +% +/ClosedSymbolCurve { + ClosedCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def +% +/FontDot { + DS 2 mul dup + matrix scale matrix concatmatrix exch matrix + rotate matrix concatmatrix exch + findfont exch makefont setfont +} def +% +/Rect { + x1 y1 y2 add 2 div moveto + x1 y2 lineto + x2 y2 lineto + x2 y1 lineto + x1 y1 lineto + closepath +} def +% +/OvalFrame { + x1 x2 eq y1 y2 eq or + { pop pop x1 y1 moveto x2 y2 L } + { y1 y2 sub abs x1 x2 sub abs 2 copy gt + { exch pop } { pop } ifelse + 2 div exch { dup 3 1 roll mul exch } if + 2 copy lt { pop } { exch pop } ifelse + /b ED + x1 y1 y2 add 2 div moveto + x1 y2 x2 y2 b arcto + x2 y2 x2 y1 b arcto + x2 y1 x1 y1 b arcto + x1 y1 x1 y2 b arcto + 16 { pop } repeat + closepath + } ifelse +} def +% +/Frame { + CLW mul /a ED + 3 -1 roll + 2 copy gt { exch } if + a sub /y2 ED + a add /y1 ED + 2 copy gt { exch } if + a sub /x2 ED + a add /x1 ED + 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse +} def +% +/BezierNArray { + /f ED + counttomark 2 div dup cvi /n ED + n eq not { exch pop } if + n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat + f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse +} def +% +/OpenBezier { + BezierNArray + n 1 eq + { pop pop } + { ArrowA n 4 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + 6 2 roll 4 2 roll ArrowB curveto } ifelse +} def +% +/OpenSymbolBezier { + OpenBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedBezier { + BezierNArray + n 1 eq + { pop pop } + { moveto n 1 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + closepath } ifelse +} def +% +/ClosedSymbolBezier { + /f ED % save showpoints value + 2 copy /yEnd ED /xEnd ED + counttomark -2 roll 2 copy /yStart ED /xStart ED + counttomark 2 roll + f + ClosedBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath + [ xEnd yEnd xStart yStart SymbolLine +} def +% +/BezierShowPoints { + gsave + Points aload length 2 div cvi /n ED + moveto + n 1 sub { lineto } repeat + CLW 2 div SLW [ 4 4 ] 0 setdash stroke + grestore +} def +% +/Parab { + /y0 ED /x0 ED /y1 ED /x1 ED + /dx x0 x1 sub 3 div def + /dy y0 y1 sub 3 div def + x0 dx sub y0 dy add x1 y1 ArrowA + x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def +} def +% +/Parab1 { % 1 end | 0 SP + /ySP ED /xSP ED /y1 ED /x1 ED + /dx xSP x1 sub 3 div def + /dy ySP y1 sub 3 div def + newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto + x1 ySP lineto closepath clip + currentpoint + newpath moveto + xSP dx sub ySP dy add x1 y1 ArrowA + xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def +} def +% +/Grid { + newpath + /a 4 string def + /b ED % psk@gridlabels in pt + /c ED % { \pst@usecolor\psgridlabelcolor } + /n ED % psk@griddots + cvi dup 1 lt { pop 1 } if + /s ED % \psk@subgriddiv + s div dup 0 eq { pop 1 } if + /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs + /dx ED dy div round dy mul % \pst@number\psxunit abs + /y0 ED dx div round dx mul + /x0 ED dy div round cvi + /y2 ED dx div round cvi + /x2 ED dy div round cvi + /y1 ED dx div round cvi + /x1 ED + /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def + /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def + b 0 gt { + /z1 b 4 div CLW 2 div add def +% /Helvetica findfont b scalefont setfont + /b b .95 mul CLW 2 div add def } if + systemdict /setstrokeadjust known + { true setstrokeadjust /t { } def } + { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add + exch itransform } bind def } ifelse + gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse + /i x1 def + /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def + /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def + x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if + { i dx mul dup y0 moveto + b 0 gt + { gsave c i a cvs dup stringwidth pop + /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse + h 0 gt {b neg}{z1} ifelse + rmoveto show grestore } if + dup t f moveto + g t L stroke + /i i w add def + } repeat + grestore + gsave + n 0 gt + % DG/SR modification begin - Nov. 7, 1997 - Patch 1 + %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } + { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } + % DG/SR modification end + { 2 setlinecap } ifelse + /i y1 def + /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def + /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def + y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if + { newpath i dy mul dup x0 exch moveto + b 0 gt { gsave c i a cvs dup stringwidth pop + /z2 ED + w 0 gt {z1 z2 add neg} {z1} ifelse + h 0 gt {z1} {b neg} ifelse + rmoveto show grestore } if + dup f exch t moveto + g exch t L stroke + /i i h add def + } repeat + grestore +} def +% +/ArcArrow { + /d ED /b ED /a ED + gsave + newpath 0 -1000 moveto clip + newpath + 0 1 0 0 b + grestore + c mul + /e ED + pop pop pop r a e d PtoC y add exch x add + exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c + mul neg d +} def +% +/Ellipse { + /rotAngle ED + /mtrx CM def + T + rotAngle rotate + scale 0 0 1 5 3 roll arc + mtrx setmatrix +} def +% +/ArcAdjust { %%%% Vincent Guirardel +% given a target length (targetLength) and an initial angle (angle0) [in the stack], +% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0). +% This computes an angle t such that (x0,y0) is at distance +% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)). +% NOTE: this an absolute angle, it does not have to be added or substracted to angle0 +% contrary to TvZ's code. +% To achieve, this, one iterates the following process: start with some angle t, +% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]. +% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned. +% +% Another difference with TvZ's code is that we need d (=add/sub) to be defined. +% the value of d = add/sub is used to know on which side we have to move. +% It is only used in the initialisation of the angle before the iteration. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Input stack: 1: target length 2: initial angle +% variables used : rx, ry, d (=add/sub) +% + /targetLength ED /angle0 ED + /x0 rx angle0 cos mul def + /y0 ry angle0 sin mul def +% we are looking for an angle t such that (x0,y0) is at distance targetLength +% from the point M(t)=(rx*cos(t),ry*sin(t))) +%initialisation of angle (using 1st order approx = TvZ's code) + targetLength 57.2958 mul + angle0 sin rx mul dup mul + angle0 cos ry mul dup mul + add sqrt div +% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees +% (if the ellipse is very curved at the point where we draw the arrow, % +% the value can be much more than 360 degrees !) +% this should avoid going on the wrong side (more than 180 degrees) or go near +% a bad attractive point (at 180 degrees) + dup 90 ge { pop 90 } if + angle0 exch d % add or sub +% maximum number of times to iterate the iterative procedure: +% iterative procedure: takes an angle t on top of stack, computes a +% better angle (and put it on top of stack) + 30 { dup +% compute distance D between (x0,y0) and M(t) + dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt +% if D almost equals targetLength, we stop + dup targetLength sub abs 1e-5 le { pop exit } if +% stack now contains D t +% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]: +% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 ) + exch dup cos rx mul x0 sub exch sin ry mul y0 sub +% stack contains: y(t)-y0, x(t)-x0, d + 2 index Div targetLength mul y0 add ry Div exch + 2 index Div targetLength mul x0 add rx Div +% stack contains x(t')/rx , y(t')/ry , d +% now compute t', and remove D from stack + atan exch pop + } repeat +% we don't look at what happened... in particular, if targetLength is greater +% than the diameter of the ellipse... +% the final angle will be around /angle0 + 180. maybe we should treat this pathological case... +% after iteration, stack contains an angle t such that M(t) is the tail of the arrow +% to give back the result as a an angle relative to angle0 we could add the following line: +% angle0 sub 0 exch d +% +% begin bug fix 2006-01-11 +% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180 +%(we don't want to make the ellipse turn more or less than it should)... +dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse +% end bug fix +} def +% +/EllipticArcArrow { + /d ED % is add or sub + /b ED % arrow procedure + /a1 ED % angle + gsave + newpath + 0 -1000 moveto + clip % Set clippath far from arrow. + newpath + 0 1 0 0 b % Draw arrow to determine length. + grestore +% Length of arrow is on top of stack. Next 3 numbers are junk. +% + a1 exch ArcAdjust % Angular position of base of arrow. + /a2 ED + pop pop pop + a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig + a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig + a1 cos rx mul xOrig add % + a1 sin ry mul yOrig add % +% Now arrow tip coor and base coor are on stack. + b pop pop pop pop % Draw arrow, and discard coordinates. + a2 CLW 8 div +% change value of d (test it by looking if `` 1 1 d '' gives 2 or not ) + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse + ArcAdjust +% resets original value of d + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap. +} def +%%------------------ tvz/DG/hv (2004-05-10) end -------------------%% +% +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +% +/RotBegin { + tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if + /TMatrix [ TMatrix CM ] cvx def + /a ED + a Rot /RAngle [ RAngle dup a add ] cvx def +} def +% +/RotEnd { + /TMatrix [ TMatrix setmatrix ] cvx def + /RAngle [ RAngle pop ] cvx def +} def +% +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +% +/Uput { + /a ED + add 2 div /h ED 2 + div /w ED + /s a sin def + /c a cos def + /b s abs c abs 2 copy gt dup + /q ED + { pop } { exch pop } ifelse def + /w1 c b div w mul def + /h1 s b div h mul def + q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse +} def +% +/UUput { + /z ED + abs /y ED + /x ED + q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse + { x x mul y y mul sub z z mul add sqrt z add } + { q { x s div } { x c div } ifelse abs + } ifelse + a PtoC + h1 add exch + w1 add exch +} def +% +/BeginOL { + dup (all) eq exch TheOL eq or + { IfVisible not { Visible /IfVisible true def } if } + { IfVisible { Invisible /IfVisible false def } if } ifelse +} def +% +/InitOL { + /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def + /Visible { CP OLUnit idtransform T moveto } def + /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def + /BOL { BeginOL } def + /IfVisible true def +} def +% +%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%% +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a +end +} def +% +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +end +%-----------------------------------------------------------------------------% +% +% END pstricks.pro + +%%EndProcSet +%%BeginProcSet: pst-algparser.pro 0 0 +% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $ +%% +%% PostScript prologue for PSTricks algorithm parser +%% Version 0.04, 2011/10/21 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%%-----------------------------------------------------------------------------% +% +/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez +% +/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin +% +% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13 +% +% 09/2011 DR factorial with ! added +% +% E->T|E+T +% T->FS|T*FS +% FS -> F | +FS | -FS +% F->P|F^SF|P! +% P->(E)|literal +% literal->number|var|var[E]|func(params) +% params->E|E,param +% number->TOBEFINISHED +% +%% E expression, T term, SF signed factor, F factor, P power +% +%% parser +% +%% str +% +%% C->E<condition_operators>E +%% STR index -> STR index+lenExpr +/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def +% +%% analyze Expression List (separator , or | ) +%% STR index -> STR index+lenExpr +%% /AnalyzeListOfE { +%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar +%% NextNonBlankChar dup 0 eq { pop exit } if +%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if +%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop +%% AnalyzeListOfEPostHook +%% } def +/AnalyzeListOfE { + /NotFirst false def + { NextNonBlankChar pop AnalyzeExpr + NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse + dup Strlen eq { exit } if NextNonBlankChar + dup 44 ne 1 index 124 ne and + { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } + if pop 1 add } loop + AnalyzeListOfEPostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% E->T|E+T +%% STR index -> STR index+lenExpr +/AnalyzeExpr { + AnalyzePreHook AnalyzeTerm IsEndingExpr + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% T->FS|T*FS +%% STR index +/AnalyzeTerm { + AnalyzePreHook AnalyzeSignedFactor IsEndingTerm + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FS -> F | +FS | -FS +%% STR index +/AnalyzeSignedFactor { + AnalyzePreHook 2 copy get dup IsUnaryOp + { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp } + { pop AnalyzeFactor } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% F->P|F^P|P! +%% STR index +/AnalyzeFactor { + AnalyzePreHook AnalyzePower IsEndingFactor + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { dup 33 eq%% is there a ! DR 09/2011 + { pop 1 add NextNonBlankChar pop EvalFactorial } + { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower } + ifelse + IsEndingFactor { pop exit } if } loop } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% P->(E)|literal +%% STR index +/AnalyzePower { + %% depending of first char either a number, or a literal + 2 copy get dup 40 eq%%an open par + { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop } + { AnalyzeLiteral } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index STR[index] -> STR index +%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def +/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% recognize + or - +%% chr -> T/F +/IsUnaryOp { dup 43 eq exch 45 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadNumber { + exch dup 3 -1 roll dup 3 1 roll + %%read mantissa + { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop + dup 101 eq exch 69 eq or + %%% there is a "e" or "E" -> read exponant + { 1 add 2 copy get dup IsUnaryOp + { pop 1 add 2 copy get } if + { IsNumber not { exit } if 1 add 2 copy get } loop } + if + dup 4 1 roll + 3 -1 roll exch 1 index sub getinterval +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadCondOp { + NextNonBlankChar 1 index 4 1 roll + { IsCondOp not { exit } if 1 add 2 copy get } loop + 2 copy 5 -1 roll + exch 1 index sub getinterval 3 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can contain only : 0123456789. +%% chr -> T/F +/IsLiteral {% + dup 48 ge exch dup 57 le 3 -1 roll and exch + dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch + dup 97 ge exch 122 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)? +%% STR index -> literal STR index' nextchr +/ReadLiteral { + exch dup 3 -1 roll dup 3 1 roll + %%read literal core + { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop + 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a clpar +%% STR index -> STR index STR[index] T/F +/IsEndingExpr {% + 2 copy dup Strlen eq + %% if end of str is reached -> end ! + { pop pop 0 true } + %% ending chr -> clpar, comma, |, <, >, =, !, + {get dup dup 41 eq + exch dup 124 eq + exch dup 93 eq + exch dup 44 eq + exch dup 30 eq + exch dup 60 ge exch 62 le and or or or or or} + ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a +- +%% STR index -> STR index STR[index] T/F +/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or */ +%% STR index -> STR index STR[index] T/F +/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or ^ +%% STR index -> STR index STR[index] T/F +/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index STR[index] +/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def +/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def +%%%%%%%%%%%%%%%%%%%%%%%% +%% DEBUG +/BRK {false} def +/BRKtrue {/BRK true def} def +/BRKStop {BRK {BRKtoto} if } def +/BRKEvalStop {BRK exch if } def +/BRKBRK2true {BRK {BRK2true} if } def +/BRK2 {false} def +/BRK2true {/BRK2 true def} def +/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def +end +% +%-------------------------------------------------------------------------------% +% +/tx@AlgToPs 12 dict def tx@AlgToPs begin +% +%% algExpr -> PSVector +/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def +/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def +/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def +/Strlen 0 def +/EvalListOfExpr {} def% +/EvalNumber {% + ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx + exch 1 add array astore def NextNonBlankChar pop } def +/EvalAddSub {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def +} def +/EvalMulDiv {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def +} def +/EvalPower {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + pop /exp cvx exch 1 add array astore def +} def +/EvalFactorial {% DR 09/2011 + /ExpressionVector ExpressionVector aload length + /fact cvx exch 1 add array astore def +} def +/EvalLiteral {% + ReadLiteral + dup 40 eq%%% there is an open par -> function call + { pop 2 index + dup (Sum) eq { EvalSum } + { dup (IfTE) eq { EvalCond } + { dup (Derive) eq { pop EvalDerive } + { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx + exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse } + { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def + dup 91 eq%%% there is an open bracket -> vector element + { pop 1 add NextNonBlankChar pop AnalyzeExpr + /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add } + { pop NextNonBlankChar pop } + ifelse} + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% the derive function : Derive(n,f(x)) +%% firstparindex lastparindex -> +/EvalDerive { + %% manage the function descripiton + 1 add ReadNumber 3 1 roll NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + 1 add NextNonBlankChar pop + 3 -1 roll cvi + dup 0 eq + { pop AnalyzeExpr 3 -1 roll pop 1 add } + { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll + { (x) tx@Derive begin Derive end } repeat + ExpressionVector exch /ExpressionVector [] def + AlgToPs aload length + /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def + l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add + 1 index length /Strlen exch def } ifelse +} def +/EvalSum {% + pop 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll + 5 -1 roll 4 add array astore def + %% keep ExpressionVector for later and create a new one for internal Sum computation + ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def + 1 add NextNonBlankChar pop AnalyzeExpr + %% add each term + /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def + /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add + array astore def 3 -1 roll pop 1 add +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +/EvalCond {% + pop 1 add AnalyzeCond NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + ExpressionVector 3 1 roll /ExpressionVector [] def + 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def + NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add AnalyzeExpr + NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if + ExpressionVector + /ExpressionVector 6 -1 roll aload length dup + 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def + 1 add 3 -1 roll pop +} def +%% CondOp STR index +/EvalCondOp {% + 3 -1 roll + dup (=) eq { /eq } {% + dup (<) eq { /lt } {% + dup (>) eq { /gt } {% + dup (>=) eq { /ge } {% + dup (<=) eq { /ge } {% + dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator } + ifelse } ifelse } ifelse } ifelse } ifelse } ifelse + cvx exch pop + /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def +/EvalUnaryOp { + 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook {} bind def +/PreEvalHook {} bind def +/AnalyzeListOfEPostHook {} bind def +/AnalyzePostHook {} def +/RollOp { 3 1 roll } bind def +end %tx@CoreAnalyzerDict +% +%--------------------------------------------------------------------% +% +/tx@Derive 41 dict def tx@Derive begin +%%increase ^^ for each function added +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable -> PSVector +/Derive {% + 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end +} def +/Strlen 0 def +/InitParser { dup length /Strlen exch def 0 } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable index -> PSVector +/DeriveIndexed {% + 3 1 roll 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u,v)'=-(u',v') +/EvalListOfExpr {% + 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe + 2 copy 7 -1 roll dup length 4 1 roll putinterval add + 6 -2 roll pop pop + 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (-u)'=-(u') +/EvalUnaryOp { + 4 -2 roll 4 index (0) eq + { (0) StrConcat 7 -1 roll pop } + { 7 -1 roll 45 eq + { AddSub AddOpPar true } { false } ifelse + 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (number)'=0 +/EvalNumber { ReadNumber (0) 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u+v)'=u'+v' +/EvalAddSub {% + 7 index dup (0) eq + { pop true }%% du=0 nothing added + { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false } + ifelse + 5 index dup (0) eq + { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0 + { exch + { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added + { 5 -2 roll 7 index 43 eq%%something yet added + { AddAdd false } { AddSub AddOpPar true } ifelse } + ifelse 11 1 roll + 3 -1 roll StrConcat 10 -1 roll { AddClPar } if + 2 copy pop 0 6 2 roll GetIntervalNewStr } + ifelse + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)' or (u/v)' +/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)'=u'*v+u*v' +/EvalMul {% + 4 -2 roll 7 index dup (0) eq + { pop false }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if + true }%%du!=0 + ifelse + 5 1 roll 5 index (0) eq + { 5 -1 roll not { (0) StrConcat } if }%%dv=0 + { 5 -1 roll { AddAdd } if + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + }%%dv!=0 + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u/v)'=(u'*v-u*v')/v^2 +/EvalDiv {% + 4 -2 roll + 4 index (0) eq%%dv=0 -> u'/v + { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse } + { 7 index dup (0) eq + { pop }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0 + ifelse + AddSub + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + %}%%dv!=0 + 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar + AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add } + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str1 index str2 -> str1 index +/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def +/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u) +/EvalPower {% + 4 -2 roll 7 index (0) eq + {%%if du=0 then (u^v)'=v'ln(u)u^v + 4 index (0) eq + { (0) StrConcat }%%if dv=0 then (u^v)'=0 + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if + 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if + AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse + } + {%%du!=0 + 4 index (0) eq + {%%if dv=0 then (u^v)'=vu'u^(v-1) + 5 index dup IsStrNumber + { dup (0) eq + { StrConcat } + { dup dup (1) eq exch (1.0) eq or + { StrConcat } + { StrConcat + 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1 + { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006 + (*\() StrConcat 8 index StrConcat (\)) StrConcat + 5 index dup dup (2) eq exch (2.0) eq or + { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse } + { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)) StrConcat } ifelse + } + {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u) + 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if + AddOpPar 5 index StrConcat (\)*\() StrConcat + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)+\() StrConcat + 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (\)*ln\() StrConcat + 8 index StrConcat AddClPar + } ifelse + } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for factorial ! only cst => null derivative +/EvalFactorial {% DR 09/2011 + 4 index (0) eq + { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll } + { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str -> true/false +/IsStrNumber {% + true exch + { dup 48 lt exch dup 57 gt 3 -1 roll or + exch dup 46 ne%%. + exch dup 43 ne%%+ + exch 45 ne%%- + and and and { pop false } if } forall +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalLiteral {% + ReadLiteral dup 40 eq%%% there is an open par -> function call + { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec } + { dup 91 eq%%% there is an open bracket -> vector element + { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented } + { pop EvalVariable } + ifelse } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% first last parpos Expr[first:parpos-1] -> +/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (f(u))'=u'f'(u) +/EvalFunc { + 4 2 roll 4 index (1) ne + { AddOpPar 4 index StrConcat (\)*) StrConcat } if + (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Func derivative -> Eval<func> +/EvalFunc_sin {% + PreCommonFunc + { (cos\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_cos {% + PreCommonFunc + { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_tan {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_asin {% + PreCommonFunc + { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_acos {% + PreCommonFunc + { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_atg {% + PreCommonFunc + { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_ln {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_exp {% + PreCommonFunc + { (exp\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_EXP {% + PreCommonFunc + { (EXP\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_sqrt {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Fact {% + PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if + PostCommonFunc } def +/EvalFunc_sh {% + PreCommonFunc + { (ch\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_ch {% + PreCommonFunc + { (sh\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_th {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argsh {% + PreCommonFunc + { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argch {% + PreCommonFunc + { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argth {% + PreCommonFunc + { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/PreCommonFunc { + 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop + 4 2 roll 4 index (0) eq + { (0) StrConcat false } + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse +} def +/PostCommonFunc { + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +/EvalFunc_Derive {% + 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs + 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add + 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval + exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_Sum {% + 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop 3 -1 roll pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if + 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat + 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_IfTE {% + 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond + NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + 1 add NextNonBlankChar pop dup 5 1 roll + AnalyzeExpr NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add NextNonBlankChar pop + AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat + 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% advance in str until a comma is found (no error detection!) +%% str index -> str index' +/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for condition.... +/EvalCondOp { 3 -1 roll pop } bind def +/PutIntervalOneAdd {putinterval 1 add} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add close parenthesis in string at the given index +%% str index -> str index+1 +/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add 0 in string at the given index +%% str index -> str index+1 +/AddZero {2 copy (0) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddMul {2 copy (*) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddDiv {2 copy (/) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a plus sign in string at the given index +%% str index -> str index+1 +/AddAdd {2 copy (+) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a minus sign in string at the given index +%% str index -> str index+1 +/AddSub {2 copy (-) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a pipe sign in string at the given index +%% str index -> str index+1 +/AddPipe {2 copy (|) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook { dup 5 1 roll } bind def +/PreEvalHook {} def +/AnalyzePostHook { 7 -1 roll pop } bind def +/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def +/RollOp { 5 1 roll } bind def +end%%%tx@CoreAnalyzerDict +/tx@AddMathFunc 12 dict def tx@AddMathFunc begin +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% NEW FUNC +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2)) +%% x -> theta +/asin {% + dup abs 1 gt { EQDFasinrangeerror } if + dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad +} def +%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x) +%% x -> theta +/acos {% + dup abs 1 gt { EQDFacosrangeerror } if + dup dup mul 1 exch sub sqrt exch atan DegtoRad +} def +%% function arctangent in radians +%% x -> theta +/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def +%% HYPERBOLIC FUNCTIONS +/sh { dup Ex exch neg Ex sub 2 div } def +/ch { dup Ex exch neg Ex add 2 div } def +/th { dup sh exch ch div } def +/Argsh { dup dup mul 1 add sqrt add ln } def +/Argch { dup dup mul 1 sub sqrt add ln } def +/Argth { dup 1 add exch 1 exch sub div ln 2 div } def +%% modified exponential funtion for 0 +%% x n -> x^n +/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def +%% modified exponential funtion for 0 +%% x -> e^x +/Ex { Euler exch exp } bind def +%% +%% factorial function +%% n -> n! +/Fact { 1 exch 2 exch 1 exch { mul } for } bind def +/fact { Fact } bind def +/! { Fact } bind def +end +% +% END pst-algparser.pro + +%%EndProcSet +%%BeginProcSet: pst-tools.pro 0 0 +% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $ +% +%% PostScript tools prologue for pstricks.tex. +%% Version 0.02, 2012/01/01 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +/Pi2 1.57079632679489661925640 def +/factorial { % n on stack, returns n! + dup 0 eq { 1 }{ + dup 1 gt { dup 1 sub factorial mul } if } + ifelse } def +% +/MoverN { % m n on stack, returns the binomial coefficient m over n + 2 dict begin + /n exch def /m exch def + n 0 eq { 1 }{ + m n eq { 1 }{ + m factorial n factorial m n sub factorial mul div } ifelse } ifelse + end +} def +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% subroutines for complex numbers, given as an array [a b] +% which is a+bi = Real+i Imag +% +/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] + dup 0 get % [a1 b1] [a2 b2] a2 + 3 -1 roll % [a2 b2] a2 [a1 b1] + dup 0 get % [a2 b2] a2 [a1 b1] a1 + 3 -1 roll % [a2 b2] [a1 b1] a1 a2 + add % [a2 b2] [a1 b1] a1+a2 + 3 1 roll % a1+a2 [a2 b2] [a1 b1] + 1 get % a1+a2 [a2 b2] b1 + exch 1 get % a1+a2 b1 b2 + add 2 array astore +} def +% +/cxneg { % [a b] + dup 1 get % [a b] b + exch 0 get % b a + neg exch neg % -a -b + 2 array astore +} def +% +/cxsub { cxneg cxadd } def % same as negative addition +% +% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3] +/cxmul { % [a1 b1] [a2 b2] + dup 0 get % [a1 b1] [a2 b2] a2 + exch 1 get % [a1 b1] a2 b2 + 3 -1 roll % a2 b2 [a1 b1] + dup 0 get % a2 b2 [a1 b1] a1 + exch 1 get % a2 b2 a1 b1 + dup % a2 b2 a1 b1 b1 + 5 -1 roll dup % b2 a1 b1 b1 a2 a2 + 3 1 roll mul % b2 a1 b1 a2 b1a2 + 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1 + 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2 + 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2 + 4 -1 roll add % b1 a2 a1 b2 b3 + 4 2 roll mul % b1 b2 b3 a1a2 + 4 2 roll mul sub % b3 a3 + exch 2 array astore +} def +% +% [a b]^2 = [a^2-b^2 2ab] = [a2 b2] +/cxsqr { % [a b] square root + dup 0 get exch 1 get % a b + dup dup mul % a b b^2 + 3 -1 roll % b b^2 a + dup dup mul % b b^2 a a^2 + 3 -1 roll sub % b a a2 + 3 1 roll mul 2 mul % a2 b2 + 2 array astore +} def +% +/cxsqrt { % [a b] +% dup cxnorm sqrt /r exch def +% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 + cxlog % log[a b] + 2 cxrdiv % log[a b]/2 + aload pop exch % b a + 2.781 exch exp % b exp(a) + exch cxconv exch % [Re +iIm] exp(a) + cxrmul % +} def +% +/cxarg { % [a b] + aload pop % a b + exch atan % arctan b/a + DegtoRad % arg(z)=atan(b/a) +} def +% +% log[a b] = [a^2-b^2 2ab] = [a2 b2] +/cxlog { % [a b] + dup % [a b][a b] + cxnorm % [a b] |z| + log % [a b] log|z| + exch % log|z|[a b] + cxarg % log|z| Theta + cxmake2 % [log|z| Theta] +} def +% +% square of magnitude of complex number +/cxnorm2 { % [a b] + dup 0 get exch 1 get % a b + dup mul % a b^2 + exch dup mul add % a^2+b^2 +} def +% +/cxnorm { % [a b] + cxnorm2 sqrt +} def +% +/cxconj { % conjugent complex + dup 0 get exch 1 get % a b + neg 2 array astore % [a -b] +} def +% +/cxre { 0 get } def % real value +/cxim { 1 get } def % imag value +% +% 1/[a b] = ([a -b]/(a^2+b^2) +/cxrecip { % [a b] + dup cxnorm2 exch % n2 [a b] + dup 0 get exch 1 get % n2 a b + 3 -1 roll % a b n2 + dup % a b n2 n2 + 4 -1 roll exch div % b n2 a/n2 + 3 1 roll div % a/n2 b/n2 + neg 2 array astore +} def +% +/cxmake1 { 0 2 array astore } def % make a complex number, real given +/cxmake2 { 2 array astore } def % dito, both given +% +/cxdiv { cxrecip cxmul } def +% +% multiplikation by a real number +/cxrmul { % [a b] r + exch aload pop % r a b + 3 -1 roll dup % a b r r + 3 1 roll mul % a r b*r + 3 1 roll mul % b*r a*r + exch 2 array astore % [a*r b*r] +} def +% +% division by a real number +/cxrdiv { % [a b] r + 1 exch div % [a b] 1/r + cxrmul +} def +% +% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian +/cxconv { % theta + RadtoDeg dup sin exch cos cxmake2 +} def + +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { % on stack must be an array [ ... ] +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a % return the sorted array +end +} def +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +%-----------------------------------------------------------------------------% +% END pst-tools.pro + +%%EndProcSet +%%BeginProcSet: pst-dots.pro 0 0 +% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt <tvz@Princeton.EDU> +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% Modified by Etienne Riga - Dec. 16, 1999 +%% Modified by Etienne Riga - 2005/01/01 (er) +%% to add /Diamond, /SolidDiamond and /BoldDiamond +%% Modified by Herbert Voss (hv) - 2008/04/17 +% +10 dict dup begin % hold local + /FontType 3 def + /FontMatrix [.001 0 0 .001 0 0] def +% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv + /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph + /Encoding 256 array def + 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef + Encoding % replace with given dot names + dup (b) 0 get /Bullet put % get the numerical position of b in ASCII +% % and save /Bullet at this place in Encoding + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put % 67 + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + dup (P) 0 get /BoldPentagon put +%%% + dup (k) 0 get /Asterisk put + dup (K) 0 get /BoldAsterisk put + dup (J) 0 get /SolidAsterisk put + dup (h) 0 get /Hexagon put + dup (H) 0 get /BoldHexagon put + dup (G) 0 get /SolidHexagon put + dup (f) 0 get /Octogon put % 2008-04-18 hv + dup (F) 0 get /BoldOctogon put % 2008-04-18 hv + dup (g) 0 get /SolidOctogon put % 2008-04-18 hv + dup (a) 0 get /Add put + dup (A) 0 get /BoldAdd put % 65 + dup (x) 0 get /Mul put + dup (X) 0 get /BoldMul put + dup (m) 0 get /Oplus put + dup (M) 0 get /BOplus put + dup (e) 0 get /SolidOplus put + dup (n) 0 get /Otimes put + dup (N) 0 get /BOtimes put + dup (E) 0 get /SolidOtimes put + dup (i) 0 get /Bar put + dup (I) 0 get /BoldBar put + dup (l) 0 get /SolidDiamond put + dup (d) 0 get /Diamond put + (D) 0 get /BoldDiamond put +%%% +/CharProcs 47 dict def +CharProcs begin + /CirclePath {0 0 500 0 360 arc closepath} def + /Bullet {CirclePath fill} def + /Circle {CirclePath .9 .9 scale CirclePath eofill} def + /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def + /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def + /SolidTriangle {TrianglePath fill} def + /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def + /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def + /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def + /SolidSquare {SquarePath fill} def + /Square {SquarePath .89 .89 scale SquarePath eofill} def + /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def + /PentagonPath { + -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto + 0 574.7 lineto -546.6 177.6 lineto closepath + } def + /SolidPentagon {PentagonPath fill} def + /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def + /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def +%-------------- hv begin 2004/07/25 from: er 2003/03/24 + /HexagonPath { + 0 550 moveto -476 275 lineto -476 -275 lineto + 0 -550 lineto 476 -275 lineto 476 275 lineto closepath + } def + /SolidHexagon {HexagonPath fill} def + /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def + /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def +% 2008-04-18 hv + /OctogonPath { + 550 dup 22.5 tan mul dup neg dup add /xMove exch def + exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def + /SolidOctogon { OctogonPath fill } def + /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def + /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def +% + /AsteriskPath { + 20 0 moveto 10 250 180 500 0 500 curveto + -180 500 -10 250 -20 0 curveto closepath + } def + /Asterisk { + AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath + 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill + } def +% + /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def + /BoldAsteriskPath { + 50 30 cos 100 mul moveto Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp closepath + } def + /BoldAsterisk {BoldAsteriskPath fill} def + /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def + /CrossPath { + 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto + -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto + 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath + } def + /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto + -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto + 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath + } def + /Add {CrossPath fill} def + /Mul {45 rotate CrossPath fill} def + /BoldAdd {BoldCrossPath fill} def + /BoldMul {45 rotate BoldCrossPath fill} def + /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def + /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def + /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def + /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def + /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def + /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def + /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def + /Bar {BarPath fill} def + /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def + /BoldBar {BoldBarPath fill} def + /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def + /SolidDiamond {DiamondPath fill} def + /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def + /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def +%%% + /.notdef { } def +end +% +/BuildGlyph { + exch + begin +% Metrics 1 index get exec 0 + 0 0 +% BBoxes 3 index get exec + -1000 -1000 1000 1000 +% -571.5 -742.5 571.5 742.5 + setcachedevice + CharProcs begin load exec end + end +} def +% +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +} bind def +% +end +/PSTricksDotFont exch definefont pop +% +%% end + +%%EndProcSet +%%BeginProcSet: pst-node.pro 0 0 +% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $ +%% +%% PostScript prologue for pst-node.tex. +%% Version 1.13, 2011/11/21. +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +/tx@NodeDict 400 dict def tx@NodeDict begin +tx@Dict begin % from main pstricks dict + /T /translate load def + /CP /currentpoint load def +end +/NewNode { % on stack: { x y } boolean N@name type InitXnode + gsave + NodeScale % a bugfix for xelatex, it's empty for dvips + /next exch def % { x y } boolean N@name type + dict dup % { x y } boolean N@name dict dict + 3 1 roll def % { x y } boolean dict N@name dict def + exch { dup 3 1 roll def } if % { x y } dict boolean + begin % { x y } dict begin + tx@Dict begin + STV CP T exec % set scaling + end + /NodeMtrx CM def % save CM + next % InitXNode + end + grestore +} def +% +/InitPnode { + /Y ED /X ED + /NodePos { NodeSep Cos mul NodeSep Sin mul } def +} def +% +/InitCnode { + /r ED /Y ED /X ED + /NodePos { NodeSep r add dup Cos mul exch Sin mul } def +} def +% +/GetRnodePos { + Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse + Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse + dx Sin mul abs dy + Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse +} def +% +/InitRnode { + /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED + /NodePos { GetRnodePos } def +} def +% +/DiaNodePos { + w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup + Cos mul exch Sin mul +} def +% +/TriNodePos { + Sin s lt + { d NodeSep sub dup Cos mul Sin Div exch } + { w h mul w Sin mul h Cos abs mul add Div + NodeSep add dup Cos mul exch Sin mul + } ifelse +} def +% +/InitTriNode { + sub 2 div exch + 2 div exch + 2 copy T + 2 copy 4 index index /d ED + pop pop pop pop + -90 mul rotate + /NodeMtrx CM def + /X 0 def /Y 0 def + d sub abs neg /d ED + d add /h ED + 2 div h mul h d sub Div /w ED + /s d w Atan sin def + /NodePos { TriNodePos } def +} def +% +/OvalNodePos { + /ww w NodeSep add def + /hh h NodeSep add def + Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul +} def +% +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +% +/XYPos { + dup sin exch cos Do + /Cos ED /Sin ED /Dist ED + Cos 0 gt + { Dist Dist Sin mul Cos div } + { Cos 0 lt + { Dist neg Dist Sin mul Cos div neg } + { 0 Dist Sin mul } ifelse + } ifelse + Do +} def +% +/GetEdge { + dup 0 eq + { pop begin 1 0 NodeMtrx dtransform + CM idtransform + exch atan sub + dup + sin /Sin ED + cos /Cos ED + /NodeSep ED + NodePos NodeMtrx dtransform CM idtransform end } + { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse +} def +% +/AddOffset { + 1 index 0 eq + { pop pop } + { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse +} def +% +/GetEdgeA { + NodeSepA AngleA NodeA NodeSepTypeA GetEdge + OffsetA AngleA AddOffset + yA add /yA1 ED + xA add /xA1 ED +} def +% +/GetEdgeB { + NodeSepB AngleB NodeB NodeSepTypeB GetEdge + OffsetB AngleB AddOffset + yB add /yB1 ED + xB add /xB1 ED +} def +% +/GetArmA { + ArmTypeA 0 eq + { /xA2 ArmA AngleA cos mul xA1 add def + /yA2 ArmA AngleA sin mul yA1 add def } + { ArmTypeA 1 eq {{exch}} {{}} ifelse + /Do ED + ArmA AngleA XYPos OffsetA AngleA AddOffset + yA add /yA2 ED + xA add /xA2 ED } ifelse +} def +% +/GetArmB { + ArmTypeB 0 eq + { /xB2 ArmB AngleB cos mul xB1 add def + /yB2 ArmB AngleB sin mul yB1 add def } + { ArmTypeB 1 eq {{exch}} {{}} ifelse + /Do ED + ArmB AngleB XYPos OffsetB AngleB AddOffset + yB add /yB2 ED + xB add /xB2 ED } ifelse +} def +% +/InitNC { + /b ED /a ED % second and first node + /NodeSepTypeB ED /NodeSepTypeA ED + /NodeSepB ED /NodeSepA ED + /OffsetB ED /OffsetA ED + tx@NodeDict a known tx@NodeDict b known and dup { + /NodeA a load def + /NodeB b load def + NodeA GetCenter /yA ED /xA ED + NodeB GetCenter /yB ED /xB ED } if +} def +% +/LPutLine { + 4 copy + 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED + 1 t sub mul + 3 1 roll 1 t sub mul + 4 1 roll t mul add /Y ED + t mul add /X ED +} def +% +/LPutLines { + mark LPutVar counttomark 2 div 1 sub /n ED +% t floor dup n gt + t floor dup n ge % to allow npos<= hv 2008-08-14 + { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse + cvi 2 mul { pop } repeat + LPutLine + cleartomark +} def +% +/BezierMidpoint { + /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED + /cx x1 x0 sub 3 mul def + /cy y1 y0 sub 3 mul def + /bx x2 x1 sub 3 mul cx sub def + /by y2 y1 sub 3 mul cy sub def + /ax x3 x0 sub cx sub bx sub def + /ay y3 y0 sub cy sub by sub def + ax t 3 exp mul bx t t mul mul add + cx t mul add x0 add ay t 3 exp mul + by t t mul mul add cy t mul add + y0 add 3 ay t t mul mul mul 2 + by t mul mul add cy add 3 ax t t mul mul mul + 2 bx t mul mul add cx add atan /NAngle ED + /Y ED /X ED +} def +% +/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def +} def +/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def +/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit +} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd +} def +/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def +} def +/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def +/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { +exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark +VPosEnd } def +/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 +roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx +def grestore exec /LPutVar /SaveLPutVar load def } def +/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def +GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { +LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { +LPutVar VPutLine } def LPutVar } def +% +/NCLine { + NCCoor + tx@Dict begin + ArrowA CP 4 2 roll + ArrowB + lineto pop pop + end +} def +% +/NCLines { + false NArray + n 0 eq + { NCLine } + { 2 copy yA sub exch xA sub Atan /AngleA ED + n 2 mul dup index exch index yB sub exch xB sub + Atan /AngleB ED + GetEdgeA GetEdgeB + /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def + mark LPutVar + tx@Dict begin false Line end + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def + } ifelse +} def +% +/NCCurve { + GetEdgeA + GetEdgeB + xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 +roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA +GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict +begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] +cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines +} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def +% +/NCAngles { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform pop + xB2 yB2 mtrx transform exch pop + mtrx itransform + /y0 ED /x0 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def } def +% +/NCAngle { + GetEdgeA GetEdgeB GetArmB + /mtrx AngleA matrix rotate def + xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform + /y0 ED /x0 ED + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA1 yA1 + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCBar { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx itransform pop + xB2 yB2 mtrx itransform pop + sub dup 0 mtrx transform + 3 -1 roll 0 gt + { /yB2 exch yB2 add def /xB2 exch xB2 add def } + { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCDiag { + /lineAngle ED + GetEdgeA GetEdgeB GetArmA GetArmB mark + lineAngle abs 0 gt { + /xTemp xA2 10 add def + /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def + /dY1 yTemp yA2 sub def + /dX1 xTemp xA2 sub def + /dY2 yB2 yB1 sub def + /dX2 xB2 xB1 sub def + dX1 abs 0.01 lt { + /m2 dY2 dX2 div def + /xB2 xA2 def + /yB2 xA2 xB1 sub m2 mul yB1 add def + }{ + dX2 abs 0.01 lt { + /m1 dY1 dX1 div def + /xB2 xB1 def + /yB2 xB1 xA2 sub m1 mul yA2 add def + }{% + /m1 dY1 dX1 div def + /m2 dY2 dX2 div def + /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def + /yB2 xB2 xA2 sub m1 mul yA2 add def + } ifelse + } ifelse + } if + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetEdgeB GetArmA GetArmB mark +% ArmB 0 ne { xB1 yB1 } if +% xB2 yB2 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCDiagg { + /lineAngle ED + GetEdgeA GetArmA + lineAngle abs 0 gt + { lineAngle } + { yB yA2 sub xB xA2 sub Atan 180 add } ifelse + /AngleB ED + GetEdgeB mark + lineAngle abs 0 gt { + /dY2 yA2 yA1 sub def + /dX2 xA2 xA1 sub def + lineAngle abs 90 eq { + /m2 dY2 dX2 div def + /yA2 xB xA2 sub m2 mul yA2 add def + /xA2 xB def + }{ + /m1 lineAngle dup sin exch cos div def % tan alpha + dX2 abs 0.01 lt { + /yA2 xA1 xB sub m1 mul yB add def + /xA2 xA1 def + }{% + /m2 dY2 dX2 div def + /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def + /yA2 xA2 xB sub m1 mul yB add def + } ifelse + } ifelse + } if + xB1 yB1 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetArmA +% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED +% GetEdgeB +% mark +% xB1 yB1 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCLoop { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED + /xB3 xB2 yB2 mtrx transform pop def + xB3 yA3 mtrx itransform /yB3 ED /xB3 ED + xA3 yA3 mtrx itransform /yA3 ED /xA3 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +% DG/SR modification begin - May 9, 1997 - Patch 1 +%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r +%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add +%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 +%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED +% +/NCCircle { + NodeSepA 0 NodeA 0 GetEdge pop + 2 div dup 2 exp r r mul sub abs sqrt + atan 2 mul /a ED + r AngleA 90 add PtoC yA add exch xA add + exch 2 copy + /LPutVar [ 4 2 roll r AngleA ] cvx def + /LPutPos { + LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC + 3 -1 roll add + /Y ED add /X ED /NAngle ED +% DG/SR modification end + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def + r AngleA 90 sub a add AngleA 270 add a sub + tx@Dict begin + /angleB ED /angleA ED /r ED + /c 57.2957 r Div def + /y ED /x ED +} def +% +/NCBox { + /d ED /h ED + /AngleB yB yA sub xB xA sub Atan def + /AngleA AngleB 180 add def + GetEdgeA GetEdgeB + /dx d AngleB sin mul def + /dy d AngleB cos mul neg def + /hx h AngleB sin mul neg def + /hy h AngleB cos mul def + /LPutVar [ + xA1 hx add yA1 hy add xB1 hx add yB1 hy add + xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def + /LPutPos { LPutLines } def + /HPutPos { xB yB xA yA LPutLine } def + /VPutPos { HPutPos } def + mark + LPutVar tx@Dict begin false Polygon end +} def +% +/NCArcBox { + /l ED neg /d ED /h ED /a ED + /AngleA yB yA sub xB xA sub Atan def + /AngleB AngleA 180 add def + /tA AngleA a sub 90 add def + /tB tA a 2 mul add def + /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def + /x0 xA r tA cos mul add def + /y0 yA r tA sin mul add def + /c 57.2958 r div def + /AngleA AngleA a sub 180 add def + /AngleB AngleB a add 180 add def + GetEdgeA GetEdgeB + /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def + /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def + l 0 eq { + x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn + }{ + x0 y0 translate + /tA AngleA l c mul add def + /tB AngleB l c mul sub def + 0 0 r h add tA tB arc r h add + AngleB PtoC r d add + AngleB PtoC 2 copy + 6 2 roll l arcto 4 { pop } repeat + r d add tB PtoC l arcto 4 { pop } repeat + 0 0 r d add tB tA arcn r d add + AngleA PtoC r h add + AngleA PtoC 2 copy 6 2 roll + l arcto 4 { pop } repeat + r h add tA PtoC l arcto 4 { pop } repeat + } ifelse + closepath + /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def + /LPutPos { + LPutVar /d ED /h ED + /AngleB ED /AngleA ED + /r ED /y0 ED /x0 ED + t 1 le { + r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC + }{t 2 lt { + /NAngle AngleB 180 add def r 2 t sub + h mul t 1 sub d mul add add AngleB PtoC + }{ + t 3 lt { + r d add AngleB 3 t sub mul AngleA 2 t sub + mul add dup 90 sub /NAngle ED PtoC + }{ + /NAngle AngleA 180 add def + r 4 t sub d mul t 3 sub h mul add add AngleA PtoC + } ifelse + } ifelse + } ifelse + y0 add /Y ED x0 add /X ED + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def +} def +% +/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB +sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 +ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB +w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos +{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } +{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } +def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin +/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def +% +/LPutCoor { + NAngle + tx@Dict begin /NAngle ED end + gsave + CM STV + CP Y sub neg exch X sub neg exch moveto + setmatrix CP + grestore +} def +% +/LPut { + tx@NodeDict /LPutPos known + { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse + LPutCoor +} def +% +/HPutAdjust { + Sin Cos mul 0 eq + { 0 } + { d Cos mul Sin div flag not { neg } if + h Cos mul Sin div flag { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { r add neg }{ l add } ifelse + X add /X ED +} def +% +/VPutAdjust { + Sin Cos mul + 0 eq + { 0 } + { l Sin mul Cos div flag { neg } if + r Sin mul Cos div flag not { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { d add } { h add neg } ifelse + Y add /Y ED +} def +% +% +end +% +% END pst-node.pro + +%%EndProcSet +%%BeginProcSet: cm-super-ts1.enc 0 0 +% This file is generated from `TS1uni.map' and `glyphlist.txt', `gl-other.txt' +/TS1Encoding [ +% 0x00 +/Grave +/Acute +/Circumflex % ? +/Tilde % ? +/Dieresis +/Hungarumlaut +/Ring % ? +/Caron +/Breve % ? +/Macron +/Dotaccent % ? +/cedilla +/ogonek +/quotesinglbase.ts1 +/.notdef +/.notdef +% 0x10 +/.notdef +/.notdef +/quotedblbase.ts1 +/.notdef +/.notdef +/twelveudash % ? +/threequartersemdash +/afii61664.cap % ? +/arrowleft +/arrowright +/tieaccentlowercase % ? +/tieaccentcapital % ? +/tieaccentlowercase.new % ? +/tieaccentcapital.new % ? +/.notdef +/afii61664.asc % ? +% 0x20 +/uni2422 +/.notdef +/.notdef +/.notdef +/dollar +/.notdef +/.notdef +/quotesingle +/.notdef +/.notdef +/asteriskmath +/.notdef +/comma +/hyphendbl % ? +/period +/fraction +% 0x30 +/zerooldstyle +/oneoldstyle +/twooldstyle +/threeoldstyle +/fouroldstyle +/fiveoldstyle +/sixoldstyle +/sevenoldstyle +/eightoldstyle +/nineoldstyle +/.notdef +/.notdef +/angleleft +/minus +/angleright +/.notdef +% 0x40 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/uni2127 +/.notdef +/circle +% 0x50 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Omega +/.notdef +/.notdef +/.notdef +/uni301A +/.notdef +/uni301B +/arrowup +/arrowdown +% 0x60 +/grave.ts1 +/.notdef +/born % ? +/divorced % ? +/died % ? +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/leaf % ? +/married % ? +/musicalnote +/.notdef +% 0x70 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/tildelow % ? +/hyphendbl.alt % ? +% 0x80 +/breve.ts1 +/caron.ts1 +/hungarumlaut.ts1 +/dblgrave.ts1 +/dagger +/daggerdbl +/uni2016 +/perthousand +/bullet +/uni2103 +/dollaroldstyle +/centoldstyle +/florin +/colonmonetary +/uni20A9 +/uni20A6 +% 0x90 +/guarani % ? +/peso % ? +/lira +/recipe % ? +/uni203D +/gnaborretni % ? +/dong +/trademark +/uni2031 +/paragraph.alt % ? +/uni0E3F +/afii61352 +/discount % ? +/estimated +/openbullet +/uni2120 +% 0xA0 +/uni2045 +/uni2046 +/cent +/sterling +/currency +/yen +/brokenbar +/section +/dieresis.ts1 +/copyright +/ordfeminine +/copyleft % ? +/logicalnot +/uni2117 +/registered +/macron.ts1 +% 0xB0 +/degree +/plusminus +/twosuperior +/threesuperior +/acute.ts1 +/mu +/paragraph +/periodcentered +/uni203B +/onesuperior +/ordmasculine +/radical +/onequarter +/onehalf +/threequarters +/Euro % or /Euro.alt +% 0xC0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +% 0xD0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/multiply +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +% 0xE0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +% 0xF0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/divide +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +] def + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +%%BeginFont: SFRM1000 +%!FontType1-1.0: SFRM1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>. +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-189 -321 1456 937}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F267FE330B57DF626EBF73D2779A4A6B462AE6E5 +19E5878939A488F2FE1094A76925CD24DAD4573AD3CF34E426708CF06E7EBFFC +BEF5595408106E2189F418D17AD510ED5B6A528E8902AA3A5F0FF52AE3DEAB07 +32F06B63E28BB88229E046F4FF8A356BBDDE82DF2A197F2E26CA00D5594725A1 +83A89A36487EAAE1AC312C929CDCE50722FA6C596C261E4D78D6C6ABF77F5CCE +0E410ED74287A0F201140F8D9674A7AC585D3CBC72CCB824F9E1CEBD08AEDB3A +A4015CADF471F7ABD9B0F0AF73A8274FD441BC1988A61799856E4770155341D6 +516CD0E25BFA59B67AB7E0571DF3F5BA70AB52137D9E6A79EFADBE70CA05AC8D +991D0895C8FFC747FBC0E9A7212BAE6560B9E2B64FFCC58112E64A3B4CF7ECF7 +595F51C34AD1342F5678FE1E62EC5A389CF04E82B5F832914B91F921F30A7E32 +CA3919F57A2D9DE844CAAAC0DC751C255C9916595E8C9532E7A0A84A0AEFCACD +83EDE059FD06EEE9951473180B517F25F609F347DBA012AE9F004DC3C771777B +BE812787C3C50315D67254A384EB65F260943C6E16B2CDC64E15EEEDC67C5544 +8ADE9981A6867405E46222CACCEF79F9DC8674268BBBE1EFEC2187A75FB7FBF8 +CB2DB2134848DEA2F9CED443DCF561E7272B38F830871B2A5196A787924EF556 +4B7E9093ADD414ACBC10147944D216D35011830CDA336A7A2F11AADC42948AFC +2A806FCCDF6E10175677535AB193ADCC13B34B86F061878D79B5BD236FB5BB43 +2D6B7B739EAAF07B14FD159018685C3780BDE05EF14AA63B1271FD59CAE2BC87 +98E1B1951322D326947C8657B04D9BF2D550511EF456D139738F39745530E923 +528C48A6E954D3379D5F7A940AECD4E70D57234A71AD13F049ABC369539682FB +986E048CBE764A02C5E73C47D2539A7E4342D8237ECF5ADBF07AB15209A6712C +3113BE0028E4DCACF603C4F102F9E2AA18516962A1AD68FBBEE1FD914FEAFCF3 +66F48A88E590B337B459A12E2F6E062EC0119152A2B11018CB16C3CA62E3A8A1 +3857CFE8DF1BF60225FD42B69A96C2A9B19F36F88EA6A9BA832CCAA8C23D8B02 +D4AB0243019755A424FC1321A85CC9FE3763528F3F985F854EDFE2F733D1BF4A +71CD736B57B1A544439C3F617915B199ACD1AAD721B88E6DCC63FE1391093F43 +11DBF5DE70081B1D802169D97B269C3C98227F2E7740BEE44DD684F6E90B5BB3 +438AA5F2DBDA56892275EF8F0A749DE40D40F2899B61D871EAEACA93575ED798 +5C59B28CACE5662A9FAD4296E73652B7FB80680336134037829130E732360E44 +0168775DFCB7DB4D9EA57F146D74EFAB8CE3D79618A3D2032A5720997E47F754 +3CCA68BE703BF2258E3791721860BF3495656C3948381157158E041B943BCCC6 +C0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMTI10 +%!PS-AdobeFont-1.0: CMTI10 003.002 +%%Title: CMTI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup +/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI10 def +/FontBBox {-35 -250 1124 750 }readonly def +/UniqueID 5000828 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def +/FullName (CMTI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 37 /percent put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E +2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A +EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD +8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF +CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 +7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC +32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 +482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF +118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 +1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC +C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA +8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 +61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 +C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 +3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 +9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A +D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 +125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 +34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A +30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 +39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 +9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 +2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF +0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 +3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D +9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 +802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 +FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 +98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 +5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF +AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD +A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 +5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 +DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 +4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC +8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B +A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 +E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F +42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 +3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 +A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F +7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 +49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 +D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C +0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 +CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 +1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB +8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 +6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 +83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 +60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 +42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 +1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A +21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA +206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 +D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 +7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B +55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 +6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 +4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 +871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E +9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 +DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 +41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 +2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F +220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 +A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D +981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F +337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 +139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B +1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC +100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A +1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 +F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB +72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 +A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D +310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 +7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 +1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 +8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 +80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 +3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C +C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 +4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB +865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B +301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 +3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 +1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B +E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 +0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 +30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E +2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 +C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 +14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A +44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC +CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 +DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 +9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 +4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 +2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 +21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 +47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 +F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 +D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F +03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 +886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 +352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD +9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 +9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 +92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F +821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 +3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 +47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 +F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B +9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 +AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 +C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 +B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED +D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD +F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E +81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 +970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C +6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 +97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 +A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE +AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 +971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 +514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 +8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C +392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 +3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F +464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE +C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E +F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 +911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 +261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED +D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA +147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D +C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 +C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB +61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD +FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 +F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C +2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C +7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 +11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C +9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 +C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 +1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 +5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 +6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 +EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E +F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 +AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D +8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 +376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 +B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B +02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 +4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF +9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD +751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 +3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A +40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 +2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 +D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A +0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E +8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 +AFFD0B2B724EF0F28393F3DEFD59E05F83ED622EF1906B1A24A599C58E9CB8EA +E9A28325A5DD621EDB3642FC06FFB416FB3029ADCFE5D7D23192C650FCD7D1F8 +ED7AEDC7166E26191B12F8E56F060D2D08D41E533813A8D64E5B7F2F151EC8E7 +E2333ACD6F78ACA804CD809616BE4342A5047C07E7421CCFAFA7B057B6F5A801 +21254E447FB15A8D020E976D854276B98523807EBAC37AF98CB5A6ED12784963 +E3E05E94975C105A90F15B7722380DE5AF5A43914530BDA64264CCE7298C90A5 +CE3182A75FB05DA5C62E83934C6C2FF348607A16CFEE88C6AC39219D24FF5CCA +E386D9CAC70F214156C50F8C0FFB3F79D154FD4108EAE719E15C70E8B91B75AE +455A51374F7F4E8B85DD134200D13C8B0A4CF3B5F69E7B91F8CF93842B3BF411 +D2B22FDDD19D3A34BA745AF57209A04091ABB85BEF83A431745A2AC0E11098EE +427DF11F434A1F96AF2E2CDA0BC7338359A741F5357919A883C9B215FC9CE805 +B75C817C99E3697B3E530AD45484133C9DA8D11E6FD1C370AD86B4B7C49A3BAA +B5645DECCB16FF104C7F42B51B807A545BA681752D5BEB267FD021DEC2FDF58A +3D98DE548F571B3F65CA02B310BF19CC782D69565E37E9100C33783E06552BC4 +CC8786EE39AD94454C930AFF84105EDE1848CFAE37A8AAC2ACCE3EDA25830C22 +70F7FC6B7D16FF99679E15163E3DE15D5215273A894378FD986DA50EBDEF6D6E +CD5DC25DFC1964FB3F6085475CACBA52F627CC5A10CD366FAB28 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY10 def +/FontBBox {-29 -960 1116 775 }readonly def +/UniqueID 5096651 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 102 /braceleft put +dup 103 /braceright put +dup 110 /backslash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 +3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 +91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 +E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A +11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 +C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 +D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 +B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 +93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F +10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D +7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF +B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B +491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB +F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 +019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 +915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 +356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 +5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D +9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 +3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 +FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 +720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 +D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 +BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 +7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 +DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 +AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 +A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E +0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 +AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 +CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 +0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD +5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B +5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F +E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB +54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 +E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F +A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 +4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 +4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 +038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 +B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 +5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC +B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 +A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD +2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D +CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 +455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE +FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 +16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C +16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F +483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 +67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 +3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 +1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 +93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA +051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B +8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 +8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 +6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 +06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 +84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 +D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 +DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB +0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD +8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC +C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 +754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 +1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 +CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 +1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F +153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 +905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 +617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 +8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A +98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 +53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B +888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D +052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A +CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 +A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F +07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 +B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 +10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 +CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D +3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 +D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F +849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 +648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE +84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA +2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD +2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 +9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 +B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B +D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 +135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE +EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 +C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 +7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 +4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 +9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 +050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 +3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 +C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 +843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 +CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B +B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 +3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 +19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 +FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 +17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 +8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B +CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 +F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 +1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E +4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 +2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 +9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 +E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB +8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB +BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 +04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 +C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 +ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C +4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 +84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 +C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 +09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 +D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 +56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF +035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB +FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 +CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 +B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A +F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD +CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B +0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C +B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 +33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 +4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D +F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E +2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A +CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 +88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 +17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 +55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A +A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 +2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 +406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 +AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B +60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 +C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 +5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 +822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E +94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 +D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA +343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE +894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 +DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 +DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F +8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 +A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA +DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 +E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 +DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC +4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 +5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 +02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 +88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A +60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E +71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52 +9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016 +A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44 +A962226E1AFD39AD32B28B924B247F85B87CC4CE00A01F0DE7DCC439C05297F8 +AB66A0899A135B400DA86109FFA8CB56DC528C494B2833B69725F533632F8717 +91A4E78EEF79C4F59E5F068B6A0ADB9FA9E3A09E1B0F367030EDCE6C24B46739 +6B440EF7EF8132FD8C737FF9B7561D4D01564106610633561FB31239E96C9ED3 +D43B799ED76BF07AE4D419E13A47EA8FC5671F927DB24DED249A8E2A89862737 +0608FBB802E84B16FDF6684A329A14487D1234897C3D7EE35487B81B625132E5 +56E71B16459AA33D50B534349C58BCFDF6166EA766FBF4EE0D1614F108316B67 +7622CF41FDAEC84B17A3C3472C1046B4653ED1ABBED6FCD557F02225E052DFF7 +FEB03898163EFE8B85D2FC830823222F4652D5FBB0DB57DB8C42C138B986BA07 +D61AB480BEE9FBC33ECE2A4864A380C1840EC2495415A274735DE53663421E0B +13560F618C64C74843F9596AE89EBE5F51C633EF6758C82D576EB4427D33367C +DA82E9EEB6453A3528A50A5C60873193BA611FFA185D8DF9CFB9648F7A7D11A8 +482DBADCD4E500A4A2EA6F89363A0ACF3E8A1F6E901008FE95D2A712DA189C54 +F20696FBCF4672D414E17FAEF6517A79A915085C4AABF66A0BCD9A9BA6F0594F +9D4A829CEC6FD1DAABD35680F9FB72BC14C65AC75201BF0CF15C05027A5C2F5F +0E52148C24B68E42823007717BCB450509A0EF474495D1381DB6C6F47775CBD5 +9ECF9D77FBF9F57686C34E3BC43FE5FB31AFD3A1A0CB84A2877AFC6C0AF29F7E +C7CA04A3754F6FE6DE0CF7F1A2102BFE361E4CD94F45E02D30F92544AA888238 +A3B07EE188829512C4E5EBD57675A0285D55B32BFF94BE7EBA0D25147471E54D +AC4BEA702B1402A353386DFFFF05A6EBF2A665E771620BEAE2E47368CE4868EA +018D1BABCAF1A2A759282AD1F238D62C662788F87F140A97D8386B129DA38914 + +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR5 +%!PS-AdobeFont-1.0: CMR5 003.002 +%%Title: CMR5 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR5. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR5 known{/CMR5 findfont dup/UniqueID known{dup +/UniqueID get 5000788 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR5 def +/FontBBox {-10 -250 1304 750 }readonly def +/UniqueID 5000788 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR5.) readonly def +/FullName (CMR5) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DAE26BF1F487876AD1 +16184ABCA7446A2352AB37C36E9C9BB67CEE105C612D36566FB459D6ACFB1DC3 +7A59448A06EBA21F8824266BDD0ACF9E356251A897A920C39F1AB236EE06C039 +8C4C0AE55FCED464E19AFAF548D454FCF73F6087102630AEA03E622AF2596870 +1353925801642BBDC11F09963F4ADF037671B73D48CD9C209DB4D5BE7F4CB381 +94887E8365D25C45D1F87EFFAE360104ABD3235E4D2F4BA163408448E814D49A +3E7C171B8F1275D49937C3255326069007B302844EBF2BC1990DDFF1A34C2770 +A262ACCE874DA1E0002188D6A713C79D5E9226178EED27D6F4E4DC24ED2669B2 +3873F42A48E5C1365AAFC83FAD8B849E5D7E52BFBB01B281005A9EBEB4EA2F35 +B691489305BCFE5516DEFBA092F66ABCA2D739A9277AC69F74F786045E63B0F8 +66D545B12B0581AEB579D5E1E2A412DB8F66276E05F131EC3B9F543E11F40FBA +8CC47071DB04A5D38A707C9F825527521CA1FC412FB54DBD72E912BA4EC8F747 +306A65040671237C8FE84AB6D6157D96EDE13B3A8FBF7140F1A9DA55B666953B +C7FA638353F278D07066AB8DDF0DFFC832F7025DF1AF9F894D52E9FA95EBBEF5 +9D6B97768FEC26E845B87C6ACF5395C75B894B5A1F50B248BA33943C5AD6CC2A +8D9AC65C08B3206E7F5E5913CD0D54C9FF741A4D92B628F85E43F52082397891 +66E6F922E0BFA2E45F0072217011D4B8EB40893F151E4E2E92ECE5862C467D4E +3833311B08340AE1C0C692095AFB739E9B9A4F56BFA0F0B2AB8455A7470C22C2 +0C2EC285026195CB73EE2A713ABBDE4945AFEB92630BF852DD4845FB4C9A8C8A +0C8C971F29440B4A786108D0DA1AEFDBE03568B6B2F3953B4D07A5B7D6FF564F +6CC0D8C08CA459D556154A45133BD7AF70C7D8F474DE66E64FA112D776478A83 +B282EA4E941CE2FD6D8F7B68D129CE0093AAF7C1D345C3D65BE74EE9391C9B89 +2D4D31764F1BA81CB12CE46D15A6BF941C9F0EACB4A2DECC8F2F6B85FFF490D4 +ED7BB6C7CDED10F03F68282B2ED20809F95840A904020C98299E17C46243D9EF +05B5B8173BB2E8CBAB3AA9B8207A9EFE6366C91A7674DBCD9FAF12A2EF4B5117 +5687F3DF1244F5439ECD8AB0587F492E990DD7B516C664AFAB76CE71084FDD70 +E7F5A38BD46926615659488D3548C5066C06E443016DD40275CFF3105573117E +369C8C34E48BEE832D93F0ADA7674FC6F5A64183DB2B70FF166E02E044B7063A +41D2F396A9158A26D3953F12982ACD1D7593F474DB98ECFD00EAF57FAAF17C7E +C1E4775B37FCBCD6DB1B5BC6209162E57E21A6AF427043562D9854B430A0BAED +20D31A9AC334C87875E53E0B956D33111955459DCD98D54E1BCC61BA58CDB41E +03009979C0A541FA9F69B55D3F3750515E5F268A7B55254B8A44CA732F2B9242 +18F34C029665B31EB68331B0147607645983340D15E322E3D0532E6376D40FA2 +1041F7988EB9F56D83946757786737D8BB4A996EA7933E79BE61B4EA1115AA4C +286B7AAFE80AB7C619329AD5FA772A6279FE85FA6B623138FAE1C6AE3FA45AB0 +95D8020D2EE2979E8A87D7E7C5DA2E6B701FEB4923F401F892D83A4928807152 +96CB664018AF24E829E582FA8B4F0E07387BAC53530AB3AADF74404EB2F311E6 +C6A70F960FA962E52A30CCC6E15097F9B7BF011626DAD38EDF78745B60C0818B +34663683577D897B1B6AEB240F3A2AA29F1F1800FE0A5C205B35C6A6438259FF +CCEC942AD2D7C3CFE01F956B795C0349DD5380D0140D3BB54FD99EEE5171DAF5 +4FA360A740589A1F8AB4FBC275CC06FF89A8350F4982F87E747501A74B7C81A0 +0F40FBA9D2875022DC3D417FD623D89FB6A0C0F1B930ACC2117C6CE94AAE5844 +0B5C9DAD579B7DDB73F2B26B05E1AAE30AF69937722E8360987AC0BDBE305B5B +DDBEF5A6C03BE1743C518E6B7B58A85AC961B8755BF37688E37DE0632BBE06E0 +53FAFAFBE52EAF276365A0484A1A682C9B9486CDCFBFBC4F4A1D6BF71378F014 +56DDF9B15A5AE0276827ACBD9AB04D685F52A62BD3DA33BDC2A262B756B58C26 +4F3B552841B81CA60C951F400551166C72B8D357D8122685FE97D14AC22AB6FD +2EE4CC429D580AD7B8D12A9C601FEE5D25C98BCBCF96C87FCFBF28419BEEFFA8 +7A4FC7B6E5FD377EBD5E743C3FDBB7554A1FB9663B648B15C4119CA952A8263B +278E5845AB929942E1A0FC4CC413F36134884EAF3704865C1478D6988880EB54 +C5C5C1BDD7CB0548342B9C7B6F94DD6341C5744A9A3C4A866F620BB70575EABD +AAA42E3B6E23AA029080B299294AF2E9388520367E964A3A66A84628D75F1BEB +C7A58C92EF7335F30BD0A26D072A986635318E0473CE3CD5B4F1BBFF6E781938 +EE4E3C11AC27A1BE0C3B55586A4565E4B967ED2EE4674121A46DA1C32C5D278A +44BEB43CCA246B730D337918AAA394728814C726DA4F9C40AC6EE877365976EE +A53276A818CF25E995CAA34039339C55DDDE74B3C11742786C1E9FA5C432EAC4 +E184F35560EA31D687D005843B02F9252C2A16F9E4C31C18D0D45B7D5F63D589 +3C1FE3D33C912B9CD79DBCCF9FD8223FDC18D55762F0DB2DB241625B91DB17F6 +206120D6300D317E82F3DDE6D2D0825547C08BE7E6FF8FB54D4DFEF2F4E475F7 +F3838B4ADBE49F8C41409D85085DB5A030858AAEEA5AB9CD2D1172C8D0EE31AE +507D8048E123AEAB05979C872ADBA4833D36626166BBB2A2CEF2F3E641DB429C +AB15C97D7180E8E6AC0D871E20678516ABAA4D616B51C132F41E5661858B8C2C +ECEE4A65A2B0FF310DFB531B213196D2E2AB015963246F44E22E603E741BBFF0 +16DBFC284906983A8C15278A36F5379F46C152304DADC8D90C313961E5F58180 +EEEC5A15131E5C48AD27F80B77EB0370482D528735FBA3E6C0548BB66CC222F7 +CCE87194F565B9EF7F32E656E6964501CE32462FFA6B87087EBAF45D454CFBA9 +ACA808C4397F3852158F1C0AE44772253ABEF6D278F726A03A9CBC4330EC80D0 +117F9131C5974445B81093C1D6E093C669CD285D1BFE864D53E5F140D40BE4CC +2689C42C50C4137DE564374B2130609785D8F519E0083DD24A44DE24A68E4071 +4A2122AB8AB9649660D1C96DC58F37F88623528078BFDA3BA3085D527ED4CAF6 +25BA663A61AEC4938CA78C49623FE0EED33DA2D08CC78F86A807E791BC9CFCFE +8FBFA55EC2259B64C31F6EBC45D2DF9B47EE09AA54011D40F55B6F12F49F2266 +EDDB09D44C521EC9568CA7E62283C483A436417B65B4FCBC7EA32AC6EB4E7B30 +080816F29F06D6B09E5506D3149C5D758BA85D820357D4955B0C1FFB383E10DA +4D61774D3B23C84A339C7348ECA6078080FF8B436B2261091DBBDC02583E366A +622ED9F95D2A85BDBA48DCE8BE45628A4ADFD5A48869800D9B54F530F43A8F53 +F765F5D5C44A9399FC1B9CEFA343966118DD11CB102423D46BA0F096795AF0D1 +BA33F089AD80A104DE7FDF8A6E7D935E6713963FE3C57CC673BCDD423DF3DCE0 +C57EADCA2AE4DBB30166C2CF1F7113DF96A27D4BBB23ABECC5A4795F1290F4F5 +5293B5870F892C9A32C776AAD06D78D0514F047373879CFC5AF9D624DCE5BC8F +7CEA5055064050AAB2F24A1C792B2609FFDADC6AB8D0F31A12403CF3436A1E1E +E24BA5F92587925C4D6795A3FB163245FBF054BB1B0FF01FD63DBF7C192D0F31 +33A17E7764699B669A3ACCF7C36849EEDA395E7F55174023A79904A766F21D58 +3DDB7B4C2808DE7FFB8717658084E70DBE046A13BBF1F9BB97B3AB527D68DE8E +924DE65486C3B883CD65A95901B0DE57821CB6C6AE37644E02F5CB0163617113 +C91D2C649A0BA10736F3709BD504F22DA8831A09BD0B2D6790A498F2FBC2F642 +7845796E606ECAB2356238AAF40323D71B236CBD1E3E43BD5443F304D52F3CC0 +28DB5D33A732695AA09C0449C53C656704D820217AC035DF45F59AE445946481 +E5BFBE5D4EC0A42B5662FBEB9FF6ECFFB5E8517312F56C91A01824E401E7203E +258C3BA073C1B2532B8312F5AE29E37F5EA71C52F171593B1370D4ED5D7341CD +567390ED5B75D612D5873BAC518587525A591164E8D36D2BD89F792BD9EE6ACE +99FB72B23CB2445F12B8A6A0876EE711166C9E34897D370174C17A2495D58B4D +3DA19DBB1AF2E09C72FA42AA3D8047D05AC4F6A27F3EBF32ADD2AD2FF26EAE05 +A9AB34C9287EE00E8EC29C6603036D365AE08E00D1C7C410EA2551696954EC92 +92080C8FA5C9E67698BD7B895C82ED29391E015F83E0DA145384E223319CBA74 +19494F070649E03CE9FF905619C6CB40F562DA49C1EDD2CA221DD7D3DAFA8279 +AB50DE1C059CB8D5C9FA8137DA711B9D30F236526AA389B2F79F3D5BA6ED9534 +8852BF4448DC1B72E361A6A2B94CF865BC9C3401D995529E2A36DE755EE001FE +C67B184AE8241D08AF88D626BD2D8AA12EE791AC4253D4761A21917C7F2F5AEC +795CD14B33F59DD7080C7654DEFFFA669F50FB1AC8C0F2E60201673A78D03DFD +DE0CB142F0F616C4051772BDB837CB4CE87A0C8D61E0FC7F90517EA0F5F6B1B4 +D57143CC0AE7CA9521C1536962867D6318DF1C9CE6476CEB9ADB21655D379B26 +7A0EAEC2D28430C14D38764C493BA4C06EF4BE6780131F2FEC066C4866E0B258 +51C48BEF77011A0B5763CB3D69A50BDD50C2D7EFBBF18BF42544B1AC196377FB +4826BACB3C16DB805D38C34F9E92AA9AB5F9A9B317D8BF32AF8A758017269914 +DE3B748625D319E571187E1BFED9CCBE11ABC18C0C6123D24D2C7303DE998847 +0F6F644748ED225135CC3B957EDE8567AF3EE47F5E942EA9293F7BF74260D1D5 +A6F5E56705E12C8379DED158E66DF54349F0504EF584C6D05C44CDD8B720809E +3DC36FF60BF55FDF1CA8C968E68346CF43C568E0B3175CB7D55343DE21CF9730 +C9DF918360036E4204CD024A67E764D3CC7677E5B229C1B909ECD1B9042134BB +DD8E47FDBF63F212D401A797EF60011F52EAAFB88E3E70E007BF19826E40FE4A +73B57D52FAB33A737B1341381EB2ED307E0B83B45D6911E04BE623DA82DD6BDB +2DA096827E6A498A8D503668E45926525789D43D1BD5B896B487C0CE04FC9DAA +CD9078D0C8A0639E27F0DCD82C552A7FABA42BFFEAD66CEBBD4D2E4B4A1B40A7 +B6FD119D37FA26C14C29A70E2EDB3253A1AAAC2650009CA3B97B430B1A05F2C6 +F2120C8981683D0976BC42FE98AB2D33014B983CE1E2F1E1AC4A524249C3CF13 +4B36652F96FCBD3660ACFC2F9778B729AFE2CE1BCF473DC5A846FCC3ACBE455E +2C37853F5204085ABF3BEE50C28D99312A078CE2F6F4C1D2D3017F0E5BB5B614 +102BE45CAF8108407EA970111B5A97CA8C7A64C70D52D28D2EDCD27879B1003A +6D168CD054E87C063744CDE097887CDF268D89180AF8BB4F170804AE5DA779B2 +1941775FC32FA189038D6050EC0E400BBED364E0CCD8DA571E902DAD812988E2 +4BF761F472EBEB411388FEB6F901777D090400F695D823C758882CC008D889E1 +02678FF81B252C33C89E3B04157C889D4F0F86D432F0B3DD7811BCF01C2FC041 +0D4B1DD9CB6F2433F9B34E7E8ED8BB1FA4F9F7CEB5354A8305C372C2EDEAFE5B +4AE23CEF34AC457961B15CEA084E31B3741CF2EC317DF484736EDD688737C380 +6D868BDC02D1E63A52D21C8E7C1FD1BD8717612FC247293CC91E0EEA08D5F805 +70217761CFCA0F9C13996DE0F045F28DB67378221722416236E4DC00194E9C45 +A3839F4BB53E226919C2CD13A44E4F67334454DB7E133B2D308925CC2E275293 +F81AFEC4DCF49230F22EFA19F48CAB7E09FA727CC2E11E5A5CCF57307506D5E7 +6DD1D26BFD3DF97E73C2DC019B0A75B9D6386469ACF1A00A5AAB55F99BA1DE49 +9883DC4FB0E8AD9421B105E050519976705F7BC889FB3B6C2921D2E198FEA294 +E192DB3738EBEBF6485075728A0E16ABD53A25BB0795A21B65AFB6ABD7EAA3F7 +1DAE1BA012651B4BA0ABE02F3CCCEB9E92979F17A3338A376C57A1F13E3C90C7 +9DE8ADE421329A57369CCC2BA622840B79C0DF098EA42B810C596DE85F51EB9E +C8F6FAA598C73F359FD7CB1D337E3B083833389846A99C87885A7537D35772DC +A7EE51E8EEECF4E4F38AA04C3F4C447080386A41F1461599739D73C58CD02D65 +0899177F7D707AE793B4C915C590AFD6E6810700BC0C3D14B67E03129A4215E4 +953B88C7A9FF1AF4B6DA293E1DF2EF5667D408AD3F2DFDBA46EF95A1D8E1CA29 +FBFA01A4B965D1101CA6C0C2BF4670E94776753FF52C2751AE41872EBE3DC66D +EE58BFD3BF8F543802C7614F64E7A9CC4474DAB5F4C59F8085FD523C91F0FCE2 +0CAEE1B9613064F9C9CE9556C841563A43660E0E71EE761F0448C41589AD0312 +958167F62FB166655800150F9E81A558949071F01BB11C9ACFB2ACA4F332D2AC +598AD5ABD3D5EB17AFA97456C0DE4D3D872750F548C357FF34919A3EDCFF9658 +F3DBF53BB3D0A204E84702DF6FCF5022E753CA92323ABEDC81071ED44C306A7B +C10D15F905672783BFCDF28D97EE156E293046C09595159C735A266ADAACB887 +7026C404951C27B88CC3EC1A6F15F016D55AE6B5DD739914DBD6861098977064 +762AE2867697967117DD7E3CDFC24D046F1D83856D49224191CBAE95C2E7B9DA +4DC5ACB06B9F637312C1378941EF6B9D966E84DA69E66C43EDC0564D4A9B201E +5CCD830900AC4D4EEDBBA4AD14ACBADA20179AE138CF35D6F830801D7F9D1F3A +B48B6C2EA3B77E7EE42DC0A26C7FDA6EB64DF4136FC3AE0FADAB84CD30392E44 +49DD3F7DFAB77AC2E3A8D16C9BC002AA17A9C1E9166A21648AE2AD7F9DB250DD +2F3F480844C93059796E89238B0DD470329C2AEC9F178B83D421063BCC18CC35 +2C562DAE86EBE6529D19066FAB70C8E73B260C71924B0B3DD652AE37DC2ADCD7 +A3E3E1936FDD259A3F32D669B6CD82D73436212D6CCBE436578139AE07BA8C5F +07A8D2158C8F21007FC0B96E2B3588466A6FAB4F70363E994AC4FDC2CAB3A478 +9C98DE079DF219648A6219EC7040A8FA91BE9D9451BEA89906677866F50B6FAB +E8FC00E826B115CD65FAF738492A919CCB657186BA12260C2816C44A632285CC +25CA1D797DB0D901EECA675FFA1182AD6D48A8A96402D07A288CCC02F8A7CE0A +39084DA379C5FD08743060851BD02A3C9CC298FFA0AEAC5F5E1928C46A6EBB42 +7D2AF9D32BD0117A8CD7B453C66FF39163092568B5A26F210900D466EA5CE01F +14BC1F57BB0D3186BEE9BA1A5648887CAC06E23057199A31781C4C37B1A07C32 +B8AE8A40F5C481C8D2854AE5C2C3C746C4A2B48189A373A438F512642A55F2B2 +3CCD2D5A06A1859B50C1C3352B1B5B56E652F00EE79060842A33A8CBD002E777 +3CF6C051A6D5F02E35480569E9D00493C494F9FB977E665AAE4468E6DBBCC950 +33876A21B75095CF391E09E814D7A03EAA19BA0D7A560610CC36EC3A9CA39CD1 +4A359FBC14B07975379B68949C9FC2DFAF037C56C13802A7F66C809549EF2FC5 +25EF3F517F06F90EEDFA6F8A3E5F1F3531A5415F3191B8FA7B0F28950A20A1E0 +6E354480D09729E3A2D6796DB81825DADFA4580FDC7813B7989B18020C3AB1A2 +87E948890C25563CB26A068ABABD94F3D42213218F2ACBB2F5B317311474B222 +BE1844548554B37C97284940D5B7AF9E4CBD884D4994A76CC1ABF8E6AB0676A4 +0A8130F05B0ABAC088FE4F9FB536924A55451C8772B29087B8E5E649DA3B449B +4A055214DF69D0218549440B3665E4D20C5A8660B3E0C3ABBA3426E7820E1A94 +5D273A6AC95BFBF247F695F4D7E3C2BF9FB7C5D7D1E4913953B9595C37A9C774 +3BC37749D7EDF4B3979F4DF8F5D0225B9237410F39AA49791D3E9DD2C1C33B75 +F7D79CF6A2B421E9704D68013F510E1408F0C243E58A3B01F2AB6488D1C43C1D +11CC206EE00A0189A780A11816C1490A3D43DA1891DC61E55CCD6C1BBDE82871 +27E7848799A526BDC965C7382E650485A05341E9BA6769B4DE062EDE099928E8 +B5A7A5748A7A1AA6707FB743625A9C2EF7AEE00D188F914C8032C9FD72F110EA +A18B8CF1F442FF1D2941ACF480E012A46BC423CF80B8B27F71AEEF12A3837683 +B835F569BF799016A0F0DED29BDDDF42FF4B0C6E9DD685DE6FF0865E46F55D8A +2FC8EC23D31F281092AEBB07C9002ED1D7516AC8CC5881CC0B75443DF6DF9AE7 +0C373DFB29294713B2D142119D8097A35EC6EE55B0765351A47A433634F8AA99 +AC77CDFD58E5B4949F68A3B3AE8CEBC1461957D757E82FF2EDDD15631AB33EF7 +93175D3F26FE229E828E09BA0E09AD83060426A04CC0D66C4A5F68FF07ADCDC2 +DD0D86454F8722AA4DBBF313AD9711DCC07FD0FD78829201FCB6E8F101E3FDB5 +604ED8B8468235741A6001E63A13DC1019804DCE8FB3E8F1275C19515045149D +757890701A6EB0262C1E616C9BBB2E223EF07EB47A4A767280CF6AA71F21F158 +C945B51897394DCCF42E5DB57A3FC6D68B9933A9AB17A11C83CA0EE1FB3F4549 +7A7AC43B07267C8BA09F3AB2A52C6E91D236554B0C0E25E50F6CED6BA46EE12F +935E4E19DBC6411493EE29335EF6C3FA87AB5E70C028DDA186055C308A2DE1A9 +1193B3E15B11D1E155513349471BEFFDB5C5071BA393A1EBDDBAE2B346E522B0 +1B2812B4696369361C43EF9A2FCFCD37D32EAD713C35A1B358A0BE920F435B9B +0D53D5573F96FC2EB63BFF0EF59B177319B02EF472054B64BC918D7B61C87250 +EE1DE8ED8C365BCAA589B9FB870CF3431D4898BE3A5BD9ADFDBF9CB20B285954 +FB18AFFC8D4C4C3CE1C15236386F2BCDB0A89BE18ECC88A189395448FB8FE090 +37DE2E03530D14C1C5A498DE640F91A4C092858AAE8ECABFD3CA48388486423B +EAAE8AA6AD668286443BFF680A4E5475C2AE27FC0842F10EC321DEF74B3C9383 +0C1728E7D5014E53D83416658D4D039987A654231BC50937B2C71318A9671AD2 +DB628C3C99D0EB41AE2E505CBD33BBA5FDAC7439DEE3FB3422118CA5ED5023EA +58BF1D47260AEF9EFBCC3122E42650DC69F3D8D8B575093A6F6D6F93E171C3DF +0C82FF4ED3B1E592FB326B8EFBFA5201E80F474D2F7A68287E3C109A0B8A064A +CDDB2330DC068B5DD69F8E7BB6FE8E647AD3A05938BB75DF93C0B3B03D76EB68 +E0DE1AC5F4A31BC2E23C3CF721D6CD0BBC3030DBD0DBB1BCEA5E136D1522E73F +2AE7CEA2D566F8B32CA888276FD69F5FD361308A71A4B0F4E2CBFC723277F36C +28C982FC82EF3ED04F5FEBFBF9C2D76370E9149E10626778ED2352CD8E7E0E5E +42E27B2E31C542B1F9C172C21F2BE5932C87A6393F9AA755DFC805B5C13E94A0 +64805D8CC48F76E412EADEE158450E74F60E3BDB8D95455A765702996968BDC8 +F013A657DD6D85400CAA4CDF9BBFC714E431DFB0E59DF43AF9816A0042528EDA +29C32D43009DE33DF99DF19C1569CBEE990A0E2FAB94AE647AF6173C690E6F78 +76C5B3019B0127DC37DB2EF1C85ED74F782F2825C52006905D8D6E27BF77DAB0 +4CEA0158482DAE525B9A2CB2686B664EAB54C75F41B90240E89C00BB1712A05D +62743A38E63AFCE7240FBBF3F08983EC757651E74D28BCEE36894A4B234777F6 +E2800ED2D740CA1880327EE6F1609F9CA0C617F2782DFC7C6C03F1D99A94FBBF +2D2D672026CE044164348BD7E4F73251514B6D9543CC6FA7E236F23CCE4DCEEC +2A373F4134FB9E2A51EFAD456C431F08F6A4336955BDAB85F8704AE7769A2F64 +6E6F27EA470E2726C4A660BDB14C8712D5A68AF1380CEAA495737037C393B2AF +07072B4247BB7D012B7AD60091E78D77917B881A4749B9BFEA05F16B9285D48D +C5E38F9EADC31F697F308E11D32448F5AAF124B540D3E5778774B8F09D4506FC +9C78EFEEA457048B2510C1F46F28B9EF8FCA0052ECBFFEB938830A1A5EF4703B +CD1C445DE17A044634ADC6317AAB5D81A7700E90BA2ABCAECE474A22664106C7 +5711C23E9CC8C600879797C785292D5FA15E294C42865B1FDD59A207C388BC27 +8EE14E1F453BA173016D90843A1CE334E917A3BFA7431F09665BE57C0FBE0C97 +0BC8969FDA31EED683C479B92143B88BF6A27F3B18B12E8F1CE2B4249DB7433F +1A0B6F7367BCDE34903049F49B4C1F2891DC381F1ABAA5795053A027E2B115FF +644520CBC66565ADACBBE849218A0EEB6F3D7C788D1E4970BA3120C219BCB162 +596CFCC2D590689276DA9AA8847F8195B412A1584280BAF8F8CADCD2B0AFA695 +76A3190C601B5038E6E29AA502A290938D3C410E7D78919014C1160E7ED51DD4 +AE48E760A719DE1F19F45AD907A5355FD7F82E44300B095C1FEC3DEC920A0897 +79235EA5A815CB73EF76C3920EA385CFBAD1C1D4EE7EBF0F0D4105F7D1C837C6 +E407E1 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: SkakNew-Figurine-Bold +%!PS-AdobeFont-1.0: SkakNew-Figurine-Bold 001.002 +%%CreationDate: Thu Feb 12 14:57:56 2009 +%%VMusage: 120000 150000 +11 dict begin +/FontInfo 15 dict dup begin +/version (001.002) readonly def +/Notice (Copyright (c) Ulrich Dirr 2004, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def +/FullName (SkakNew-Figurine Bold) readonly def +/FamilyName (SkakNew-Figurine) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Weight (Bold) readonly def +end readonly def +/FontName /SkakNew-Figurine-Bold def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 43 /plus put +dup 66 /B put +dup 75 /K put +dup 81 /Q put +dup 82 /R put +dup 88 /X put +readonly def +/PaintType 0 def +/FontType 1 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox {0 -158 1430 846} readonly def +currentdict end +currentfile eexec +D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 +1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 +204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 +429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 +FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 +C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB07D440EF +662966E7DB0A01929A1BB04538E2CF2BD8A1AFB22C6EC0DD4F2C4D488C742D5E +669571267C49BCAFB5C141B2C1FA88DAC7931EFDE3A9815238A12786ECFC62FA +829A03F564B87235AC7420AC23AEBBD71F9C9A61A5AB1DE260D375D2983DBB87 +74F692AF0FB6AD250BDFD9718C66C64B496E10CBCAA1272A4CE2A5F1AB056004 +6A925040164BC75D2DC2C125142BE35F3CC3730D755348B4871F7B8365D752F4 +1E87227E52D71057A43F80D8F8952C60AD1B492C9611CFA54734F60DCFC55069 +A5CC3D4086B8E449CFB9D8BFF2AF93A775DC2161B4F79150373C5457E7293AC2 +7FE3A244835166E48CD7AFE325F59ADB3044EB1563492ADF6B9CF08A7A5990FD +DD569794F2C8D74C8B75C2633A58AC2700558316F587E46578F89B7F392AB6C3 +889E1979AFB38550018F0152A56D5A2C5A532A12D3B6C01B2916D158BD3C58C5 +60354E4BFC38CF937A14E8B51293EDA34D0194AA9DF7DF26DFF17408966AF9EE +9981E7FC5202D660D75282FEBF7E9548FFA00CF8E549F66E9604200BA578D28B +FD3611E3DCCADC448E5861752CA847CF85FE46532EBAC475558E6074B8107F22 +DAA87EF9B3611E35F301351E76E634B035DB3DF6AAFFE9B7A705E7246B469EF5 +4096B247A636661D3356A8AA466240554BC0FF629DFA9A66C8A607E48F7297F6 +5B47189D8398C7D61FC5EED7D7E1E9E105216D435F50DE83B089282C84CAEABB +C5C18A1CB8E616C0C1E75832291A59F9839CE31278626C4C5EFD410278B3F850 +41CE1CF859FBA2870DCEB5F7E7F30FB1E250F12170D8692852666BE1920B40F3 +AA28D246C52061DFB9076201D7557AA20ABCABBDC2C05F7E120B481F8D77C8CA +A24F1526CCE72033B37AB2E428D61D7906FF68BE2E0D6A96BB289564770D0A5E +EBD81A73FE2DA4B58FBBDD9F6384613275A7AF3F075CE9B88F69719BAE108F34 +7F25D40A3917AE6E23981338327B9DAB8B8CFEAA801B46F1F65EF5DF3A632B05 +845F38AEDE98D51E984FEAD578755F62A385B339CF2195F15E74193E8AEFBD3F +557DF3D62706B0B2D8402B671BB6287A295757CEAC5275EE6661C4DE72166531 +ACD6743E589BA205D2A3F9F81935C02F05560B15D2344A1834883A4143A89A1D +220A4639691A84D7F728A02F7546F803A4C4A388BA2B23C2F894EA40682F08A8 +CCF303CB484A6F2108124D00A25EDE3383CB75B5F89FFD5EEEEB0C032D13A0AC +ABD574EF95280E0C9E750E371ACAC36BDF3931A36B3F7756E3FD60A30E2871A9 +AA6373A4130CBF33F0BC5D534BE0E96BC0FF6BE135825DCD37BEAAA6D845473D +B6FD06418906DB49C55AD602D8E99B3A8BBD3247AC243E25214074B620FE45A4 +0F369D58E096610D7B4DFE75318EAB91191B962D6766CF78823F39346FA04774 +2BE123EB80D86AC1FA5EA5326F001BECB3FC7DC3E9F2CB5B8299D8DC4CC03D4D +2F1AC4E92B9C1E42D0FED76CEAA854204449A841EC5A814A0D6E0AE9A715426F +11953708EFD53A2D60CE32134C8DCB044FD9F1A56CE9C6AD6A3C176104A3E70E +4884C96C0B8FD2A6E4C1D7F358DC4BEB4C2845C1F62D4121F7FCA3E7031B98E5 +563F0E13971047DBFD7E1F86B6D88D79EE401AD1BAA04C3322B763F07CCAA53E +2D9CFFF6744D0149039C958ACF9FD31392279BCF1D4D55505D45024C8294081A +F5C36E6F6EE4FF3E0DF037FB8CF49C9413B94D4BD26B5E5BAA9E9A7A3340F74D +B27F3498860B7113FD8A7D8796D62C0E61D7918C20CAD5EB1CFF4BF2AF3F2674 +C4BA899C8950B0013097B611586CA538C6EA0C984196C3182FE1E5E51E29C9D6 +5AEEFAF3ED36110826F1C8EE3A7AD4285FFC1C55CFCE5FA154206A39A8AA7B99 +6FE277DF0898140B044E1EAAF8B41840ED60450C6A9E450F1AF3F2417B5B7366 +F95EBCF7767C36AA560BC51AD38D61E7E86B1C59E6C9BC72B7AF36E28B0C7086 +93EC22B89F3B212CE5BC176FD3F0D13B62FAAE9B4BB65975E73B3A1FB28A6975 +D8E4A49EAA132EDF52BD4EE3DE3C55CD7E37B5B1019E0134773FF2C983F9997C +7085F1500123E497BCAA31936DCEA35F5D8C5C4E50201D764191F5C40091F50C +4FF49778D0460034C2BBC73CB36C2FA4F2D4A2388471FF76F14011FE576451A1 +992860D57B64F45349B1E25C3ECAB9DA64780E34812C15AE62873FFC09EECEC8 +796B102C3B5B929CAF55624441D1A51187C3F36BDEEAAE4EC95484299E42FE0B +9B3F7D176110F3076DA78FD266EB97C9801A2FF623A05EEF96046EE6089B9133 +2F15EA0EBB1910C9911BAADDB3A65DC8672552B236E7A79555E684255329B7CC +A94AEE53014265950A5E01C6632160977D24444B3AF5592E03244057F9D95669 +E0E4B6FC69F28740C0D1EB38B93C8ADBAC421A488FAF5E941F103621522E135E +EF3C926282763A6D690B0E7CFAF8198438CB0C505F3323FB17CB1D35CF29E178 +35478255274D5FEFC2AA10208E77ED1EC017372D5A58FA5D9A592D1CBB9760CB +311AE8B618F2AC621411C94855EFAC3F2CA3A0A1442576E9DEFAD4D2AEBE3F10 +46AA6D5DE405D3C85EA5AAD3782AB3ED302A624C590164986690A2AC093BD78A +7D7C5730A1F2E0EE8AE22747A38903E8053E13553908E6548A3DD89CC871AF35 +18FED8BE403B75D50D79298826D70D87C55AA91F7443A585ADC9D5AD431762F2 +3DFDA2448E41ADFD2C0A2AB562C9C8BDF55C7D7321A1CE3CF3906DD21DB2B785 +CEE97EAC5B312478618006FA46648CA264A71482BC08F7FE4BEFABCEFDE61FFE +9F2DAB831551397C378DB83CD57A98DE845D78C627DFFDA26480C193B145C227 +9E9FC6D90092E00AC8FA142BA7B27E1BCF0EBB30CE54B961C30D37B2C4FE45A8 +0AD3C2A75FB1923D78F4108F27B8C930E168242938984C90F6062C3ED876A108 +BA2167B629D96D6722ED956B24148340394F8BF22CD82594793ED1B1E52D10E1 +61C181FAEB539C1CAD48640C8DE924DF4E546A1219F4B911F44953D76D6A437F +DA54A8D6528FDC32B929926C577540CF216E2BE378502E3C909BAF81615D7DD5 +845EFBC0C61C522A582DFCFCC65B7CC7489890CDE36EE51FE93F82955C82E0E4 +AA47B33F912194B25E4C21451463073D46C90E596231ACE0B566F9D2AEC5C0BA +E2CF11A396B10AD0208D3855232A03BDF8746E0470CF8ED64B7147C736498733 +FD7962085EA8335A06BAE417C45DAAF5CA836806F39AAFDA63C6D40DBFD9CD2C +B58471F07B003D6F1D77DABA13966C8970435FCB9D697B965F95635C5AA4E18A +F298EFF1CE76A84C08F1E3B318BB556B641BA842694C76F5427B330DE1A0F96B +25552D7616A19255CB8AC303C0FD20DF6A802B15B9A307565114AEBF2778BDE3 +BCA25281F498F9E668E946499CD471AA25E4D9E25D10A31648EB6AF9DB605719 +E7669CD856A93E84EE9568073E9E22FB4878D115BCF24D6D95B98043DE54DD6B +F8C8348DB295293B9C318BDAB0C79F9B25C69446BCA2933B06E461CC8CF407C3 +3EB13EE5E7A9AAF5CBC6BBD87FD0CCB5871F8A128CA9DC02B8F00732460C76A4 +6299C3D871F8A7AF5CE2DFD70F0057E9A3F86969C8EE3108750879A07602AC8D +EFDAAA11182006AFC79F25C923785A24772BA5C8E28B38C4968C39D64B764E6F +69FD8E2C2E4A6F56492AD790502F0BAB3DFD16AE147E1D8932AA4D9487EAB2FE +27FA2F53FF793AC2802A9431170EE9A2BDAD0B86D7F47642B132308CD1AD3E0E +0A5DBB261020BA7FEB75E0786654DEE2491942A18DF26401E454B77205601ABE +9045CC8DE2C5B77CEBAE75019864EFF6F019912B9F8227F6468DB6350A0D6A46 +4DB8DE1BCB88B3B226FD8F9F2063AAC05FDC249E7937B81023B39A7EA431BC18 +F3733AC6710842D53ACCF66D7081FC2E8BD8772E0083824169E62E43C8C8F390 +C58FD63034DC4AD4218BC4FE80E00113C7E4305499FD1E3CAEC052037F3EC8FF +F951070EF3AD1B47BF4829278C6951C3585D232FEE9F4D659309B483F53AA7BA +21C1D1730C26AF49CB34B679279F0EA44F1BDFA56E0DF5C7A25A3110F85E7DE0 +166BEA0516EBC63FE5F487B3427B5519FB885D9F90A16EA47D546E26C75F3114 +D3F6659B0A1C48BAF44480C1A5F55D595655BC8E9F5313AE7149B2D19DC73A37 +97D4234DDE57AE181627C8474C6DAA88EA0EB7766DE9FA5AB82165203A86B209 +DF76DE1186C99950F24FC759455BC886DABBFA6252D0C827A1C1A5508CD330BB +36F97909EAE89F08AC7D0F709F3A748CDA5618B131C60717809A484B943AF1CC +AC628636E16F8CBFE273C14AA1D3EF1F2169DC59A98EFF1BF19A16B68E22EA13 +C6718DA08396E5BE82582DC124AF4665754FA56606A509B325605F79AFF974A0 +E8D45318FE8F2514249D62B9DE647C3E1ED5EC64B09FE3C3A186348661C42083 +41CC725F21BF20D97F412E22E4A5197F493311762C9E2CD73E0E1CC7E1EB4273 +653593F5BE12B12E6F980AF0A2064A7E59411B1259922856E1664971FF676533 +7AFAC243BB427BD425E022EFD659654F043C870BA56458BF7EC3EC7A081B9C31 +EC1DFA6E54D3928F400C770377486714D04CA600D6EDF5801E2FC4AC9D00A4F0 +22363320D02A927F577A4D104E6B94CF5CC84783CA3FBB5E12F67D9DBB28FC33 +CE1C65ACE78A7F5E2FA8E9170E0D925CEEF9245F2FB54D339A3B2299A756F369 +6AD7AB62D3B5CCCC7934E886A8C4EF753E6D0E6134A10B924CF6C937E172366E +C3451EDA484FE09526558728E84EAB78C74179C891F18DFE769C833C81AD7110 +6D74FF36D48B3211BABA3060E291AB30C9BBFB840C63847C964E413B4E9FD0D2 +73B482CAB9DB121D3DC14CFD70661F949C9BA8A4A46D289C1E1A3AB1F03A18F4 +67D77BC98C82B5631075B1B7BE0AAB6604E692F0883F6D9DBC499FC0FC6BB5A4 +F38E589A0B43E1F4F0BCBE54C0872DD66158385713072148D400FDEAEB326CB0 +9290678140533C56CEF1CD88AC12AEAD88A8CB129972815FE9F95F23B9248B79 +5AA1F0CD67797ED1152A7545476131B01C4C1EFD352F2E186A5B790000159325 +43CB65293EE73FC25B6C993DE2EF0FD5703DF49B5CE9A0981FD94B34694F9291 +B9C9A228AE62DC2740559DA1CED2C38EB28EF05F4D22561AD9947C35D7B8F86A +797D6273822FF0FDF3799660A9A9FB0C5BFF35F8BFB21896294AF2C797F109BF +E391AB2380789915D6C1F41D6D3E10C739ED560614404CD22AF12BDA5ED266FF +84191D92648E6AB73F00780AD2D5F8D651 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMBX10 +%!PS-AdobeFont-1.0: CMBX10 003.002 +%%Title: CMBX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup +/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX10 def +/FontBBox {-56 -250 1164 750 }readonly def +/UniqueID 5000768 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX10.) readonly def +/FullName (CMBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 103 /g put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB +B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A +6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6 +39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8 +407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4 +F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF +285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33 +DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185 +53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108 +74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D +ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2 +2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89 +8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D +718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61 +C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B +03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2 +767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09 +FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377 +547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A +3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62 +57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10 +9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84 +1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4 +822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB +1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B +28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A +B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893 +9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B +80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7 +D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356 +582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89 +4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB +323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D +CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC +2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717 +0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C +E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1 +9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F +9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237 +E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814 +9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF +A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45 +8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96 +BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921 +5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928 +6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711 +86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990 +0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713 +6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05 +64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377 +879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B +63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE +2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667 +9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317 +47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F +F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387 +9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F +C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB +6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2 +BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238 +4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751 +125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E +37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6 +EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E +7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD +A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986 +410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E +8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0 +064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9 +28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B +3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759 +8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5 +E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08 +EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4 +A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0 +0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9 +24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373 +73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7 +213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501 +3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6 +B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82 +FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E +E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9 +42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE +4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B +8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10 +CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D +13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D +52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493 +FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3 +760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5 +5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D +C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58 +0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6 +E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974 +A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED +16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C +25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8 +B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B +45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E +C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE +4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06 +05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A +D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00 +63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B +35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC +DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75 +BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40 +70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F +BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71 +169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A +BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3 +EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441 +FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC +6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9 +05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C +EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30 +69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D +813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70 +EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552 +19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340 +1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024 +D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D +8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6 +17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24 +96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8 +14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668 +4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635 +5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE +027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215 +A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96 +BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551 +66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD +92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F +93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613 +83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963 +093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6 +30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C +1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9 +DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E +D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE +6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F +9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183 +BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8 +5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB +6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133 +BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548 +DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A +5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2 +913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E +243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609 +51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A +A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4 +C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239 +E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945 +942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589 +3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348 +A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D +BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060 +6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB +926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9 +E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D +08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26 +8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E +42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88 +C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0 +BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3 +6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D +DC158DC6B86AA73E883ABDC43AA6155756145B9EE8EFC505738B7AAA434E093E +029F4BDA397FACAB37996C354110879CA5EAC9D735A9EAD4C6090650B5D5023D +FC9947DE3D2582C88B2C8C9C6213593ED5EFBFCB8EB161A9C9F572701A3C80AA +033903CBED807628BE32BA603E03194E76D374D3813FEBD09ABCAE0CEDC276B1 +390CAEE8408FA4E01108DF54D34CD31F444F24C67742DB868CC2967CDA1B8562 +C4DC3AAE53445277C899FE86E54B8BDB1490AC76FF84E6E695E526BF8394BE7D +685F4AE35AA17151913D70F35CD7820B221FE0B71A0CA584024C964575599D83 +F428992270E1039CAEE78B2D136545062399ED51E17EFE2DD72FD72ECAF8623A +C2C6E1DE8EF99678F333A0A25549721103667E88138D473DCBFDA8573A59C59C +5287D92E1A8CB5A195036AE42DFBAFB1E18A1941C494C795ECF17CAA969792C8 +628B6809C79D5B58F56106EE7EFA0BDED029D2273032E1C8A5CD07991064AB2F +20E7735CFD4B13C2A8CBBE519A8F57C66B98A31ED82CC4A183ED86D278180D66 +D97CE9B52FE6867C09D913F35AB9B9F6931BF820312DBDE76CEAF3D3F2EECA19 +9594CF093FB8D49DAB28DA0EDB9463F81A02C55BD1C45D2C5729767507D93B8C +0D596E1098DB1CFB42CB821E8FA5B5B93BFB454C7CD598BCC5F92BA5486A550A +868D0C17E5861E79939718243DB1F2F6B23D7BC51D926CA86263840FFCC3BAF7 +98B72E5F9191183CA5F1FCD9BACF833A9D58F384DC27B11B30790AFA8C1F0D61 +5CBD7F3E30A565B9703D739A46149AD05407515A3F397A287343D7C4CB6C8137 +FD441A887C7DB8DAF0F445E1DE2BB3A859D465B74109BA18C85A32C8C988D247 +6DC190297FBF224E92AD47C87239667707D70B5D344F4E93013C35939AD543B1 +A8AF20D9DF0629D03971CAD27426CE3536F737B960CFDA0206EA1DD152DA5891 +2B07455FB24A043124FE60C9C35B3565570C5AAF132A27B8098A928F14B7E5D0 +E619EBC509E1E61A0F1A69A7A6028305B86D25FE25B380D2DFC3330B70F99A47 +E67E22527BD17C135A5311F9E7264E646D1EDCF553CD612C2889FE41EC7553D2 +E0616DE75AA40C0171FA981F888E736BE0F3D7F6438FA76FD02D322CF2A6FC61 +1ED2EC97FCD26F6DA6E9EFDDD829D6FCFBD66F76F6E5E4D192A584A8CFF3DF3B +F895FFCD2FBC3152977FF27D05B3656FC546F64133AADE7A8ED6135F0B1E5BCA +B170AE703571A817E2A75AD7C9CF2A7827563357469FE34F6F87E141E181D826 +EA00D46FC974539970EFB2D13C85D6FEEA1B50207E9F18D93CDF9AC655D0DEC4 +0661E300811EAF5EB7123C92A5F8A656B4684E2ED3C9B3F98541C5E6FBBC5DBD +23F23FB7C7E6AE15D9CF22EA2F3357F4A161C2317347FD3DC952FE14918CDA8E +9125741E24E14E3E74A2796BDF8606B932D06E9995A1FECAC1191EEE535662D9 +2B07F4EBA18FB4CFED5E2D516A4350D296BC197E9B6C1B2706DC46F7F8D829CC +9695A77009E865486E5EE1319968FC0D479941F62F3D55A9D81FBF62CCC99525 +D028DCF0F801959BECFBC3C04CE0AA147C50B6DA26D3CEF17F5BDD61E7C82368 +E361D4034E462F659DFFB64C404825C32EC8F73BB1572F7875CC54AE4EDF1087 +D5254167A2188EA00116FAFDD66C3DBFE6419612225D642CEBA1AE5BEF843151 +973EA9BDE8FB7F834730E19E46C61A0FFAC21CC470A32CFCF7AC318CDE98739B +360390E9A8A6642B13AF7C2E28DF5904959122E200ADEB44D45BCC02B9958C25 +65390A99D8E18AD621A0AFC48D88397FB09D0EAB3B1214182E7DB08E59E004E2 +255DBDC4EEF3D97094ED2C21EC501C3F055320126651F8DFCA056E62753E97CE +1C0B152D66E148E1C5883A9EA1550AFEE246506B981C4C25D9FB5C08D065EB27 +2EEEA920D60D7CA26FAFD56023EEDCEAFEBF246C843B688A32AE308D25476AF4 +9FA053FD2ECA0B7A027A91E51846B9AE624BE0FF069DD38912AC08C084C92A3C +EA8D2EA18A342B248CFFBBFAB3B7C2DCCDFC038A7C57FB2C01E4142E7DDD1A93 +770F48F47C49FA0A28749F73EA96B75E8CC013FB0F3FF2B9211D48DFB521FD15 +358BC83C595E1EE2EDF7BD08F26149C6AC81C19B03AC6B53B8D2A9C58B784920 +264D387AFAAB7294AFDC171948CC9C5A1F80D025B7A76515DD9339D135C8D58D +F6EBB9A6A0C58B9C729B91BC2F5BD8DFF8B5821ACDCDE4FE8F64D137D888EA4C +0285B38CB7142663AE9A46A6DD7823863457AA39F61171ED24A3FE3B2B5EC745 +530241D478FE1788AF768F19982A7C869AF45CDB2C7032478A5D2D7492178FAD +7D477D1F4F1B0DB87B057EDD4280D406B1031A2015C741D529C5C10F6FAF27AA +77BCE7B3A4C4E4EF11E73995DF736093C85BCAC506B836D86A0F83CD924C15CD +6BCBF8E6854D2A19F2002CF3AF40155DD84A26C504AB95C5232A86199FC1295D +8BC52BBA9C508DFE62630BC035EF01B9D4D0A5D02ADED4DAECA436B90D0A5B4E +0F7E975F0A6A6B0914482B2CA100D46D3D402E9D77EACBBE3D271C3DD27C28F7 +54521E715BEBC58B3750415CA80E8590F52DE971DAB656E0A43ACBF16653DD40 +C4DF8D976A9561F7A2A4AAA27D75E802284C686C87AE283E6F3B63483AD8A2AE +B5805C2D47FDAB9D5F77E601BED695A5684A1B63876F4735431983720CF1DB67 +EDD3D6CDFE2221396F2D15F5D60F235A897DF33B1FAAD1781C2F7D2BFEC411AA +DFCC865D82832B76458887F0FD9D971D2C75AAA237EFCFBE097C258574978048 +3D682D172A2CAF15C4D2B23690A9738D7AEF0E05AFCE599847B993C18E41D0CD +EF403409BDAF1CEBB60C9DD75E91CF2E77FE532265F8D32F0F393417537F7F72 +3DB71C80C8EBF1D239416C879F1794C6DEE3FA7431267CB6EC7A96C590EBC1CC +733013F337F31FC100C92E6405D7DD1C1CADCF7E712A8B9AD4AF92BA5D627FA6 +97E110BC240CD8069D8039DF36B6E81F96156EBF5B7D624A8032161D54A462A9 +BCC870403230C4E7527EF177CB25E684AE7DD09D09057BBD928D3FF52E73696F +7EE6A9A6C549D8F732F74E01287FE939BD9F4A12191B15548AE275EAE43BE620 +3DC78893B9FFF47FCC219A25EB4010D777E0CB975A4C64FAF62B44F99A6F6E96 +E9466DB126AAA2A3F423A3259422FABAC14D92F7BA4856524EE655D03627B644 +51C8CF8F3085B1FE83B4FC4DC8A8051AED50A8467D17658779C2273F61F89C86 +DE2FB1877E780A50A9EF4FFD5EF53661F69A48AC76BAF7C1B52A067A889C5CB4 +01266FA67C23F1B35E546D928BE9EAAE5A881A239D330B82E3A34469D10B45FC +867C26294E50651B27BBB2DEC0E56B0504CD06C83512421EC1F8F874764B75F1 +067993733DF1586B3C4E6563F060BE9380FD024E0D7B75B672A14A6072BDF9B0 +5B789BAD7E6979717471DA94CA7E569500805A6262E664F817688B513E24125F +5A4F24D8C07280A2C7CC5D14A8A122BA33D5A92DF8B63A9E8FD0C4A410EA8954 +51E2DA453A099295A2108EEA1D1360DE2CB0B04864014B6C542F6E73FA7FFE88 +A2C7F52BFF930C23C97A6C44F17827763AA744F40FA7666C63E502BE9FD530EB +12DA1F4EBB0116E895DF6A8D79B0DD557F943E463110F58B5A3453B9343BB5AD +8DBFCA8FD3C7727D2261190DE52CFE2DFEDDED8199DBF1C67C5B062D2084CCE4 +19A81E23B6EBE286C6455C1364635FD0908EF11AC8DC93A211AB4D896760A1DE +8DAEBCB80B8298239E74776EA1CF8F32DAA0D05984B61A654CF1DDF3FFE2FED4 +344AECB1CFB87FA6CA4290BC7496D79664A4B28823EB1BA123C78262F043E97D +08E2C3E7454B9B1412274D551BB695479C5C2008CFC2BB22B6AFB653387073F6 +40353B1747594E74BAC591D5C8FECC3D53891CA744D427BC2DDC4D75B560FA76 +FD4F23DB3B69B6EF04E84DEDF80BA158F65CE4EFB9D49CDB91BDF5B6AD617670 +7DD0660630634CD859B496C142F25616FF13D4D3D1301E4E5E5CAD40F933A2FC +E4DD8C39720591A480C6C50F3C40D2C1CC6B7245E94513F2FF39AD1D4A91A6AB +7EC0839C4005ACC939FAE7D465DB47DB927BDF466D910DEADC182DA54DCCF1E6 +5B8B975976B65F9AC9AE1FE6F6C9062C27686580ACEEF323D532F0A0FE695752 +A50E555534C4306D9D90ACFEFDFA4913BD873CCD2B09C7823F423594C118A7B2 +141238A31F874D6B989DB29619C2DA86E5FAF3FBCCA64EF338702DF035344B51 +52D0104539D62090F0BA6D4B5A40908BA2BD8A1141433EEF11A285569004C635 +3A14830F5D5A53CA6D5C67B4737112206E1BD0BD8C6342AA2ACFD7C7D6BBC7D8 +49BCE310323386A72C9B6FB548C07AE070B4BD4FCBD1F84137A343EA68868269 +27147992E0CC0012C8B68B7F57B9123DA0DA1143CA553179BF4EFEF2FB2C0CF0 +4ACF7016B3158C2C74A2FC84BFBDE5C5322B37090D694AD0651EA948C26E60A8 +28403DB34726337F018DC85A98CF5F7155514AC989E4C0093C9657599BF3DBB8 +1F7F8E22DDDC4F306C7275F06E539AFB7BA7481F2693613BFB1A4F8FCB85D285 +5D65FC33F59AFA5A8FD010264FF9A2C47FDD68A045E0638BA9134A6C6C5329A2 +5D23D611A4B5F9956EF11FE57375CCB6BDF02339D108BE7F35A1F4AE512B251E +8C7E1A68DBE739C0ADEE551A9C79F5BA2C4DE440FD82A9CD68AFD7D777689DEA +03CF7C10D1A4961AB8E83B47C7DA62BC511875E236F4059CDA0EA338FDE74B20 +E47527397AB72BAF65A2427D2C0EDB2B2967E0E477A7CA12B92829CE017178AF +E9BF94D237869EE5863B0DD1E861F4F795F8281C384E4128C43A57BB7180BD34 +C5CDE905E8AE97A574ADCC58800840240740FCFA053DE052CF6271075516EB2F +5910760B323368F7FBE41F4EF6A8DC6CE2147BB8687752738420B403C6394477 +D6C3FC005FED27BA23289BF57A350A7C70B46773509869A2F4C64CE323680F13 +FA73EF5239CCDF72B6C2154DC055F896625DC8BCD2E11AE0E10126971C1368B0 +AD732315EEDF137435382C6A44CF0B32B6004E4DA8BE0E941BDDC8BFD3F3859C +08DCD6C54563807A6BBD44D8515B60B82F48160E257BEE60E7EE957B9CFFDE28 +8E8E787F83492D26EA4502602962F9A8505C25BE2FD6D9FDE82553F1E65A8E48 +EE5BD5DB27A7217935D2EE5868A99F5147EA8F0A082900CBDA4974C63484AB38 +DCFB009F17E6F71821B6D2F424172CDFF87828AFCD88DC529C99B91B5FDD0033 +97E21A35A8C9D0967902DABB023A684A26334D2EED3893284AE182CE147D9880 +F3F22A92672756A0ECA4F0706625478BE98D0CD6403ABC3D362D88B03194AE30 +56726837C5DFA2173C3B35D5C814D14E2DA76B6082F9A214718CD73989CFCD36 +B98A84AF935D003F98E20A84D3A1560D994C1ACE85DDC1455C3DC0ADCB29C1A9 +8AAFDF4ECF14687DB575C746BE067DDEB8D80C5CFFAC2773C39D753807E23F9A +698FA26D09D7B86904DD07EC7A1BB4FA02EEA39F3C0F782713EA97DC0DA7E346 +BEB371C48AFED3CB5FB93455A74C7E019AD49C68C8A1A1727593D37E876E16AB +82915DD2B021E8C24E23ADEF13EAC4078AAF0DBCD804B857073DCD9F2D5F708E +5F22A7F1696A03BF125E4F7F39B384E2E1A7443D39F966461202F8E982C6D43C +F007EE624A105FEE73DB0B48158785F5BF59ED044C359AA707EB4A517B8DA7E1 +C8AD358C267CF8B7A15E735DC8369A198E2B492B90A522B7F1427B6F7596B0B2 +83E5BE9E92F80B74476129B576A0FFC87F78C45A1307AC31FCF23CC1063BD252 +411B5E606A6A4768675D3E7946EB0E2B5D34BDE201C1A8B35332A67F8B07837B +5942804CFA1B19559E33CD25AAE690270B1DEE1FFEA67A1B8D1F31DEE32D4BA6 +6062DCC567FD233986E0EADA6CF0878D008515030BC6DBC5B5AC7850AF176A18 +7FF2FAEFAADB5B80344D2F92CEA511E17EA7ED5C4A83D57176E136D4B27A43B8 +59637DFC22BB508F64027D60560BD3FD35B2D1830C2E87799F6BBE67111DC2A3 +5A8E72098BD03D7ABF54B0645D3922E43141734576FE16361862EA68CFECB3BA +7CA2AC1B8233EF8761CCBE6000FF8732BE869571EA205FE718591A0EEC115877 +3A3C4A77D844BA26D6BDE27B65F91765E26331AF3313159D36470B99B260837D +93CA8C74964662703A5232605134F103DD23CC0BCA0449EBB3679C25612750FB +ADA29C2EA947AC0AAA648C01C73A8CC96D4E526736E68E6D8DACCA9702DCFFC9 +170AE223B4EC21D9BEF5CDC045E927BF083B5D870A18DA83827D4E696AE43F14 +F351C44CCCAC5E0AB218B8FE1BEB32B1B982CDA89EF23D9CA35E8C3B57FA84EC +CC89BD8F7307186FFB65E2A0A685E4A1CA15DA2E6D3E08CCEF7ADB8BBFA8C0E8 +9C171BE5D85979C546D01E70375CCBD009902F28CAD06FE0A68639E4B6CCE0FF +A9E967B15B3B9A5CF8DFCE6A60954D50D1B6EC58969E58735EE5153ACFA20DCE +26AF2E1F5DC77426811E40B61214282BE4BBFA120438B4F9C4367C88E4E7F352 +830790F5F91B5B1F91B88C077AEE6BFAE21B92969585F34B7EC0D69202FA2EA2 +CDED90CAEA432D905C3C0E539EA3201C99EC5807E22D95FCEB48D17F4FF75E0B +D1A28314EE1FDC3B11976BA4F18AF451E020B76B0E680291D554DF3FE4312600 +0DCF216224075204BE7E60FBCF0709834F266222E2A4B92EF33F0CBCF7C90C5D +B97CDDD049FA4C1DF9FA8A7034DC5255EEB5E80D6576F5F0C91660DD25223078 +C807E4219807FA1974CB4F2B1DC84B +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: SkakNew-Figurine +%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003 +%%CreationDate: Mon Feb 02 15:14:46 2009 +%%VMusage: 120000 150000 +11 dict begin +/FontInfo 15 dict dup begin +/version (001.003) readonly def +/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def +/FullName (SkakNew-Figurine) readonly def +/FamilyName (SkakNew-Figurine) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Weight (Regular) readonly def +end readonly def +/FontName /SkakNew-Figurine def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 43 /plus put +dup 66 /B put +dup 75 /K put +dup 81 /Q put +dup 82 /R put +dup 88 /X put +readonly def +/PaintType 0 def +/FontType 1 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox {0 -114 1241 842} readonly def +currentdict end +currentfile eexec +D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 +1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 +204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 +429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 +FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 +C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691 +6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9 +5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716 +C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0 +DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98 +218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549 +1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8 +7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563 +F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F +401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39 +B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD +9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88 +68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC +067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB +3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E +E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510 +6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA +AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90 +A73760A9C1CE6E752C797A9BF8237387DDE337CECF8B700CD88C93A7E1C10C03 +F27952B8CB11105B4077B438642E42FF6F9C2DCEE55E7B8238412D74D1F0A486 +35436B1C389EF0665F668421B4FA232744CD27DEBCED1A2DE22DE3D1C72ED102 +BA781E75C506EE31682106D63A7C091ADDCD30712FCFADB16B9DF147925668C4 +3DADB9361CAE8FD66F76F6E5E4D192A337083689D1D79F1AC5CBAE15BF318AE0 +0B5848ACD555D1F5EDCC5DBF9B56C33C3A0E2AF542853069BE9ADA00A8E88FA6 +FB73703965418F4356592A3480369019BD83005FCA77ECB3172F50F230448C09 +073A73F51F7E4AE79246673B0800073A8B82FF19251B1D3735B67FF464CD5729 +5728A510B3B7A39A6D5A5256034728EBB6114077B845D72A33AC7666F807FD8C +DEC072865DE18B7EF90EA679848271EF162346D13BACA029163AC7176586832A +FB06AC0958351C0024D437935DA64F61ED7690342C15ADD496341140AFAA8CB5 +AB146141EB03139B40C2430CF62375565978A9201E6CC2D80D110F5C6CBF5267 +E5D0FC80357FFCEF31DEE07B67D89DC4C03B4AC4717496EE4EDDC1E226F973DF +96B5B2D1C67A6703FC35E10BC84A48B5AB27BBC9E5780C668EA061153A52ABB1 +647801032F8FC9FEAA8FC9FA35194F98828425DDD6AB48BD3CA4F6E2A15EEAFF +5C2CBB20CD992A98E4D81B6738D978FDA51EAC4C73137BD6620620EEED08E431 +CD42B2ED848BB2FD9FF30E64CB7CD99357C9D57CAF0A677405A907BC73E7CA20 +314870B89A749F73FA6434F912787554BDD3C1D89782C64CB28523218DBCEF20 +23CB982AF6A7F5FD92B07F556CA112F85AB2AC07A0543E8D90FACC6E2B37BE24 +4A30669AF4E20CD5C356286CDCADB555EB13AC43E448EE00F114D9BCF9E88F23 +6DF91AE40194013106107F6B4C22CBEE46FF24A7C3611B9A49E2D0314E264E5A +BEFC2D31EAF73FFFEFAABA4BDAEC16B1C259922CB2070E8E33C57BF8B2E8113F +01BFB9CFA574F3480DC97383046A038D9F309400E2552B4ADD738F615089C5BD +967000DED6D674A05DC573F17609105471CAC02E96A3D95FC36FEA07B203E722 +7490B9092E5A2BA8BE7D50923010A6F7943906050604D5357C46790A27FEAE42 +47A8F79C39374073DE4316CA6B46F06898516C871D267A5FCDF97D5BE5A6EDAA +236880CAAEC62C6D2A9117340CADB571B5886008F1C3B0E956C40F1D49CB3247 +F8ACAE0937F8E35CE8FCF9DC7C8EE419C59FB9C8F98231750E59C82C4513691A +12AF08C10FCE155BFBC15A3BBEA8E0102576D5DDF104FE5B26A1F268AC3845F6 +66830E8B4B4675D437087E94DB20212A433240F3FF94010B984C461D5345CD42 +82ABA722B60B931A3C5626926CC463BB83D6EB5BF97280A58D83314481AAF972 +211A93664CD135F96CC59DA790ABBA2E0D5EE35CC217BC33669A41FF19200574 +EBB63C8C429CB0DD0279D0FC834B3DA7B3B8C176ABD5244D15738C62BBA2C6AD +31A0D44B1E9FD3E9E8CFBC357625340CBBE92862923F31B8FE9C75C0F505BE62 +6524B6BECBCD412A7D6A0F93A57C39E2BF0A9AE90D064A71538878B4522D1AEE +2980FC421B2977AF4C08D89F2E862434D6CB5D80F69E0010B97E1A371ECA95C3 +9F02F18C584BF5F2330AFCE8FF92E2DF9B35F469ABC5D431BB5A2E1B9C174075 +1CB0C82D8E1C74333BD75251659EE74A875CB811177A20A894351D75B4E76D55 +4DA06353DDFA9C87125E5C9B69FE0A5923903203E9957272239B7DA8B9139CCF +9ABC5294AF21AF58E4AED70786CE013C9E384C313328E543B17C4DF1ACBF63AB +4D80B77B661269EC4624D5293DC84921BFA1BB47FCB4F743459677756A8A329C +70DF3DBDCF298FECFBBA8476C63349C478E4EE4BF5D8E676E3AFF67832F8939A +22AA9087162D13925C8DE1DB79331CE565A9B48BE75ADD8BA98F22CD90F521F6 +0435664B05EFED8EF6F286AEEC3B72DD3723DEBE3E9E17370CB4AD148989C48C +81A758CE61CABA57FB52A574223ACB9761D4FD3514C702DF13DB209E1A12F7A0 +CE40D7B937AC4C2BFE28B49A48F3E4A3DBFAC0B7614A92FC8471670B045EBBEF +A988BE3B61FE01F9905A5EEBE252656439B1F6A1B1E02857C331E9977A42F544 +34DC2D4BDC7735ADBC55E2B60BA4701D5505DB6D23898A306B0F5CD8B100F465 +28A78C9854FD473293F03384D9BD1017D62BBA0DF604AA1EC9448E8293A55340 +308F6E75ABB18F7B2B00E58D4E8A1168D965AFD09B0ADECB75B675CFA67F94DD +C8D06C0B7843F96FBBE06959667A048BBAEE26C305BD5607659A26EC82914D3C +EFBB5EA8BB65D031AAB63C604AD92A3229A5FA2672F05DD214554CDB0EEF7BBA +E45870F9F7A61EB9AD7D712A87EC34B971F850A5C2217391A8FB59669871248E +272E330FF47242E18B07C2129E119B0B5A28B19AE3AE9AA2964CB78389E6ED79 +15AA14FDDC0FFEF5CD47D27773A3CF535B2101E5DA40717013BDE06FB939FAA0 +8448EE8B1D330731C8ABE18D4CCA132EEA15E013BBA27360D9A1D27BCF1DD166 +73025C13C7E1C158C11F3801ADF541E9A61A32F32450896A6D9DC787A20069E7 +FE8060D03BB41597D8F511F27747EB31090B36CC7C33D31D285E1F794F20D1C4 +C60C3309038E37E851E5FDA72CBF29F81E303B3731283D269B87D66280D36D63 +B0AE9627B2E3B4C3D6EAFE71D80B62BEB40F9759DBC3AD4E4F9D9BC4C47FDD3A +7C71DEDC7EB5B8017B56B0AE13F25A2B96B2C6EFC68D6F587254E5C02C13DAC7 +1550B1357FB24A3B690AAC0BCD4C1D4163F9BD72E4A0A18933DD410F9254CF15 +C9EDDBEE82A0938E9FCC4262B9337FCB3A0CCB0F7FA482154DAC6E31DB4F9F5B +19EE1D97C5D9A65CBEB671129571478DD239D8F90379932871854AF78F55D468 +B2D51DF12B11C51169711DD57563B656BC6780A9E569EE2CEAD23AFD17760CA4 +81855AA2350D7F286A522231A38F1C9E3F151787D2A90910C928E23BFF7904AE +B082EA444F6EE13B456E2A32396F87EEA2CAE099C8481D7EFCFF519E018CA769 +165948EE32CDC140C764FE7CBC937F0823429CC4DF0757CD684D769FE32F2A4B +89379B10C2D07B03C13520A2BED99977BAA95927E570634B9B97C19ED2367860 +0FEAF113B2D8DE8E4F7EDC5BCF7FFB5FDC0E66341F995B8F5D8969DB790A67F0 +E78CC178F35D248C0B2C13392DF58ED0EA0EF6929DFEF37B71A37F7D2593F988 +23D128410217F2CA52560E07EEEE9C5C1E06EE088082A26853CCD92E29550146 +FE188F65D505A2A97D97712DF41D8DC9C59560090A732D4F339B355AD2A85C49 +3B2264729A22717B25DB86A906B329BB80C9C5F7DA7BF6C0FD1F16CCDA20E647 +F7E14636D4B3F1E82C26B5A16381DBB92476776721CBF40A15C2FB6AAECCA6BE +08FBF91E5EA0A0815243827CD8A4EE100C0EA132ABD9EB438BEB4CFA4BE9FE5D +A17D171931354A80F40A0F7DB859D6F2163BDB85837D555E145C27B6A7DEC383 +7D7D0A521328D3538AC7D54F66F51CF1DDE755C73987AAFBCE2BF30FDEFE6D95 +B4C649F67F8F328201EBAA214381D27BF80BE810D6786D5F42760F368CE90F5F +6A43D26621F8B8999EF0905501E8AF5198C9FB191003547A7ECF36B5DC7B8E1A +B1F7145C1DD508766970050809C7BC2B3C672FFE073076C6889170BDD7646C1F +D76279E1CD28171AF9474D4F5FA5164E19CFC938A864E7F5C9F0A193EE2505B5 +90CDA1350272398FB6EFAFAEA8BFC906C47D8A0B3E08314F59E52A5E659877FC +EB42F7769290CBA45B383E6B17100327D472464D07F500DFEDB8151BF6D61EB5 +9D5CA8D82111B0E090AEF98A5F9B3E039A387FC19F87D4A05F2EA17E8C230904 +0F25EAA536518333886666B40FBFB0FD64B0D47752FDBA563E45E1F588F94E97 +31BDE09F9785D2C9E8F3735A80A2EEE977FA608ED9AD6A7BD87D1B2A976AF061 +95B4C1028426B1B60A83CFEB6989E98F565A99B4C5F7A931D44C61231540CFAA +33B04D4FF921C8341AAE5D249604E994A1EF556F182FD53499F711378FBD875E +69AD98457DC36B3F9554E39EF2CB07FD5B8766200E0249C08D7C8D3166A1C163 +415114AAB0BC06AFE6E5D8F48CBF3740FD20C9CBE7AB36E0FFFE3D58951A3E87 +397BECD138EC67AC3EAA124DECF1A3CE7FB719E73863492C08C5E4A37423268A +295097D83534DDE19F28A94A7349076BC78A3531A54EA98F9E952A0EFA5C5D2C +DF87172E02C0EAD4C03D43A29A33536D1412FA683AEBD527083D34D141FEE381 +3CF161E957FC386D7FA4F35B20F6D308E4C6DC8E4B692B9594E76B304A27086A +2162AE28814AAD04820AF6A9974C3A347F97C138A70AE6168FA0E2054C6B768A +257988531E10F3E32BFA87E710D6109A2A2230384D325E280614C61E36B4B33D +9077856BAA398070677F1A1558CFDA29D3CBC41C4B45859D9B95077E153B6691 +AEF4ECAE627CD42D497C258BD2CF78860290A2B861D3732E74ED52E09D8314F3 +D3603B93F917DCF7CB3A82A88BC354EC358F2799E6466A6BC5280319C9AB3635 +532648A14E8D594638E8D70F63D2F9A95DB6805DC2A43916241B1F92CB6E3292 +E31595C6B3CBD43B09E01DC45F02A09BA155CE49E9DDD4AFBA61582EB67E90B6 +92FF3F5E1A62F42CC489D1B80C7B85FF210779A6CFCD96B6B8B1727131A96B9B +4FC4E83455E065E1CCB71AFD65F201FFABB264DD6303518704C551FB6262ED66 +657DCBA5264C5F2B9B03D8DEA072936CE4B34AF667F513F70BA460BF9A28F82B +2DA0F053CA5B3B714648773A42E679938CB75DDDC1ADE8BACA281C7A61F9FCFA +4D6EA966546240F90A7289FD7D53006E24CAE3655A58E0694CECDDC2C0981B95 +4EAD771D1E25E75C4262D958C9580C31F5CA9F3E7D5155D0872118C34E3458B1 +6DEEAD823AE8C0C29DCF080B2B61EDD88A4FF4E540481AC39FC67C051715E39C +BBAFAC4F5EF84995D4407D6A069531FC2A1AACFFA218151B5D51E5D55F70FCCF +48BD4C3EF8FED791A25A71840BAE1F2C4FA1DFAE87268A812452F4579FEAEDF1 +D3E07F2D862934ADBCE3FF8A97BB61566CEA9D1D1497A5AB2EBDA5274CC9EC1B +3AE89468FCF53CAD65A992B2A5C8D60B33C1D8C3EFE26B614F3F2F7583F3DBA8 +6FD903D4043582CD3C39F27E00100C983861A0D890929CEB7D342954F6F13898 +11A0F9FA5F369CC3ACA040023B89D6EFED20246FB16C15937944702A8563EBDB +AC4002DA500D912E9BB7C3F0B8444514AB788FAFA7D21C35CA3532093F86FC75 +FE4D9F5E8D8C852A6DA167614414B3289E5BDFCEDE492CAE714EDA2804603205 +CCBC3E44099EB8EC65C888A9821B5DFA846FF9D551C7B03F3258776C51D2EFD3 +3CB73D1C8ABDC0A61A811EC1C8E9546D9054DBFB158B256FA1802FF7278271DA +182289DE766CEF8CA58517ECF0BBE12D09036780CA1B62D7474225F6DADAA6DE +AA53C1FB98767BB019211CBD5062F5034D2BFDF36C7959A5798C99C975EEE81C +1957A26780E90F730AA688DB50F081C6788A7F0492C9A565C681ED8A72C0364F +3F9B154D940AF06F003F5EC5F52E03C336A0161BEF1BA7955D28DE3DDBC09CAB +6D712307FF5DE32DBBE24DD05E25BE19AB9CB6137A86A1EF183E190170B3D1BD +1AC4CAE5AF592FC86950462CD705445BC8C81570D76030F8B498DF611B1693C1 +846549AD7C13B7859845382FA53DA860A58B78411E8AFFA76733178BF05FDDDB +F1AF98C5D4C28776711E971981C823B4F3B768824841F718CB5F634CB5DC80CD +B5ED4A31942B488E07E86AE6996B352BFAEDBEE2A7EF6FC74CF1591470CC5D29 +8E2D1A77547C63C2641459605DBD337F0F7C131D3F796B379A408B7C3AD0A42C +0A08C4C5B6CD59B37414527129CAA5122BCE694C7D88078BE10CB54226BFF7B4 +53373CF0ECADF9C7E6EB39D764E4C7F187BF49434A0F8935BC1958C260E4B2E4 + +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 33 /exclam put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 43 /plus put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 61 /equal put +dup 66 /B put +dup 70 /F put +dup 75 /K put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 84 /T put +dup 87 /W put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 123 /endash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 +5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F +4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F +E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF +9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 +89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 +7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 +AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26 +71B72D15270CD8CB1D59CA2D9DE884C96BB923B1EC8208BD7DCEAB0FC2293629 +2AA1F72C6B470701C381E335C2364CFCEBACDD20CA36182CA7E70AFF5B14B02B +75CBD0738E35DAD8E60CB3DA4DDED557FF9ED386DA52D10615E700751C842FBC +85D89C0E713F556814E051C6CEFE7E83C2F379B88A801DDA565BE73013DD56D9 +44D97798564787AE6D5A6A9FB777EEB850C7481B4A353EB9279731512C9B95D3 +2ACA3A0D44585E55AFD968135F6492A9381FA2D126CF50373AB7D47B509AE6F5 +C4B100BE8334ABE2268DAFB7983BF339540A8D8280F3576CDCD4F21408AA7D92 +BBB218043ADCAB60ADF6385516C2A5A9BFC5C3845124E0954EC5C627FA7C65AE +AC1A283A5A9670ED2A2073826941E9AAD904A05CDB5B692AF725B6B9102574E2 +461D2FAE65B7321C0093A2A34996C214331F7A91B4F74898E2FAD14576F81B1D +688DD9ADCABD51FF07C966B61B0118F09E24354A9F75277B03026CA1C783CF92 +76255E2A560768B3A8764F0BBACFC2BCEBF870EC12EF096A2BE42692EA401E2A +3A12BA99AA66F8BEC315412BA9A17E6574742A624447122C877F80740924F346 +0E22CA288DC767537CFC7236CB28E31AC2C563B89563D0A57F798CB843680E9A +26A03BAD01DA05792528BDD89944986C15BEF8D3E84C08B3CFD68AD25993B6A3 +903A215F9BAE352E428CA0E862EBFCED059D65F3C47D22B2B8E48E97507E8399 +AD4FC0BE438049A369F1C68E0430642B5CA02080DD55A96E34ACFAC469B18732 +655CE5C09F9E499346B2E0DB6FCD5D64384C2F529685F91BFAED8E85CD5704A2 +54E457F74B77B97BC47EBB0F292F8B9839D248B20DFA40ED6AC6C136A7451F9E +57FE699CD9F0CABE94AA602DD5F17214F05886AD032731EDA504B76A19DCB8C5 +02B38C86D8D507AC17AA803E5A22632DD205AF07F8AE35EE4129EB0B37E20231 +463C95CD9943F718E9635F8765BC693AA01D8B18E0318A3C06F1086EA20848A8 +9BC45782CD659959CA78F1E2599AC0C8E7A7396D59EC0EBB19DE8A07FF884C99 +45FBC16DD47324B47C81CE0D663B2087DFD2E5F23D3167AC0F1B9A7C31836B03 +59DB1249B0445E4D9172E11414A9DAB776BB862C29749077A9C46242EAB10087 +1F063F497EFA5A35617FA7770432D63B1C903E570D7F56E52DFF3E48051C4F31 +38BAD9D2C195BC8C6D5E49EDF16A023087DE1F666D696510B2AA4A5DF38E733F +5E7EBA96669D80EE118FE03972813811277F1F07A99581FB458D18F0D2C5EAC5 +CF755173A99C37525615E1920418067A840679646802606148A0314A2A129104 +3CB775A23833AFA223319BCCF2966C76AB573D333529F06FDFCA1636023C3B45 +D99837E560B8539F00777A6B882F96B951F92E5D4E51D532F29BCDCD4EC988F9 +8528CE2BF580724B588C348665435FEC66D6CFF8FF2000E67AA8C8A80C71C13F +9E6EB178DE3DF17696DCE0AABC09D1B6E2F91C968D4028D2F1E7C0B2E494B201 +4160CF85023E0F171856279D43F1DCC9167D163B7D007B43C1294747F3ADD403 +E3C9F6D68D89DBADA1CDD616DD17877C26DE170AA0AF621A9C62DCAE4EFDDCEB +0C8E8A14922639E5077C139E3A8CB172D46635220FB98495B2642C8CB6D5D360 +B708534472691544911A108D788F2F72CEE5F5594959B75C1A20FC3A54B30B97 +E23CD3030B8255F7C59AC9F2E29BB880EFC696D77D210536D7D1148AC9EA94CA +FFE245B4D5889C9730D6ACFB73B7ECF503EA4B28EF733C4C57410956520F9C16 +708AAEE0D9AE34F101CC6DB33D20EE915955268578AAE27C6170F40F3D569DAE +88DE374178241DEF1327DFAB37DAAFF1BC1F8FCFD21ACEAE6F4E4B0F724F14B9 +40A2031B372029D19806994A5D1E80C7C8E282533C5E4B84052DCE367D5ACB3F +961420CBBDD14EC9930D30A3EA8185BCFD352D3E1449E877EC12EF096A55791C +F3FFFA6BED1E63BFD90B97CB1F38C560D1CEA5EF7E17116174B74692941F65FB +C83E4168467A22AE77A3C0AB38CB05E98BEB3E2CD0667ADD38512D2EE3ED8F04 +F1472D09309A682485948E702A91601FA203AE3415AEEA37E86909CDFD42FEB8 +0F9353743A9984EF36254D60772A0EEDCA800923461E086F456B9753C2806CC4 +C2E9E615BBAD5F6818CE08C1B910BB59940BAC40E626D5E1C7A474BA19F3AFCE +FB9D25B2413766DDE50E614EAEBA3ABD5B96BE9DBDC12A4094221FAC159AA47F +09DA0306984DECFD6E52BA3B7278495076098184FBFF2D7E49D0438F00507B4F +86ED43B1A3A915E690A6A6F4DDB84E30BCFCEEF96C4EA137A96771CD533AFD20 +4F9DCBFC404657430F1CEC5308979421CD6AF9C7CB61185B672C8708518A74F4 +4976FF68DF0865B6F761BC8C1ABAAA7CE8CAA45A17BF41E7486DC04006A0D7FA +DFC54A72519CAC107D8180396BA6046B6335AEB26E92B59FBD94B1C5479A7FA6 +F7F2DDD06E0FA2EF74810E89B4C9CEB156DC85AEA94441AB4F30E8B1A8BF9F1D +9E6132B59366AF69851F634A595E61CB4AFE77B6EA9F0B72E803A4E69106EC5B +C97294A4F68346CD40AE6E3AE9B6669155208FBB42B01EBA44737186307A2C2D +D5FCFDBA9199FB466789DC7286129299A31E20836F8C654587A7E07A288E56D9 +E7CFB0A43278FDC697D103B20F969938164BC1BC6357112336162FFC796DFF19 +DDF8E85BF9CD2F22465DF9226B333182571F8332B6ABA8543986B454F256FFCD +F706B4563D38AD9280AA6A259810DA62EC7621124723233EC014E6F3D1E6E16F +DFC0C905BAACAFA7B2EB6C0D5AF07C3A3FA051E3910340D206DB78FDF24F36CA +8ABD4ABFEE6FF3BA46C73AD77C07BA81576FE601B577BD767381341CA872B121 +CA506D28A9F757158E62A4C78E38FA8990BDBB65C1413FD1BF8681675DF641A0 +5664BCB5A71663B830977E30F467E48FC91FD4EB224114A598A85BABF0AFA857 +B73C885E843CA29B55BB99CD69A1AB6C7DBA63C9A550AF93B65CC2ADE0F13294 +3AEE55FE39E8D10D1E9B8A9DFD05C44C457C2669807F31630BBA53DF3C8BD167 +60A91B02D5E8D679C227DA8E320136E114E110C064F95504C55B8BD04F9804BB +63D95C3A06521C95DE7B7EB10B14A0BB45AB5F764623A120BB2F48160E257BEE +60D71EB768DB3A62AA4DD59AB5EFBD77C096B8BE13D597A4FF1AD2CF4A43DF7A +21C7DE55DC385B2EAEC8C5BF5B130DD4243F52B202ABAFB60F0D8085FA97FE69 +DCAA77924CC60A09BEA9A64E8D41AE80C247B71DA764C4834D428AA542D8229D +F208FEA5AA3F5A1641A6FCD1E20CAC604AB4557767744B2A27F0AEB56AA6E56E +A0D8B5114F032BA029D820738B5E5028B7F18DDE8C00317A3607FA37588203AA +43F10BF00C24A89CD674D022C50FD0958CB514C9994459941A8D17FA33196674 +CB030E024E01E74F3F10BC537D4B899CDF7F9FB226E250BD21F87DCC6C881D6C +453C68C647CE8EA1D5EB53E6F3F170006AD8AE8E1CAB7517D01CF4EC5619407E +EF70039C6D418328E035D4468AE5C730B690104998509ABB3E77DC0349672EA6 +DC28006F2F8F493E1FCB1F200D09191F8E0EEA8BAA5812EE6C2953783E04CAE7 +3FF5614A0B14D9A6F44932CB1F647F8023144649A72A04360EE1F679A7B30AEE +F204AE780433864491F2B85D31FA19333D9BC85C076030F9ADECD4C7FEA3D99A +1E48954E58145A1BDEC3F2E401C3D7EFA3F6906011B85B811EA445A5651759AC +0C95C24065D9A4DC329C5B055AAB0DDFA45DB0FDF9B94F00B77781D9435CF699 +EFFC1E7CA4071F53DEBEB2AA8AE34538B3B812DA2EA2EE5BA19AC90695E436D6 +B0129745977065519D41FEA05DE277A2BD6BF981E70310B8A923BF37C6238712 +C33E29D059AD32CD87DFE82C5861D06A936E6000F6B60072EF21954716FF2871 +3D488FAEB0294B62BAF5C7DEA508980547FA5474AE86F48C3C5FBA2F06DBF435 +673A0E2B798C612172660B703C1243A9110E4CAD2443E6724FD24EF80C565A15 +8F0835D70F9F22D9E4EC0EFB3BE975011B4D741E81AF94FA6EDDAAD9F4BFE7FD +82AF03CBFC91B1A868DFE2CD9E7AF9222345E319126AD8176C24DBEDD2808DBE +F3C6BDDD95BAB691BB29CFEA534319E195268F9BA2F1518AC40027D89A07A5B9 +E4C87FE8878535BCD860EE9F90C095FCDD345D4E041CE9BE982C78A9AA854944 +3D1AB9AD6B0CE790F5F9F45695A30B4A82AF5946F02161943D96760214DA5B34 +88A3A8656E62CD8F0BD00FE8EB0E42F2277ECDC7A6DB2F27458527E6C5341811 +F5E347E954DCB8E8EF675047023AF7015B32194D4DCD4D6D3E000B54D8E622F4 +92ACD8D6C6254658340DB70968FAAED1226A949C78D176733CA14273A8C56A49 +A1B72C6FC4C10EEE2D3E0BCF702A36CB57D824D250AC3F036BFD854D622C3953 +4F12614E0DF155D72F1EB25082796485083EEB79B1901DE7CE1A8A01975DFAD1 +8BB4620D605DBFE2EA87A0A3572AF9A41A8CF5D2839845A6610F0E9C2FD31F59 +FFD1B4CD4C9E0E334B3301D6A484F143D7F962EC913E7B00097E296B2903AD9E +5C8401B7AB60874A1CCE2BECB4E6ABC006875C803B853B0C68D2C7608EF4C9BE +B2C27DBC3DDF24BF236567A14857102E12B8B4A7DF237A4AF3C2B6C7620BD28A +83B41F259A9DF2FCDBFA90C50D1561B5E431514E851A2B31A249791235546D31 +F4174CCEE6B2C8C629860746D3C93EA8A43FF1A3EEA11810763D6F7B8CF0978D +159CF5EE92DB4E102A8B9D1D57B3EB884455867F2533F047AC7F59ACC60CD530 +AB656B083C177275F7230A7ACD461D546B44ADEF73AE2658F753C7D3C6B7DCB3 +ECD47AC3D397B42941FF47674E269502250F0EA86071D6BD1732524DE9B19768 +369845919391F7E9C34CA2239F104A016162771194CD1A6BCFCE5D3FE23B3505 +9E85DF68DF7B17FC7067B933865552B6B9F99815F09121842489DB31D412F0EB +2CE4AA554B60F4F43FE6470CFE2AC1B88D624094693E1B727605F2987F64B8F0 +22429F488005D227B543ECCAB1504B04B99F1B5932B21CA75F94FF12D08902EE +7DA73AB3756DF40DE452539F21E66023D26B925CA8417B124283C4CE2D867857 +B7B60A5055543FB599A49AD658AB78DF41303E979C2CC9C463B8B5E8B82E5B92 +CF4F0221F40C6C900D10132B93B1D4949452A209598B29BEE9889111F81E0234 +8C99B01C33E480D9A665A113872249D3632065717765A80768E7825207F0B4DB +36939AE40A343C271EBB74051FF28F1D03851AAAA9F74AFA088568177586C54C +96D6A0CA26D77F403C0619C48EBD9486E9CE6A5ED985D8210C0ED0D847993AF9 +C6E1D0D4300E5C701682DCB0BBC3D0C629487FDFED8C02AACA2AD48EAA5F8276 +8E062E72838419D59FC909504ACD1905F56E667522077AEAA89881D09354F6F5 +6956CF33ADA7D9E20D9BD468C7088D6757984DCEC450DA23612A4AA21F3593B0 +C11EBA281585E0FA0628FCAAA65DCA6EA8AEA6593631A8C701CF03CE75B4D6B3 +79B4A5542A05115BF7718A00FCD81562EEFD48E696BDFEF3FEB1ACC6EE68202F +4C84F3F87FF5917A64F3AAC24B52E39D9589CA3DD643C93E0FF4FE5D3C5B86E0 +C41452A5497EB0190C1F0C4DA4A69DDF6D821FB30D6C303904A01E543F9C3862 +B292312FB49117CDEB0BAE1A0E6CA04F93BE0174C18D4A8B23F08499DCF12490 +65346B75E42EB8A743735F69BC1A70996EBA24D3A0BC27B3FACB40F8C8991B22 +170039346F91568267CDE454C5539DA257F1FAAC16AF505B842D884F117C8E25 +4ABAAA69CDA2E17E97AB402F41B216299261691EF9035C6E9FE5B5D0B9096F97 +891C0769134A380449F15A1AE74A61C2260579C7DDA09A0AF83A7A46D67010CD +1E359826030307E664F24221775ACD982B1DB002495105DF1333287E30590AE7 +B70345985E6AA799C53F53D769522C90546744410FFEF7F5D66A0ED0CA713032 +B10C2341682BE0A3DF529A995E2CE23EF3C218ABB46F3CBE98F998736E6137ED +27E2010801E51B3AC8A0D2F7172721EF5956F77B740B1DAB2F19FDDF084E1C0F +B5E3CCFDFDE12439850176C02D4CF525A39FB3CC333940DA73F6933A6B97710D +290B4566ABE0A39F488568A11BEFC30346DC6E4C24367FBCBCF890E9B79937A9 +AAF8E21BF8C04C16C7F49BE12D437DD928DE95FC9B7D2CAA17B4148171C9052D +634CAB14C879E7A2CAEF6686C96942AD652B91679201471312A109944170B6BD +7FC48A3EE74C872574E0422560A79F9919C65C0B8DAD1ACFE57DE31C4E1F9DCC +F584363DA6195FD10B82127FE1E1C9696AB9D61635413E7AC613616488194112 +7BFAC0F79E7C777AC8A34106B4CCBD7242C3FE1F83C661F6B8568284EDBFD7F9 +E5BA837E86F61606384C1570080344A4B020389DEB8841CB820090E7AD07CD73 +FD6A97FE32B4E2DE31C4278148C8953B4080B9C5F0DCC98139C4B1ED8476EA59 +2D2E19F09DB590F962DA9EB500365B58194DB638EC71646E44380276E68B1EA3 +DADA3239F00A5C1984D73BBE24C1CF58C56BF232EE0F1C063183B94FDB6A308F +E0725698D884FA9AAB7A017C21CAB90597FC02EB242F97C9DC0DEF033234F6BD +0B4A530E8E159B295796770E119AE1B21D0E55A5FA71B514D49520859DF64EDF +2B84C4B1D77AA92AC1870CBA9FDD5024A0C86DCAB16161D0040789530FEC0569 +916C4DF8D6E7945210C84A2E0E71AAD88524AD4236A127F236A33F02CB3A17E8 +52236E55CFCA560CAB241C0D35BC53BD46D320509197B1C858198AA95983A866 +C7B277EC80054470E943C966EC42BCDB7D822EE85298E7C3C7F95C7D135DB7FE +BD07B8023F3381346D2E02D65D54DEE68F97FACEDF2DE0831EC13AD33BAE86B5 +5368CC34B228E7B37A2642FB8CD4478B0FE274B11DFD3AB24C1014DADEE43988 +732E5E63BDCB5C28446CF52FA3CFE7990BC25C6C7122AA71299E921BD09F1493 +E62F9E6C54F6686764901392E4C56954CEE05DA3E139FC6763D1CE511479FE83 +6B407DA9EEE3E9C565EE3C3C9FC636557D023910CADCF04AAB18384C496FEEE7 +FEC30120B99667816FAF6BB247CABAE1D3A1CE9BE05D5C560E106F6133D86918 +928DBA2161F641C0DBC7FF5B22A80D98E5469B65E1EC0332D73A3965A325A43F +E7FA55F45233702DE20D383E3EE3316C891D23347F300EFCD46097ADAB00B6B1 +7AC09DDD0D520360F5E0456C97F8CC6BD1EFCD1689325667C002146148FCDC8C +0D1E617758BB173D0090B2D1944F20975B13C8E66AA25690B2E9A7EEEDA1FE98 +313204D5258A9CD9C4F7F2006D2AEFF7A65F1A8A5FDA986F55F2E0E829239149 +359D4063277B008468F588AE0EDF80660A260A4839AA9C0CCC21BC6AC9D6675E +31D832EB3E6C99DA7946645F4E5F5F134D8D03620AE940C629E68682C77574E4 +2FCDD05858B62D5B2C3E6CE4B599FD58B9A47DC5A15CC5A11A8CC2F0D4E64916 +11B6D29B909B878AF431F29A33BFEBD5E9929C181AD36FB48A1071AF4E3B486F +731BA47CACC876D5FDAD03C92C5F8C4164A16604AE49A390C5A6F6A3DC4298C3 +CDD4F09CEE9816A4B9DB79B0506DDD339799F6656F7BB8E673B1DDB7D988B8E3 +A72E45C0C53F78D354E55EBA6FF61A67DE268FC10BD4210640B07AD730A44238 +B5625BC87B960F3386AD8BB146C58A9ED57C51A633729E308C4FB4F645B493F6 +DF8345AB31560C339E5F3F016A2EEBDA4FD46BC6BCBD2E570419C48E99ADD9C8 +97D3FE15961CCBB30AAFB93EA1F94FD49A9D9ED27B9E59B10ED7095DE02D9E74 +FFFE353C126540AF283DBCC68B26AD64B3D4EE859F303D230DCA295E6343816D +A069C3C70CF460EE38A45AAC447042D333A7A8F7333E5C28C62DF0E8FECDD762 +B39E8A6DC9AE7F6AB7DE1E8B749BF6AC518B5995A6C7F74672650C5A97B30117 +C93250FF6E85041B9667174204289887259C99C357E79B0A4C92E63CA9FBF994 +B1CE217F48D66EE7A66C569F61F2EA5098EA1577C870025C551AB599C3EA4AE5 +8DAD9F414BB0755A8F7573A847FDC2546CE17A124AAE91F2EFA4B8B0926AF806 +B4193B7D587004CEA70D68B924715716606FEB103C45D624CEF341D12C0C511C +9EBA66E67838B801A35D338E7EC425DE71DFE409667C845BC23FE9BBE71C26AE +49C0C90E7BA16880FEE1F8ABE8BAB6678A48143B4BDCCDA61338EEE63EC5AC49 +86C01D0AA9CAD76EED3414C025C941FBDD3A0278DD441110AC00F963BF3512DB +10BC449F63852A12B4611473E51850BA13E9F3E11B2B2BCDAEA34AA79AB141A3 +B5FBFCB991AEAFC5396C82A95CD527F20F514C5E70A4B2EE9CDBEB834CB3063F +B1807DB9E48E3326249E137907DD52EA6D0DE38B7579BE41B2329A632DF721F1 +491899540B30F28B20E1D2856E18862CC0DA01EB88C6FA4990AA9C5892170FCB +5D4C36D252E6BDB726E38BBF094992333A431816F3DD4A5B6CF5CD8E105D4BB7 +5BF04C4DFCBC00BF12B7D904EB945275C19D54678408D7EE19D57D8C9D6CBF7E +D946A3A94A42C0546AD30BF89A93FFDF868100DBE4915F9B67FD4273F71CF10E +9D55709926730B36C77B1DC0B999D912347353760B35CDE2254794073C53FFC4 +57BF5887D94FF4EA15DF393C192CC586BFFF1AE3A088B89BA9736DDA96AC7E82 +FCF8EB9467454F669719CB0860834C5F3C58FBD07F203E7A859A5497FF374E1E +6FFCA42DE0F08DC83A605C8A62E73E1CB7775C7324F46C74FCC96C1AAF3BC836 +8EC4099A1661DE05E8B420F97B6413E48F66BB056CEF885E3C1E113843220077 +559D74259D87D453C4B685919C749B2B6D1BAF972B7581E18336E01D4FB99098 +D7E8EC3D47A1B7B6A496D913C197C128E4B3CB99B3FDF82A967FFEA1ACD69E48 +708D286372AE141516B184CD5662971031EBF66540FF7FAF83DAD19A9F08B1F3 +1B5176D821389017344AE6003D8EA4252148EC56AA6901355A967E7A05A16DD1 +B4C53C0B271031F6D4C6BFF75F9C77C84F9CEBF80678081E8313226F8F724C06 +CC4D08D2286DE941AF7120FD1DB8F0609744D0A293A0DFD20E985758DF70613D +04EAAB91920E12775CDEF13F3BA285707C8349E4F3602C1DD861E95B3D397F80 +7D71B441FCC607BE050057A5E5F710722F08A6D5BE98CBD0198B4CC6F3615B2B +974CD3F6B7E54115CBA755AFBC2FB1238770F21616D4F3E397552C552BA7F28A +D3982C10B19C046F9739C2DAF5FB9CF9FD6DC69B74008F1FC2AAED755C966C04 +8826B15E5E795246E916F959301E1D92099C3ED5CF777F30DFA5150FF8E93DBD +D25C2D7476201A13506CAD321A778F6A7F4B6499DF1C1934DF42AE56DEA86F54 +4AA0DA2E01B51CBE0F407D6F6957E5D8F20409B3117CFFE462B75709FB2D9679 +E5E3D098F903749C49D1562A648D3FABC9E5849795DC61F94EFA9052D3A2574E +540EBD53858CD9CDD7BA1AB8E44FEAC4FE81A0DFF58B1BAA418BE0D831BEE37D +928BDFA083B89B6A1EF4334E0246526FBD75FD2AB12387AAA8643F1C3E25B649 +77FE01F107F267EA7EAB28E3F21F4E1C76CFF634E7712E3AC7E1D7276FA30971 +C422DF15343940531A4F002BBDC39EC4E45B1B0F040A51303C27027BE8781D43 +7D7E8FB0CFB0FA9D484281C0ADD4A7DD8387D8BB355D57AE440F94DDAEF24A60 +4FA32EF951B7CAB669950F11BA3E9819ED307141912F6E366AFBFF16E388155E +03AE0DE4ED3F77BF02FAFB18B2D9F451F5A3C08BD1C6278B573694ABD67F6F5D +7436FF5FAF5A6189E69FCEBCEBA89AEC82CC6F273DE9E93EC67B19AE5CC20E79 +FEC3795B8CD68928951808F656AFC0B8480B3CF7182B4B9453ABB31852BA7638 +31EC23A96D34A9E0BE628E8432E6330E4AC6DE9D3CF6EF9F20435E0211F14840 +59F3AA7C85C5F70CE08C17DA47B8C0BF069185B68DB187A0DF7726E2F6CC9E16 +FE958E641D8399FFB48EAA5FE910698A83643316E051F6705D0F1FEA32FA7143 +A16786F6245A907EBB872332A8920155C117ABA3729B7C4B4B66C25661E89F9E +AF60C6DACC78934CB6C5CE24513B7D34DF7BEB3504FCB0E3BCEB7D569865CA3A +07A2E4F61E3AD4B00FFDF5EEECF2550FB4E505681C42601FA12794893ABE5EC3 +F87B26F0D91FA31DDEE1FD4698D9DFAB95215BB040F8E912AA3CE37916BFEC4D +B6BF6A0C2B3DA8B37ECCB470DDB74099E52A86D8A320A47958A860F4B68B362A +45BE498C23594FFA6F5F776897C33087C70F280CF5C76FD5D667974129ED47C8 +5E31AD231D8D73515B1F8768FB56B3F26C9A39631961C72C14B2308DAB9607B7 +8153B87DE57E54612E4F9E4652A59933D7D810AF88C59A104B2FE06C3B06ADE5 +AA70CF4C7438E1073E10C181B2E6ED5F48A8E2AF76FCABA815152C5BE2012F95 +178F40D9396E54346F6A1D39B88A3BF8F819E80ACA1F1027B924685044BF3F95 +815440AE17A5B31682C7C82AE5D6AB3732BA57394CAC88C9C325339DEC5B0BCA +A2FFF81A3E377D2BFE90031080C63715F3649BC0B6D2B43C7213DB486FACCCD8 +0539D116C75FF7791A3D05F13410BAF462ACB2B4C49DE64FDC347A49322BB300 +13471694007407A22E605D98BAF8E106105D5BBEF5056F14D3370AAC40D322A9 +6442E1FEE766E69AA68DA3168A71EA7F0D11BD5F32990CFFC0770315DEE84654 +7A6B2854BDA8BE2F89B2AF5700075D0EA3FE7D9B57EC016DDE7587DEEE004655 +FD1384830F86EBEC2B4E122682BF0BB58187D93A085640EBA52A47EE9DF73190 +B62DBA8273B14B9BF25BAB086B16674258016D665DA33A5AFE144CB254BBD1CE +AC0D924A1BE8378E848010B7D43781B60A1B1905F3A859845A802DAA60E20B0C +3B09792072FC338255102A3C079108BCED3EC4EE0F9C87C6924E8C9EF5768AD3 +42E7FA8E0E9B052A24EA86799182AF4FEC30A775C3D14493498BBCBD2D56FB0F +1586E1A9DDF31E7A317DD46249809639ACBFB22BF17FE0552AF53A47836C45B0 +C06993C57F957852FD5FD51B447F05D25817CF8EACCD40AA3885336769DCAC35 +D25EF60E4653BB42909F71E14A199AB16F8ACD853FF128FD7ABBF2071D742EA2 +8CE85BE49166D1EA9D721B8EC9E7204527414380506D97B6917CFDD76C4A2DBE +1B5B11C1DD95BBD492481F51DAE5795723BF0F6E8D22A568E44A85D9760FB716 +45E613F24821CFD1C18AA7BBA62186614200BDFBBF68C8F51C05D109486DA07D +9020DC6D13E27D83734FB2EE7F48F09E25C75D843DCCBB440F745FD2644CDEDE +DDBF4D71DEAC9CB4721475519E8A9273D9959C9B15AC9042DF29A7E1CBCEFF5D +8A90A34BA77E59BF49B5954361D48DF9F64F94C06614275B50A74A355FBE5CDF +98A3764328EBA0F911EC6677564CFCC290B7BF1A652FEABBD9696F20E3187C2E +7616BA83E8A580F15B751829FDBC3343D339F6D625CEC805B4672C57C9BB24EF +3CD1C60F451983D26301346C05B59D2036430B82031479E7E6AF7DA0B84CB532 +F4C5E107970B0C0B63B31657D9028CAF95B45CBD5566B4D946256B8E4A4B2272 +F20BAEC4CF1D411322A0A355BBB261BA2387D42C86340C63CC87D0E3954D5202 +9DD7F6664C80AE67F8ED1C96FE293BE0EE5E57192264B6A8DF867CCE24E0463A +1E72A418B827A535317F3A074B4BBE64E0815ADB097633C6ABEA06C302C4AAC2 +37BA25B0844ABA32985EA702197A53FCD60CBCC77A2B456F59B65851C242EE66 +8F4528439A9956F3B4470263A4D90E526C7AAF9D1A38F2533F9E4B4C8D5CE045 +BA4664FA7011D81B8AB2722C89EC04EDC875A0CC0C37C7AC337D79FF72FF7DC9 +1BF4D4B1A0223BB1E574650DDF3C7E21F4B4C4DDDAF0F640FCBE060690A5BCC3 +6AF69751D06A83190F68E618AD2C224A7462464447ACAFAC9F1D93B98021E1D6 +75E2A80D3CF87B19C34CFD382F14AE9BCE7E5C7EC3C1DB4273AC81C68EBC8D72 +CA3A363F12E47DB1796F13A5EAEFD1E93FEDCB4A58212920E010CBB1240D29CD +43797DAD97789C2032D4F7320182D9AA7C22D1A836DD08223B6FA93D54BFE3D7 +A053027FD06B4AA651F36A11B8AFAE6B640100EDB9AD1103428CD5325F6B376D +53482D5968ABAA9F7C47BA9D680C6F58D44DF11EB73BBBF883E8CCD4AE85CA04 +695C624674EF2D7C5872FF35C01275ABC5F881C08BAC01932FF6D325E995661D +5CA3E3B424574E64CFD69080170773579423223301F3B9D79D1E433139A70E49 +FAD1A478F99AD81C0B098B5E1A0B8FAA83B9F94EF17DFC40059F480C6A500BD8 +CB9382D50DA910A0871C696C70D589BFFAD428DF101E67E1B755A6DF47DDCD92 +36D413A5B7E607D593C18EA98CD8518F86D53688971C70C8C25F649432CD0010 +992463487E9C02F025BE12913D47BDDB4235F59A95C836A17A0F73EC11B04531 +F191C21FEA9FF5AF04379EC467A6BD9A45A5454838BF2E63CF559F1BEB394E64 +5AF41EBC603BA939E8B951A4398B8AE0F2B2B4477D241042F9AE801F1D5CDA5A +214D784B54AC566EC581BA6DF6180B6D9B326F72536CF38149D87FF3AE03384D +03C25CD0D4B0E718ABEB331EB8CBE59B7FEB5F513D5D952AF1AEF1AAB5EB6BBB +58BEC6F378881F9FD2C70DCBDBFED4BC340C4320FDCD92C825F5BC45B7E08CD1 +0813ECE8FE8A9F23DA1BA4BEF81DD02E25129250C43DF0388C6AC55C787268C6 +E0C2F454E624D43FA0B070FE7F6B0407F308808884438BEE0C65C48734B5D039 +A8EDDD2DBA016ED1E6F0889108D807156F0AB340A6BFBB0B763B5555A911CC3D +E0882567730E743084E4C4A46E6C389A0362D3DF076B8B29F23548531487D6B2 +3F8BDB8F91D3C94A7B0C89D554AC4BFF2617192FACFCB06C52C65319856685BE +1CCE58AC200F7FCDCF4850FA23FE9CF1DD10533BD563A3549B7DC1D5C3D0493E +90D548C8F7EC6967188725F800895D5E890C43C2F4A37AE095D3B952E99021A7 +DD4384844B286668AC25096C9688FA14F3948F9B9D60C33375EB8967395F1797 +2859DE997FCF278E38FE8F203FF2C62773E8EF82537F479A18D0E3615EDF1678 +923B33687E2AC11798D55C4AE2F96FF911FFBDED641B8133A0EEF3A05D3BC242 +DC89F08C5E77D46F296C516FE92FEF39F03D1C8EF083185E88905CF25ED4147F +2D2474F07E2B893836B1BF65C2E9FA7B298749956636C4384A9CFDD305636B09 +9160A640696DF70865085F7C3F9E3910585DE7336E20D15583A9553239C26953 +01B6A59F6250D8536ABDC3A3884F28A4106F1BC86B15C104868DB82A8F1B7185 +2F1173C827B1D07D03A83E39B6FE269859B64D56B4549D7BA1DE509932DE6AC5 +F9D77FF0C8F6670D97D9B4A631E4DD55DA1B31BBB1B9E3ADBDD298EF7C6E4A82 +1BBE9788A7F46613971A114E28AF4DFA248D1FB8CBB2399B22EB8C9AC85060D6 +737E5188211832C946A00B22E3B7A3AF0075ECA48041E27E7DA930230970A194 +81088B75FA68F53FA2DA37FB8AED11FAC820B37CA89FE2ABAEBD4D2B52BADB0A +C9699035210EC6727773D2873F89244530AA84D5D287F2DEA3048A2C4F436149 +B22443CB18894C910C0B27839773670B8D8762A4EAEE16A31FA4156C5CD2470F +96A72B5675C8D39666204758CD9AF9179A9087C7A1C1F704683F67651AB4970D +356A4B36A9E57898A928E8885C574C9596136CD4C3C71E2897F6FC9D72754F41 +D9B5FC619AAF711E280CD88DA78E887DF8774B89B7A022B142E7117275A857BF +3AFB4D268E7CC33F36A5E3BE297E5AF9C96F25333B95A0EFC1C45DA27B09B4C9 +44B57978D2173CB4BCC7333E606ECDE6D47094B78E69DFA1F87EC50C21CF9C49 +6001A3986BA0B328AED88DDE04905A683D616DC236A09C9C4A22BBC91F5D9440 +4618F7FA2093C54D14684E710FB7601BBB3E8A5F37AB4047E252ADB05CCB9A2B +316F84AD443E029072911B172512B97ABC8C2F1A46B1C1D6525DD2B44CF3D699 +8DFB1B6F19AB65E5F2634E4A5745D3023ABD382D0638CCD2BC812AE9C658F973 +F54EE11BA04A1DC0608C17D8B8B234D2D53D045628BEE9C02AF468FBD756C277 +0A6F579630DF209CC3F850A62B55132D2853602C0B531D790853E497C69D5D66 +8D1747A9D451D403749C14DB1AEAE8A78C8C9D7AFFAB3BB85995F37859DC367C +0438A04B776BB400C01D7CB0604D7E4E4EF729542F9707B7F569DA0398FCB340 +89FA9216472B52CB5EC8CA165AAE3EF1FBC908FF790B90728BFF513A31AD2C3C +6FCB97EF26D925B0CA3F1908E1717CA7C1C4D8A760B6CF4D4AE2D1C67F136AAE +7C28367016773F9B519D998DC4843DB454A5B6365CDDDD1888F18C085F63C61A +F13FCDA01D8F4E5E116E49E36AF2BA5EC77A148A32C7F24F4FEAA51C5A488E9B +02EE50D59E049DC8C34FE159D8552E375A51139E64E8375F099E4D83B7F3F0F8 +1A9E10F3830448E71E30E571C0B463970DA072C1DCB1E028E3F3BFE0CD3D6EE5 +CE02E75B250A599526C4879C82D17382086AA5E29AE29D3E4B3000F68C5ED50A +E3AA4192B758B4555DA8A7785C1F37729007EAA5125BE8075F9C5EFDB4933BB7 +5986BA53BD161F68EFED2DC764482569F24C6FF8E8B3D7C543D14A60C6CA6B54 +601685ECD8AC5AC69698A27F3A9CA19A270CD8FDC52FCEFC4D4CED2C08AF850A +AB820EDCDE6CA87E8C10E21A306EC623FB99584639089BB609F92BAC6DEBD7C7 +4B6C1D1A8D60E41FB9471F93BC88F0C5DC47C67AEC95F6143B96183811C0C04E +B5C59BD633C413FF53CDEA355C302425DD07DBB3C42FCB0E75FAB09025626187 +2E4D1DF715A98F4AC682511EFAEC2921BAFBD868D0FAD141A73AFB9B7BDCA510 +67894BB37286B0D2B923646304B71125AA462332C4E2F515714FD521B6F5B5E7 +55EC1E3E14A1EB77E843CD79AED9C552264525BF028FAA10C26114C5D7231EFE +D2FBDFC54D0B8FB49339AEC4C1FCAF6ACD3F0835F3525F8FDDF00C288F337750 +E3C2A9A8A82CA3BB31CDFEEE2AB06586F8153437C4A049D87A77FD491FA801D4 +D821F0DBA6A437DA72567A0A2D734C1E563B511D7F42BB61849130C2191A4BBF +DD4B538C4D5FDCCC8E67B2697EB1E9F1C0BB8C853D81403741D56F10D7A10BE3 +AB63EB0E62206D762EEE4D5D3052B96AAD09D2873C4EEEEB1AC3758D704F8F0D +E65CE7023DA8CA071EAFC18C9C8B612605E7403A8E4BE38FFE85B4A4D73BD2D3 +A96AF1B041773CD2A8CC12703E6AD3E5BC28D4DAEF6B58807D4245DC1326B6DE +D20027F61D83ADC0A35E4CD5C111DE1D79E5B18B9B942370F98B0358EC108C79 +C186C6A49C58F0D8B2A08B46024D792A185F86375DAA4CAE0221E2C18D369A66 +98DA4E6771C545CC0734079D93251C056B78BA1D47CCA8E146E6A404025C93BA +CC2E9EC35A3F169BE661EA2557A7180EFAB0F243710068950A73EBA4BF1D6C62 +B86F1A0D69C4B89B4E230500CE2C5D34C36AE442E4E7D25188FCFF747F3A0320 +019377D9F9C8401AAB3FB53D93789D7812F75B7A1C3F8276050F6EC2DA642D71 +6ED0C4D5A93C4785DCAD345A2D7705A0E459ADF6B697A616F07AA95F65E9D147 +55A6A26941CE0C5BADC91056EA6EA5CD61A56DAA6195D4AAC442455C0B079E6E +6A448DB127E008ACD93B86505EBFFE7ABD899E66C55F4EDC92C03DB8EF70F75C +BE015483FEAF83F5EF2F26B42C8CFC94E9DE5205212770899A0B45562DD2CA71 +960CCFE0F73AD272FB600B695CB0B2E030E287A93762170CC3E3EAA05CACDB9E +0846FB080E3897DB46F49511AAFBB5C4C178E998D3E0143F7D49589B129D3EA5 +54E8C541C5704D159DD790A5A056EBA93FB35D93AB947EEA00D82887897B91EE +AF261FD75E2792C0DFC97955AE2E52702B436AC0738C77DEE1E36CF07D1DDAF7 +C02C4BBB02DFF21E5EA61533F0536CBB8E0BD98ACFDBEFE43EAA1241BD5599CA +568D05D326CF0E02664446AFBC8DF3FAD64E0C93A88FE59727C7555347E53AD9 +019EAFF922CB7CDD5FEAC61B5AE8F11DA90B4F0CB822DE69EBE5F203B5CAEF67 +CDB2F992DD76611881520A07E3CD0601DC12FAFF079AF921C7E9336C587B7F75 +7651D715CFB6D94DCD6F84E77201DC8C1C373EC0E5F58D0589569AAE6EAB1805 +A266ACEB6B4F8653DD97B2A99E49E29C51F8D2A5275C33EE72DB131D4942E29E +158E856AD128689CAA4E964C9C4845F8201C88A5205DF5D6C1AED9C7EBAFC923 +06EC61F7BCEE7F90186D7E17B84B7F9E233EB666CF1894971C21EE0B5A4A6DE7 +2E067B1EF3358A15655324BCD97F5F07BEC60640F5F3A8C6BF21B27C72A8E46B +E9CA1AFB93A274B96C30CD221D54D113AA8C373643071D38C286A95D81887093 +68FB69AC2B683580140FF010134E539D5DDB69F384D0257237C17C65CF2DF77C +E7060EBD5B74913359AF537448A2AA5E093D92C59CAD1C77D17B6C14D5B2A021 +83F941B3CF9D026244C55F95CE70DDAC16856DF34E9CFCCED70647743568C20B +6E0A08E0ECF1F6E00D059792C8051663E378FE6CE13EF7FF4322569B3BB173C9 +A057D4FE766054F9A4767D9766D5075DF0994AFB946D5F605DB333DF4E7DD50A +268432486AD41E5E411279866304C18A798F4E453C38A165B5C7B6DA8ADCBABB +3236A015FF5B06F587CFF6F58A2BE985B5AAE6044EC13450CF9589AF8683D9A4 +D0875C21C0D9DAE1252A3FE2691A766916175AFE887912C958D2BBB57D333649 +A3601F0A99A0E9FDE63F40276F4B975FC34F28F5000DED0DC3B2DF725B26F832 +F53CC316AA0393A0723456F7264B7FB2A68274BCD7B397B4325F19F00DBF6EC5 +ED40579A05A05367365F68A9E853C110ED49F17D03FA483A78B60A2190386DCE +19481A5D1AD40AAD598F62F34059CD19DEE504895CB2EEA95C54C59265077EBD +2FB13C449417412822288D828262055C0EE9DB7BB0EF786BB70A6DE27234D7CE +F971D170BFA28A6CBCBF9F2758CAD38F6B6C60D7A77FB5EEA9364213F68CE4F3 +1C683B249DEE6DA20A0AFF62D7D2B81676B4095974F88D3B4EBF0EB369061066 +529091E0B8010DBF265A353A8C48B4C1E3F2B4B1FEB9AD8D92448AD5F54E4EC1 +566EF905160607EF787C86521F3AC0F36A90485EF0BC1D4783F817C803658583 +A9566BB4914E3DCBD5EA875AC098B7124C55F04C48897AC6D28DEFA7C01984BF +B820969C51A914E1BDCDD1726E5065E93A168EB94B1EF991AF1161EB22143822 +D4AF3373FA7EBFCE0BCFC34F37CDBED5D118DA7EF01E7201145D2097525FA537 +A0EF87E90BC57B7CA35B6D87B425744140299479155CA14DD118B9A602D4FF94 +F2D206B7D3E183A339F628D1548660D6D2DAD8AF65D6153009590D3B0AFD2148 +EC95F4E53FD29B603657328F91CC1C60453FAA0BE452E32772D38E97E19301EB +EA8A18B0976F6A0206FB503C97D4199B6C0E396AA5314B90E7EF23EEAE1F6E0A +CF681E3C242F60AD09F118B9BB5AAA2DF36B06CFCC8447631D2D26F09A86D69F +C9B6B369F20E3C7D55603184EE917BEF74860BC08B456EE270CE786192E3517E +F95DF3BA7C51F464144A3BA7BCDB4CCA688590072C076FBA2E01D1425954528B +1BA6F1542AFC961B3489908401C4662F1BFD3E19B4809BC5561E2F999CA17B28 +77DCB37A259494F302ECEB55E3F8AE91B21CDA8E72589A259ECF0A7D4DA756A4 +5AEDC216784BE44F52778BA5E9C1AF00FFF10F11D3555AB06AB808EA664C2953 +6CF487E03C4964F746129D1433B88F05B90C9285F2BBBF8C446859F27D73F6BF +23942EC4C1B822D6958824B2DB8A1BB524017B7908CF0AE8BC17B5A18F2C5C8E +306D247F19ADDEAFF146E9D78F32228C7182FED45E2539D157239E8A74E4B0A1 +29DBCBC6711680CC9DCE28A2652799F33E6BF47DA7 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: SkakNew-Diagram +%!PS-AdobeFont-1.0: SkakNew-Diagram 1.004 +%%CreationDate: Mon Feb 02 09:31:47 2009 +%%VMusage: 120000 150000 +11 dict begin +/FontInfo 15 dict dup begin +/version (1.004) readonly def +/Notice (Copyright (c) Ulrich Dirr 2004-2009, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def +/FullName (SkakNew-Diagram) readonly def +/FamilyName (SkakNew-Diagram) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Weight (Regular) readonly def +end readonly def +/FontName /SkakNew-Diagram def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 48 /zero put +dup 75 /K put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 83 /S put +dup 90 /Z put +dup 97 /a put +dup 106 /j put +dup 108 /l put +dup 111 /o put +dup 112 /p put +dup 114 /r put +readonly def +/PaintType 0 def +/FontType 1 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox {-8 0 1008 1000} readonly def +currentdict end +currentfile eexec +D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 +1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 +204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 +429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 +FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 +C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DD2D0A9FE76 +DE8B61CED3A549CAC0FB08F46CBFB35BE196B97136BF7D3A7C46BD5B65120194 +EB73D8BBCEC2322379B94E96FB58E7485954D301AF2FFAC68C04C239A2B22205 +EAD28C6A7011030515B132B3B45A0304E110E8C974F5C04A443060A2D11941FA +5075D4D0355D98FCFF3E3BBF3254013BA36ACA86A53D6F3354E33B2FE863D455 +57542BD527022AA7897985AE714A9C8658BE8B9C27152B55006BD61B97ABBDE1 +E6E3A9E009CD076FE4B0E359AAAE8FFE537BA05DB90F52CCE82677ED16B710AE +2389D5D8202056B1B0EF627990F6BC84FE14AD2F2285B5B0236BCD4D04798925 +81F1254AC5DE72C2C9E3812792B35DDA8EF3CE5E9C827E08BBA4E34774FF50BF +B7CD8504811C46A55F60CA62BC443CBF2AC5DE65F021C15F5DFE0CE9822D6D27 +4C523844561CF21D149F7B63F9AF15AADBF5C435837BDD8F51A8723F62A9E299 +5C191B4314AFEC5A8304DE2197B30809135C774EEA5A0D74C13EAAF0925C48FB +84E338385190BFF4DD3FA539D2FB72ED259DC750C25B768F77D39A8008608732 +139A9EEC29C9BD41AE31412561B0CD45DB7E733E2F33A30E2485E5B64D6DA3A3 +A50653009D886E16512852780D564DDF59A14BE05AF9D81A06419946AC40C3C7 +175B03BA897325E788CBBFB97777BCFD9EAC58B14F82085D50EC4091882741C2 +6A4654A3CD2CE7580F5AA8F9E224851100C06B22089A73ED25B9F4FE4A9751C0 +826E8251B4131D3C72AB5F37E660CA215CCF192A808AB2052A876FBBD745096D +B2C8406B1EACE49F64C413DEBFE0DA3383220B8730FC326E808AB857E66D8101 +7FD582FF740B7A52C70B1CECF120623F043E86C3C6CC7D12B580DD12D7747B43 +A165E4A50D1D6D582C7A94DAED3DB66355C4382893123F0F199CC6106609CC1A +998112FCF13E69233B7E422F30E6C0D9848FD327369F803A4FF311D53F1A0044 +B5A3B428CE10C53A802E0D2A06C44FD4CFE03574DA68CD4464B399BAC0B33CAC +1EF21086DB1731F1F1240F7AD440A8956A67264921284DC59A3D519F7D4F859B +F6C36E5D5272541EDD22E416FD810F7958F7C859ACCBF8EB5404B684841BFB08 +22C13B4E4EB304CCBB22AFC4919911B945DDE4833A7205A402012BE5E3FE8E6C +C190CAF25D9965C9A906707D4050015C93B8A7F9FDBAB914EE33DB1E8151676C +78399E3740D125965EF07E828443D85CA5B1E43034C9088967DC3A672E00BF10 +A60E874E605E291645C1E4CF533954D34F92069F48790BAB38B2416231807525 +3CB95ED81F25DF2801CF89B662720179B5485E90D42090B3BB1211F59F3780DD +65EE069205B06752D4639E3D24D7253A6012A4251016C65FF04EF3D95EB6954F +9211CE43A71E702A66C28FE58B54874D5648A668E11FFF45D332DF2857BA62A0 +5D82B7F7A1BE9E3CA0F00FA762B912DE83CF90439A5FF014DF8098D83F657530 +8B39ED035BB984A5281A7E8BDDDBDFD699172673C268FDB85314ADC9D730DCB6 +5B854C77F0F5DCC0A3445C697272432750BAE03BC3DEACEEDB00B5C2FCEAB980 +FDD68FC60AC5D67F07C30255B5CB7A8C0E9DE289C42EAB07B0F60457AF73B288 +B207BDDB0B184B2CDC9B5B76AC26DB381A6CF438E168C0B7160EC4F07284025A +8AF779BF093624AFCDD595D14B03296E87548221D6264C70E301A3CA3D87AE27 +06D1501864E8486724035519F75822A4732560D04E5DE9E3CF25BB0C4EE70CAB +7C5DA7C9BCDCFB67F1B6699A4EFC52D90EA1C3CCD41ED86ADAE9C01123EFAC50 +1E62221B95FE357BF67271EE6EED93B251B11A906340301E5BDC0E125346571C +3AC8F053A09AB668003CE8733C4C57410956520F9C16708AAEE0D9AE34F1050E +A1F200A5F7EBD0A7DEDA931A3F3AB2A52ADDF6EA97FAA3E9D10D4B47F75D05CE +2D81DB06B129721A92E55CD0C1369B201B4DA7CE2B7194624D33B42527A69FC5 +22A123C16C70A3FFFF76164637D645477544F691BAD3A9D3976BA027B720A62C +133DE3866CB703A5B760715238B61A4A3DA50DF82D7BE0840C35FF2A964A6D5A +BBACCE69775DA6C04E997534F0FEE5F93C8DC30C05EB0FF7D443012A7BACEAED +4CE94CA2FBA52D5EA6D676BEC0271C9EF3F4050B181152F53128A31BFEA011DD +FEE3C89A9FA5772BD7C4C94ADBD6C74097660098B89D670CEF6EBF5FCFCE06AA +CE819E77F1594EE8C7E1A576A6158838E5E2B013BCCAE98DF45A3716924A2571 +20F14D633BBCA267212F3D633FBD45BFA51FFFCEAE9E1A97661A47326B6308D4 +1B37E97BE87AF5CED09CF717D58E2A1C8B5E7A2AE4E28D24625EC6D1308E8E2E +8FF8BA03158083E47282BD8DE13C30983C4FCDD1836FEDC80308316401D8B181 +EE2855CAE4648BBD1EBF369E7696C8B79441C929EE3F279641FEB9433AF21E8D +84C50F750434191ECF16684AC5877640C27032E69A65588CD61115FC966FCFE5 +18BFA6204EBAEBAD35AC7918A9C6F373314BDC5623F523C03999939FFC6CC505 +03BB871565797EC537E26CD0FCEEB7BA24A8294C452A3E6A6E801FDD83FFDA11 +926E41B4251518F5F104AE5CD4A2FDD0DDF0A49EBF5C56160359E166BF88694D +92194916965CA4B0D9F91E630066630D8595A47913D246893E3D16828335191A +6589A066E3C09DEF8C946669EF2C286DAB56E326FB382CF18147282729BF9FAE +0CE3CDA5671A9D3CBE451D45D2F5BD0ED0868159FDFB3820D02F460E2C290EB5 +E169FC53F95B10FBDAFD939D8FDBC0EBBE739BBF7CE3E2B32279C16898AC65C6 +9BBCE78BD27F7402BE5B846CC8D970ED51C10F44C8415FAFC12C5777A6BB9805 +8DA68BB2A3832DF7CCC162DB746AC013D8BE893E9B5F81CED307128F7F523149 +B24460809E7A474CB05F65857EC1CBE59F047E3956309ECAAA931850A2221351 +B0C59C9F6CC71B257345C6CF339D33335AAF8808C145CC50FE50BFD826FE7971 +8D613B376A7E1BCD2091191C823FAE3C79AC5BAE9CA0241308E9893DA7B3B8C1 +76ABD5200AE59147B5B34155C98558C496D302AC4DA29C914113C2CA40D86939 +3B90E40A63A05302E96AEF0D666258BCC72CAFAED1EB86A9F586EB695F3FD5D2 +8C97E396004548C3781EC4E2C20E619FD387F75C5E2F04DC9C3BA0AB925223C9 +54CF1ABD3A4EECD3B71C2B7C69BFDD974478B78274EF3C92858AB858675525EE +2D6843EFC6755AA86869A6AFF6EA1F55737165797AC6EA8DFEEDD25CE03E90EC +5C27BCDC450D9E276DC5B083531EDFFDCDBE3B426CBDAA773F9BE202A9A4EB12 +858EA5F098C825C0F45DA2C8C78EE35410AFEB196EA9C5E48037C7C41198C7CF +AD9144D76A9734D9927730DB8538E2355B9A45D99EB55DC3179E9BA6F6C7272B +77E36ECB5D5768255EB21B30FD7F07AC6B13BF416DCC77FA9898FB83CBA4A237 +E86C07B88C60E4E1090151F43665FFEAE0369FBB3900A0F225EF03A2CA61EFF4 +7DB6C9BC66DA160D7A34C2AF28029D4089C078CF1DD202F1D0FA8107D37BA748 +E8DDAFFFC3D0003ED3413018908C01494A5F2C192A623CD123EA4CE7659E8A3A +0959EAAAB50C065DC034442B55BF6ACBA2368A9C213EC0F82A1D7750F7C741BC +F6C7F0879E5E268404ABF21B37478324926398CC3922983BDBD714F29D2D94F1 +272CE8C67FBA104EAF37E97C820EBD82B80C3C450BCBFDBAF55CBAEA2B0BE90E +9738D7F26C0D8A12CDA3061BC91F3EA559DF1E7508DB4E28E8CF02ED325AE7AE +F68D816BC8DEC9E653F92077A61DFC7DD671041A08A4F8B7CC46CBCF1499EBB6 +4A6152F5B682489A4B0A6F295D222B545B1E00A91B3D2BD203F86C01D9C955D3 +16EAC44D87207395D3C5812A9F3856B18369D8F63FCFC0B5A889AA9985C9B1C0 +A493D9BFDB9BE58DD24EE3DA7550D3CE0DC86DA1645B9163C671A8E071FDCADF +AAC1C1211B5F1BA6E2D1E4A45CCCBE989F253C9EFB5D678008FAB0329BDB6AF0 +F2AE4E41457830F8D66E97307E6B8D0FDA58FED35CC96CFB69C19BA993460CF5 +A4EB59A67192BCA9ED8B4D70ACD4EFFD55C41234EA8F648222DF87570F4CB161 +2BEFA1CB71BC1CFF2264C613C9F61C1FD5A30B240DD1FB8177DF569589B97AC1 +A10E33FC1E611BC3142D4A9B58F97102E7AE06C0253B84F8A2A807C55DD3FA8E +6BD89DB799536AA931CEBB0999EFCFD079ABA71327FBC15077E17CB2561AF7D1 +036FA5C7935303AD6D0DDE22CC3126DA20B79679E5AE4670C0B0B61E49E23399 +4DE3021D1A157F3D22F58FAC1115AFF937E1A8502296281BF8389906234492D7 +F4DBE3C41DB9F9DC99116C1224EE53A5F341E51F352F5ACF474B8D104A5677B2 +31727E89E7C1C3C3AC7708061FAC0F21DE18CC23D29A563527B0A52A7A6133F4 +6882944B7D444B9CF969977681A88D0512AC95DA0AEBFEAD38B6016D9F92BAC1 +70EF57755B1A45D342CDB4DF615E2CB64980C415B399C24396D1D00F476D6B54 +F2D50058F7D003FAA3C3F882090298B710BC75E0106F5F94BDCD5EC3826DA194 +68F817AA3AB8F380A19F5FDCDCFB687120DD2BE53053630FCDB7D87FCAE8F871 +2E1BEC7272951D9CC4ECBF2DC74F1261B9CA2E4FD8A303BAE14060E139457139 +2C367C2C38BACBC1CBB32F277C3765B969071CF2D0CAB561867EF86DE95F3144 +9EF355650C284961104DE937C39D179FEC22D258A9F7CF063183A0278A8DE53E +74B74219F49EE8C789A9BC7F63500C8A735DF316A689830618B6B3407A6E6551 +05235B3419660D079F71D9C379605CED53147A5A50D0C160A05FE5C50204E88A +E677FEDED7A6DF943F58C453A442BCB65C7FB09245340D6807933B01CD32EAE9 +B8F2B6A9D16E393A0663CD62F1034255B6423DD09714ED42E2B11D950AD673BD +2C25E9064465AA5B382AA84C7CE4A629090B9ADB727F855D03F9E815C6A4E1FA +B1751E66E3CEC9077501F85A4CF668917A3196CECE6089CD23C9471924481BA3 +362FC2C7FD16DD4BFDC262A42BD451CDE74EEC945A00DF7A1093F0ADABDCF6DE +B097819815B4C51BD2DD18B48840820AEFEF8DA4BDBD8FAD0E9E2F5F490B488A +46FAEB230B361E560919DAFC4259C849EF68D224414875722C9F069E2BFEAB62 +FD5A466564BE53B20659B937F6C06C0B9E84238D0E0CB373B16BBE1E2BEE149F +027E2F2200E8015C30E8256DD992C9AF6B003F14B42E6CEC6DAAF5B2224C2716 +2649E8624B742F841CFAB2FE9CE2400B2722A63E9DEA54289DAE0BECF45E4B90 +633609A45B0ADE604A1729747CE57ED614440AFA08F2C07CB7B9CBF2CC349EE0 +7C9B57FF0DED57838B0351915C6A5C65C82077CBF312F6F99C6D5949B701678B +815A92FE853644775F1BFCA63FD8B738F969D47E8D8C1193943C0A98F92C73A3 +CA86D601DDD3BFED1662963555B069E758F75026235DFD7925408E848A6F69F1 +F060A1939B29C16D42FF4D7AC37DF6A14754539318A2EA5F78A1B273D93788A6 +304366386D92945935D2F3859F38B0BE646E70738CEF26FE95797B1EB7ED8358 +F66687F002776F0758DA3200A193AC8301EF93D840358BF2A8F3F710398C8F9B +F117C0B4E509F0374E602D71EEF218C4E38C4E468BDBF3A89D5828B6E1941895 +974E9C1A25F3B43DC3CD5CDAEAC7E3C24AED9C3FE49E2F51BD0B4A91C3A6EF7F +B84709F6A6B56EC290E1CCF5B0D7BC2DB79342F2A9B4A62840A3890821C8C226 +AB8D4393D6E56578783F9D3CB16F01D6DCD7CAF5163D79AD0B2E0BECDAA083C1 +22083EFE0397660DC50FD2C5515479F1AF9699EB9A326C5EE8E3238959C8CA39 +0696DFE87E53946918B64434AA86577C4771F7180E48C490582AD53DBB0F4E20 +4F5DE7818699D5CC8AF020393111112866444F8612B33D1AED2C0A61DC1A7B2A +17E1A8397AD6DB98EFFBD230F9FE2F0AEF1ADE2550B7E5815B692C0BB9350B80 +CEF8B51C01DAB8BA84AB26C1C932D415EC89E21FA9B47B28CA25543387135547 +C90E3EF345D6D1EDF0BCC4C87981520B6C1366C76A29EE0B1FB9D7EE414147F6 +AE928C43CBB242E83BB97680C9AE0D3B7962CBCA1EEA8528A4AA4C1433AD8BB5 +A828369A7E8BF115B130B8642096B3D2883318C2AF955F21CEF0A09F07433DD6 +A275CA8E950BC89FEEA75F3977115EA024A452F88BA6EA2255F76E41FFE93544 +DC61BB4BA83D134891647E98D9C3ACAC1F7C1C7138041EDB15C5C61B92462375 +987E9618753B5224EDA6FDD7C47F29D972E787E114BD944E68F51A53C219358F +DD89E876FFA05D6492268883C7E681C1F9098417601D57F7527CFB15F1F48706 +653FA96532CB9F77C7BA843637214099FDD81D7DFF42E3A2FF055E4F12B637B1 +ADB98A6D6B11464DAB7FE1EC34ED176891F814DA4BCF8DE169FA4E0EA83347DD +8C4E57A829A84F1254B500C7D00CE863428177440A64DBEF2EABB39D27C838BC +ED3D025CE25EDC61EB9B9BDDEB9C953CC4F66FFBB9765ECC476E447B58D8F206 +113B3C307DDB572D0EE5913DF126E211BB5DC1F1B3DD6ADE199B3BF655D30B51 +9E24864941DE3BE09C83C5F89CC232101F5DA649519DDAC7A8916E6919D4E419 +541AE70317D9A43FB56934298F0B57C8ABEBFDBD5282EDA35CF081E640F5EB32 +F419EED37A3A2B9991E2DFADB85B5B42CA430C097D042AC1CEAEF5B309F70127 +8A5B70F471D35276EDB3AB456D19D9769EADDEFC3906E27CA32C8D92C9D6FC61 +E711F0E68DAB9B4979D0F3B3A4AC153FC8B1725DAA1FDD4AE02131E1CDADD911 +30CA6BB97C2C41B4F01A69863E6CD41A80EC051E875EAD151C0B4868833BA0E7 +E1169119B5CC9FCAB4CEC00312A445FB64A25B668D921CE5BE314EB0EAD1C3B7 +F5ABF4976A25020142B206ACEF8A74E9C7BB7C800F86C1891FD4648F4388EEEA +32DE22BED937CB908519456A3E409A30CD01684A5E9C8C84AF486301CF82EDFA +9570188608D83CF2BBB84600513052348B23F94ED4C07E05D7C81F03A2AD9E74 +B1285317E6A05A1084DC4A37DA452881FC884850DA7309C0EC4B7BE0A5705750 +FC488FCC95909B6BCCE03C29448F7608D4A2ED13C6055367688278A7CEDA30C5 +50C78230F9DE24876A2E5295CF4D93546A18972431DCC12D2A753D8E1F0E948F +E12872CC92FB18E2ACBAE1C95E7B62A395F305A893492EB71DAD0EA444C3026B +C5294311BDC84BD9EA2524732B84584045EDDB3786713FAAAD66DACF63CB87D3 +ECCB14EA842C6FA1EB500099E522A90BD03E4E65C935960C053AD895C831A5D6 +876F3CFBE476CF21E897E9FB8AFF9059D3EA782B9A45B19B14BEE9261ADB183F +6A0FDEFABF81731C3B13913C89F8FC4F73E0D2837960B942C4B87B261EF55AC6 +5E333352326942DB124D10E819DBB8BEC26439F9FA6F27F76366D209B543D5A8 +5C53DC0F79CC2DB7D8B5A05A1CB4C4407C344D217A3F199078282082929D57C1 +BF0A99132B9771BC766CBECFADA4C112AD37A58B1D3066183116BBA293C02937 +B0ED9BAD4E072FF6DC6C6416245F4BCC46D4954E8ED6B970B22BB3620BE1F047 +1635EE4605EEC3615B4F829889CD20AA17EC1A626601D73F9A4469852A8FE26E +F9FD12D949C7221DACB8FB7899528714AEF039366395B6245B5BB5E4C581B307 +A53D7D8B5B68829B4B42EAD91819A25BBE96CCB2B6ABA455B4A27C3C5D07C999 +9A28A5CDCA89D5B3E64D4A9E9491D41B22DE805DD5C57E07F169D8669D4BF6A4 +D03AAE2D22B300891203A4FC43B6F5A5565B8B515360E0E3EEB859CD455BD414 +A87523D9D58A9B4148C0AD35673D34FFEE27F8D87B0FE40DB6961C260C78B1CC +957B525779305B1D20FB785DA25E52D0FFD976570F10C917F38D74C27ADEFDD9 +7AAD697267C3FF131416E5DE1CFFBB4F3B3A6C17D741EB32F0C45B254F419FB3 +914B4BD1212FBC1E53B3FF59A99145208D57021698A60BD5CD24068935EC8DE4 +20952102E10912EB8164C2105D4EBE9F98E790EA7A0837B78D67CD5551973099 +2EE383E598E7F639C8839B010CC3C9E2DB7628C63B61286CC30313CD0496EB87 +4631222E31FC30720BE4235CC1A1509E6C22D8A6A4B5DA5CD25AFB36DDEB15CA +5D91B363F99E42A61B3CC2F907008ABC42900305FDFDD0D7168844F4118A2FDB +14171DE10D191CE211EF0413CB476BCAD7D7BA099993C1E2FA580F2510837ABA +7A29AB1A59DF012592848F9C633E95E827DEE76DE61414ED95947FA5452997AF +C83EFFF9A67FD27548500057B6B8BF8EC6A5E15F3E8C52F3058367A129B1E0BE +CB71FBA63EBB6509B2C252B922839FCD7AA69DB1309FB9447D1D4D1CB1353AF3 +FBF4E30867353DF4A4E969DA79080CE4579CC90C04E945DEC2CA07A8865AAF1A +69D930BA26D7F63CF310D8E24090077A800F4240299FF1FF96FCC97467F51D79 +ED2589B8048B73A51DDB27E711C889B7DCAB443BC52921B7CBDEFFAE1F4CF5A0 +52FB035011E0980D6ED12470397C8A106532AF95BD5B0A61395FBA0868F6FD11 +81A2B31DC98AA67CA359A290D1C0C95A9CD47B10411428A4705149BF3C6B0CFE +EE493E07AE9AC74DE46590945FEB9F5031C1EE2C4E6511579F5B7B114B73B2AA +4B404CB08B7DB3BA8067C2CB35A138323C7F56147EB952FDB2BAA2A1D77769FB +A1B9EF2A828B9D5901D005A79B771D90C897A256BE0D3E338E017976FED70F20 +FB3BCD31DA8F5D5D8547404A0253B547601703587894DA9302CB513F2229661C +502520862953617A4EF3588B09E34A98B52EDE89520FF0E0F172E261F976D56A +860BE9BFB98A322D9F7F5AF507CB853A32E8C1FFD99A12E4A3DD5015F73817D8 +5460435C35BC08038108B259ED741BE850795CE53BC7C3DC0F7680595959FB48 +35F94906877D355C828E58CABFCD81A3DA9472A22295C9BF8772982306764D00 +200DFE492B0EC52B379877644E3B1BEF2B5A2ED9879E4C0B21EE21FF2EEB9478 +5E8B2F9399627B884BCFFAF7DF4149B8303D942CD3F2349AC7FE93539F4EB191 +4005E4D9872384DD9CA4BFAB5E42888B8CABF41FDE9BF8837E079EC0A3A50BD5 +3A2B2842B5E5F78447481E79C2BC389B1EB00BCC202D4247BEDE02BBF4A5BD6D +D4548469EEAEFDA855FFCB91BFAA8793CA2CDDFE27391490962FA99C77F7197F +01F29C3A2D3D941F377427FF66940934F8C171948B35AC0B137D65649CE7CD75 +A6E7F80E84757AE4E6A883C83B48EBBEC2230821F0F86E63752F77F0976F9718 +3EBC12520481FE571BDACD0E192393647AC851BFE938EB2754A4D4DAE0E477AB +D037CD8DAB4109CD47BC0243906A5C137BCF97DEDAA8CBD8F951C84DD163704B +E2673217734539D7AB1C7B16CF2F2A2C2B19055199214002DAAE9F3DA54C6AE1 +7CD60B143D5EE016861F0371C24C73D88D61B44A3A8A3FC64CD8BDF1591C573C +AFE8CEA98030E8C7D47B08C1ED1FB5785EBC9DCF654D83B145D2488E2761A218 +68652C73CB684F6B365FFA542615F640E839B75FEA0C39670D97686101541BD8 +7F0DE4B10454BF13749B1854D78EC403398692C56D185742D61EA00A90684BBF +8ED823DB19F50315F6E436BFDDE72A9EEB68C72D3FE008DF3211F255F8728BC7 +A4CFE3137A6784ABE20CE80CF25356164384C3E55B518AA5A642FCBC54E335F7 +812CF722D1CEE4EB206AB0E1DEEAF9981BD19A4FDA9FACE453AFC284946E38EE +E2F99E19CBBC96875435F0B36F74841DC2E412AC13F1032D4FEF05F53C9B1135 +8C4AC7295F1A221220997125EB36704A77D0F78B4B4E7A78F436D4A0E65EC239 +A9CC1B8ACB2C0B23CF04D87A27D153C4C138B06FB06C226C86149D35DD944DA6 +D8BF2B52775DE6ABA1D5794EAA52CBD98581E58B68BB094FDF6582C38ACFFFD0 +0083AC53899CB8F87ED5B96E2A5F356329A6C81FC7F00659CDF66111A0A4EE03 +BBC3DBD6D9C6AF99164850714E1B087883DB609E1B04B5B722C9685E25C8285C +FC77164B166A19A7FBCC1DDEA0E7B467FEF2A943904B9BCD593D8D88008E689A +A26AC22DD822E1A1D375DCF9FF275A0A4B15A7AA5E62C0609861B8B0564464BE +0553D44E0E6B1D4E7C0F88C05594474B9F978D9375EE8C948A6E4822E09D23BF +859A1E48BE746A268526CA1888C2E03004DF09DA2B60D27247761455296E1B40 +AA8338AC2D98DE5438DC7FFD2BC92C158FE3BECFB4E4E0D1705704094BFFB5D4 +01F3E9E0A9B7230490CB985AE3DE72FF0A301D916686D396EC0976ADE245D580 +892D9E2B66703065D152A14CAAC1220CB06AC1875B7C2A37C3B934F41CE7472E +A64417A9BD68908F0B8E195F44984506E7895F3CBC816946BDFDF218C41881B1 +227F99926BDDC0136273767F0D70947A8A972B91C6611D42171313569CA65077 +8D9A47E6E6AF5FB8A77382E000AC2793180E2114BA0A1BDAFA987A7F0C1C6897 +A5424F8490FB81A5A18E98E97BE10343E4BBA763F1BA02F06EFE9A7A626A2786 +6E656689AB47460C710F6A3BC969C0A6DBD915AB7188FFBCE3AF16B4FDE1F878 +DBBC7B1A24E458B53D7095AAB9DB281CA35C73DF54DC992FA9D3A38F8985AA01 +206FA298ABAE1A432799BD2AFFDC27BA536AFC7CCBB43F0F88F3D2F88752F700 +C01987F090D1FE9AC25A8D51D9310505085A8791024AA39E6242D748A55451B1 +52CC46DE074F8267722F93813FBA44D3F6D54227964E0805C500FAA90AADAA39 +5EF3161969097F1D3D310056C19A29D84FC1D8E2BB88A1C3289901352E1490ED +24E6C760BBB62590F911E3045AF7BC577F1363169B5DC4689DC7232BB664806B +CC02E3751928CF0CE7820185B06D200BCF612A2CF22A9E93BDB2CA7BE2407964 +6CF2425401ABEFA7321EA704F1B7530595E2D41C859E70CC08E4B1DCA17E4393 +4A6F16FF3C237CA637BAB5E946C41C32ED18BB5FCA67E033C13795DBF23CC7F1 +75B4C7737AA38B8E702B68CC09B5CCF821AA07CE2304D2BA2C7BF7F4D4E5050F +E970987F70883389750BE58C11FA6EB8BED6F19E0726C9763E0F4286D7A753D9 +5FABD8B8E28FE0A2C726D95DB87E99488C8C156B51AC18FD24874BFC887BB6AD +04EFFABA9BEC035CBDB6CA041207595106208E4FCC3A023EF49F46534F4930AE +E16D6F8C6AF17AD979F33614F2100542904A830E3B6D77B72AACAFB333D66612 +C1840E58E0F1AA2E14E4906AD545913334B3DAD55C2B7912EDB6DFA362B415EB +8240046ED37DB4B283DE1F94BC8B77A2745CD6073E2FC17EDC07053555B90A0B +C3E9402671A6175C187F4C8F143959A7812DE34E35C6A74C2D82FEC55199DA55 +579D0CDE8F9434CC239E71EEC8E07FDDEA8DB656B0845A6E7E8B981326BDEAD9 +FD01D2B746E85A5468F45F8B9FE5707E4BEB56E9BE789A62F1F96388A2DE2383 +45999307C2158C613133BCF52E1A8E52ABC9F2067E79DCA0DB0EB7FC4612B2BA +21B735E50006CE99245CE0FBB220BEDF4212A7AD21FC7EA92B643D8C7899039A +A04E85EF69E3A039FFA787234CA15E28FFBAF83C19B09A9A34A41B029AA54577 +02CF364EBDF678AB60A95E580BEDB39CA4F40D1C1E7AA8296EC07377C07A5E0B +4554E5846B097E2E5610867A9E8C78CBA3BCC7CC6ECC6B5C2F5393BCBE053CB6 +1126D28348FA54DBC0150066876BB8239BFA985CB5B54001509243D31643C274 +842B5F836BFAA3499E03FEF9D73576C0F76DFDBEB9A5AA5968C4DE3EBE45232D +7932A8BA22E0CF34C56525E100C7084831A4E2B94A6A060780455220F9E12E8F +2AE0BBC62C90F769875E33E73900476B8F1F423D107D0921BE2D95066DA08989 +D9234707546926C375A41CC84B7402E9AEEDB0FAABBA328E4BCB38BBAC47E110 +B69C1CF3442C1B49CE577C4FBB9941A4D009F7C78DC7948DBE5CE32407D11A99 +EDAC63F719DD8C463225CD7C79CCC3A7F6221BE0A569D275E4034E3BA16DD36E +E94E0889FFCE95FEEC9238732340E2AD6E9EF13882CB7EA8DDC4B258C43591F6 +1895B089E263A98D3AE6D9343D3C4F0A65BCF51A252622F0BDEDB605CE6C825A +5AF90FA52D897063121AB13F811F31D6B3C3E50AB06E6A2ABB39E6880D0F2445 +D225D68BC58553A5982DAA17B38E54520D5EE35E3DD349A31DDC984D3F92F8A5 +F42D6FF9DCC598239FDF6F7B68E64C76FE45A4ACCA98273F6FE9A4BA85E69F39 +DBF5A254ED43DD04E98923B6918FB2BA5CF0DA06AABD5E045745B58BA9D4D1DB +E6A5C880B9C0E74C4F1FD30B4C00BAD35947879ABE2297993D453DB037E4C638 +6DC6DB889812BFCB7AF2A76468AC59CFB2D409014B5903B117433E62916D2F9D +4EA48A081DB8276F5C8F5A8BBBFEC1F14C997583166DD81C33D53ABDB2AE7F41 +F30D07A206171A8179D5B9EBAB9297FE432DBE7F2DD80552998DD9D5905A64BB +854F0FE14BEEAC18E0F425DD97100F126099C7F26D09F14786DEBB42F17B0A47 +9B7A338747669176A55800D04A6AEC0DFBB05F71BA0648239A4AABDEFECE71CF +A1D3803DD1C0700F5B5527A6AE94F0AD9D92F176BDA9FB3D1F4E9AD822FE300E +B0CBC175B12D3F4127C2AD6437973A851D4C70CEEFA2A11A33266EF8C688802E +CE3783646ED36BD35998738D36C4B0E53DDE0AA45382BE7AA88C26EE820FBCAD +7951684DE4BD795B57E683B987CDF324CB85FB45B5FC02F88F5FFB44EBF5BD64 +E36C1F0907C566794E24152646471D3A6C8AA12BC56B04F79CD1C6FEE86EEDD4 +AE95F042EA12A658A8B4DFC9B34989AEEEAD4E55424762E97569B495E436E94E +AEFFFABCD99F9D39BFD2AB00AD3D11B1E5C45229E38774504CA760B0B6780995 +A53266E509D69AAB9BD34B85B1EF68C3294EF770A29B977B23DF765634C249F0 +A9B9E1E7476C0735321A7A0B3DB4CABB688898E76D1C9BC959D43B135720389A +B016202D4AE7FA16C373275B40F73B8B680ED08CE0D626D716398AE0C3C8CBA0 +013E23814446767E081C42E09804B6BAFC899A63CC8674E91DD54A40492ED29D +2249EAEC0C925A20D5C4F67A645E8B1A3C978FA71B4AEF22B11CAEDACAB54ADB +530B5E72B51B56054A586F59F2CCA15C0784902DB90E6186A8967FC4C78857F1 +25F708D757B99EF860AC3481A375D913D3AE22DDD1397C1D550DDCEDF51D4573 +87B6B93624F792B977B9BDE53201D72CF4D1C7F43B27FF6D5D1C5E7FF2F3F789 +4C82DD8C8F2FAFA61C1D37BD7B2FBC389B1ACF7D6DB69666732BB95BF526C772 +15F605092D980B9424397D9255253BB3EE31D76AA8E2B654277ECABD3FF4F7F5 +B9514913058E318A75C8DFB580FA7330F47DE250CA2B72083263F1113741F29A +91E2B837B7DAEEFBBCCF989D1FB3CD1256B4B445081252357884FC4F55B3425C +FEA15E347A7538B77008A889A50BC89D470CC7E6513FEA8ADA3C40D2E7C3BE07 +B68FCD5935CDDEFC8ED03633E5B54A1D8CFF9E3C960DFAE4BBE0870B430B8952 +F4305D942B1A0BC179CDBF0104823E8A687AA80772F61E49460DAF12227F35BE +D85F149887B00E6E5F5602397B03ACB2C3CA03B76412B679CF2D59A1CB415DE5 +2AB186DA365FFE06128DA7A5CACD6F47EF9A31241FBB405DAD62B2AF361306C4 +ED1C87482DC28C63208279250B60FEE4F96FB0E56AC9E7E717B0D1F15E96DBAD +1D94ED6C5BB48AB30F913684EB1A08F5539536A59E8EAF4AF5F06EE04B0CBC27 +763D6C32914266A1EEFC83D24F4DC6AEA7C79E0ACCDA506BC47BC74C08AD13AA +F2EAE756E3D80E0DE1F5A3A387BCDAA5D12B8714EF0F39EE05760559499D9B9A +6243CCAB1F1CED1AA5229FC8ADCF7CF78A9ABB6EF80FE4DF1BD73D5B9FB98BEE +7492554BF0602C34C60579BD3CB0331AE1C295E478C993A7ADA235A5BA49CE18 +52C547C498073E671987CFF769C6A45B7EF754900697F1197647BCD03606F402 +FAC710264FE772B46F23EE8D146B598B35AC3E0AA9E366543862CF7C920BE177 +389B4AB95B19CC0965F13228AF36409C6BDCB4C54CB4DB75EFCF1056933198A9 +15E6C0317B7FB3448DA772864FEFBBD5F4FD0FC46A2ADC96EF7A962A3F82581C +4628FEF805305484DF7E76E7919EE9DBF7830F050674C5E46684C37D3C98340A +EF9DE0AC8DA464920CF428A64FD6B1BFDC8E5CA8C34797DB79942A41FF75B43A +E6347357E80C7C4BFF045EDA8C92F716A476A613643035E82D6817EFE6E1FDCA +FA2EAEC95446DAABA3351E8FB9EE8EC2AB71D4BBB8182B795EEE2268115249BD +29D0061DD1E0D2C7FC3D912FBF3363C585E3E4ADD0CB03065AE4E55C21DEB085 +DDBA367AB1F482A648CB2724973E0D327B03C29B08EB378F6D0E420BD51B038D +CD5D9434E54EC36B0DD5FB0F91F585E9D4F7A4F30BE9D44F72B6F442D7AF1035 +C3CF3ECE244F19A6292356464AAFB5C37BC1E21A333539288A3335E15A9C4366 +2410045031E0126F1956C815C90214AF64278793279FE63929065A2A9DE82AD5 +A3D6A2DDFF936C13CE9380316EEE56318980FFA1D1FC157ECA7AD2C2A1D38553 +1B0A6E0D5912B7C0EFF0C503AE5333386BD8BDF95377F1561D3527225C7B7FC6 +9A23395F5DF405E21652D8FA185EE3CDA3D88BAA9381227E439508BAF5644DF0 +4E9E83B452D9C0012E2A679655C4754ED3BC10F3765E669CCF550FA8E4EDFB37 +354753A57A18E5F20E28F4F432015106CE784920763CB74AEDAA7340294C92AD +20873FD395A6C0CE73ABF38503881958388025AA758E79FC34496E322F1683EA +9C59688D969BD74FD85FDF4412E2AE60FEB4346E339B8DBA9EDD0397E4FEFF21 +6D18FB6E89CD19B92CC9A8BBF00F48D8D6CD4E014DB7AE1E1397A788B0B625A9 +00771809B394448079FA93300A7ACBCE391C605E70CC9774702E1AFA8A6942CF +6F08205FB08C6B4918C8D9EBCF573BB106FEA5A3A4E409A4549947FB2667E559 +E49EC3B565423CA78D272CCC39F87A952BD446F66AA9D4931B1A93487AC647DE +4650AD7D9D0715D1B65E16A75B5D3C35D85EF41C19D139BD4CB5531CE19B4586 +C08A9750877996CB27045271DD13C396E4CA04EB732D867F059B391588D36B18 +0DD90514222C4CF59AA3421A5E9D4E6E7AF69460C157C827DD19991772532C5B +D8C9BBFDE29BAC0B2F9C52B7D21EE2A2E6655FAC957A43B4440E52B494E34F8D +86D2E33AA38CE0353592751AEE6B6791B6AE3BB1EFFDFEEA54D8987530BEC42B +8D6B6ED5DAE5D8A0D018BBAEF2221B6F395E7814AFEAC3C8E7035E72D3B6910A +81B3376C53A3CF4669C1F044AAFADC65BB9003208BB18D24E590C6D8FF4E4422 +5F88930C3B3CA00038591A9DA83973AC1E69300B569DA0AA4BABF8A53CDA5BA4 +7B68674F55DD2DAA20758E2C3051CC0333735253217635762F4C218A8754DEF3 +F05ACA3A15181E8FDBE1121E23A3E8811309E6B645CFD1D131205B4AEC76E98E +FEF758E9E240F33957FBF1C0B7C2A36D22562921F0F7BD4CB300D05F79120064 +6041DC50CB8E1647812D7A041D34AA0C65FC35D8F42B5D23E280D82AF7404C9E +6D39074688B4A94FA9F1A3A628749716172C9B5D2883D63D32E6BFBF8FECCDBB +F7B987D0F767620D76784D4D340932399E1F278F19AEFC992C12B90822A40BE9 +90067CC849B02C8B11EED1C283EEEC032EEA8E4E8E20CC54C6F09500F85BE9CF +2E163EEF10FD8ADA6E4763ED8B370CDB5EED742AABEB4F8085F538A62C02B50C +9AF2E177C9D3288D0AAE979398F25EFFFD23317D66B71B3C8CB0A6268EBAC911 +DDADC5DA7DE4A1A51505E8C8C6662933B2D4F335A0D153C3C5D81B873A555B00 +FE549B4AAC5147E573DB208220DC9C41D48788C9565468E36430DED19F803D25 +14D11E352013130285196DFA1D66C3C221911606C70097D68641DEDC3BD6FA3B +6E7B931F4F603A8A6FAF8D7B678897D15B53CF627157FEE48C005A5A997A42B7 +5C84F764ACD53133C0521B78A72974463335505096D7A191B1BCA7DEEC02A148 +147B38DD0EB9EE0759406F4B6BA86807AF702D514E601F73AAABCE7C6F571599 +09B988EF67671AEE12FD8D8347538D9A960EE5CF73DBC9D2CC4CB0CB6E3AECD1 +FA671728F666FFCDA4AA6394211D79A9DD8C9489DF7917651A454EB9181D7A67 +763317A90B25F2B5C6CDE93B891866697EFABC45704D986BF721EE67900B444B +AED0347834688B33709C80F2EDCA6182224451C9F696398F525678B887D8E90E +45DB4B8F728B845E2E22EEBE31029ADA9991A3DDC265D3E92CE587247CD423B7 +923B18032E4B0AF16DCF334F9607150D4CC0D711E5C7F87CBC4183BE3FF0A610 +44B59BF7B766B2C99A9246FDA4567CE25EFE9D34F0DEB6DED70DE129A4A4EDD1 +E73735DACA5F256083415910D06B2CE97159C8A2574D1A012AB0F99B956CD26B +FA1B11CB1F0827CA2BEF4B27045E889671975698C5F48173A6B223846F1FF84F +B9CCB0EB1D268FFEAFFB59BF3DA985AA1F1ADC7DAD2336991806C88A33FC6D8B +CB45227C718F00F948340E6CB52244259337CF88CE08BB8715FC3582FD64D78A +94CE17D4AC2B77DD4EECE1F6F48F14387386EA013B6014E4C2D92695DCB15BE7 +5FABF65B1472458809438C20B19BAD8D13A10B16A8DAFD9CCA5D6E0C7300DF65 +7CB480776BFD935CB53BF6E25837EB0E0452B2BBD165B215D136CDFDD3EF7026 +5F71F2AEEE58A491705AD8D79B91D8B408F3A0FD5B5C48973FE49E1296BAE9F4 +6E2AC063A8D1398F7B8CBFD7FFDA8E4F50F9D9F28FB98636466B8C85DC680C3F +55EA9F3F9B8E110A587E18F5A856319F8A8D2BB9C2CB41F606DED417E2135CD7 +F0B612A2A935D46A26E6330C8428E3CBD0658D209BB82E95A8428D03CDFB5B07 +CF70A4324AFF630B21E6B315BEFE09D122E309E2C8511B299825E9F3D21542C9 +60DE11C6838A7C41A9E3EB4AB4D64DAB6F8FB7C29CE4D55CD7AF6D5617DBF632 +661CC425DA7C961FE13028A27577DF1520238244751F217E02121D5E0B4AD356 +37305E8024FE5F957E9AED9077F6C1A346217185BC7C2427656B081506D39816 +9B1C9F8231DDC249626440313275BED6EFD21BB4B22DFB5AF9C5BB2050682291 +328AAA98ED378FF237B83796FC6FDEE884852751A012F46316249C3852A60F5B +56FD4FA546FDE6E9DC2280B5D52A9508C216D189E5C168D003CD4E8274A59645 +0E843A4934C83B51BFD97A170B718D49A0A5781D4E75458CB3A9BED03ADDCB66 +A49AA3B97CA7C5F121D57CCECCE3C2F6C98F44A23965DCB55F747B2195E59548 +F04D5F5573136B86532DE14669CADA7D988669A876309DE1404B14BF81DE63AE +0215B67ABDEA446D9017795648728731D6C3C8D5E6330E92C947EB356705D225 +AFAF5027E5DCFBB9D6B38570B57413E184AC60970B44032374D1146FD163D484 +778A0F411D5CD2B951E62C68AB1241E8BB57268AE6377E16CC00D49890CA20C8 +175084A0E7E3A952AB90BF7FB79ACEFF85F14F9563E6197A2ACAB6BB91A98602 +CF918F32F868A061D3EC395048C13B54B8BC68EB33327C0A346373B60860EBCE +71F8158DC865BBCEEFD38042D152969E8BD6D6078482815F986AA39AECB040C1 +898D48B604433CB74413B09BB02EFBE285B57C66871571E3A92C3A90A877A24C +191E39FD1AD149E66FE7397595B46B766CE1886E0A9A2F43297DF7C0284228BC +36C057D9FC88D14ED0E64B39B223386B400468E3344788C732D4263E8A73EB06 +3648302B0D2B436BC58C2B027D9CDBDAC0E99513BA5EE420F83C54F90B24534C +1E93AAB793F88FDF9B3C7D62DCC93097AF2C218509EA50935A0C3EF7E5EDBDB7 +5C39E7DB3BCFBBB34228F56289256026CF1EE1F3CC30DE62E4D836633EC335C3 +B2FDB1408B9C65DEF5FE896F1C2E161F9AEF79DD683D257D8982D3A5BA13F1D1 +4BA23A4F16ED6EC3A72E95291C1BB062E07AE5D4556015FE461E47449DA0609E +4A3501602EB68AD3EE30C014B7963CCC920EA63D3DF7E9DC4B13CEF5B5267F27 +1C1B5A7FAE80B39928260CAD8999C812F837DEB7AA9C3AA2E8FC0C41ABCFED31 +D0E251D76D277A837595C252833F10487BFB990B043C60A50E430A7FF330D25D +63C8CDD68377C215188D1E92FFEAF89010968E64A4C05C5FA11F2D64ABE22727 +9984B40797D90CA0ED7B2A7F8CDE9521FDB5EF1C7C28083C85032623ED80F47D +1C8395910EB3E288AD9891C7561C3D06B9CBCE4FC3EF2A6E09F797FD3DB48346 +340FF47871318E83FDBDABB09DBE7CC449460171ADD00694B5DE20BD1C3A1652 +DDC586618700AC0897822F8CFAB42A148EC57FABE4CB334BE2220E842991951F +FBF9148C4172E20E47D2ACF4B6F9CF05E8FF36AF953D36E485A8EAA98D55DDC4 +836452EEA4EAF2EB4ED5595554C6D39C938FF269443E114E0D5F8EBA6E7ADEDE +A90897D3625108F719FA6505D72A7A053E7EB4054397FFC01270E7494565A180 +DC852083B33AF5AF6788388D617FB0C43955BE8FE6A83CCBB07F8AB1D45F9148 +05CF28922C35C8E1A1CD160913E8592CA99D884254384CF480DA41AD60CBE99B +74DF7F6D3657E512BF1DC292FFEA3DF1EC362B9967FB28E395E33E95F02A3198 +D269AA9330C05A5D74EF2A0CF76E007AE1119CE57CD9DCA256ABA7521965D9E6 +F92EBB41AE0A59FBDF4C4921BDA658B2BF4D4CACF98985618301083DFEE781AA +58D302FF07A1CCA66DF19006C01A128BB9E1F5ECF793DFB2541AD93410979CA8 +2AF79BBED41EDAC3FF50BC48BDCCD538C4812F8E5FD4B04F5409D1E4579A1EBF +92143A05781309345503667F123046E40FD65621E7D6E147542C06E035687ECA +882076E1BD8F9F7CEE826DADAE9E5951573772A03D07E93FF40736F69C43B343 +9CF802A7AA3C40D8CC015977C793F2D5FC49D22BC7398512E8EEE1587E7B1D93 +8E399474D7E66D6BFD7F2EA573F2455C9B4AC967C6750E91AF919A91462A94C1 +4FEB8D9F218BB4CD2EB324F38729F1A2DB9F6578BF052AD84588BA531C61EC8D +76A524CFFE366D7754F1894794F4531D9070ACB960610D598C7E9BD4A775EE28 +C265974CE0E21568BED3C65900625D2E42D4CE8744499635281406709EA9EA1E +D78946B8648787ECF327804AC895043BCD4C750A9B166B7C28672F9C9C8792CC +17778D0F10B1F5D566B23351C5B631602842135446F1403D7FE2E3EE25C863AE +0EF81A7BC3F90C98EED435F42DF16A0AFD9DA6B5A3F40D35E3A965759DFF18D4 +A97A94AFB732BCAA5FC1E38AC9DCDC3537ABE3906BC2B6EBFF84384CBAE8BB88 +39B5F82AA14A5960A325909AD9E4883C2B280DC31D78CE360C1F8CBA109B991F +31A96161B5D97CB038839B1EF425A3A60B16DD938F35E9895218BD0F15AF4B09 +1F2A3D153C0206289F935682BF552F719BDFA6E7F6E6CD15AB7B3208D0E57456 +65DB05F6DA041A87854B25342F5511D5444B126B43C20853E2211331EE2C27D8 +E9FBE2E1FC77CB745FA2CB018C7F37BB891BEAE72A7484B9AB932AC27452CB96 +781AB04B61B553436B36FF531FF002D3B469E6F041C906D6E181F7341D66FDE9 +FE94B8479DA1568E6A490D2C1A71AAFE2B9F1707E9F89E8DA5AFAEE3D1657803 +A17BF624D86FE30E7923E4A8DDB6E8851DCD320512D8B3E688CB6D5ACD3AB737 +C5DFBEAAF24757EDC21B7BA67CA813E4CBB93DDF420CDA67579E9C235B06C8EB +800EA39354C76DDDB7E6D0666E083D0C8B332DEF8770201AB0184C061585227F +261B438B26FD7F92842DC6A4C66983AF2368A833DCE5ADB99D6A48B4D51C4BA8 +7F5870F9939AAFBA781FBA09092206B589DCFA3E6E2F069E78F85BC88601CC66 +9B260E10AC1829C4FB705B432EF98315DB27489C7704A2C870A32013B2DCBCC6 +F76724C4B3CB1CB57BB5A754043BF7041E7640E588D3EDA65AA7902CCED24026 +5270DCE5207B7D73200272B87FEB487FA6CD290E899FF0EF57F643015947378C +A2776BF8E5908BC0B1D081E65BE85625A75F8E17BA297BB0071CAB5ED03A8AD7 +BF94EE114F3432E2D261FC74B04E0407F84DF54C434A4D63899B14DD7F878076 +C913C4DE2FCCDDA86306E4D0573355F5035DC48D988BC188A6B05782CF8E9D20 +53FABDBFB89AEA3C8DF03C6064A463992864105730B18301B9082BC2ED977B7D +AF7F0BC393EFB07BFE49A332C0FE5C194EDC63F62AEC831D0A905B7C90FB05B1 +E0036A45EC4F6B8AE154825F9248C49FAACDDECE835587983A2AEE7A4568D717 +A331A83D817ABF4259226B93EDF9FDEDF013A2C6C518B55F91FC3950B38379CD +B4C4BC53C7302D27367AE0695140C15028EDF4875708024C864CFD9695609DA8 +2005CE799F0B890EF5395CEC44306704C2383FCAFE3CE747D4B38FDEB849A5DF +F11F56A7F15A9B0158F26628995B091678FC6E4BA332A5CEABDDBD5D0B355855 +46AA5A064AA45183196BE43951636A51F5812FAD5FDDE0CF49DAA594D13524D5 +81B9BC088848F163A5D70BB17E5A29BC8DE8D9892989E78282F1AFE94D33051C +0468AC916E4F3B4A65CB05EC25D176C60F8EE78E255C6E846B77CF8388275890 +290A5BAC7D36242F16C701761D5AF80DBBD5105A9F315D392D860C0ABCEAA196 +DDB5CF16F0AF3A43C31BAC0D92E2F1DADD09949FFC942A4557BF4B8A1B5066AB +4B83E1B46850E088B290FE9145BCCC51DE53D7B691DBDFAD1B79BB50E0C0CD1B +40A122946A8D8190EA2B244566E0E86E404DBD828B1BCBDA143786CC8515DE00 +96C9CB766777B1B19968F1C109B95EFA06F7D2BE8B3661810DA2C140027F278F +BBA99DF19B0597A37532008F2300A2A7BB1FBDEA49F093CB8261BF9E899709AE +FC38150D9E5BE2283C16B9E91FEAAE6FBED35C3558A0F18E538C91DEDC84280C +1052B82571B1C52050CEB9B1D0678AFA0EAE72DFE349609CC1F47ABE06A8EB97 +2D0F075E43B84A99A4E86B99F457CBED6FE4AE6C27651FC539AB8B8E74A2DA93 +C88FF0ADA8BF1F575C6C9865E46136CA3AF5BB7126E5ABB5C54C1A2457D1162A +FA33E68B140A76B892E77D89AA55987FE32ECAD75A4DDBA10C845F58FF41BA9C +93E47BBE36ABE89C0593FE229B24D3F6099C1DA52BF3BF28B695D95CDE7B964A +984E5946571FBE88A85BAD123C2E5A9334473B3F131D7F329CD4B16F28B7BD8C +B30B19CD06CD1E6674D3F61569C60772E0F172B4156CECD04AD5F855AD8FE9AF +3904D9A7FAA58F8CDF046E11A605EE8B4665230132D5FBACDA30A873A7EDCA03 +01A87AAC8D88093BAA9B0388A7F43AB0E75353F3A359F290701191C61E0FBC09 +22CCBBFC6838B81CE3C7FC0AB5C4BF5AC6FEA3080B55C86D39B50665F1B709AA +24218753C40C80A65FC60EE0390D35F8138FECDD00D77F713F5F9731206E3A49 +96504BF6014FBF4402F411F8C8A55B8F5D3FB8486BE30D3AE46F61D3F0793621 +5C51B0CCCC410B25449DAB7A7FD21DDD9A5D4E67CAF19E5EC83576382957D573 +B96B8ECFEFB712C6F0FDEFDBF37934813D647968E3271BFBAF8505E8C195233F +30DF51B160588B50FE776D495AA604B26B6AFE866483762228618FAB19AD7D51 +8294646D792FFC3793D03033E5A44C2CD047E20C3905BED576D043A7623E4106 +BCA2B6A1112101B198F86474FCFB71519B0021188B2FDF7A06438E3C5D54A880 +2964C986EED27E8676DAD5A02917EB31E44C62FE0E37239BDA46277B257086D1 +DCD8C6E22D3E2107D226C8290180755DD4AA9087CD11A109DE7863A6F2F339F0 +3F347793DE6BEE6D5C51C7398293BEBDD367CA296E6FB5447888D6711C7428C5 +BBD403D46C46087AB2F90432FC4A83449A1111B0BB650B2FEE78D6EAAAD6FE0C +707D4082405F1ABBC4C69258A0A3281826E59CD825B94C1FE796E3E1FB6366A3 +81CC90C946603FAE714D51A9BC57CD8F16CD3C1846F53F68CADF31920BC5FDFC +C66E43A01E87E6524D9E437520FB95CF65D033B24511FDC1910BC666176A6DEC +F5CFD1ECF93F05904B5D368502D6438BE3A8963D2478BF0CB340CBC1EAB0DA2D +81823BE79843C3EA5EA2EB9F63BF233DB77C2FC4416CF6B3D42F73124696F5EA +E51E84A7EEA01606E79AC070D546772E3DA95A9C2058CDA7664513D1BCEA796F +DCFD2638F8942657ACECA105A2E3C644E8A8D82EE000010D5F052CEC30A8F148 +EDE39AB037989A0E0E574EB80394C18F37C36B78D050093B3C19FCEC01DF7018 +E9534239A284528371D64A0F6A148FABD6C372840B8A8935D2B1AEB6744BF669 +AEFDE8F9160DE68CE8CF225F502C51F2A10D97454B42314ECE5587A95279CB81 +9F389BE10AADD9E93F14C525472E7108E8277F7952BD647712C39DF86C93DB3D +6E95B5F64158D3A86E7F3899AAD1F3BBF77961C496824CA1371D245D03E9E565 +F2039C16A5C12C48AEE26ADE09108EF889E47C13E49924AFD19AEFF302336741 +40A244EABFE9735D3C3625D5A801F553AA9DC74639C330666B404B6A5C2378B0 +7142C12CA3AF3947156D600B18102D91C1AA39A45E7E89F32624492288C53FBB +AB3C67280299CBA90A54DD8A22EA34329848E2F7D960DE555E12FCF85F7D2C56 +609D63B62BA431932AB55BF47D3F25409A878B4223DD96EA1732A61017C19BAF +1479E414864CB2642A7F99BE0D4A6086824FDF3D4A6126339EF23D8FEAD67644 +DC94780B50EC1BF289355E86EC3679A8853632 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSS10 +%!PS-AdobeFont-1.0: CMSS10 003.002 +%%Title: CMSS10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup +/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS10 def +/FontBBox {-61 -250 999 759 }readonly def +/UniqueID 5000803 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def +/FullName (CMSS10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48 +63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3 +274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F +388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B +E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D +AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4 +154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B +4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200 +29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5 +CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5 +C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16 +131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682 +302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575 +F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378 +AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49 +28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18 +121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A +A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D +8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7 +69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7 +BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960 +C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92 +B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8 +8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01 +161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565 +F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E +A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14 +0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674 +D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169 +B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434 +DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5 +261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA +B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2 +64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038 +F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29 +AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3 +CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF +5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091 +73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5 +A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D +EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F +1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6 +D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C +13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7 +C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8 +08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220 +B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3 +23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA +56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788 +2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB +DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE +3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D +5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D +9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5 +2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7 +F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB +73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5 +B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007 +11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7 +03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE +F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7 +5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1 +60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7 +622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F +BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5 +C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16 +8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474 +1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647 +F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F +D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE +257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA +7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315 +611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4 +246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97 +E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698 +AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1 +EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68 +0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A +94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120 +73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680 +AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443 +8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070 +5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE +6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28 +B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378 +129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B +AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB +8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C +B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6 +753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD +A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4 +93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE +207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433 +3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26 +7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80 +D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825 +09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C +5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105 +B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29 +E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26 +C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90 +F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9 +7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989 +99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A +96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982 +1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B +48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F +4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A +45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3 +D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81 +838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794 +5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA +ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200 +DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF +E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240 +5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5 +46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D +491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A +DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318 +F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B +0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287 +EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298 +E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0 +0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD +ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D +8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C +8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741 +A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447 +4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1 +AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C +2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780 +14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A +647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E +6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6 +4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36 +D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD +60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627 +4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289 +BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0 +1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194 +6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE +65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF +D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7 +6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9 +85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC +7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853 +BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4 +9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440 +6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3 +2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A +374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336 +39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6 +AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F +1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8 +E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6 +AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD +B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684 +CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF +9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3 +DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441 +670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD +99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B +8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900 +E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A +F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1 +DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2 +99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E +DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF +51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A +40E84014F5BF40948F05E8562C90FC0D56DEF85E629CAD8E550AC809CE6DD366 +2306521C62810E7C8094AA310BB3E8C5B2E9792E6510FD62DA71DB5739A29DDA +D51970DEAB2569A665EEE09E12C44829215A25A28E43DDFECF131EA7027FD3CB +9E87B17D39B03D2D1418FA11E2F7907B9626CA16609BFEE67DB56CFE2B8DD209 +DDDB0964A51388B669C597141ADACC7692B27A350233112B0A339366B7373CE0 +58456E0E103A27305874D4AEC967043DBCF9275F027D92A0AE3B9CB6B88C188D +462820361376FF9917120D5BE7BE501C11AE527A65B173ABFF706BEAA8332B39 +A9B455ED64573BBD6EAE89F3A956D8F3D2D20C981DC85400A08C95AD9938D7B0 +98BB1CC96B9A823C6359B2843772181735F80EACCB3CFF84825AEC4474D38961 +FFE547746194597E8DB0BD4635276E6DDE73497A3B48229E6B4C5ED6B54F4942 +4EF2E6C391B3B4ED4CA652F989068D45028D73236472FE8858E2AEDC1D570652 +0360431ED7B4F7E56E59E7995E35BAE4A31394D8DA3BFCC0C0C8A63865E7631E +4ED870F93259D5E3CB571A8EE9C088D96683293D2BAE38A742DE01C8F3F23538 +B7C4EC8055925D77C5718DB7F5906990D3C451FB4F5267AAA3BF6EBBB708891E +AAAC48BCD5C310F3ED12E5A3246B0DDEEBEC07282F670637C05832CE6EF302B5 +A55F2C51FCA1B04E748A676FAE083E774E17647D25D15D76C896298A9A3DB670 +8E74ACE32A4B709D8FB3D2F67D359AC27E564509E8A3F01EB9304597B04C1B11 +47CBDEE0E44D408757AABDFF38C083B7C91E387B833EC0FE08C72511FFAD5512 +855D738B3CE02D03579FB60C44CB53579CA236085FD1D9DB34607E91F1A43FA6 +F0B55B7E8B4B02421CE78F91C43A0C1CB1C80AD89E37AD4FD79E40FB8DD8C754 +7FE2FC4E6A95DAFB72D91409CEC0641180742F858AB0033EFDEC0BBEA6C36605 +C70CB08B10F592B92A5D49A971F125238D4DC9A66D8E1208C57B04F378524DC6 +3960AA9DD62F7BADE47D6CA81AE2A7EDDFAFA1103F9170DC3D033CE3AFBD6744 +C3AA5A92FA19FC7FD73363A8CA354D2A26140355C24C75F8D6C0DAE731952C5D +145F644008F8E37A48E97390F90AFE14C586DD8F773CF21EF81CDB40CDC85164 +BAE535420BE07BE2BBF30428AD87547B3F4D1AE989AFF426BA4F95DFBCD0CA5D +AA30C307E984534F83DD8F20F2E6EB156B31F6544081A0D23A916B166B2B478D +C4F511BCD7BB2E9D5F26D4F0A979CCDC8B10714E47CAFBE1CE61BB0D8BB48B40 +1A08606411B68658155420B3DD668E35FE16D5F42CB78B43489881204477BF4F +E4C03F2F511EA703A8105C151BEEB6E3CDB474AC1F7E9EF855D7AC4CF45C4BC3 +ABD060FF02FBFF00F96C23BFC4A5397DFE7A0B59B66BCEDD7195E561AE39D3D0 +38576E12ADA09077336616920CA8F4748F7715E599A9002D16BE14F47D64C0FB +E3DF0FB2AA1503E6025E3A25943E7EC0D085462252CA47D6D168E4E333388470 +93E290312EE65BA324640B70E907BD302B56652EAA730BD78AE646B97B125330 +DA732A6B6BADFD0F98A491ECB1512EDBDD8C486114B7FA8910119532C405742B +1816E3E06113B48FC649394DA9EA2FDDDF1185EB3C24A6D774692F213E2BE3E1 +798319BC9422620E2F7B66A120D7F57A8DC475F6C72256ED14558DCBC614F878 +D990E07AA1E2654B2247C569A23DE671E2A03F54597B4EAAC71328E29A133237 +3F72F1E690B6F55C88424C03A036CCEE17817FBF7CE3520943A1C79A6FE8512F +805D6B27129D6EE18553B45AF8FD6B827B0F583D97CB2AFB9DBC6B94AA4E5158 +1219DE0510CDA0FCAD32147C731748F28CBE526D90854F3AA87447868CF1758D +5F739105A75FD1C4051E4227E01A2FDFE2542FD2043F8049DCBB1963A9AAC452 +D05B92AB177A13E2C242AE31EC3AFE884B73BF18686BDC579D0FF989730979EF +E0BCB5BA166A7DBB84D725F45E1253CE0A0C4C4A7DC3E989847F5066900632E5 +DF5B87A89B4218F38B17A3C669AE7D6757FD9B42A8D53BC3972FAD676EF93F88 +878809AF4E87F488FA59E6A8031934C915E274478F73D353DC565F797D6BBC30 +C96407A52B885AB2113C98AF6499C111312D4C880CA542E3C43FA7C8D1F9D1E7 +DCEC62611EC7F4EDC36D1FEB4D7F6D207F8CBD42C987090DAC99A90C10421E41 +B6AF48AAE86AF266B4D43FAE6CD50B36A75A50975EC1E129D9D4641807FA1083 +DBD15889155001D5AB72EE9E0773D719475962C4DBBE9F1A828C43F881A8E6BE +16B694AF598EA0C1E0AB872BBA0D6B65AB1C573AF0ACB9253EF46BF5C89CC24A +3ADA2B581BA1AA2A71AB995559EA713693F26596CDB52FDD226983C2ED3CB371 +9B2D2058458BB4F45CF954349BF5FA1DFB9BACC66B939708C4DFC5CD68EB2C73 +F664041A8BACC35B4FEC67B6EF22749B35806A9BF79CC82875D2708A8D71C865 +FBCA50C0EA7C5A48260DAEFC463D7E71F8593FEA33B4D8DA620F62B87A086EA6 +CC888EC8A674173183466F8015E7152C53599788B7D5A2B174C444CAA445ABD6 +37FEEC62A46364003789276DD80CE476B05DDCE89B1EDFA100A52DBC517314C6 +189750A09DC42BA30EF7285CD42C2FB48CD6F91533B7F547A2D53E377ED694CC +73809CD619F10AC41388B50470B3D870EEB5E2356B70533BD44933A286751C2D +F12E7F6157346648C7379AE7D3D3B7A27EE1BA734A1EBAAC886EC6B9E88EEF2F +38272FA38AD2AE2163E3305E9261C158704F513502B8043585DE9571E1AE387D +FB2A48304C13C96778A87FEADF6603236FF5699302AC002493B62E58AA269665 +7232B90EA13A1394CB5EC7CD31CD4E7CF1B5358D3F96286CF29E3D258572D4D7 +39FBEB58FF46F3F9F30D97CFF70AC631A449AD0A83B6531C8CCF548C23C89066 +A36BDDDF8E2EC49D9FE10C2CB02E0535CE626C337156E7B5A760EEA85F9BBAAC +F6ECF9AA5E5D1CF964261461C22267C7FFC9300133A32AAD4A3CA56CC4C392DF +1D58A1F49D71699A8E053562F874D78D58B0A9FE9C9F270AD661DCC7CF1F6BE4 +AC942CCE877E78750D08A70F36B6DBEE2155F9863C6F1263861C29F02544DE7B +2FF01CD36A0B797C1D2487B7E4146F74358E01158F24111A1EF3F93644B9B132 +1FE4C0504DC5690D5C5524AB468C07A6ADF8D8A5316B10D772FF184E1AC1DB38 +A4B7538AACC20DAD300FF6B8E37F1D61A36C9A9391DC8378B6BE68D77155B9A0 +5BE2264E8AD9C438F761BFA31839042B60E71E90BFD7699ABD415DE7BF3D70F3 +BC +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR12 +%!PS-AdobeFont-1.0: CMR12 003.002 +%%Title: CMR12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR12 known{/CMR12 findfont dup/UniqueID known{dup +/UniqueID get 5000794 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR12 def +/FontBBox {-34 -251 988 750 }readonly def +/UniqueID 5000794 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR12.) readonly def +/FullName (CMR12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 44 /comma put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 56 /eight put +dup 72 /H put +dup 74 /J put +dup 84 /T put +dup 97 /a put +dup 98 /b put +dup 101 /e put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 117 /u put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9C535A5E57376651 +F6823308463DC4E0339C78699AC82C769542FD3B410E236AF8AF68CF124D9224 +FD6EE92A38075CAAF82447C7AF41EF96F3ADF62F76FB425BEDE4C4124E7B1E0B +8BF254D91912D3A99557F5427907A56514C5A3EB961B94112077FE9417B70DA0 +B2E1C1FA3E1D6F01D11F640CF848E45BE3E205258E64FE36AFBD4DF4E93F6B1A +966C8E7FBE2CC8FF43C1F67BF6C361678B5E90F4BA524FE8A4CAD6AB28183E6E +CA6C9636E884845105595A2E40CDBE8D4807A81AF4DB77B31873FEB221BCADD4 +2C4669459704CB58A7BC230FC59F867EEADE660E49AEEDEEB042BA9A7DD8193E +56C3A36A1F639F7EA512EE4BC6992F52C2FC82A890EFDA730105B0AF7B819295 +EE00B48F64C2B5BCB275B1DD62F289CDAD4AD9B7EF057684642FA6FA6322C277 +E779CAC36D78F7779CB6DE12638B3C65B70C6B5F8A8C6421A379719B8DD44973 +5F52856A4A29B2ED37F2B1FBE6EF4B79B7C0CD6395C756A00FACD763C235914F +847D1D99831023CE1FD89EFEC83AA7E313131C0C197248605EF5BA773D0A4000 +72F607551A8EA6F0FF19441ACA179177D1FF7B423FEBDF58B0C19CAE3C10EEF6 +3538D8FC4762B77C5AA023A8186C40D0365A4487DC3564265B3DF908572DEAA2 +57E29EC669DD72974F806EFF5ECAFA9ADF1F9D2A63087FB7BBD100F0F81C6FFB +B1EA1C9DD46548AEDD147EE64B1B4894972DAE1DC3E8569D6A3CEF9F9E46DEB7 +547E10BB2959D374A33E47C58F1B20419920AB485F166062FCCC08EB5CC9AC88 +F388F0C0155027B727729488E44CCABB7064A1432E179189C4627453C5231535 +47D1F2B8BA43069696830CBB6E5F9A135CF22D3D1FE490A3A63C088EA32FF444 +24A2427BBA63033DFE2E06DF8CE67949B6AB02F26335A376B57376814D2A7DE7 +64A4347577EBE9A6E33DD2FC214A09C6D889C8FFBF1D567032548851B8F97204 +49E215CC7D222F593E1EF1439ED60AD922D41E0E9EFB5CA48F2FEFF75AC5FEE7 +FB6676D8B8D4DB6885FBE8B61B586313E4DAFB09D94CEDC0507E93000104F3DD +F83865A2C6F6A7DA8562BF86F5DB233CC9B53391273A1462E40876A8AC2B098A +DBADD5A160DEAC061F86A5FCCAB495EF8A9D121AF07928EAFD56F618E4EAEA97 +CF89A3AFD406FC9DE1E9769C1E1EB83BB883786BC075EB5DA2692CD59C4DD7C1 +7FD2FF9B18AC740A390C1DB38670DEB18C67721A1DCD502FE7368F47DB4281D5 +459B3F020595FA3B10544AAE9EF786A0645FB7C9BB29D091E1432CD878A05918 +1665643005BFD9A4B0FFD347ADC84CE22D6F9AD4EDC05E8C7179DCB360AB57D1 +6ABCD200A4B4AD56825DC345984D9A3DE11CDA5E9EC1E5006EE4181E4EFE0846 +67D8C27BEE8F84A1E01947E945BBE988702DEB2240C4BED952E433E5305484E5 +71965D3DE95C4115FF78CE9EC18E323C599727C8B93CDFBCD1CCA780DB8C81ED +C4B5E596E1603624308972FFAE9A57B0EDB51FDDB6E23EDE2946F61BEB241345 +2A192D8CAD53E823D687F9C64A70A4B4B703291FA6317C051DC6A44BCCE0288E +3839D726A8F2E39BFF429865E95C726E808E02CD06F36C1CC9AC77999F8E28BF +CE9D74B699CA982479E9D0DD98EAB24D29C981EF0349721D6819549A39413801 +F80182D567EE316E2F0AB208068E15693E4C399A381BF9BBA625E597E6E109B8 +16F3A84C8EC92F2ADE288821092A421A8D3B907048FE947230810F0777EE2542 +29A3485223FEA079B359034F70464DAD2F0E420271A4E0CCF57A0ABBC20AB327 +0CA71B292126D395E0D083B19BEC6B48A9DE2BF470C3D01A8C3F52075BD4BE02 +A0C518355814478202FD4762EC542F8E7B9B1F7824F0554660CEB83E35635E1E +DF0D03C94C903ECB36B4948ED98B6324E0094EB1DF70863142D4ED3A932D7346 +39D69F8F044B6084482D7748C27328AFD24A3A70B99D1F7D32CB984488672254 +28B6A9E9DCA2C9FF6A1B311D72413404B3CE5428BDB7FF3C36357D7975184F56 +FA6B32AD54C37D0AF7576663AB1397B80D4E998F0B4C4F6D90B483029EF2EDA9 +D4C4204C1546EFF3100629453EAE01918D09FE104E626ABA38646F17B6A94CE8 +116BC7A8D9C319434CA5B830859B4164DFADF1D7C3ECA5C78D8DEA930EA4AC3F +59DBBF3148C91A2E807FB934E3439D4F67C6DBBA9972854E6E3688E1E0A34B74 +482217CFE031CD7B5DFEF727C3EF8DAEEEDA08F4C90289E62FB2AF2357EB2E45 +4BC547980FD479101FFEEE477AAC6268DD659E8DD9E244676FD3C6909713B71A +323B211E571BE711D103FA23B5B9AF077D84E2D20FEE805E81D20C03501F0F17 +C3B081946CD0FD577F00E50B76CC37CFA97A61B89C25DD43911B28857284BEBB +5BEC61FFE3A14C64BC5425A7A82326617F6F1FA4FEAE56071C9F559F91568179 +46369B394A5CE96FB7420FF8AB7C61CB83492FA5AE4A4B0799578594C9EA67E1 +E54498AA5CD6ABA34AD3417F04F5D8D664A7EB39D41E2D17643CAEBBCCD9C38C +C5C9541641A09335EFBCE0D276A54253EFD68141807A66F1DFEB4BEA5889FFA3 +4D20BD52012206A9F8D3E0F6AFC03FDBBDF3E51506EC6336E249CEFB571AB84C +BDF8E471E3795C04E38A5306BA6D450D72E50910D1AC385BB06CCD4B8E433A32 +5A4B7FACC976BB31FCAA1E62DB2C4FE06DDDE7367930E336B49F47DAD91C8735 +9A35D80CA2E117E86B52E41E9278046ED923454989E48610ACB3B1663F197117 +52659A9D7BFA561C7ACE0771794FC778675F83C5EDCB132AF124C7E6540A140B +E0A268836C73A3C746DC964E482E63C56C0D396515283970FBFF182F9F684FE2 +655FD8F5D057D22246DDC3FD11B77552DB4D90ADBAB77BBB1FB1592129DE0AEC +F822D7D36E52BCDABBD560B403A5C56C5E1BE789C3AC049318C7FAC5E5861E42 +FD66C3C0F46361078D7E036281682BCE9BBF77983C93ECBBEBA9B359769CA442 +87FCA1B98F4EEC4935CC93B08AAADDF355C99816453587310F08C50B9BA3D107 +5388A1F3AED2AE32BEFADF0285DA90436D1D7EA85D7B9B6DF2AC4B778CFADFF6 +6EEE54D1A1C5DEE3CCA7EFF57A7C2931933CEED90CA26DAAB45E4388EC4DC366 +B9E88518D6CF094861D2A59282044CC06E63EFB390A6DF4BA5EAC7CE39E1EE03 +3D84099F5BE96612789AF3EDED07266EF10A0FC23EA1EA97040B6BAA63138B1A +A9CB8F5DED781260962D7618EDB200C3ED976033E8967A8CC676E9C11F74BE34 +343A7ECE7EE97E8F76F7E95517A6D6163527406EF5A669535CB2BF4031F29046 +BB2D0FFFB47A576F5EAB1D00A582965C56F28C00B3BB7BE2CC8D8391F789070D +775EB775437F0CD53DA840BB3575104B63E4B0BF14E3F14B320EDEF65FD4CAF5 +8596DA491BBCF3153DED3B718F833D106432DF8DB8B8E6B34D5308C9010A5DD0 +7E0E53260BB84BAB3EA748E8D72F75901604F80F4416920D69B4B983DCDB72C5 +E9928F01A4A85954FD74578AE336C782CDF81D1EB7EBCEBFBAE7ED8AB4862584 +397928F502D65139CCD582CF0723C5262EE54B9D2B8C39614652A8A90E1C3B65 +7D26B99DA298FE4B9A7E98848F619C9BB4FF9FD215B72F99506F06355B332689 +37D80AFD9F9ACD8172CDC51FCD3A759ACA0F7D4EBB07840840EE42C2D5B8B257 +2C6DB3A7657B75F2F0B9730A20112745703E2D0FE709436CA6A5F36F59E64D9E +37C0A23D6D289E1AC1DA273872F5FC5C3DA2B127F078A4D7AB3FD7E124455817 +DDC796D54EF26A1FBFD539D3A21B86DD4477DA49213259ABB3FF241424F2BE5F +89151E02FF87E0BEE26E85C0E518D8BE7CC9214B8E9A9EA1DBB49C6C212CCF08 +90C0F23E9858947EE344062EBD9C574979087439975EAD4E85CD7BFAD3C91CF1 +EFF577843AF1427D06CB2F3BB519ED1591974218C43F0D2038665F9E2E3960B7 +FE68CD3CB2DB6B36C7997C6B21EC11CF1DE049541001FFF26D14C255E3AE862C +5A5701292FD2FB3D04523D6E2F3547923BB117718DFB6E6520F0D0B5450C695B +8C9242CC8671B7284CB2E1E9EB097A3DB1B4D5E8EEB93B4DC7E38C0A10474665 +54DDCBAF079B92EA494F6FA75A84C5AAFE280284D0823D7C22249A21044BB0E6 +4062074ECD17B62E03EDF4945A294BFEFB51F5FD870D9D7230FC91B83C1D85A8 +86CDDF326FC90E04362145D6E8630C50594484FB829DA18F5C078F2EE67D2F2B +08DFF39AE2E8C9741FA989AE494C7166F122D2C5F71B97C973B7CE8500E9F87E +D59C30F2E99CC4D34713DAB680598F41955FBDC26A14CF1E73D6BD6B9AAC8D3B +B998F2D0D647356CD236DEAD6561389ED3A6746221B0CF15D6648412B35A6B54 +6A0EF5BBB34AA376D9BAF025BFC650C1B74333CE85413D0EBB2F4D082A26A5BC +3C0A25D2B12CB159F140E00E262F1CFECCB2C802FF94CD34DA0CE9B4B3830FB1 +DA85B9B670D5169928990A2E9CC869891CA2FFAD9774E6B92549644DAA5FE00C +A5BE4F5FF91A0B6D2FD8F96121D766391EC4ED3E73DADD476B7DAE1A50AFCD98 +DB7E27E44D30416088D9BC07D4661D9ECEC0806830ABF14CE55AA3CA2DF66E8E +748B8ED46466F1EEB072AC0674FE6FED231E0DDA59ED7C42BC05EF00E176050A +C4834D893DE42474EA20DB1E25059E84BD137EF65A02CC295B0FFDE4CDE95879 +0FE88BDF2519ABAE7F8CC3E6386ED35E04A14F1E3861922645E3A3F43B48A5AA +1999A5EFE192515FCC625C829FF5A7B337AA422F5E920545F9BB269C869A821D +6C4C26DD2AE746EF0F0B4C1E7E9871ADB5270E1CA9BE28225F7A0370D4C52422 +E25263EE101C4EC1C7811B05AD42F364844A56BB91EE72FC8ED53CC6954D2BD6 +F945D739BE4C61E36143CE890FC0CBF2F610018D678ECF7CEAB18FF5A0E48F76 +FDE2463D40A99380D679B3B76D39C664F4992D23E5988B0D1AF33DFB04894016 +E852EFD1EFFE586153C0F31ADBDBDE3F73FB49C5EE64D0D02E1504248FAFAC3D +903FD44679BB09C30288139B41B1E90A10139CA3172677250B16535A1F3E5E4B +6F4264DE58896E66051FC677030A121C5A285C47B6129CB5A3998830CE070D21 +2F093FC1B44089F603A21F45F60960F134A47226874C737EF6C085634B0A4A66 +139420501351F737A73F39D960EC38420BE46E5B09D298E7C16B8E32F01507D4 +0141FC52DA1DE718D634AD9C8B00E46EEEF84356759324D2B9A3473C5DA38DE9 +E30182B87F91B6A7F7BACF29A93B44C879CCDEDB063F9D2E51E0F1FC9F018FE1 +2433D85AF24B55DE3A61C4D0A2DA4FDE933F5F6FDF17E9FA9932BFC46E2D71F6 +585EEF5B2E4E89E797A24B799D7F064DD1A817A53677FC9EB8CC3E7F93FE50E8 +D50E3191052943FD6C98B573BDD1F6D70349E1F8011599E3F8FDF1D6E80A710E +51E434E85801617C6FD8ACCF1B77B4BFCCDD35CB4C0367F4EB4D8D9DE8284D5E +B4F43E2F8320C2C5A9AE90ECBA7E65D377E91DB69FEF27069235366AD3E126C3 +A73CE97F4C90BA00D206FA012C327FD69EE59AF4470A315B1799CDC0539BF90E +512C8FC3BEFE4D1B01D969EA9E3FEF976CD6E0FA4C9ECEC955B265CFD58AB8E5 +F7371E479279EE14B689269205C5B506940606CF3E24A1E7EFF3CA96ED30AD6D +E243DE57690C3D69A401AB3315FA49E4BF4ACD4DD1CA39272533E82EFDD508E5 +1C2CD286CCC5DE1202C7C7F654521750632EB637F918667E2233A43DF75239EB +F28F3129EB5DEE2FC5BFC331FF709B0FE9B327CBBCE98BCA2C861C6547E50407 +1218CEBE6EB5F9BABA4F2E11BCC6FB553A544A567B459E06375102C69F8018DF +BA6A227CFB13E2D74E6A521E01B74F2963E9A0A1C9FD87A88EE6356E3BFABF55 +BABC751D2BF85E6712E8EF57914920775906662E4BA68FFA21AD422D34E15578 +43CA0568B431101A1194F8AB1EF25E886BFCDFC10F4A5EBD9530816548BC298E +AE4A0B6B52B8B59C644C409B4191B6F4203F52314F2675F02AEB65A72C66E92A +2AC703E15D8D381522C0AC30C165B822A9B8D18CAECC094EDE020756018DCF51 +D0701B507519C4270B70D8CE94B436F640C15872F9B5B77892AA3D110E4D6A65 +8F0815C61A5127BA25815378683F46E69E54A391A8675977E7DF9C2D4E6FA991 +9F029E50CC2F266B31EE9F9F24452D5838905F330CB7E416B8AF836C5AC26AB8 +BE2ECC6EA4BDAA08C30995709E225C21D35DB6369167602CBFA8DB2697635925 +969002CD1BEE745DA2E56C17EF3F0C05E3847147F86963C37A221C8827195A8A +3D38993E4939AC915BFD9A212F5FF3F826F742B952018986F9FBDDB69C3AC65A +845F7F33C55D4BE60A1817EBBCA7E1538E8087E1BD5C083A320D52953BE65F31 +E8339C612A510B59CE48D2EF7061560C4AD258E7DC59694493E3AC878246F37D +6DE89253EBC8830C6B209E818213C4AC4CF1F391AD91D57BE76FB0E2924A1407 +E4A949C905E44F54EAED6419F13D59942C8079336A172D4758BEB5D3E786FB93 +3CBE4FD2EB53E4E1DAC34E821EB30FD44BC6CB4298242C38F848FC23AEDC9733 +52BE6F32E31E25F18301370F8936810B0566B664B042C7AE0D78ACF0A87E5BF6 +F9B66E358168B2CEA30DCD940074F3ADB793CDB136161FE2522905E87B8E463F +95D4DAB7E14A3DF7BCCE8141C5A08FCFA2BCE9F2D1B05A7642E75877EB840149 +AAB007CD239AE47AD115929427717F219B0A8907F0EC79ADE1B901DAEE87A2F8 +39361DAB43DFFF69650F601B24061A9353CFD619FF9626F63275FD09A5B13BB4 +8B3379EC4D147C41197E8387FC04DA7BE409524CEF74EA91DC066808A7FD0EF3 +957A44E2503EDA67B1C61827479486134E922E560A673BF314D601C66003CD07 +55569085AFC8428389A140EB976CCFB8F29E27587E46C413ABE2EFB51AF5913F +53EEB74063162E0BA1E24CEDCA320377D3E11BD374F0B44E132A5C35835B6E2C +D32948EF9DC7931D104C1385709DA882DED6458319F21C2329938396BC074106 +CB9CFB9E0A915F8DBC8435F386917AC87A2BA45D857EC30ECA66FB4044F5439E +CDD556B82A0E43418D179AD883C85AC276E1190CEC242E3E1D86E725ADC39E46 +BB6C47FE9E17E29F8EA81E870302A00D91434F3B7A05F243176E6EF1082541A1 +B9052191EE5C2B8E94A2E02DB65FC769653CA8D1C07A13CB853544AEC7FC35C5 +218DE3128AA31952DCE19C55C23FD69BCEA2C661F57B11B8F9E86BFA718D1521 +3346E78C701A5E51923D6D937E62FDE3669B214D240538F069A100A542720A86 +31DE88116DE775F7ACC2A49EA6C02A24408271A846990669F2AF60AFAB4C16F9 +7F4E88E917F0FFDCE68F22998AC0AF2A60A73258C3A4BBC42A2F918123128195 +196D0E150D79AC3CF4628503D1F3FC528265ED8324E56849A47B3B07C29940B9 +1BC270071E221D355EA51E9942D3BD7F99816304FFFC8F5B036C953B38759341 +ED5D7B9C8E6B70C409DD8362FD291201CC385E4A98D73E8518A4C0E544152563 +82032FBD2FCB6E403D34B85ED4053A8CB619BDD4DE001F4C3007B1F317579651 +E6D6662189CC2D95AB85D7473F65C5D7B4AC63B0FE928F3400035D5A9D443D0D +F3532B99F3AC26CB25EA3CD64C341159061E02EFBC7C033C05CD919BBD827A6A +BFCF3BD739E32E7FE909AEE068D50FAC33605FFF98C7D0115FB860178FD03DB9 +7985B78E0AC21F2EA065FA841F5928FB85163B2E2D8F850DC7EE313912C45C28 +2783F6762C67882EFEDDC7E7567F91C16B16FD8D5A1ABF35B5586307701B91AD +54984598F2AD46FEE3D68A2731BEAA754C8E730FE0E84952EF77930E4118F8D7 +2F3AD7552C48C6D71102367AF3DD19DD76FA71928B63D7918C3DEB88840FEB80 +D288565525B144453F03FD08340E2DD4777484B552E241EB0180BF47E9A19BCD +086D89AC4DC263E273CB0F1D2E2082E023038DA303AB252AA63564D26ED8721F +8EA7AB22FEE60F04C671961BD11F2080F30456DFBBC89894FF05BC9517EB869B +40A4E58290546539BFDB4BDBB450AA7A70D019BC5A39236EFEA6F93A9FBCB8C9 +7EC6DC89C5F27EF258F0D533FE882202FB786D0CE1A9D7D0CD18CEC7826291BF +1D3DF573690386F2ADABAEEA8E83960631A33AA07BB7B4970477C46E92D30D75 +6E9F27887A8D1CE84F20F88DB678A0D65A53FCC7638BC932CBB2715639B5786C +3E4C88CCFE8F7D758EB497C82FB73635E828F165B2BA010AF65D973D0FF3CBD4 +71CCEC76F7E415FE5C72FDF6E2D511B5105874E9B69AD641302FD432DAFC4D80 +6B6CD4D1D5B658D4A984B34A2666ED8A74B8A070D33AD7A0E411C644BBD42FFE +AA7FE68F9E5EEA0521867422FD6BE49B18BF8AC265E40049F851DBEA997C34DF +3CA77697F5D48FE22C64C303D089E0B928AC2712EDD68A0EDC595FAF83B5D4E0 +28EFCAFA72269A4FB0CCAEBFECEDCE66AC7D1FEB9DBA1FC28C33DB8B89D5CF97 +932939B64B63070D7C293EF846EB7DE76B5F06FF4DB59278DA0F1111FF97FD5D +25291C63D01506FB143DD9677CB27DD0364FB1D756AADB0D6DF4816B0B1118F6 +340C38E4FBCC4C393F928D47585ECEEF5A7F8A15FBBE393029B12DE7E9E4D781 +71AC2DFC33FD7D59FD80DC1A634C5D99A068803C674B94D56D1520BD4B21FFEF +E020A7B28948FC4534240839D1C825B4E6C4C0844F057A38EE984B7E5B9AD8BA +533B9492E64A43E7A04EEE064DA56DA3E08747D5705F44F7156AD5C65653164A +82150DE6717C614AE1F722D571745119BCDF5B8F40EBE4B73D8CA0A567EC9991 +9DEE71B60A72734E0E19C41457BC2CBF08FBA1B4E045DB90FC51E874B64D3ED7 +FB7487F36D12E8D3D95FE7D078976AD534AB074FFE6BC8279006DAB8CA55DBC7 +89A13800F9DAC874BC74E1C6A6E3A0318AC1656DA73FCC4F5A8727DC1A0F9595 +5EC9B02BC987B9C37CDCB45F921306EA22788C3930E3BD2C5E91C9FA8FCB2F52 +30BE9FDA1E9F58620F5D95AF91C389A6ACA28BDEE8BEFEB80DF279D17269CCD0 +279CD36DB612D1D0DB9F3B398C04A1D39591F3660486759C2C2B9EB9393BA61A +81B2DD33CEEF70E02173165D6C15FD36D3F40B5D7244F29D3C57415F60F19698 +4BB27B6B6DA60E7BDA42F2E66AAA8E40FBF06465B80B4AE49CF3607C79472706 +C29322ACCD0D0151F3D279ADD31AD7FFE9D694169DAA60CE6A67642202BCDCDA +6E29C8BD1D9705034FC1680ED7D7F44621EB918EB0F3233C0AF28372ECBBA672 +059017C88511FBF0EA1F3B7DD84411D019D17A915EE05E68D79DFC4F03DB59A5 +ECB39748A437A5882EBFC1574027684145EE9264D62757CF038C0AC868A13319 +EE14856DEE3979D82F249869C7A505A4B7AAD1BD0599CF398A32AFF95D3B88AA +12974DFA24CEF4D673E9BC4B9FB36398CA44F2B9FF23AA192D56E35056C2177A +ED4A6B1660520A05C01651D10A37748E1483DBB6FE13FD3EEBC1FAA34349AD82 +06111CAE95F2013F111D8FE902B996C77A1BE211C2B6F9BC4DF73FB024B4D2E1 +CDE9A94BFA9727D95619B30F332C018B528A8F292A142BD5CFB53AF214E36C08 +E986347EFFCC3C3C885857D04A85E2514063067F3141BD86B3452A1A2B495372 +EAE088FC784DBCA46CC744D9947BC5A8BF354F2C630BECA351DE6A2D47B30F80 +DDA9ADA37E50B1816F739DB303627C79CE5DFAC2E94A9CF79957C0CA9B8566BD +892431AE4F23AF6056C7D8F184818C9D4A9E57FB1CEA8D74CCCBD38E5D7E1BC2 +4551ECC268BDCDA07E675C206B2DCC7E5C7DAE865A4363D4122848B46F198507 +7E166303E4F30C50F0061F6EF316AC7EC5FF61662F088696E1795D75591E6CB7 +0ED973CED00B0D058E9622043AF118ABE8C2B757BA3A1A4D5CE2E6C06A2EB582 +B99ECB6C765811568EC35E38B81523CCBFF8327E2CEDBE765C18A70B9E054453 +1EA6E3E33B9975A49873F3E1CD0438BB53F056254E7051938D08A8173AB22AB0 +9B42C13A84F330DB43CAB3AB877A66C3F2A0295E9D8B6292EAB9546F02FABD59 +13A88D7CA669122B532C906C4081988C0BF556AF1991E1E4C9B2D6B3BC798B49 +A8A6943A242A0CDFC03B498F8F495661C0B32ADAA6C3CEA8C1CCD1E84BC3D174 +425A71F8A84A1F806489E2C926CF032CF157A1CFF0498121BB3A6DE04DC400EC +3D98FC20A2A20C110DB95B335C4E1682515292A12C8415E323EBFA11551F2B7E +ADBB7682960FA594CBE077E1EB10AA0158273659E8444562093B5A4C28A39E11 +362611D6907C0B34DC4C958DEF21D232E2D01DE7F9C649C45ED941A8108AE2D9 +775DDD587DDC8CA72A97C3E2E713DDECB09C09F67026284E674A5EF85DE699E5 +7258BF1AA40FE374FF2363847DD0953A20259C7C8191E0FE0A391FFD06DF9051 +3FA61907BA4F984D7089F1329579927E64A8076B5DC08BE067E449948BF1EC70 +03AED3DFBBE20C2B23CB113E3F4973DB01433A72E68335BCEDA94CFC7239E7CA +55939B5EC58B380871397F1F13D7A640D8FC6924AD183ADAFC447CDB9A6CB63E +BCCFE5C11E884CABA6261D5605CDA3EDE239737490593E4E4CBDADA0182C8362 +F27FDE36EFC56AC691376AEC6F3204D96AEE953AD141629A31132296FF60ED96 +0D54E153FFB5117845FCB6EA3B1D71FF4328CFA0972B2E3AD0B1430E33F6AF44 +5C12F58959EC611A449923604D95883E378D2DFDA4D2B2D43BC9B4F6D1538350 +D9FB3E6B5445C696D916E93A1FFEBF2C59973A523F8972BD8FD20E160AFEF38B +E355E2FBDC98F0971A4D04298C47C6781201EA4F16964E6C441331193383C6BF +B3109040BFEBFD7217655899FFBC57FFAC3778729924CF9C9504A25823CFEB22 +DE375E4AB029F99B91B037A1F956F4CB14E973D5847A3D1F15F400E54730E0AE +C9C15DD4322AF9DDA0CE77074EBE320435B9D82BD73040E5150DF87AE690115C +AEF26E5EB2612FD51F7761BD894DC139E79C7952BC319E364BC09825CADF4EDF +129D8F7B6D819BE5BCD1C223DBCA46785DB5A2DBF04FB42D451691B25F647B1F +3595EC997C631B70AE41317E8F80394B768C58E64CFC5F97417F88C9DDB98CAD +9F53DEAF7B225CC6DA84B79B21C1C4810D90C1871EE2B20E0D0B4783F20EE925 +0E91C1C8671B97FA9E248E8F03B15EDE15F4BA072879E90AA8CAED46886DE114 +D19E0A1BE52572FDA487FC97405B4571CD2A48B6135D6EF8C22420AE5C7C9B89 +84D96A38FE9067CB6CBC1826C490675DCA6EBC3AFE89FFEDCBB7C83F92D03A32 +30C76AFAA57B6F0854E3F4327BF892F0C4985DBDF87E476DB2DD76A5A235A7E4 +E750171DB3F4C945A6ED52112B1FB818CC513DF536B7DE1C16685B03589B3D03 +DC7056DD140F39C2D21DF867BC23237F697B6CFC080D59239AB465FE688461F2 +EA9F0350D62450EF80C454227DB6D60CC4A1156A2C3983503EC4C020B8072F7D +7D471D3D288CA1A1497EEFB7C826FA93CE0A31B1AE583E75E9A97E84CF0F39F5 +27694E23AD868C04440B4B3B674246712D89752365E32A6FD7DD024B6B2E9E09 +420420996C797C228DBBA33529D256565B4C479C9A4826943B79494816FE9AB1 +7A7CF2E0C3110142D10076589753AB96EB827399232E10EFCF1303500DAD9F9A +050FF4D2A7BE882CEC519E57C44AB791605BBD1CF9EB46F588AE695026ADD366 +ABA1988D0F692BD8ADA131CD77A6A1E3B44536DC67A00E6FAD10A2807F3B4A76 +7AE8F7C5CE76A10958CE05FEE5A6B9DF29540306704239A72166F38FB34ABD12 +189B5395FAC0CFBB0B9B743486E0A3E36103A60DA0CC52D78D3A6E646F04BB5D +533B1371C2C7BFEDB46DCDA8E7CF7A00FC29C1BA4F0554FCD1701E0FB3614C8C +E63A351C080E03B7779FF122014A34B32EE0D4557F0C3AB0EDB23EB6ED0179DE +34B1440C36BA2B40CB06D26DEDE8C2EF827E10BAFDB6800B60963FC5509333D4 +C6AEA8BDD3102EF19E1DCACE8402DB0E98343CBDDD6BCE24D2D9303BA4AD16B8 +EE56A24D80F464EB153987368F7E899F51FB67923DE8EE2F20D6D235E28D94B9 +8456BDEF0959A3B015462E79AB7B84ECF0299444CE4DEB3C8EE7E2BD23CA59BE +49E6E2C27C0E787376FB5F9524441F803ED572ED7A1321E3C775D8890EFB4A6F +A2AAD2B92BAAF651D09E1C7B3059AAB87EA01E1EA8CD7206186202B9115B13E6 +7995708F70E72A38BB9FBC9BAF38077D3AAB047A7B469BDC8CBC1D2DF9AA8492 +74D52FF2AF461CF685C751EC27E643EE8206CFAA38B9EE236E051C1847D58D33 +E2801A3F1DA3205E8F383832356366C6D83A22ED1051FB93AA1944A220FA05D1 +4D5FB1A3D14781160712140F698CB99C7EC5E4EA8F3C8DA526A7F92BACC1C67D +E04F1A5B080D43B0B8589FE343656B8B84E676ABDC34FD93E24F6D1A0EE4685F +DE701BFE614C49EE893F9E2D7DA3F6E3110C55324A3858E9406D1F098D53D65C +C5CFD7A5B8FAD2EEA008188F3CDCB6A3029FCE3E1FB6B7363E610DE04FF30604 +6262C8B4EF036C5BCC2FA76C09DC2106411E40E8382671BEAD16EC56C6EB5A5B +FF2650A38302C5E0A9E5B0456659225818878FD550DEA6D1C8704C6020D2A9A2 +9728DAC36B72ACF23991C122E9EA0E52DBBD639431A0C4375225D16C7D1C226A +B09C2CD2A6FE67209668B9B876D777B86F68C3AE872EFECD1730456F168E48D7 +23E7A26B783AFA95962E94AEDB1B158DC3DC3A6DA5C17BEA6F42C7D4D5A33206 +32A767AC088B9BE230BF67353507449272A35F18937656529A7D701C5D6ED11A +30391309A4FCCD5E7530BFDB769C2F3FBA44C27FF56FFC8BE6BCB316DBBD1B69 +85A75C6726A9C0A63AAC84036265EB952556A0610C2832FD04636488B89E2C02 +528754DA559FBF275565644798D4F11E33892AFA540C1F9573DB2DEC7B2832A0 +A538E9903EC4A97AE8ECE9F42B72EEC9B4B5560D1BA7248993C46DA23A3929C0 +EB18C32E4ADB24350F10F1B703A93BAE3B82D7CB66E0FE460DFE1C97FA5FB799 +74E827C03981CB1175E54682465C5946442B9C2ED1E5AE3430D7E95680D69315 +0603E5B2994FA3666DDB44CD35E5C8116CF2F5DDA46C61BD309353D3D89BF459 +7DEDC647A51267BFF24F029F7C34F4B82B9AA619B1B23A678E90003B710D801D +FD60E1ED36 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT12 +%!PS-AdobeFont-1.0: CMTT12 003.002 +%%Title: CMTT12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup +/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT12 def +/FontBBox {-1 -234 524 695 }readonly def +/UniqueID 5000833 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def +/FullName (CMTT12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 97 /a put +dup 107 /k put +dup 115 /s put +dup 116 /t put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0 +7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3 +A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3 +4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C +A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251 +75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0 +9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507 +098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02 +ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581 +DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B +5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2 +F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914 +2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4 +E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21 +C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23 +42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D +4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068 +95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9 +830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE4 +8A4DAE2CD7284E912B80B491E822EE84CEC0ED22BEB736389C419C5FBDB9140E +99A33F94722F0A1B4D56F2D280B077B8A35183620992F3ED4DAA665F1C31F622 +A6C3728DA48021B70DB89EC4B946965AF75BF6B1AC7A25C002DEEA0A7B58F0B3 +A71010CE8BC3CBC4698763770EDBD04EE2BBA631A61C5CC3289354D143CD1A9E +DCD1722EA62EF9FE7CF81EE3DA486A5876941BD639BCBB37778D1CF1806B1DE0 +81D2C9B995BF1EE3842EF993F08C5B690EDF00F3FE36C9CAA4C56E41279ACDCC +BFC37A265AF506B75CB8F498914E17C88A931F7642D8C77E55B9E967CD057C1A +EB9E463700DEEBA3B41B3CA4DD5B1DEC9F09A663BA83AB1D578004557B946254 +14C4E20D63B967BE9C9E23AB6E54C9A00795DA195FF8A46B2C443B163FED648D +F6B19E93C11914C2DC6D668F514F0A1B32478B8132A8D4C3B14FACB153A2615D +C5F183315FEC08741B1D4FCE4C67CD9E29BA9802115EFAF4F5F0E6E57F28301A +4B002AE8F44BA1B2E3C7343FC7E6C72759F123B6070D698BC43B6CCB451D7547 +7C2407FE1CAC67295BBC1A9A20DDD33108EA2B45BFB41B982971D9DF4ABD9638 +4AD2805F78D82A11E8DDD81DBB43878E3EF527DF3FC629635ECB8FCB0BEB7A10 +E9F47DEF9CD26E23E8FF4C8B8B2C2624355FC01E0209937ECD0E9B3451CCC4D0 +BA7BD9017AF2E9228B1B00BC8AE7D4D365C9989296A7C9974F03BD7AF5F64775 +FBAA3AB9C23B01CE46D85C643A48BE765AC368995B9A8F23CB08E81328343F56 +777C75E604516713AF21E28F442925541E1D8D09B659445C28753D230E776F3A +84993CC9AD0AAA13E8EE223DEF4B712271E646CE9103B434788BBB5AD093AC0B +D5DFAC3A5BFAFE07714887938C01172F1239C8617D77071CCA9D3F7D7EAB52D8 +FC651CAC3076CC3D24063ED06459C6EF2FADEE7D7DB3D27AA8D147973E844C35 +B08CBB5A0F4277F0552ED1E83AF4D257894898F4223B36630B03056D38D9CB17 +FCD01E0636AA11AA3940EE04E7C44390C27307763F5B81093CFBB818F04DF9E2 +B397BD293A61E699C9A1CD0E21CCB9491808591CB7F0CBE016443B519D9F0D46 +BC12B921326C61BF37D232DA9F2FA46D2E820A3F0E38BCD552AD55B0ED25A678 +CE23E7B27EE72E6852013DB5BEF0CD5F1F11BD32175EBC122A31A24FC1EA77E0 +FF1FFC5EDD5B59DC35B51EA52DB3EA8B40C16D436A7926EC0F9BC75C92487680 +2831B7A69124A203CD9CE93372FA08F280DDC7FDA3D0B5C1CFAB6863E857CCA0 +7958D04FB03E3F37E01265DDD257A0F7562B70AF83EDD3B00CD9DAA07DD53367 +C7970B80B36D4671D725F2C4CEF4F47EC2254ED32516A2DEC84AAFBD925F2712 +791AFCF83753984AEC128905FC6F896F09DF363F1BB6418A945CA03C5810F5A5 +26E483A971D9883FD254928FAD300F7BF8BD8369EFCB27D9141BF0A64F002D85 +BAC179D851B5927CE63706D708E8D460D8BE12278CB5DF45545E118E9166A83E +81715BC1C267F8BB43658C69E4901480112299A473CC43AFC2BE532E7FED81E0 +A5BB869285799896D02F3D3F8B040EF9AB97063634736F0CDA77DF9CAFFC1144 +8BA30CF4D0A1259DEC6A071DFBA40CFCA7000687ABB03B393111918EECEE2847 +800D8EF62D733CB730481800BC625927F6C665E26BCAE17D20C690524D0D40B4 +8BB411D8A6A7906610202240E3C44D4C18D20A044C9CA59DCEC1157CAC635F8A +76E62A1DECCB004F02435F1ADDBD0C0DA0B0A95B1210651FC1DB867D924858CB +FD3E1C28C9E81F7BA9F450E7697B9C95236934B72ECF1E9614E2F337707CC5B2 +33C1318695924D8C890A21D43595D80E0276808C19E40C40479D1FC707F91897 +FD35AEF08EE51E8498200D648260A97793519B +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR17 +%!PS-AdobeFont-1.0: CMR17 003.002 +%%Title: CMR17 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR17. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR17 known{/CMR17 findfont dup/UniqueID known{dup +/UniqueID get 5000795 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR17 def +/FontBBox {-33 -250 945 749 }readonly def +/UniqueID 5000795 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR17.) readonly def +/FullName (CMR17) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 45 /hyphen put +dup 69 /E put +dup 76 /L put +dup 84 /T put +dup 88 /X put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 120 /x put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9D6295729076BD8E +CBC0F4C1BE246922D2482233846A96D867B66D9CF25A1DB661141D36B8506E61 +A022F9EF8BC1F2F674EDF1533E67A78CA29A612AA9268E113C5EB84DA56CEDFC +D7A111403E6E2A8682DB04368889747E003A124395ECF0C7FC81218552EE7C6F +60BCFB4120893528670D0E8A4117EA5676915E3591AE5652D003EEF67818A41A +8882E102AEEEBECBD15DCF632ED246A6A58B6A7780DB6F1F9AE3FDAC8344585D +E104F2BA2DF06D68945889A2A3B6C262FB53FC670BC5EB7C56887FBFB7AA7026 +84115872CFB0652C6BB330447AFF8F0F665EFD6A41D6DB6877B08052F402448F +CB21C26BDC900636C99CA347B79AA73AFCDE9762A992CA3DDF7279E5C50F453F +52098529850AFB1F501A442D6A02E0A2896F81C8AC735AF1E7EE47208B4CC944 +649DF6802EEE813F1456205C6126D7D0B1821AB62DD65468F3A30575E491623E +0054E2E680E4402E1C8C538DA389B81603BE88D6DC287A076F92B224CD58A0AC +44B8D490197341808DEF243660971F444A560C747BC6F52707ED42A99736ECCF +EBCB694A561C3A70A319D204CD40D402FBF937A00BBCBE85DD26C9E3F91B7D10 +D85B9D314BC3AAD5A58B107F5F341BE2C53490924142566417D6BE03BB4977FA +6635EA58DEB9508E40B9FFAC75FF44C683680CF242FE210519C9BF92483B0A54 +83F48341318BE16D2F8C988FE3DB2E7914581F579D5E323148A31E4ED03BC24B +C990372DF5F3B0C5FA32EB2CA4FA0EA33316569133C87697BAA2292E685C26CC +F8CD40A2366E60B47D47CC9D0FA29D2836011376A07F78BA7664DE96E775CF45 +9BC91559A063073A4C2FAAD0893C517C5C46A1425D07EDCC2B57162E3A45103E +FF26A2D2F98B194256A4B052AAFCC08965A50EECD7B9E8F35AFDF7B6568B3983 +8030655E7C2BEC961A2F20539D617626E8454E3FE9EBD3EFCEF7F63498441DAE +16CB509BF239FBBE25EFEF07A3E16C9C71EB8D9DCB8403916FB40FD7F4E1A52F +72F2DFF94FD14D7D49FE775390C17C37C1BA0CAF35CF75D682B7833A83224158 +D54CE962CFBAFB1B2CA50B60CBEB1F8F58DDB2F5470C355ED9632342D9382AE4 +5D33BCA3A0A25EE9E5B39BE5370E7F20684C664EDB48E7973FEDAD9676F9EE8F +701CD4D8CC9B9EBC06E8C86EB88AD56E15CEBB8E1930E8F711CB6E01D5D14967 +D7E6C1BDDDE2C4D00384EF4CB02877DECC27AD53FC981338977BA0CC0257CF7D +B42E9BC91AF45D9722461EC3CD9DEAA8011FB855FE14B74BE0A102008EACA2B6 +0E287BB4F466FBFDD6E65A5262B9322F95E20DAB875A10A84572D982E6FC7ACA +23C0C37E5EB47B8E69C07507B53CDD98CD1B6445E1699CF35B3DA3E0DC56BB76 +F997C40E2ECE47DBDDB707EB527055960113F2DABC87FD9EC7D0AB36B400CE33 +0D54D4F197B2830B43DF0AA802DFB2BF747A4C44B31FB708B2C8BBE1955A6A28 +379C91AA4CC065A50098AEC0B837E180B76801865A43C74859DF18FE1DA1483B +C17843BF1C7E1B11A8C6D8BB8CDB1D552FE6A1FD0A696A8F7405F2320F8621EA +17C1A32056C45A9ED35D2BD12D02D8B26489CAAEBF4EF33B66FF4BD9B46E4823 +6395831A8F3366EEA0D0EA88D612DEBF63DA7FAA24DA979ACC1A52544BCAA007 +6C39946BEA6076ACF45722B2B8E4D0823EA2D12B14A98367BB0433A21FBD9F94 +18DF298C56F67ABC9DB1868D431A854DBEDF8E1F49E359A545C75A7AA1FA4D5A +50F1EE6B45FC68ABF65FFF257964E4E50D8B0C1FAF498DFC554073697C2F219D +4A68DA9E873B270B9C56F0DDBC9927ADAF9203FD684DE615F68C24ACFFB44690 +89C0D5322049FA69E7FD00EFC9C9B2BD177B5B339907F81C31496662847BEC1E +56B5DCDF4FE618970F4268F475B2EF7E0F28CC986DDF098E59DDAD818649CC35 +4080C0867A884B8177A6880F06F1E5CC130AB4243EF8DD8032FCF390765BAB1C +1F0C9728EEE261A09F8C1D7ABC7A6B1550551BE2A7D19D45B656650DB00B3A5E +B3E1186043E173BB4DD5EFFB379654F88146382AE3F7196F099BDCD6D245FB6B +AA2FA9B6CFBC9F0CD52798DDF2F13874BDE5B124DFFE0DD93E24C9DAEAE4C3BB +71A9A13AE2860F620B4EC789F95221015D9C510CB4AC775EF69DB9E32E59C896 +1AF82C9F0DCDB4812A37761859A3D3BA0CA57F244489C78065346FFA78F5F7C8 +0B2E8CBA9EE62FF5C27369D0BCD52857D40F1FB8F8A1441B83565A4150AB1945 +0B54D6E49F66389E43096269EF5CDD39526A288C0CB81E324E75D326EC9A182F +2CD966368CE300B41873B08E17C3E6BB51804460D2562AF5A12339966F44CD09 +114C6809AF246B5BA6937631842CB9417781A58944B6BA4FCF961465C208957C +81A662D560D0F81BD3CB53C06B6D979F04F6121CCFD5D52702CBF6C70C01EDBF +2040AAB9CB144321E68C4010E0E98CCA2603EB55DD62E881DB621C37EA4108D1 +528ECC7A0121B57C6BB1E26F8AE7161ABA7E88256D2D6A8B7CDE2E730D137493 +3FF628EF6030DD2330D747FABBA03B44CF600418C245C388F33EC5559E7313BC +4B530C4FC12530D38B27D6408548F25FC084DD0523B27D29D6518D3115AE7755 +37162CFD4CF528214466FE525B13782F9C3CD78F3D6C7423E63A134C0A371F15 +10F4ECE1D482C647B563D3D15586F80BD9DF7381BD53927825D5AEAF762E1CDC +3BD184F345029A95B3AD4D1B66E79AB4F0809418C0CFD4D503457A190D02F134 +3F57FC04FF655AEEB783D6791E4EC300755861837D3D50649F6B7F60766211B3 +8148F8E575E28D6C2DE75B15E722ABFC6DAADAE53D89FD295352781DCC2CFF6D +982F6DB778D6FCBF1B7BDCB53F3A23AE6EB499BBFA96E8BE04C3C8E5B660EF24 +01EB842DAEBE979F2C2DB72AAB4D21627063B1D3C6CD40944E4CB81655698FBA +A343766CB22E392E5DAE01DB33A00918D6DAA07F2F38B336A3C5DF3708865E75 +0DE04D3AFBCA27A249E97377D5785B4E28EE0E93F7D353619C200DB967372ED2 +153BF8BE945474266EB2FD30F80042A11B7E3586DE4AB1FBD4A741D36DE583E9 +1CA25DA345520AA60634EC819E7EB493CDB128BBADEC3890F055455F060A1100 +D5A41D7B180027E08AD6EE7E393DB9F83799544404FE397F557773BE6A130541 +157C0EB37E036C94825B5090EF85F8B4E3DB72895D86687758C20EDEBD6D1079 +196E9949DC6ED0113571C70B150B37E446E319EC54D44CC0CF6A14760953DF4A +D0E1F33A54D240E236AB63B35BA8E071D77776BE5B9312245F2C6E4FDB4312A0 +0D9CF723E7D9A3D8546C4739C00C301A89ABA60A02757AB1A0AC40B24CE6CF12 +5850485B11E16646D7150795EABAEB08364A53161111F46A7BC3423A0D3BEB69 +BF15726C1F8363914945DEEB29CB8766328318AF3B344FD6D77BBB92BD7FD161 +93356493D4D8252AD125708D47C124E44232FB2BF7DD75F87889496DCDB75D03 +F58A57D4122CFC194B75A9E9C4789C9A33C0435FB4ADA16AD4A6191928D1663D +05FB8152C0AA176FBA4755205F8A66713404787070757D3721ED6E6D55A59DF0 +C92BA8F05EC7BE05D0A2E66DE85E75373483EA3BBEE0F0DFC7E2FA5FBAFAB118 +058D095AA71FDFC8AF37E5A98406B64E58BF476C6926725D7EF3C2346CE3F662 +1E5A4A18D966479A37070859014719456EA2C7F23E68E1AB2F25ED3A0C00A18C +DD403506923BC983F89CCA125780DC76A411472E38173BC0DD4CDA7B43E13419 +B5AB0B9A35E77C58BBA12AA4F5C7EBF8A29996B059E4FAE6809565570442AEE5 +D56CBF4407E1CD9A4398B1F3ADFF023F64B230E3D29F526B62D964F5C8DF801F +E94295AD85BD9E1C18E6327977260A871E921C0745CA06A263E335E344686E7D +D6FE3ADB4EE0A7E462F3C00873C3E95D183CCEC71C0E5DC1D2FB310B28FC3611 +67C23DE336C374F72368F4973052B48E39969305791C986E6EE35D0350571860 +3A8ED849712CF21AEF444BA390644E8646CCA16559BA4642A5800827A0DDC453 +7CA0818BC47DF6348A5209A2F0A10CA39840CE6346E89CA0E842BE8692DEF25C +4623A5A0E0B98708B9492E9F564324BB3872D6B953CA59E9F393C477E2AB85EC +C557D333E88C111CF995FB79D9432DC94C2BDB3BFEE13C0D7D1BB920DAFA6158 +8548447AFC65CD5515D5021E0ED7D213B0C08C35BB424AA91885CA023D7AF767 +B83E619B15DFEF5588D2F0564296E14B5A6ACE03751E1016105C51BE76EA5ADB +4167BAED2A8899031FD7BA05C410ADA25ADD94A787EED1A7AE133B0568B1DBA5 +44B41BE013782CFCA3D81E8E8210DD506ADFCE7DC7E792EFEF438221164A7D1B +5E7089F476240C5F94988F081943F24DBF7CC3D1E58CB89E1C0C1624682CC3D8 +C95815ECC9183A4B3E353C7F920B7E64086E01672DAA7C8A81319BAA03C1FBB7 +8E5E84CC5BAE0E107754794C755B7AF00953504094E1A9DF357D51B578259613 +8D26F0BA26AAC459BBEEB90BCC98B865EDD26AA4DF533D6624EDAC762C446B6F +CF9F86DD2D8989D4655775E662B93BF51805EE3CBA0AE2293D95F166E80973CC +82C53042D0249C598B0821E9E7F218BA6114EEC86C158F277934F2651490B723 +7F0D0288560DA5BEBAFDDF243048E590871AD18B3B220EC56549004DF122AA03 +BAAD6971D790BC644369FDBEE74A324083CFA9496C2A333774F06E35299242BC +F4B26578907CC5AD1893613F2B8622CFBB7B55810162EEBFAAEAB2A6D69CB72B +D7859C73843E665125FF450631F32E64F13A6207F368103C7A7318DBAF2560D0 +F1CDD83C3E48CB30C62AF1E0896E1962C655D9ED98E1BB38477C1C60ECDB6B95 +067D3A638AD43EE886338F7AD2D2A574CE6FD2E21F6FCB4220EFEC85ABF8272A +82081CE70E4390A74EC717F1DDD168F4A4A080A79EE2ECE0F98A96871DA4B52F +78441601AF47763C2219F5A167604C32F478D498835EF3A6167936994F7C7139 +3019FF43C97E7978D3CDA641C1E391FEA572D308E759F28DDE2B40B5BC207A4B +C5EB6A93EEE26782016F8B6534420BE4D790A2E1A65B6CDBE9468152230384FD +14E9AE84418A44F94E6825DD7D77D0BB5486DE26A692B3DA96C81FA4440C5D44 +8E7F3CAA9B8DF38F87E09C4D78841F629F78F4E7CC8580CC44E59E5D9AE8B2DE +C0682F793AE7AEC12A8AE688636197E8A08FEB70EFDB6203681A60223B9B0D39 +2DA656E5E99B82130D4BE38D7AFE18568DD30B0CC3C73C1E2914ACE11A65334D +A9F18135E7B86157122CD221C33C62012FFB16D2D2F3473A53BE3E7B9FD4303F +66ADF0B07155C7B9B002EA68C6AC7247EB3CE7D2670A60138049DAA964F86A05 +22983EDA7242E6BEEB90DF61C937399B2CE1061DF1E551CEED4A80D86C2D4649 +C9FF9A1F93E96773CD392478D5B70D5336A03A274E0A6EF44BE8CB2274324142 +706BC2E340DC944339D647961FD7BF29944503B4AFCDC69A706AA6B0F6AB2CB5 +D220A96ACC1EE5E7826F6F75F044224E5260D581AE761AD0C752A06AA03FD935 +FAD65C9EDD4E5505396E331D45DE88F0D1A4303D766ABE0702C17E2A7F53C0EA +96A4DEC5A6B6186F5DBAAB05DD78E38AFE630465BEF0EC66ABA9C1C9232214A9 +795D105C33CF069F6BE20B179F4CC9F484AB63ED25C1212C457DF62CA0D56E20 +608572216F2D4C09010B03A8AA6D287C8F514BEEDC1C912552CC2489858BF4D3 +084882CE4F4B6FB9EE27C0168671E6DA154018ABEAD013C88E1D3EC918371251 +63D95BA0FE20212C20AD3F4DB614EE36B488A3F55D94C1EDFCA8E68E54A1EED4 +7DD168DCCF07C3DDB5E2B499DB5635C5C5056A7438120DB4839427D07F96AB8E +F842E285243E40259F6DF029E27779CCF3D3BD7206B2C341045A5A4AABACC2A5 +91C6830FE05ACDCFDE99046F16F2AC183426ACA4A89FE5F09B7EB2F811BB5FB5 +AF073BDA2886070B2327D582DCBA66B47E8948C3BE05E837BE4B81402A583403 +74FF9E938F0E9DC3B1CB81B93DFD4070F9EBAED40BA570DE8F9A5C2C0A097311 +22A6065139A6580E332473E9410D9F4C734794F79E41D0D437CEC7381919DF6F +A24B170E2BC97A6396A4E3AC3D844AD6E2B8FCE1C6AE97DFC5319F49130C3D6F +AF2541EB2384D5D4CCBEB976846EF8C2165DBF706112BDDDEC9A57D157F5996D +95229FD5C71B885D16B177BAB06B9DF5740A45C2A005778EE879193290419C0A +A4A339029E37E685B8A05B111DDF94AC19B1D85C8E6026E57E3D3B373C08557A +F96E6FE3916695ADFC1F0BF5D558565F42A71C61ACFEFC9026424397F0646642 +7EDAA05794BCCD164A645860B57EAD53CB6899B18C6E9496EA4DAB0A0C272639 +DEBC4FCBA94B3BF123F7771F602E7667C8F56E12429669F2219C7D8E294BE07B +71E88EA62F5616CAAB7C0198E6FF12A348E36B306FE2684A401399431B6A84CF +B46EE4BAA0F4099E65E9AF3B70274EDD6B6524F4FA38C23F9CD5273EEDC8C6C3 +E7312B6E0497C05AD3F3C246638F01387CC11DBCBD287ACF54D8E24759F51415 +35ED64132EF4158F54AB9F4D567482B3057880490F805822F71E7E2C52F7BC38 +8B1F803AC3731064B90E5E97AA3351D17E73DC2FE526CD6C91158636E395867D +C1150FD3BD12493FFFB813AF0D08C8ED0B7418A2CF90BD5B783364358605D075 +5DEA95A9299C0654EFB28E2FE8A41358A0DD124D0314A27558E42ED5F2D74BB7 +056DE04D2CF13B9B804A3CBBA29BC155A3F18B8B48283194C33CE8291677E1EF +0721138F8E0409D49BB99F217607586D2DF00C29A25536E21924B4CF6702CF85 +C02DFBFD2AA4DE3DBED1D2C02E21052A8D10F96629D0D18154923638FE0C48BD +E2DEAF11663E20717EA77A5453686AAA39D6FF7919AF09B1AD956FDBF734F49E +262F3076F62E77BD45122B55A5913902D9F91C4246FC235BA9C0FA4A96994291 +830638949BED423387DA2D455A3C9122484EFF27F5367D1D3DD27D207D973815 +965E1CFF36F43C653ED406F65348671D9FFAF55BA3FC266D438AF473181B7801 +164EA3F04FEC870743195B3F467DE36B3719BAD9BF15A18637A314C887D46673 +445BA3C212749B0A33136FEE9FE2C9A13D62E7ACC96378D257FBE0EB06AD4D4E +D41976AB92AC720DFD33B0677062C32E6F5C992A0324FD26E984B5341A58C190 +D20EC3F1144697D514D9157340A6C9F82E62AD8CFDEE59F6FF86C6250CE33D6B +BB82DDB4F65BEFC6F6D0E4044F7BF307CC346E2FFD191846E3CA288C6F91CB71 +5FDE855FEC5E38816CC635C470BF15263A10A409F0BC4877F7E6D4C223E3564E +E7BB5B320AAA5AAF4F32528F7413BFB97C70FF5E6843E1FE501472129BC9758D +7531BE576C75840CBC4CD3E6D9E5FF52559B68DE6E7827128BB2ED1BAD43F36E +A0CB68C1A147A7093EB02062AC5492DB7EEE08B1BDB187E15339A66269E459BC +67495937B4317AF66A498923322B087ECF47B601C26E253D223A784DB2D204FD +0668BD403A73723848018B7C86B627B9AE0BD9038F567CD5F670CAFC5C4D86FC +ECA211B713ACF8C1370191161CBB6C2592E8B9DBF3471133F2D9A60F15D72F9C +5E5539D59A6A7E124D9A38A6FF6EB7C71990716F88E1888295584F17D49144B2 +B57183FE1C6ED5D71A48D20EA8C18DB6CA7D3C3A6403B9A767D805747C0D25BF +7F2F88CEE69141F72141640FD36EDB5886A78D3A1E0FA4DD0E213082C3E6822B +F981212D179C25CD0570748C3BBE642CCF1F43F5226B9C2EEA6B966628B185F7 +11441471ED972022B4D84CF007C1D9B1D12804610E4F730DAF2F2D5AB767C320 +C62543E261EDE128761D164A9843955BBFEC7213307B78378CD1914FD7D79D14 +947572CB28073B7AA530ADC51270B03CEB7FD7ADB4D72671135435609A235501 +EA55EDE2B2B915DCA5D50A7E3512B325253FEEE5FB8F99189924DE9EDDB672E5 +653E83A354F6E55F47CB4B2F056C6232AA66CF460A06E592FB4DAB538C280A86 +6C7FC5A1A8A411A597335E6BCB62888AC8539B30E8AC2A39A813FC4891B49E77 +75375100F55E9F16BABDD3F76B2F587530D12214A376FCA98170E67BE8E450CF +CD9116344965344652128A18AA5FBC61A89117BB7D016B4F18A1BBBD8717F984 +F8E429995D5C39BFEC047550D9ED7F9B6538EF020EB60AB57A17600467AD46FF +AD725999FF72F5DAB93D690AEF7C4640D3A85F71763090740FFCDFFDCA590A91 +FC3B7CA38DC0F1A788550208C1A92993333550753088988692F0931B64538968 +780D323E550908A44EFF17F43281800B9FA0A227DE31664FF3148CD766D2B1FC +A5CDD82B16A4C0A4E5CAB9A3C2617E9840E977A69D17CF0E2E6A8B1AEB0618ED +75782C64036BF2514420F656A8379A287081D6EC02EEED83D5271FAA4CCB27EB +522C2FD607271D1990A0E2B70C16371E0EAB42602BA9418F290F9DC6C5D659B9 +C7992F238557A504436771189D70BA4B690E4185B10097B1EA77C1CCAF3004A6 +EB513465AF0578897ED0091038F790C5CF9818CED62E323A6B43C465B0ECF9AA +7BA13ED52836F3578BB6B2F6369260E1DD0A204E285338642532060DD5BDDAD2 +91A327F1B132EC549E1D0D5AEDCC8D63E1FA43A57BC9F963384FBAFD4EC19C67 +EC6143A21DF169E1CCC33F1B16293CED9F1BB960AEA4B41AEF27D0387B12FC9F +2B3C476A858670B98F69EF399C8C6D80FBD6C57E7030F9D9D5EC79E263AD9F23 +0CFE38A7D8FAE476CD9BA96A1601A2788247AFECBC1C66F95B6EC3F6B8472EE3 +FCDDEF445A07C8AA2BD0DA9ABF3B69A83BB06B5136A8AD22957E0EDFD2B9A6F9 +158F1B49139D98E8467E3A85DBAC942064CE728D9C098F9169C4CDDD84A1CB4B +DBC4ADD790FC086C2950DD90AA8B50BBA0F69C64309B631FC42142402F9F5C44 +5A3DE9CAE675685C5F398ABF78BF6EA8B96B437DC224632FEC4160156C09A74A +29D656BCC1B1FBFFA82FEF9C869D1AD1E70102C8FF6A57BA9D41A94A9E2DBB08 +3ECFB88C2393164CFDEE8D6F7443090E881C886BFFF5844698CA4395DDDAB76E +E9AC0FCC1BD476FC1AF9CD7198C18F2EDB4E80FC1BA717EAEC1A10E9B42A78FA +D134BD20E0B457E044DECE5D0FA107D02C67EEBE7340070E175E31439636FF1A +6406022BF17A512C2E9752184831BE0A31197C66BA29FFAD724C0438F2FF8E93 +58A1E63ADB0FECFCFEA88A34D7E42856E7169DC484838DDB1031C62B32BA99BD +A38250055C78537BABEA7AE8AFB6F2489E14CD00C56DE6DEBB75DC2AA19172C3 +8986D0201F7F143BE6061A029C75955BD8882506D3ADAC59B665A7C7C7A2CC6A +5FB2CDC1133F257A44AC2F62C8D7264A16EE33FF2F1E0D51E3CD97036E8A5188 +35538375B6EE00093E3A6D2F261E6F833FEDAC632D8E35EC17F89B11545B3741 +5F53E4CDC0123AB600AFB1C0BF865B616F2807C4D037C9A8646370E3E48A0499 +E529FB435E02ABD0CC9ADA6611E0A484D7DEFDE317868382059B9BD36A2E978D +E461024E3D932D1D66BDCFB2E5BCEDD39B7C6FB7F63D699F84E4DB63E30D808E +ED5FE3DC3F00E3DDBD06B82787B8E860480240A8ACD263B8E901002253B8CBB6 +25F497577258F6CF92CCBEE015A2FF661DEB6E27E6B18F8DF67BD7C4484FD11B +8BF0D13548697BA412900F3554A99D33F5C50C6CCFEDF87DF5721C7707736BC8 +C68F89AF7D8198AC510A27BDD65361B4AFFCEF10DD5761D7C143AA9EA1482361 +D41EC9976246FD76D3F6A41E4A88E306AA9207ADB33D676739968C185061CE8F +0F5BE904326B93696305B3A8B03EA3D26D4B16CD743B84CC4651C0A1E7703436 +61B8F60A96EFAD6AFB646F54CEC7CD2F100300AB9B2844BCC1BDA289F7A524B2 +50F23FFF2BDDBDE100030F7CE1F5F81E4EE3794B4A57C7BF04C8915D33E9CB74 +2F3134A928FB530E68BEA4518AFFF226018EA2FED6FF48C71871C1DEF6EDE48E +B34764BF2B43AA6464374444E09AB5C56212BE811E8D15DF1B4756D23E164F05 +70E04A40DD56ED7C0BE6D42A1667D0D2F8D2D253AB911E437ACDBC56D765E26A +7ADFE32C2A8F368262FD7B68E1EA6FB161BA30AC2386D572F7DB45E2DB8D85A3 +8B95939A4FEE586188BA82718C5BABE415632517B378D4D9C04172FB390B6658 +FE17042FBFE96B503A6146E0E7FB95480F9835F816F0BE0999FDF559AB9DAADB +7B86DC33ADE53D8B33C52A4939445D2CAE72F02077BBA85018624AB4CAB58A06 +5F5A527435CD38717DB7EE6357EFD12E35B689B185F0B376696D0E9C99E392CE +89D42BFAB8901395F21EA77BC11AE0AEEBA0288297852CD9F52F359B81190CAF +48D8DB7578D649409B25BF519E004CD989075D48D5CF381AC07767DF59D9E9EA +A67BB06D036F46DB07480ED41E24AE18179BB3699261E5FF6952CC0A23C72F86 +81D4BA27F39EF02609F37CEC6B28EF1FB908E97F0C43B809CEFA5DE55D8C8DAB +442DE761D727639D26DD574CC13B99AA152CAB93181236456680E56AF5E43FB1 +96B3DDBDDECE3698B96552D2B47DC613FDF97902B8CA628847EE5E39A48DDED1 +FAF76061C59C36316C0DCAE8CF22BC7AB6499F2C3E896E80A8EB58F1CF09E490 +BCD67F26A2086C7D7FB59E41A2A3E5E95B9994F9D5714E5C8035EF2B77717B28 +43D938FD6F75CF2AFF33B24E6193B3E9B5ADCDDE513A2F933ED6F43E54D9E4D3 +6B63BC108AA2AC3C0D1FB57450F7DECC3DDA8D862324A1FD9EF92E7862224A92 +CECEFAEC81B103A690617A150ED09DCB2414C28CF6109710920973BCC04C68E1 +B2C7F0DBB2215030F0CA2ABFA25F2DEEF96CBF632E9F6ECFF371053FC7722502 +0E7D96CCD9F92B3D6C6A5A66EF30FB955E04936AE7C607DB4182B3E7522903CD +51BEFC4256611298AB2ECBBCC3B3E0AD078C0C646C7AD5940D63601082D676AE +8C5895AACD44A94EDC85FDDF9078BBD45772DDECAB9FCF51294D0A36E6050085 +349BFCD4847D8A47845A8312AF937E5099BE31B9D745EDBC744B5BA8199CBF4B +55A04CDCC38EDF6806A50B311A91F332F8B7D028D2E0AA77DE19807AB7BD2CF2 +16D7321A2C286F3BAB927465CDCF3BAE550C9C87465B5918C61D3E4830487122 +B97D35D8ADC7630795D46E10E50BA0663A41F477C67197ADDF9573FD350CB7A6 +3316DF111B96E0436688DA51874BCB7EDB6421B7D787C30D0D6DEE7A8FB04FAE +48B2209DCB600FBBF146ECBE6AFAA51750FDB35BE3278AD5600D7E027378D3DA +74E1A16D1FC85EB3E36299524D5BA829F13E28DA37D07FC2EA2A68C6CCD113B2 +5AA3A3FD701CF10108E4C91E79E2C085CAB89CB9682E9DDC9991AB5732197767 +E67AD742DD781213B92DC7048F2BA8641D86BFA8C305ABB453513AFCD500CF63 +80567745840DFAD7EEC297E9B5D784687DFE383AE0921F6285CE32C7AD5E01FC +4CF6B41627C4DD42DEA4AE2402C358C95D4E610C04B7D275E279CBB2457590D5 +C58319987C4D8948E92ED060B184AED9B8206B69B952195B242D1E30E242594F +40625CE181FCE0CA4B1844627961018CDF734015AE780914C68C7A4B6A40BB74 +8BE7159A7173F840645D90448AC103CB5FB33C5A29FEB0C8AAA8F493BC3DF407 +5E3C03F02FF2E5B3B2DADADB9EC50D21F09F4F4C9A80499998F6412097932328 +A0C807673351F19271D02660B3B0B122CDBABC38C413E868066808B8645114BE +D56751A288486CE7A3EA31746F5F04E46731962F5A0132F67C62F71491E4AFF9 +41FF406658ED53155B376FA77EA32633581375541816C6C6A31473FB9AC44F02 +A2AAC603A0E25BCB806393329014AC9F7E2568997707C9854826CBF84659800D +D7F74D96FF5D39C17B9ADB9A6AD9AB1E9695B052BAE1F2A604257FB45F00F491 +290EA2D1FE9C7FB5E5E81D3AC401C254C941B74A100FCF572022B7C7186A9CD5 +C06BA4D26ADC66C7E09530701BA4E6BC5010840133D4CCF8880FB13921C2D7F3 +A46E61A48C4186A04E4A3B00318FB66E2AC902A63E360542B8D3235F2BC93637 +06D80E9575954A68C00FE890557A94F1ADFC3721304AD3B78FBC6CF30B9058FA +1A550325CDFEF0B500CC8E01F87D34DBE05914D182B5D4389C8575F444ACDD44 +E5C8BD2C3C2F5BC303806F4B8DD396F16BA2819A3480CD6766D7B375BA653441 +01DD2536C845C283CE545A281B2B4178D5E35E898A28BF72B6F0779D51A58A25 +0EEE5A0E29E7CECEAC40F87F5A96997B824C6F6A14F21BC39ADCA95D9AE952A7 +AB150DDAFA07134206AEDEB246B6D304BEB46DB7C9C1AF68259A065614C6D33E +F1F50FFED01067E4B1C31A60E377043D87E99497C88F040712B2D7E234E6D7C9 +074F82F900E392A08B6604A326F44BB086F7B3D997DD0931994B4833509E1FD1 +377991AFE01152D6F2DFC3E3B0585DF07D333960265264409AED0DBCB0BFE4FB +9B17F713176F923784B448E006EE90003B343C25FC7AD7743017FFE87C91BD40 +A648ADED466F85FA2FB670D3C873D4BA8D48B7B050438832E766BDB8D11EF2C9 +C92729FBF123AED75BC2BCF2B704A7659171FDA2F4AC04D4F59475CA59B4934B +C05D89FF01A78E01858BA75941DAFF7132C4C30C6FCC948C9A833E126BFF36D0 +50121814F70E63A0B7BF29093D38B9C6B8BBF71046D1BC301AA0FE181C13ACE0 +8EB40D7AB98AF2CC530C9AD75A7077195A62B72AE9F3417B392179FA634A9835 +343E4FA2E6842B65785038EB869BD9C6F207313B49E44F1228E6EAB3E5CD16F8 +2E76C351B37D43F0218AE3F2E645086AB90F6A48C4CF92498AA8AB5F1F402A9D +03F2D6D55778E28C82583F8822747C647EF53AB68FA046DA38D560CBBC2498DF +FF3B493041AE7973577030000702E0B77950331D4B28B54C51576DD540A216C8 +DA67D754B773038F5885A4EF0AA595742114DFD130E0EF138719B432C1ADEDAE +8BDD33CB568EC454F2FE435470A9891D3C8C995053FCE888EC5F7A4509A77FF2 +D6AFAE751272625B23F5E32B081469CECF8E8F87F7C0A32D68F7A6D2F5151BA6 +6B6868BE45468342210DF57A438C81C05D45929F2FB47E11B03AAC4665F8A1B3 +2971B00CF1490231B33AA21715C27C40526B554DAB4265B4EB899B73490A1F75 +5AF32445552769C8C506ADFE0AFF58F980DE0949F2060B5CDCF5BC2B9214743A +A1EB51234369021B1B51361ECC682CF4489395858C661EDC6E7488F6D95E3FA1 +590FA3CA96613756EEEBD409886A78FA1A7B1211C68559F2A591D213B24C57D9 +566477F456E539D3AEC0FB56F09E77D1C5D7B149D56327A846816163ECF20390 +372501BC8519B9AC8D98C827DBA2BEF673784B6B78A89D0B5E030436F439AC25 +FBF815E78A85DAA1AF220803DC01393398AFFF3E193192DD537F16A7152F696D +2C95E0AA1DF307D4C152D325122C3EC09E289A5844661C81E69F5E5E1D5CA1C0 +EE8F914A5CB2473BB9D953FBD6A5102B2FC7E0DF44C7AB7372CF32DF81150701 +17C2B4E1E70A4D827AA467F862F04162850A4CFD0F81A4DB3C65027957A40CC7 +AF55FF4FB4DEFE25CB6B0593EAD93E47F4755DCDD8F734E630E7FAA238AE9ECF +5AF2806EDF0CE9C7135F17D1A145192EA884AEC71342A329A29869ADFC5883DC +A5B8470675F02860DC4DD8723D9342F5FCA7CAB1D506E2F662444181931A6704 +7BD96E7921CC4E818961E88E9051A4D87B475CCBD03E81787DE8F56D3CC6ADFA +71D030AAFEC4DE428867416582F14E7ACB7A3C1522DFA33318D2901A04603692 +96C04697C5386518D9D32729AB9AC3D2F8819A402050D25EA2853F3B6C358803 +2C87CBECE387344FC55ADD6D9F58146BB68BC44A7C29EEC21CD554AF51A32F94 +174F181F5BA882D3B9DAC2BE977004DF191471 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 39158280 55380996 1000 600 600 (tuggame.dvi) +@start /Fa 219[42 36[{ TS1Encoding ReEncodeFont }1 83.022 +/SFRM1000 rf /Fb 218[68 37[{}1 83.022 /CMTI10 rf /Fc +145[42 6[42 42 101[65{}4 83.022 /CMSY10 rf /Fd 198[28 +28 28 28 28 28 28 28 28 28 48[{}10 41.511 /CMR5 rf /Fe +167[50 5[62 83 5[75 8[71 22[58 43[{}6 83.022 /SkakNew-Figurine-Bold +rf /Ff 152[48 2[53 42 53 46 39[48 48 48 48 48 48 48 48 +48 48 1[27 46[{}16 83.022 /CMBX10 rf /Fg 167[50 5[63 +79 5[75 8[71 22[59 43[{}6 83.022 /SkakNew-Figurine rf +/Fh 132[42 1[44 44 60 44 46 32 33 33 44 46 42 46 69 23 +44 1[23 46 42 25 37 46 37 46 42 9[85 2[60 1[61 65 57 +65 62 2[65 4[54 3[59 4[65 3[42 42 42 42 42 42 42 42 42 +42 42 23 28 23 65 1[32 32 23 5[23 20[46 12[{}56 83.022 +/CMR10 rf /Fi 141[166 1[166 166 2[166 1[166 8[166 6[166 +6[166 1[166 166 166 3[166 26[166 48[{}13 166.044 /SkakNew-Diagram +rf /Fj 151[43 42 25 37 43 37 43 40 40[42 42 42 42 42 +42 42 42 49[{}16 83.022 /CMSS10 rf /Fk 134[51 3[54 2[38 +2[49 54 81 27 6[43 2[54 49 12[70 9[50 1[73 15[49 4[49 +49 49 49 3[27 32[57 11[{}20 99.6264 /CMR12 rf /Fl 134[74 +4[74 74 7[74 9[74 50[74 46[{}6 143.462 /CMTT12 rf /Fm +135[70 2[73 51 52 2[73 66 73 111 36 2[36 73 66 40 58 +73 58 1[66 8[99 3[96 7[83 6[90 23[43 45[{}22 143.462 +/CMR17 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +/setpagedevice where +{ pop << /PageSize [595 842] >> setpagedevice } +{ /a4 where { pop a4 } if } +ifelse +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 150 307 a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + +150 307 a 150 307 a +tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end + 150 307 a 0 TeXcolorgray 150 307 +a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + 150 307 a 0 TeXcolorgray 0 TeXcolorgray 263 739 a Fm(Example)43 +b(of)f(the)i(LaT)-11 b(eX-input)44 b(and)g(output)f(of)g(an)g +(annotated)1106 922 y(c)l(hess)h(game)f(using)i Fl(skak.sty)1536 +1162 y Fk(T)-8 b(orb)s(en)33 b(Ho\013mann)1629 1358 y(July)g(18,)f +(2013)p 0 TeXcolorgray 0 TeXcolorgray 359 1638 1345 9 +v 301 1750 a Fj(8)p 359 1804 9 167 v 368 1804 a Fi(0l0Z0jrZ)p +1695 1804 V 301 1916 a Fj(7)p 359 1970 V 368 1970 a Fi(Z0Zra0Zp)p +1695 1970 V 301 2082 a Fj(6)p 359 2136 V 368 2136 a Fi(pZ0ZQZ0Z)p +1695 2136 V 301 2248 a Fj(5)p 359 2302 V 368 2302 a Fi(Z0Z0Z0Z0)p +1695 2302 V 301 2414 a Fj(4)p 359 2468 V 368 2468 a Fi(0o0Z0Z0Z)p +1695 2468 V 301 2581 a Fj(3)p 359 2634 V 368 2634 a Fi(Z0Z0Z0Z0)p +1695 2634 V 301 2747 a Fj(2)p 359 2800 V 368 2800 a Fi(POPZ0ZPO)p +1695 2800 V 301 2913 a Fj(1)p 359 2966 V 368 2966 a Fi(Z0Z0S0ZK)1696 +2966 y +tx@Dict begin tx@NodeDict begin {-10.0 10.0 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1696 2966 a 1695 2966 9 167 v 359 2974 1345 9 +v 422 3049 a Fj(a)124 b(b)i(c)g(d)h(e)134 b(f)f(g)124 +b(h)78 b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 20.0 16.00006 +20.0 5.0 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 16.79993 -3.20007 +23.20007 3.20007 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 178 3198 +a Fh(Fisc)n(her{T)-7 b(al)26 b(after)h(25...)37 b Fg(K)p +Fh(f8!)p 0 TeXcolorgray 0 TeXcolorgray 519 3381 a Ff(26)246 +b Fe(QX)p Ff(d7)178 3572 y Fh(Not)28 b(26)f Fg(R)p Fh(f1)p +Fg(+)g(K)p Fh(g7)g(27)f Fg(R)p Fh(f7)p Fg(+)i(K)p Fh(h8)f(and)g(if)178 +3671 y(28)g Fg(QX)p Fh(d7)g Fg(R)p Fh(d8)g(29)g Fg(Q)p +Fh(g4)f Fg(Q)p Fh(e5)h(wins.)p 0 TeXcolorgray 0 TeXcolorgray +519 3854 a Ff(26)246 b(.)15 b(.)h(.)229 b Fe(Q)p Ff(d6)519 +3954 y(27)246 b Fe(Q)p Ff(b7)157 b Fe(R)p Ff(g6)178 4136 +y Fh(Within)29 b(a)e(handful)h(of)g(mo)n(v)n(es)e(the)i(game)f(has)178 +4236 y(c)n(hanged)g(its)h(complexion.)178 4336 y(No)n(w)f(it)h(is)g +(White)g(who)f(m)n(ust)h(\014gh)n(t)g(for)f(a)g(dra)n(w!)p +0 TeXcolorgray 0 TeXcolorgray 519 4518 a Ff(28)246 b(c3)178 +4701 y Fh(Blac)n(k's)27 b(extra)f(piece)i(means)f(less)g(with)h(eac)n +(h)f(pa)n(wn)178 4801 y(that's)h(exc)n(hanged.)p 0 TeXcolorgray +0 TeXcolorgray 519 4983 a Ff(28)246 b(.)15 b(.)h(.)229 +b(a5)178 5166 y Fh(On)28 b(28.)13 b(.)g(.)h(b)p Fg(X)p +Fh(c3)27 b(29)g Fg(Q)p Fh(c8)p Fg(+)g(B)p Fh(d8)g(30)g +Fg(QX)p Fh(c3=.)p 150 1596 1763 4 v 150 5196 4 3602 v +1909 5196 V 150 5198 1763 4 v 0 TeXcolorgray 2033 2369 +a Fd(1)18 b Fc(n)o Fh(fen)n(b)r(oard)o Fc(f)p Fh(1)o(q3kr)o(1/3)n +(rb2p/)o(p3Q)o(3/8/1)n(p6/8/)n Fb(\045)2033 2469 y Fd(2)g +Fh(PPP)n(3PP)o(/4)o(R2)o(K)27 b(w)h Fc(\000)f(\000)h +Fh(0)f(26)p Fc(g)2033 2568 y Fd(3)2033 2668 y(4)2033 +2768 y(5)18 b Fa($$)p Fc(n)n Fh(sho)n(wb)r(oard)n Fa($$)2033 +2867 y Fd(6)2033 2967 y(7)g Fh(Fisc)n(her)p Fc(\000\000)o +Fh(T)-7 b(al)27 b(after)h Fc(n)o Fh(mo)n(v)n(ecommen)n(t)o +Fc(f)p Fh(25...)e(Kf8!)p Fc(g)2033 3066 y Fd(8)2033 3166 +y(9)18 b Fc(n)o Fh(mainline)p Fc(f)p Fh(26.)26 b(Qxd7)p +Fc(g)2006 3266 y Fd(10)2005 3365 y(11)18 b Fh(Not)27 +b Fc(n)p Fh(v)-5 b(ariation)o Fc(f)p Fh(26.)34 b(Rf)q(1+)27 +b(Kg)o(7)g(27.)g(Rf7+)g(Kh8)p Fc(g)f Fh(and)i(if)2006 +3465 y Fd(12)17 b Fc(n)r Fh(con)n(tin)n(uev)-5 b(ariationcurren)n(t)q +Fc(f)p Fh(28.)37 b(Qxd7)27 b(Rd8)g(29.)g(Qg)o(4)g(Qe5)p +Fc(g)g Fh(wins.)2006 3565 y Fd(13)2005 3664 y(14)18 b +Fc(n)o Fh(mainline)8 b Fc(f)p Fh(26...)f(Qd6)27 b(27.)g(Qb)o(7)g(Rg6)p +Fc(g)2006 3764 y Fd(15)17 b Fh(Within)28 b(a)f(handful)h(of)g(mo)n(v)n +(es)e(the)i(game)f(has)g(c)n(hanged)g(its)g(complexion.)2006 +3864 y Fd(16)17 b Fh(No)n(w)27 b(it)32 b(is)41 b(White)29 +b(who)e(m)n(ust)g(\014gh)n(t)h(for)f(a)g(dra)n(w)o(!)2006 +3963 y Fd(17)2005 4063 y(18)18 b Fc(n)o Fh(mainline)p +Fc(f)p Fh(28.)26 b(c3)p Fc(g)2006 4162 y Fd(19)17 b Fh(Blac)n(k)n(')r +(s)39 b(extra)h(piece)h(means)27 b(less)k(with)d(eac)n(h)f(pa)n(wn)g +(that's)g(exc)n(hanged)o(.)2006 4262 y Fd(20)2005 4362 +y(21)18 b Fc(n)o Fh(mainline)8 b Fc(f)p Fh(28...)f(a)o(5)p +Fc(g)2006 4461 y Fd(22)17 b Fh(On)27 b Fc(n)o Fh(v)-5 +b(ariation)7 b Fc(f)p Fh(28...)f(b)n(xc3)27 b(29.)36 +b(Qc)o(8+)27 b(Bd8)g(30.)g(Qxc)o(3)p Fc(g)p Fh(=.)p 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +1892 5919 a(1)p 0 TeXcolorgray eop end +%%Page: 2 2 +TeXDict begin 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 519 405 a Ff(29)246 b Fe(Q)p Ff(c8)p Fe(+)178 +588 y Fh(On)25 b(the)h(wrong)e(trac)n(k.)35 b(Righ)n(t)25 +b(is)g(29)f(c)p Fg(X)p Fh(b4)h Fg(QX)p Fh(b4)g(\(if)178 +687 y(29.)13 b(.)h(.)g(a)p Fg(X)p Fh(b4)27 b(30)f(a3!)36 +b(b)p Fg(X)p Fh(a3)27 b(31)g(b)p Fg(X)p Fh(a3)f Fg(QX)p +Fh(a3)178 787 y(dra)n(ws\))178 887 y Fg(Q)p Fh(f3)p Fg(+)i(K)p +Fh(g7)54 b Fg(Q)p Fh(e2)27 b(dra)n(ws,)178 986 y(since)h(Blac)n(k)e +(can't)i(p)r(ossibly)f(build)h(up)g(a)f(winning)178 1086 +y(K-side)178 1186 y(attac)n(k)g(and)g(his)h(o)n(wn)f(king)g(is)h(to)f +(exp)r(osed.)p 0 TeXcolorgray 0 TeXcolorgray 519 1368 +a Ff(29)246 b(.)15 b(.)h(.)229 b Fe(K)p Ff(g7)519 1468 +y(30)246 b Fe(Q)p Ff(c4)168 b Fe(B)p Ff(d8)519 1567 y(31)246 +b(c)p Fe(X)p Ff(b4)148 b(a)p Fe(X)p Ff(b4)178 1750 y +Fh(On)28 b(31.)13 b(.)g(.)h Fg(QX)p Fh(b4)27 b(32)g Fg(Q)p +Fh(e2)178 1850 y(White)i(should)e(dra)n(w)f(with)j(b)r(est)f(pla)n(y)-7 +b(.)p 359 1966 1345 9 v 301 2079 a Fj(8)p 359 2132 9 +167 v 368 2132 a Fi(0Z0a0Z0Z)p 1695 2132 V 301 2245 a +Fj(7)p 359 2298 V 368 2298 a Fi(Z0Z0Z0jp)p 1695 2298 +V 301 2411 a Fj(6)p 359 2464 V 368 2464 a Fi(0Z0l0ZrZ)p +1695 2464 V 301 2577 a Fj(5)p 359 2630 V 368 2630 a Fi(Z0Z0Z0Z0)p +1695 2630 V 301 2743 a Fj(4)p 359 2796 V 368 2796 a Fi(0oQZ0Z0Z)p +1695 2796 V 301 2909 a Fj(3)p 359 2962 V 368 2962 a Fi(Z0Z0Z0Z0)p +1695 2962 V 301 3075 a Fj(2)p 359 3128 V 368 3128 a Fi(PO0Z0ZPO)p +1695 3128 V 301 3241 a Fj(1)p 359 3294 V 368 3294 a Fi(Z0Z0S0ZK)1696 +3294 y +tx@Dict begin tx@NodeDict begin {-10.0 10.0 } false /N@BM 10 {InitPnode +} /NodeScale {} def NewNode end end + 1696 3294 a 1695 3294 9 167 v 359 3302 1345 9 +v 422 3377 a Fj(a)124 b(b)i(c)g(d)h(e)134 b(f)f(g)124 +b(h)78 b @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict +/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 +0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { +moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 +1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 20.0 16.00006 +20.0 5.0 /currentpoint load stopped pop /Lineto /lineto load def +0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 16.79993 -3.20007 +23.20007 3.20007 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 150 311 +1763 4 v 150 3420 4 3111 v 1909 3420 V 150 3422 1763 +4 v 0 TeXcolorgray 2033 1037 a Fd(1)2033 1137 y(2)18 +b Fc(n)o Fh(storegame)n Fc(f)p Fh(mainline)p Fc(g)2033 +1237 y Fd(3)g Fc(n)o Fh(mainline)p Fc(f)p Fh(29.)26 b(Qc8+)p +Fc(g)2033 1336 y Fd(4)18 b Fh(On)27 b(the)h(wrong)e(trac)n(k)o(.)i +(Righ)n(t)f(is)32 b Fc(n)5 b Fh(v)-5 b(ariation)5 b Fc(f)p +Fh(29.)37 b(cxb4)27 b(Qxb4)p Fc(g)2079 1436 y Fh(\()9 +b(if)2033 1535 y Fd(5)18 b Fc(n)r Fh(con)n(tin)n(uev)-5 +b(ariation)16 b Fc(f)p Fh(29...)52 b(axb)o(4)27 b(30.)i(a)r(3!)40 +b(b)n(xa)o(3)28 b(31.)i(b)n(xa3)d(Qxa)o(3)p Fc(g)2033 +1635 y Fd(6)18 b Fh(dra)n(ws)n(\))2033 1735 y Fd(7)g +Fc(n)o Fh(restoregame)n Fc(f)o Fh(mainline)p Fc(g)27 +b(n)p Fh(hidemo)n(v)n(es)o Fc(f)p Fh(29.)f(cxb4)h(Qxb)o(4)p +Fc(g)2033 1834 y Fd(8)18 b Fc(n)5 b Fh(v)-5 b(ariationcurren)n(t)5 +b Fc(f)p Fh(30.)36 b(Qf3+)27 b(Kg)o(7)g(31.)g(Qe2)p Fc(g)f +Fh(dra)n(ws)o(,)2033 1934 y Fd(9)d Fh(since)43 b(Blac)n(k)26 +b(can')q(t)42 b(p)r(ossibly)f(build)e(up)28 b(a)g(winning)f(K)p +Fc(\000)o Fh(side)2006 2034 y Fd(10)17 b Fh(attac)n(k)34 +b(and)27 b(his)36 b(o)n(wn)27 b(king)g(is)38 b(to)f(exp)r(osed.)2006 +2133 y Fd(11)2005 2233 y(12)18 b Fc(n)o Fh(restoregame)n +Fc(f)o Fh(mainline)p Fc(g)27 b(n)p Fh(hidemo)n(v)n(es)o +Fc(f)p Fh(29.)f(Qc)o(8+)p Fc(g)2006 2332 y Fd(13)2005 +2432 y(14)18 b Fc(n)o Fh(mainline)8 b Fc(f)p Fh(29...)f(Kg)o(7)27 +b(30.)g(Qc)o(4)h(Bd8)f(31.)f(cxb4)i(axb)o(4)p Fc(g)2006 +2532 y Fd(15)17 b Fh(On)27 b Fc(n)o Fh(v)-5 b(ariation)7 +b Fc(f)p Fh(31...)44 b(Qxb)o(4)27 b(32.)g(Qe2)p Fc(g)2006 +2631 y Fd(16)17 b Fh(White)28 b(should)f(dra)n(w)g(with)h(b)r(est)g +(pla)n(y)o(.)2006 2731 y Fd(17)17 b Fa($$)p Fc(n)n Fh(sho)n(wb)r(oard)n +Fa($$)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 1892 5919 a Fh(2)p 0 TeXcolorgray eop +end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/tex/latex/skak/skak.sty b/Master/texmf-dist/tex/latex/skak/skak.sty index f3190357760..569a18a6a35 100644 --- a/Master/texmf-dist/tex/latex/skak/skak.sty +++ b/Master/texmf-dist/tex/latex/skak/skak.sty @@ -1,41 +1,5 @@ -% Version Date Description -% 1.0 2002-06-05 Major overhaul of the documentation and a few -% minor bug fixes. -% 1.1 2003-01-01 Added Dirk Baechle's enhancements: -% - extension of the \highlight command -% - unwanted generation of spaces removed -% - a set of informator symbols added -% - the fonts have been improved -% Fixed a bug in \ParseCoordinates (fix provided by -% Ulrike Fischer). -% Fixed the bug with opening spaces in the SAN input. -% 1.2 2003-01-12 Incorporated Dirk Baechle's improvements of the -% Informator symbols and redefined the \liftfig -% according to Dirk's input. -% The PostScript files are now significantly -% smaller due to a big effort by Dirk. -% 1.3 2003-09-27 Dirk Baechle has fixed some of the Informator symbols -% which needed an extra set of curly braces. -% The check for trailing spaces in the ``typeset@cmoves'' -% command has been removed due to problems at the end of a -% ``mainline'' or ``variation'' env when an additional -% Informator symbol was involved.. -% 1.4 2004-12-30 Incorporation of changes made by Ulrike Fischer that -% makes it easy to use different fonts. -% New engine for parsing and typesetting moves: -% the functionality is now shared between the two. -% Joao Nabais reported a problem related to switching -% back and forth from styleC - this has been fixed using -% \leavestylec command complex. -% 1.5 2008-10-09 Fixed a major problem with longmoves - the pawn moves -% are now displayed correctly. Changed the \storegame and -% \restoregame to store both the current position and the -% previous positon so a full restore can be made. -% Added new variation commands. - - \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{skak}[2008/10/09 v1.5 Chess typesetting] +\ProvidesPackage{skak}[2013/07/18 v1.5.1 Chess typesetting] \DeclareOption{tiny}{\AtEndOfClass{\tinyboard}} \DeclareOption{small}{\AtEndOfClass{\smallboard}} @@ -687,9 +651,9 @@ \def\WhiteToMove{\True} -\def\WhiteKingSquare% unit -> square +\xdef\WhiteKingSquare% unit -> square {e1} -\def\BlackKingSquare% unit -> square +\xdef\BlackKingSquare% unit -> square {e8} \def\KingSquare#1{% bool -> square #1\WhiteKingSquare\BlackKingSquare} @@ -961,11 +925,14 @@ \DeclareRobustCommand{\lastmove}{{\def\variationstyle{}% + \styleC@on{\let\skak@ensuremath=\ensuremath}{\let\skak@ensuremath=\relax}% \WhiteToMove{% \addtocounter{move}{-1}% - \beforenumber\arabic{move}\blackopen\beforeblack% + \skak@ensuremath\beforenumber\arabic{move}\blackopen\skak@ensuremath% + \beforeblack% \addtocounter{move}{1}}% - {\beforenumber\arabic{move}\whiteopen\beforewhite}% + {\skak@ensuremath\beforenumber\arabic{move}\skak@ensuremath\whiteopen% + \skak@ensuremath\beforewhite}% \expandafter\wmove\expandafter{\LastMoveString}}} \def\ParseMoveA(#1#2){% char -> string -> unit @@ -1118,7 +1085,7 @@ \def\DoTheMove#1{% move the piece from #1 to \MoveToFile\MoveToRank \edef\oldpiece{\Get{\MoveToFile\MoveToRank}}% \Set{\MoveTo}{\Get{#1}}\Set{#1}{E}% - \gdef\MoveFrom{#1}} + \edef\MoveFrom{#1}} \def\DoTheMoveList#1{\DoTheMove{\Head{#1}}} @@ -1700,7 +1667,7 @@ % new version of \@variation \def\@variation#1{\endgroup% \let\currentstyle=\variationstyle% - \gdef\Printmoves{\True}% + \gdef\PrintMoves{\True}% \gdef\ExecuteMoves{\True}% \gdef\StoreLastMove{\False}% \@restoregame{skak.mainline.previous}% roll-back of last move. @@ -1721,7 +1688,7 @@ \def\@variationcurrent#1{\endgroup% \let\currentstyle=\variationstyle% - \gdef\Printmoves{\True}% + \gdef\PrintMoves{\True}% \gdef\ExecuteMoves{\True}% \gdef\StoreLastMove{\False}% \@restoregame{skak.mainline}% @@ -1730,7 +1697,7 @@ \def\@continuevariation#1{\endgroup% \let\currentstyle=\variationstyle% - \gdef\Printmoves{\True}% + \gdef\PrintMoves{\True}% \gdef\ExecuteMoves{\True}% \gdef\StoreLastMove{\False}% \@restoregame{skak.variation.previous}% roll-back of last move. @@ -1740,7 +1707,7 @@ \def\@continuevariationcurrent#1{\endgroup% \let\currentstyle=\variationstyle% - \gdef\Printmoves{\True}% + \gdef\PrintMoves{\True}% \gdef\ExecuteMoves{\True}% \gdef\StoreLastMove{\False}% \@restoregame{skak.variation}% |