summaryrefslogtreecommitdiff
path: root/systems/doc/pdftex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /systems/doc/pdftex
Initial commit
Diffstat (limited to 'systems/doc/pdftex')
-rw-r--r--systems/doc/pdftex/NEWS720
-rw-r--r--systems/doc/pdftex/README60
-rw-r--r--systems/doc/pdftex/manual/ChangeLog254
-rw-r--r--systems/doc/pdftex/manual/Makefile140
-rw-r--r--systems/doc/pdftex/manual/README29
-rw-r--r--systems/doc/pdftex/manual/makefiles.cmd13
-rw-r--r--systems/doc/pdftex/manual/pdftex-a.pdfbin0 -> 819006 bytes
-rw-r--r--systems/doc/pdftex/manual/pdftex-i.tex136
-rw-r--r--systems/doc/pdftex/manual/pdftex-syntax.txt220
-rw-r--r--systems/doc/pdftex/manual/pdftex-t.tex5151
-rw-r--r--systems/doc/pdftex/manual/pdftex-w.tex9
-rw-r--r--systems/doc/pdftex/manual/syntaxform.awk124
-rwxr-xr-xsystems/doc/pdftex/manual/syntaxform.pl131
-rw-r--r--systems/doc/pdftex/samplepdftex/cmr10.103255
-rw-r--r--systems/doc/pdftex/samplepdftex/obj.dat4
-rw-r--r--systems/doc/pdftex/samplepdftex/pdfcolor.tex158
-rw-r--r--systems/doc/pdftex/samplepdftex/pic.eps12486
-rw-r--r--systems/doc/pdftex/samplepdftex/pic.jpgbin0 -> 111645 bytes
-rw-r--r--systems/doc/pdftex/samplepdftex/pic.mps22
-rw-r--r--systems/doc/pdftex/samplepdftex/pic.pdfbin0 -> 36792 bytes
-rw-r--r--systems/doc/pdftex/samplepdftex/pic.pngbin0 -> 222357 bytes
-rw-r--r--systems/doc/pdftex/samplepdftex/pic16.pngbin0 -> 129987 bytes
-rw-r--r--systems/doc/pdftex/samplepdftex/rgb.iccbin0 -> 744 bytes
-rw-r--r--systems/doc/pdftex/samplepdftex/samplepdf.024
-rw-r--r--systems/doc/pdftex/samplepdftex/samplepdf.124
-rw-r--r--systems/doc/pdftex/samplepdftex/samplepdf.tex1295
-rw-r--r--systems/doc/pdftex/samplepdftex/supp-mis.tex695
-rw-r--r--systems/doc/pdftex/samplepdftex/supp-pdf.tex2191
-rw-r--r--systems/doc/pdftex/samplepdftex/tmp.pdfbin0 -> 3031 bytes
-rw-r--r--systems/doc/pdftex/tests/01-fake-interword-space/Makefile7
-rw-r--r--systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.pfbbin0 -> 2409 bytes
-rw-r--r--systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.tfmbin0 -> 152 bytes
-rw-r--r--systems/doc/pdftex/tests/01-fake-interword-space/fake-interword-space.tex34
-rw-r--r--systems/doc/pdftex/tests/02-pdfmatch/Makefile10
-rw-r--r--systems/doc/pdftex/tests/02-pdfmatch/test-pdfmatch.tex22
-rw-r--r--systems/doc/pdftex/tests/03-deterministic-output/Makefile48
-rw-r--r--systems/doc/pdftex/tests/03-deterministic-output/test-SOURCE_DATE_EPOCH.tex10
-rw-r--r--systems/doc/pdftex/tests/03-deterministic-output/test-fixed-date-id.tex16
-rw-r--r--systems/doc/pdftex/tests/03-deterministic-output/test-no-date-id.tex13
-rw-r--r--systems/doc/pdftex/tests/03-deterministic-output/test-prim.tex11
-rw-r--r--systems/doc/pdftex/tests/04-pdfsuppressptexinfo/Makefile40
-rw-r--r--systems/doc/pdftex/tests/04-pdfsuppressptexinfo/abc.tex10
-rw-r--r--systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfinfoomitdate.tex4
-rw-r--r--systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfsuppressptexinfo.tex18
-rw-r--r--systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdftrailer.tex6
-rw-r--r--systems/doc/pdftex/tests/05-mediabox/Makefile18
-rw-r--r--systems/doc/pdftex/tests/05-mediabox/test-normal.tex7
-rw-r--r--systems/doc/pdftex/tests/05-mediabox/test-omit-mediabox.tex8
-rw-r--r--systems/doc/pdftex/tests/06-pkmap/Makefile24
-rw-r--r--systems/doc/pdftex/tests/06-pkmap/cmb10.72pkbin0 -> 1952 bytes
-rw-r--r--systems/doc/pdftex/tests/06-pkmap/cmr10.72pkbin0 -> 1940 bytes
-rw-r--r--systems/doc/pdftex/tests/06-pkmap/prepatch.pdfbin0 -> 3045 bytes
-rw-r--r--systems/doc/pdftex/tests/06-pkmap/test-pkmap.tex37
-rw-r--r--systems/doc/pdftex/tests/07-mapwarn/Makefile12
-rw-r--r--systems/doc/pdftex/tests/07-mapwarn/test-mapwarn.tex18
-rw-r--r--systems/doc/pdftex/tests/Common.mak34
56 files changed, 24548 insertions, 0 deletions
diff --git a/systems/doc/pdftex/NEWS b/systems/doc/pdftex/NEWS
new file mode 100644
index 0000000000..3a66ff8dd5
--- /dev/null
+++ b/systems/doc/pdftex/NEWS
@@ -0,0 +1,720 @@
+pdfTeX 3.14159265-2.6-1.40.18 (TeX Live 2017)
+- changes:
+ - rename envvar SOURCE_DATE_EPOCH_TEX_PRIMITIVES to FORCE_SOURCE_DATE;
+ no changes in functionality.
+ - if the \pdfpageattr token list contains the string "/MediaBox",
+ omitting output of the default /MediaBox.
+
+- bugfixes:
+ - \pdflastmatch more reliable when there was no match
+
+---------------------------------------------------
+pdfTeX 3.14159265-2.6-1.40.17 (TeX Live 2016) (May 20, 2016)
+- changes:
+ - if the environment variable SOURCE_DATE_EPOCH is set, use its value for
+ the PDF CreationDate and ModDate values, and to seed the trailer /ID.
+ This by itself should suffice to create reproducible PDFs. The
+ new primitives below support more granular output tweaks with the
+ same intent.
+ - if the environment variable SOURCE_DATE_EPOCH_TEX_PRIMITIVES is set
+ to 1, the \year, \day, and \time primitives are also initialized
+ from the SOURCE_DATE_EPOCH value, instead of the current time.
+
+ - new primitive \pdfinfoomitdate to omit CreationDate and ModDate keys.
+ - new primitive \pdftrailerid to set seed for the trailer /ID
+ computation; with an empty argument \pdftrailerid{}, the /ID is omitted.
+ - new primitive \pdfsuppressptexinfo to omit PTEX.* keys from output;
+ the value is a bitmask:
+ % 1 -> PTEX.Fullbanner
+ % 2 -> PTEX.FileName
+ % 4 -> PTEX.PageNumber
+ % 8 -> PTEX.InfoDict (/Producer /Creator /CreationDate /ModDate /Trapped)
+
+- bugfixes:
+ - do not crash if font size of a vf >= 2048pt.
+
+---------------------------------------------------
+pdfTeX 3.14159265-2.6-1.40.16 (TeX Live 2015)
+- changes:
+ - support JPEG Exif as well as JFIF.
+ - do not even warn if \pdfinclusionerrorlevel is negative.
+ - sync with xpdf 3.04.
+
+- bugfixes:
+ - ensure line-ending after a group dict in the output.
+
+---------------------------------------------------
+pdfTeX 3.14159265-2.6-1.40.15 (TeX Live 2014)
+- changes:
+ - sync with Knuth TeX 3.14159265, e-TeX 2.6
+ - new warning-suppression parameter \pdfsuppresswarningpagegroup
+ - new primitives for fake interword spaces:
+ \pdfinterwordspaceon, \pdfinterwordspaceoff, \pdffakespace
+
+---------------------------------------------------
+pdfTeX 3.1415926-1.40.14 was released on 2013-05-30 (TeX Live 2013)
+- changes:
+ - sync with e-TeX 2.5
+ - better largefile support
+
+- bugfixes:
+ - inclusion of particular pdf's failed (http://bugs.debian.org/672951)
+
+---------------------------------------------------
+pdfTeX 3.1415926-1.40.13 was released on 2012-04-21 (TeX Live 2012)
+- changes:
+ - new warning-suppression parameters
+ \pdfsuppresswarningdupdest and \pdfsuppresswarningdupmap
+
+- bugfixes:
+ - better support for uniABCD and indexXYZ glyph names
+ - large-file support (from peb)
+
+---------------------------------------------------
+pdfTeX 3.1415926-1.40.12 was released on 2011-06-20 (TeX Live 2011)
+- bugfixes:
+ - for 16-bit images in PDF 1.4 mode
+
+---------------------------------------------------
+pdfTeX 3.1415926-1.40.11 was released on 2010-07-28
+- bugfixes:
+ - ttf2afm reported wrong ItalicAngle for some fonts
+ - detect/prevent wrong arguments of \pdfsetmatrix [#4301]
+ - check for pdf nodes in dvi mode
+ - whitespace should be inserted when concatenating contents stream [#4307]
+ - pdftex fails to include seemingly good PDF [#4309]
+ - wrong description of \pdfelapsedtime in manual [#4300]
+ - \pdfgentounicode conflicts with cmap+\pdffontattr [#4291]
+ - \rightmarginkern doesn't work for last lines [#4292]
+ - \pdfximagebbox wrong for PDF files with /Rotate != 0 [#939]
+ - \leftmarginkern & \rightmarginkern doesn't work with box registers > 255 [#4312]
+
+- changes:
+ - pdf inclusion: removed the requirement that named resources must be indirect (#4299)
+ - added debug messages for pdftex_fail()
+
+---------------------------------------------------
+pdfTeX 3.1415926-1.40.10 was released on 2009-11-30
+- sync with TL09
+- changes:
+ - increased sup_dest_names_size
+ - partial support for TTC
+ - enable mktexpk by default
+ - patch #2087: Support for CMap namespace
+ - \pdfshellescape is 2 if restricted shell escapes are enabled.
+- bugfixes:
+ - segfault when processing certain TTF fonts
+ - jpg image resolution not set in some cases
+ - \pdfobj file {foo} for files foo that don't end with '\n'
+ - bugfix #4289: \primitive\pdfoutput cannot be queried
+ - bugfix #4288: character width mismatch in font XY.vf ignored
+ - bugfix #993: "/Names array not sorted correctly"
+ - bugfix #606: "Forbidden ... while scanning ???"
+ - bugfix #3253: Bug in Type1 font subsetting
+ - \show\pdfstartlink is wrong
+ - pdf_set_rule() uses incorrect variables
+ - bugfix #2090: enabling LFS breaks PDF inclusion on some systems (warning: not heavily-tested yet)
+ - t1_log() macro caused problem with some compilers
+
+--------------------------------------------------
+pdfTeX 3.1415926-1.40.9 was released on 2008-08-16
+- bugfixes:
+ - pdf inclusion (inconsistent use of -DDISABLE_OUTLINE)
+ - bug #2068 (cross-platform format dumping/undumping)
+ - bug #2082 (font_dim[FONTNAME_CODE] not initialized)
+ - bug #2083 (unchecked assignment)
+
+--------------------------------------------------
+pdfTeX 3.1415926-1.40.8 was released on 2008-07-10
+- Incorporated synctex
+- Incorporated the new version of TeX: 3.1415926
+- The pool file is now compiled in
+- Bugfix:
+ - some large TrueType fonts caused pdftex to segfault (1866)
+ - fix for copying contents streams of included pdf (1751)
+ - Fonts from included PDFs for which maplines existed missed their /StemV
+ values
+ - \pdflastximagepages was broken for JBIG2 images
+ - included PDFs with a negative lly in the MediaBox with a depth != 0 with
+ \pdfximage were wrongly vertically diplaces (936)
+ - PDF inclusion was broken on ppc-darwin (941)
+- pdfTeX uses libpng 1.2.29
+
+-------------------------------------------------
+pdfTeX 3.141592-1.40.7 was released on 2008-02-17
+- Bugfix:
+ - PDFs > 2GiB (LFS) were still broken on 32-bit systems
+
+-------------------------------------------------
+pdfTeX 3.141592-1.40.6 was released on 2008-02-04
+- Bugfixes:
+ - inclusion of encrypted PDFs was broken (861)
+ - PDFs > 2GiB (LFS) would be broken, even on 64-bit systems. Now the basic
+ support for LFS is there, you only need to supply the right compiler flags
+ (this is not yet done automatically). See build.sh for hints on compiling.
+ - Page groups in pdfs (see the discussion in the notes vor v1.10a) are now
+ handled correctly (741)
+ - When including transparent PNGs pdftex now automatically adds a Page Group
+ (896)
+ - broken map files would lead to core dumps
+ - unusual TrueType fonts would lead to an assertion error (874)
+ - the null object in the object table was never initialized
+ - included PDFs with /PieceInfo lost their /LastModified date
+ - an empty colorstack crashed pdftex (897)
+- pdfTeX uses libpng 1.2.24
+- pdfTeX uses xpdf 3.02pl2
+
+-------------------------------------------------
+pdfTeX 3.141592-1.40.5 was released on 2007-07-31
+- Bugfixes:
+ - calling 'pdftex %' would crash (830)
+ - fflush the recorder file
+- pdfTeX uses xpdf 3.02pl1
+
+-------------------------------------------------
+pdfTeX 3.141592-1.40.4 was released on 2007-07-11
+- Bugfixes:
+ - It was impossible to set the font Flags to 4 in map entries (762)
+ - The font Flags of non-embedded fonts were wrong (794)
+ Now pdfTeX uses the Flags from map entries (if found) or guesses values for
+ the base14 fonts. It also warns when you not-embedd a font without Flags
+ - Subsetted fonts still had their private UniqueID copied (774)
+ - \pdfunescapehex returned a wrong result if the last character was not a
+ hexadecimal digit and the last hex pair was incomplete (777)
+ - Copying a box with \pdfstartlink inside produced the same /Link annotation
+ object multiply, with same object number and identical coordinates on the
+ page (799)
+ - When trying to use a font without TFM, without map entry, and no PK font
+ available, a broken PDF was produced. Now no PDF is generated and the error
+ messages have been improved (721)
+ - Problems with vf fonts (722)
+ - With pdf inclusion the font descriptor could get mixed up and miss some
+ required keys (810)
+ - Font expansion led to wrong log output of \kerns (736)
+ - \pdfprimitive was broken (see
+ http://www.ntg.nl/pipermail/ntg-pdftex/2007-April/002860.html)
+ - The -recorder option of web2c didn't record fonts, included images and some
+ other files (772)
+ - Using \pdfximage in IniTeX before \dump caused a crash when the format was
+ used (824)
+ - \letterspacefont had some problems (712)
+ - \letterspacefont and \pdffontexpand had some problems (747)
+- Improvements:
+ - pdf compression is now a bit faster (patch 726)
+ - the behaviour of TeX when it asks for a file name has been improved (756)
+- pdfTeX uses libpng 1.2.18
+- pdfTeX uses xpdf 3.02
+
+-------------------------------------------------
+pdfTeX 3.141592-1.40.3 was released on 2007-02-04
+- bugfix: documents which used type 1 and truetype or opentype fonts resulted in
+ broken pdfs (729)
+
+-------------------------------------------------
+pdfTeX 3.141592-1.40.2 was released on 2007-01-31
+- bugfix: maplines starting with = would not work as advertised
+- bugfix: xpdf would complain that PDF 1.7 is too new
+
+-------------------------------------------------
+pdfTeX 3.141592-1.40.1 was released on 2007-01-08
+- bugfix: the shell escape function was a bit broken
+- bugfix: \pdffontattr gave confusing warnings
+- allow JBIG2 images only with PDF >= 1.4
+- allow \pdfglyphtounicode in dvi mode for format generation
+- pdfTeX uses libpng 1.2.15
+
+-------------------------------------------------
+pdfTeX 3.141592-1.40.0 was released on 2007-01-01
+- pdfetex (as a separate binary/program) is gone; all extensions are now in
+ pdftex. The make files still know about the target pdfetex, but it's just a
+ copy of pdftex
+- The sources of TeX, eTeX and pdfTeX have been merged into one file pdftex.web
+ and one change file pdftex.ch. The sources of TeX and eTeX distributed are
+ just there for reference
+- New features:
+ - pdfTeX can now generate PDF 1.5 object streams, which leads to smaller
+ PDFs. This is controlled by setting \pdfobjcompresslevel to a value >0 (3
+ compress everything, 2 don't compress /Info, 1 also don't compress embedded
+ PDFs) and works only with PDF >=1.5
+ - pdfTeX now supports another image file format: JBIG2 files (.jbig2)
+ - the memory allocated for objects and destination names now grows
+ dynamically
+ - pdfTeX now generates smaller PDFs since for char positioning the width of
+ chars (/Widths) is stored with more precision and so the chars must rarely
+ be positioned separately
+ - the PK resolution is now taken from the "pk_dpi" parameter in texmf.cnf if
+ it has not been set in the format file or by the user
+ - pdfTeX now removes the generated pdf in case of a fatal error
+ - pdfTeX now sets /ModDate and /Trapped in the InfoDict by default (the
+ values can be overridden with \pdfinfo)
+ - the format of warnings and errors issued by pdfTeX has been changed and
+ unified
+ - the output of -version has been extended and now includes information about
+ the libraries actually used, which can be handy when using shared libraries
+ - rules and their positioning on the page are now inside a qQ group
+- New primitives:
+ - pdfTeX can now handle colourstacks.
+ - \pdfcolorstackinit
+ A stack is initialized by \pdfcolorstackinit. It expands to the number of
+ the new stack. The common case, the traditinal color stack is already
+ initialized as first stack: \pdfcolorstackinit page direct {0 g 0 G}
+ The keyword "page" means that this stack is page based. At the start of
+ the new page, the current stack value is automatically set.
+ - \pdfcolorstack
+ \pdfcolorstack <stack number> push {<new color>}
+ pushes the current value on the stack and sets the <new color>.
+ \pdfcolorstack <stack number> pop
+ pops and sets the current stack value.
+ \pdfcolorstack <stack number> current
+ sets the current stack value without changing the stack. This is useful
+ for stacks that are initialized without keyword "page". Thus the page
+ start setting can be set manually.
+ \pdfcolorstack <stack number> set {<new color>}
+ The current value is set to <new color>.
+ - Transformation matrices can now be manipulated more cleanly:
+ Currently matrix changes are done and hidden inside \pdfliteral nodes;
+ pdfTeX doesn't parse its contents and does not know the new settings of the
+ transform matrix. Thus the new primitives to save pdfTeX from parsing
+ \pdfliteral contents and to notify pdfTeX about matrix changes to use them
+ in calculating link and anchor positions.
+ - \pdfsetmatrix{<a> <b> <c> <d>}
+ is the equivalent to \pdfliteral{<a> <b> <c> <d> 0 0 cm}
+ - \pdfsave is the equivalent to \pdfliteral{q}
+ - \pdfrestore is the equivalent to \pdfliteral{Q}
+ - \pdfprimitive\TeX-primitive executes the original \TeX-primitive even if
+ the command has been redefined since. E.g.
+ \let\relax\undefined\pdfprimitive\relax
+ expands to \relax.
+ \ifpdfprimitive\TeX-primitive is true if \TeX-primitive has its original
+ meaning
+ - \ifpdfabsnum and \ifpdfabsdim are like \ifnum and \ifdim, but don't care
+ about negative numbers
+ - shell escape: if the first character of a filename for \openin, \openout
+ \input is a pipe symbol (|), the filename is assumed to be a request for a
+ pipe to a command line that is given in the rest of the filename
+ - draftmode: With \pdfdraftmode=1 or the commandline switch -draftmode pdfTeX
+ doesn't write the output pdf and doesn't actually read any images, thus
+ speeding up compilations when you know you need an extra run but don't care
+ about the output, e.g. just to get the BibTeX references right
+ - \pdfpxdimen (introduced in 1.30) is now a real dimension parameter. It
+ allows one base dimensions on pixels. 1px defaults to 1bp (or 72dpi), but
+ can be changed with the \pdfpxdimen primitive:
+ \pdfpxdimen=1in % 1 dpi
+ \divide\pdfpxdimen by 96 % 96 dpi
+ \hsize=1200px
+ Now \hsize is (1in/96)*1200
+ - \pdflastlink returns the object number of the last \pdfstartlink
+ - \pdfsavepos now works in DVI mode
+- Fonts:
+ - support for subfonts: This creates all needed map entries for subfonts
+ automatically and handles Unicode mappings
+ - ToUnicode entries for Type1 fonts (patch 580)
+- HZ:
+ - added patch 462: HZ font expansion in autoexpand mode now produces smaller
+ pdf files, as it works by modififying the text matrix for single fonts
+ instead of embedding many expanded font versions. Therefore HZ now can be
+ used also for TrueType fonts and even for non-embedded fonts (e.g.
+ Times-Roman)
+- Bugfixes:
+ - the PDF statistics in the log are now correct
+ - added JFIF detection patch to writejpg.c (bug 548)
+ - bugfix: invalid pdf created if font name contains space (509)
+ - bugfix: truetype OS/2 v3 fonts (594)
+ - bugfix: Type1C (CFF) fonts of embedded pdfs didn't get replaced
+- pdfTeX uses libpng 1.2.14
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.6 was released on 2006-02-16
+- bugfix: updated xpdf to 3.01pl2
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.5 was released on 2005-12-04
+- bugfix: \pdfximage prints the file name twice (bug 441)
+- bugfix: buffer overflow with \pdfmatch (bug 444)
+- bugfix: updated xpdf to 3.01pl1
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.4 was released on 2005-10-17
+- bugfix: whitespaces in filenames didn't work on Unix anymore (bug 377)
+- bugfix: two \immediates cancel themselves (bug 437)
+- bugfix: wrong file name in error messages of image inclusion (bug 435)
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.3 was released on 2005-09-04
+- bugfix: \write18
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.2 was released on 2005-08-25
+- fixed some build problems and minor bugs introduced in 1.30.1
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.1 was released on 2005-08-21
+- the eTeX extensions can now be enabled with the cmdline switch -etex
+- pdfTeX uses xpdf 3.01
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.0 was released on 2005-08-01
+- pdfxtex (introduced with 1.20a) is gone; all extensions are now in pdf(e)tex.
+- Some primitives have been renamed; the old names will still work, but are
+ deprecated and some give a warning that they are obsolete:
+ \pdfoptionpdfminorversion -> \pdfminorversion
+ \pdfoptionalwaysusepdfpagebox -> \pdfforcepagebox
+ \pdfoptionpdfinclusionerrorlevel -> \pdfinclusionerrorlevel
+- pdftex knows two new units:
+ - new Didot (1nd=0.375mm)
+ - new Cicero (1nc=12nd)
+- New primitives:
+ - Inclusion of pngs has been greatly improved: It now does
+ - alpha channel and transparency (only if %!PDF >=1.4)
+ - 16-bit colour (only if %!PDF >=1.5); this must be enabled by setting
+ \pdfimagehicolor to 1.
+ - gamma correction; this must be enabled by setting \pdfimageapplygamma to
+ 1. The device gamma is taken from \pdfgamma. If no embedded value can be
+ found in the png image, then the value of \pdfimagegamma is used instead.
+ - fast direct embedding of png streams, if their structure allows this; the
+ automatic fall-back is to decompress and re-compress as before.
+ - pdfTeX now has an interface to the precise system time (if available) as an
+ aid in benchmarking TeX macro code.
+ - \pdfelapsedtime is a read-only integer that (initially) returns the
+ amount of time passed since the start of this run. This amount is given
+ in `scaled seconds': the value 65536 counts as one second. If more time
+ has passed than 32767 seconds, (2^31)-1 will be returned.
+ - \pdfresettimer updates the internal timer, such that subsequent calls to
+ \pdfelapsedtime will restart from 0.
+ - pdfTeX can now generate random numbers:
+ - \pdfuniformdeviate <count> generates a uniformly distributed random
+ integer value between 0 (inclusive) and <count> (exclusive).
+ - \pdfnormaldeviate expands to a random integer value with a mean of 0 and
+ a unit of 65536.
+ - \pdfrandomseed allows access to the current seed value.
+ - \pdfsetrandomseed <count> sets the random seed to a specific value.
+ - \pdfnoligatures\f disables ligatures for the loaded font \f.
+ - Escaping strings:
+ - \pdfescapestring{<a>} escapes the string <a> so that it can be used as
+ PDF string.
+ - \pdfescapename{<a>} escapes the string <a> so that it can be used as PDF
+ name.
+ - \pdfescapehex{<a>} converts the string <a> to uppercase hexadecimal
+ representation.
+ - \pdfunescapehex{<b>} reverses the effect of \pdfescapehex
+ - \pdfcreationdate expands to the date string that pdfTeX uses in the info
+ dict as default.
+ - \pdffilemoddate{<file>} expands to the modification date of <file> in the
+ same format as \pdfcreationdate (PDF date format).
+ - \pdffilesize{<file>} expands to the size of <file> as string.
+ - \pdfmdfivesum{<abc>} or \pdfmdfivesum file {<file>} calculates the md5
+ sum (of a string or a file) and converts it to uppercase hexadecimal format
+ (same as \pdfescapehex).
+ - \pdffiledump [offset <int>] [length <int>] <general text>
+ Expands to a hex dump of the file given in <general text>, starting at
+ given offset or 0 with given length.
+ - \pdfshellescape is a read-only integer that is 1 if \write18 is enabled, 0
+ otherwise.
+ - \pdfxformname <object number>, which expands to the number in the
+ corresponding form XObject name.
+ - \leftmarginkern <box number> and \rightmarginkern <box number> tell the
+ margin kern at the left and right side of the horizontal list stored in box
+ <box number>.
+ - \pdfpkmode is a token register that sets the MF mode for pixel font
+ generation. The contents of this register is dumped into the format, so one
+ can (optionally) preset it e.g. in part of pdftexconfig.tex.
+ - \pdftracingfonts: An integer variable controlling the tracing of font
+ expansion. It is zero by default; then we get a log (with fontexpansion)
+ like this
+ ...\tenrm t
+ ...\tenrm (+20) e
+ Without font expansion, this default should be compatible with TeX's
+ original log output.
+ If \pdftracingfonts is set to 1 (or greater), we get a more verbose log:
+ ...\xivtt (cmtt10@14.0pt) t
+ ...\xivtt (cmtt10+20@14.0pt) e
+ See also bug 304.
+- New experimental primitives:
+ - \pdfmatch [icase] [subcount <number>}] {<pattern>}{<string>}
+ Implements pattern matching using the POSIX regex.
+ It returns the same values as \pdfstrcmp, but with the following semantics:
+ -1: error case (invalid pattern, ...)
+ 0: no match
+ 1: match found
+ Options:
+ * icase: case insensitive matching
+ * subcount: it sets the table size for found subpatterns.
+ A number "-1" resets the table size to the start default.
+ - \pdflastmatch <number>
+ The result of \pdfmatch is stored in an array. The entry "0" contains the
+ match, the following entries submatches. The positions of the matches are
+ also available. They are encoded:
+ <position> "->" <match string>
+ The position "-1" with an empty string indicates that this entry is not
+ set.
+ - \pdfstrcmp{<a>}{<b>} compares two strings and returns the strings "0" if
+ <a> equals <b>, "-1" if <a> is less than <b>, "1" if <a> is greater than
+ <b>
+- The primitive \pdfmovechars has been removed (bug 294)
+- Bugfixes:
+ - empty strings are not supressed anymore (bug 335)
+ - \unhboxing and character protusion didn't work well together (bug 292)
+ - --jobname didn't work if there was no filename at all (bug 302)
+ - Some problem with fonts on solaris (bug 315)
+ - Dangling font objects with non-replacable fonts (bug 311).
+ - \pdfxform didn't work with box>255 (bug 310)
+ - cmap: unicode ???? is mapped to multiple glyphs (bug 306).
+- pdfTeX uses zlib 1.2.3
+
+------------------------------------------------
+pdfTeX 3.141592-1.21a was released on 2005-02-04
+- ttf2afm 1.0:
+ - added support for refering to glyphs via unicode in encoding files (ie 'uniXXX')
+ - added some more info to the AFM output
+ - some minor bug fixes
+ - a short documentation available
+- pdftex now understand forms 'uniXXXX' in encoding files (only makes sense
+ with TrueType fonts)
+- added subset tag for TrueType fonts
+- PDF strings are now printed as following:
+ (This is a string) -> (This is a string)
+ This is a string -> (This is a string)
+ <a1b245c1a2...> -> <a1b245c1a2...>
+- check for double newline char to get rid of empty lines in PDF output
+- Fixed a bug in the scanning of map lines introduced in the fix of bug #242 in
+ 1.20b.
+- Fixed three problems in xpdf; xpdf is now 3.00pl3
+- \ifeof18 is a simple method to test if \write18 is enabled.
+- a few extensions in pdfxtex:
+ - \pdflastximagecolordepth returns the last color depth
+ - \pdfximage supports a keyword "colorspace" following an object number
+ representing a ColorSpace object
+ - \pdfstrcmp compares two strings
+ - \pdfescapestring/\pdflastescapedstring provide a way to escape string
+ - \pdffirstlineheight/\pdflastlinedepth/\pdfeachlineheight/\pdfeachlinedepth
+ allow fixing line dimen
+ - patches from Taco
+ - px dimen unit
+ - tagcode patch
+ - quitvmode patch
+
+------------------------------------------------
+pdfTeX 3.141592-1.20b was released on 2004-12-22
+- Fixed some minor bugs, mostly with hz
+- The info line "output format initialized to PDF/DVI" isn't shown anymore, as
+ this info wasn't reliable (bug 112).
+- Now the PDF-related statistics (PDF objects...) in the .log file is only
+ shown in PDF output mode. It start with a line "PDF statistics:".
+- \pdfimageresolution is not limited to 2400 [dpi] anymore, can now be between
+ 0 and 65535 [dpi].
+- pdfTeX uses xpdf 3.00pl2
+- pdfTeX uses libpng 1.2.8, which fixes some png-related bugs.
+
+------------------------------------------------
+pdfTeX 3.141592-1.20a was released on 2004-09-06
+- There is a new program pdfxtex, which contains experimental features which
+ might end up in pdftex in the future.
+- Most distributions now use eTeX as the default engine, so when you call
+ pdftex you will get pdfeTeX. Most distributions now also use pdfTeX as the
+ default engine, so when you call latex you will get pdfeTeX running LaTeX.:-)
+- We are setting up pdfTeX as a project at sarovar
+ (http://sarovar.org/projects/pdftex/). Please report bugs etc. through the
+ site.
+- Support for the file pdftex.cfg is gone completely. All parameters that had
+ previously been set by it can be set through primitives; their values are
+ dumped to the format file.
+- The searchpath for encoding and mapfiles has been changed.
+ See http://tug.org/pipermail/tex-live/2004-January/004734.html and
+ http://tug.org/pipermail/tex-live/2004-January/004791.html
+- eTeX is now version 2.2, incorporating the last changes to TeX (3.141592).
+- New options for \pdfmapfile:
+ General functionality: Map items (map files, new: also single map lines; see
+ \pdfmapline) are put in list of pending map items. During the next shipout,
+ pending map items are sequentially scanned for their map entries, and an
+ internal map entry database is updated, using the modes below. Then the list
+ of pending map items is cleared. Map entries of fonts already in use are left
+ untouched. New: All \pdfmapfile and \pdfmapline commands can also be given
+ after shipout of the first page.
+ - \pdfmapfile {foo.map} clears the list of pending map items and starts a new
+ list with the only pending file foo.map. When the map entry lines of
+ foo.map are scanned, duplicate map entries are ignored and a warning is
+ issued. This is the old behaviour.
+ - \pdfmapfile {+foo.map} puts foo.map in the list of pending map items. When
+ the map entry lines of foo.map are scanned, duplicate map entries are
+ ignored and a warning is issued.
+ - \pdfmapfile {=foo.map} puts foo.map in the list of pending map items. When
+ foo.map is scanned, matching map entries in database are replaced by new
+ entries from foo.map.
+ - \pdfmapfile {-foo.map} puts foo.map in the list of pending map items. When
+ foo.map is scanned, matching map entries are deleted from database.
+ - \pdfmapfile {} clears the list of pending map items. It does not affect map
+ entries already registered into the database. This is the old behaviour.
+- New command \pdfmapline {line}. It's like \pdfmapfile but here you can set
+ single map lines like in the map files directly. The modifiers (+-=) have the
+ same effect as with \pdfmapfile.
+- Simplified the handling of the 14 Type 1 "standard fonts" (Times,
+ Helvetica...): They are now more or less handled like any other Type 1 font.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000648.html
+- hz: So far the font expansion feature required that the user must be able to
+ create expanded tfms (eg cmr10+10.tfm). Now font expansion can be used
+ without creating these tfms.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html
+- hz: Changed \pdffontexpand primitive --> the expand factor is now fixed to
+ 1000 and the argument is ignored. This will lead to spurious texts of "1000"
+ in your output if you compile old documents.
+- New command \pdftexbanner which returns a string with the full banner of the
+ current binary (e.g. "This is pdfTeX, Version 3.141592-1.20a (Web2C 7.5.3)
+ kpathsea version 3.5.3")
+- The PTEX.FullBanner key is now inserted in the document info dict instead of
+ the catalog. Newer versions of Acrobat display it.
+- Now includes support for encTeX.
+- Extended \pdfannot to use reserveobjnum/useobjnum
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2004-March/000424.html
+- Bugfix: pdfTeX would read an .xpdfrc when including pdfs.
+ See http://tug.org/pipermail/pdftex/2004-March/004835.html
+- Bugfix: The strings in /ID would sometimes be empty.
+- Bugfix: Even when mapfiles or encodings or PostScript font files were
+ missing, pdfTeX still produced a (most often corrupt) pdf. Now it aborts with
+ an error in these cases.
+- numerous small bugfixes.
+- pdfTeX now uses the GNU libavl from Ben Pfaff for managing of fontmap
+ entries.
+- pdfTeX uses zlib 1.2.1
+- pdfTeX uses xpdf 3.00
+- pdfTeX uses libpng 1.2.7
+
+------------------------------------------------
+pdfTeX 3.141592-1.11b was released on 2003-10-06
+- Bugfix: The handling of /Rotate produced displaced images when /Rotate was 90
+ or 270.
+
+------------------------------------------------
+pdfTeX 3.141592-1.11a was released on 2003-08-02
+- New command \pdftrailer analogue to \pdfcatalog whose argument ends up in the
+ trailer dictionary.
+- The behaviour when an included pdf has a newer version than the one specified
+ with \pdfoptionpdfminorversion can be controlled by the new internal integer
+ \pdfoptionpdfinclusionerrorlevel: If it's 0, pdfTeX gives only a warning; if
+ it's 1, it raises an error.
+ This can also be set in pdftex.cfg with pdf_inclusion_errorlevel
+- The syntax for outlines has been extended to allow attributes:
+ <outline spec> --> <attr spec> <action spec> [count <number>] <general text>
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2003-June/000165.html
+- The syntax of \pdfobj has been extended:
+ \pdfobj <object type spec> (h, v, m)
+ <object type spec> --> reserveobjnum
+ | [useobjnum <number>] [<attr spec>] [stream [<attr spec>]] <object contents>
+ <object contents> --> <file spec>
+ | <general text>
+ When the optional keyword `reserveobjnum' and `useobjnum' is not given, the
+ behaviour is unchanged.
+ See also http://tug.org/mailman/htdig/pdftex/2003-March/003814.html
+- Bugfix: /CreationDate didn't care for the timezone and could be fooled.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2003-July/000223.html
+- Bugfix: The translation of 8-bit characters in included pdfs that had their
+ eighth bit set sometimes got wrong because of a missing typecast.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2003-July/000216.html
+- Bugfix: pdfTeX -ini would crash with a minimal file because it didn't read
+ it's config and so didn't know anything about fonts.
+ See http://tug.org/pipermail/pdftex/2003-July/004262.html
+- Bugfix: \pdfstartlink would produce spurious /NewWindow entries. Also the
+ syntax of <action spec> and <goto-action spec> has been cleaned up.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2003-June/000167.html
+- Bugfix: \pdffontattr was not used for T3 fonts.
+ See http://tug.org/pipermail/pdftex/2003-June/004127.html
+- Bugfix: The cropbox of an included pdf would sometimes not be used.
+ See http://tug.org/pipermail/pdftex/2003-May/004037.html
+- pdfTeX uses xpdf 2.02
+
+------------------------------------------------
+pdfTeX 3.141592-1.10b was released on 2003-02-26
+- The numbers in transformation matrices are allways written with maximum
+ precision (see http://tug.org/pipermail/pdftex/2003-February/003596.html).
+- Incorporated the new version of TeX: 3.141592
+- Bugfix: Numbers in pdfs would sometimes be just a wee bit of (changed
+ implementation of pdftoepdf.convertNumToPDF).
+- Bugfix: When setting the /Producer, /Creator or /CreationDate keys with
+ \pdfinfo pdfTeX would also insert default values which caused duplicate keys
+ in the info dict (see
+ http://tug.org/pipermail/pdftex/2003-February/003524.html).
+- The reading of mapfiles is much faster (see
+ http://tug.org/pipermail/pdftex/2002-July/002843.html).
+- Bugfix: AR5 had problems with the CTM when displaying in "fit visible" mode
+ (see http://tug.org/pipermail/pdftex/2002-May/002688.html).
+- Bugfix: str_in_str had wrong indices (see
+ http://tug.org/pipermail/pdftex/2002-March/002367.html).
+- Bugfix: decimal_digits defaulted to 0, which caused problems with included
+ images when including pdfs (see
+ http://tug.org/pipermail/pdftex/2003-February/003518.html).
+ It now defaults to 4.
+- Bugfix: the type of included images was decided based only on the extensions;
+ now pdfTeX looks for magic bytes at the start of files (see
+ http://tug.org/pipermail/pdftex/2003-February/003519.html)
+
+-----------------------------------------------
+pdfTeX 3.14159-1.10a was released on 2003-01-16
+- pdfTeX is now able to produce pdf1.4 (which is also the default) and has
+ almost complete support for including pdf1.4 files:
+ - Additional attributes like MetaData are copied from included pdfs.
+ - Currently the Page Group attribute (see sections 7.3.6 and 7.5.5 of the pdf
+ 1.4 reference) of included pdfs is NOT copied (as we don't know how to
+ handle this when imposing pdfs).
+ This means including pdfs with transparency features will work as long as
+ the included pdf doesn't use Page Groups; if it does, the result might not
+ be what is expected (One application known to use Page Groups is Adobe
+ Illustrator v9++). The distributed pdfTeX binaries will give a warning
+ about any occurance of a Page Group in an included pdf and ignore the Page
+ Group (thus producing syntactically correct pdfs but probably not the
+ intended output).
+ Acrobat 5++ and newer versions of Jaws display files without Page Groups
+ correctly, so this might not really be a problem.
+ See pdftoepdf.cc for preprocessor flags which allow this behaviour to be
+ changed (copying the Page Group (most likely producing incorrect pdf) or
+ treating Page Groups as errors).
+- The new primitive \pdfoptionpdfminorversion sets the pdf version of the
+ generated file and the latest allowed pdf version of included pdfs:
+ \pdfoptionpdfminorversion=3
+ tells pdfTeX to set the pdf version to 1.3 and allows only included pdfs with
+ versions <= 1.3 .
+ The default for \pdfoptionpdfminorversion is 4 for pdf 1.4
+ This must appear before any data is written to the generated pdf file, so
+ you should put it at the very start of your files.
+ This can also be set in pdftex.cfg with pdf_minorversion
+- It is now possible to specify the pdf page box to use when including pdfs.
+ The syntax has been extended:
+ \pdfximage [<image attr spec>] <general text> (h, v, m)
+ <image attr spec> --> [<rule spec>] [<attr spec>] [<page spec>] [<pdf box spec>]
+ <pdf box spec> --> mediabox|cropbox|bleedbox|trimbox|artbox
+ The default is cropbox (which defaults to mediabox), to be compatible with
+ previous versions of pdfTeX.
+ The page box specified at \pdfximage can be globally overridden with the
+ config parameter always_use_pdfpagebox and the command
+ \pdfoptionalwaysusepdfpagebox <integer>, where 0 is the default (use whatever
+ is specified with \pdfximage), 1 is media, 2 is crop, 3 is bleed, 4 is trim
+ and 5 is artbox. This can only be set once per object, i.e. the value used at
+ \pdfximage is remembered.
+ See the pdf reference for an explanation of the boxes.
+- The support for the inclusion of jpeg images has been extended to allow the
+ inclusion of JPEG/Exif files which are produced by digital photo cameras
+ (thanks to Hartmut Henkel).
+- The support for the inclusion of tif images has been removed as it was of
+ limited use (it worked only for gray-scale and rgb images) and produced wrong
+ results (all other images types where treated as rgb images).
+ Tif images can be converted on *nix on-the-fly to pngs with the help of
+ ImageMagick, epstopdf.sty or pdftex.def v0.4 or newer, and this rule:
+ \DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `basename #1 .tif`.png}
+- The extensions for pdf encryption have been removed, since they make the
+ pdfTeX code overly complex. Those needing pdf encryption are encouraged to
+ produce a standalone program for encrypting pdfs.
+- pdfTeX now writes a usage statistic about the pdfTeX specific memory to the
+ log.
+- numerous bugfixes, most of them in the inclusion of pdfs.
+- pdfTeX uses xpdf 2.01
+- pdfTeX uses libpng 1.2.5
+
+---------------------------------------------------------------------
+pdfTeX 3.14159-1.00a-pretest-20011127-ojmw was released on 2002-01-29
+
+----------------------------------------------------------------
+pdfTeX 3.14159-1.00a-pretest-20010806 was released on 2001-08-06
+
+----------------------------------------------------------------
+pdfTeX 3.14159-1.00a-pretest-20010804 was released on 2001-08-04
+
+(This file public domain.)
+// vim: tw=79:ts=2:expandtab:autoindent
diff --git a/systems/doc/pdftex/README b/systems/doc/pdftex/README
new file mode 100644
index 0000000000..785ab5b459
--- /dev/null
+++ b/systems/doc/pdftex/README
@@ -0,0 +1,60 @@
+pdfTeX is an extended version of eTeX that can create PDF directly from
+TeX source files and enhance the result of TeX typesetting with the help
+of PDF. When PDF output is not selected, pdfTeX produces normal DVI
+output, otherwise it produces PDF output that looks essentially
+identical to the DVI output
+
+An important aspect of this project was to investigate alternative
+justification algorithms, resulting in the "microtypography" features of
+margin kerning and font expansion. This was inspired by Peter Karow's
+and Hermann Zapf's work.
+
+pdfTeX is integrated with the original e-TeX sources and Web2c. It is
+actively maintained, but stability is paramount now; only bug fixes and
+small enhancements are expected. Releases are made through TeX Live.
+
+See the file NEWS for changes to the program.
+Documentation about pdfTeX can be found at http://www.pdftex.org.
+Mailing lists:
+http://lists.tug.org/pdftex - help requests, general user discussion
+http://www.ntg.nl/mailman/listinfo/ntg-pdftex - bug reports, development
+
+
+LEGAL ISSUES
+============
+
+pdfTeX is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+pdfTeX is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+details.
+
+You should have received a copy of the GNU General Public License along
+with this program. If not, see <http://www.gnu.org/licenses/>.
+
+pdfTeX uses code from TeX; for these parts the original copyright by Don
+Knuth applies. See the source files for details.
+
+pdfeTeX uses code from eTeX; for these parts the original copyright by
+Peter Breitenlohner applies. See the source files for details.
+
+CONTRIBUTORS
+============
+
+Karl Berry, Peter Breitenlohner, Ricardo Sanchez Carmenes, Otfried
+Cheong, Thomas Esser, Hans Hagen, Hartmut Henkel, Taco Hoekwater, Pawel
+Jackowski, Pavel Janik, Tom Kacvinsky, Akira Kakuto, Reinhard Kotucha,
+Derek B. Noonburg, Heiko Oberdiek, Jiri Osoba, Fabrice Popineau,
+Sebastian Rahtz, Bernd Raichle, Tomas Rokicki, Leonard Rosenthol, Martin
+Schröder, Petr Sojka, Ralf Utermann, Olaf Weber, Jiri Zlatuska.
+
+Some companies have supported the developement of pdfTeX: Adobe Systems
+Inc., ArtCom GmbH, Pragma ADE, QuinScape GmbH.
+
+pdfTeX is built on top of TeX, written by Donald Knuth cum suis (Frank
+Liang et al.), and e-TeX, written by Peter Breitenlohner cum suis;
+the advanced paragraph optimization is inspired by the work of Hermann Zapf.
diff --git a/systems/doc/pdftex/manual/ChangeLog b/systems/doc/pdftex/manual/ChangeLog
new file mode 100644
index 0000000000..3c90f87a7d
--- /dev/null
+++ b/systems/doc/pdftex/manual/ChangeLog
@@ -0,0 +1,254 @@
+2018-01-01 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (encodingfile): supported for Type 3 fonts.
+
+2017-12-14 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\pdfinfo): describe [+-]HH'mm' time zone
+ specification as well as Z.
+
+2017-11-28 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\pdfprimitive): clarify further.
+
+2017-11-14 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\pdftrailerid): absolute file name is no longer
+ used in the /ID seed, just the base name, for reproducibility.
+ (\pdfprimitive): clarify.
+
+2017-04-20 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\currentpdftex): 1.40.18 (for TeX Live 2017).
+
+ * pdftex-t.tex (Map files): omit description of tfm-only map
+ entries (and pgc), since the behavior might change. Use "psname"
+ instead of "basename" for possible clarity. Various other rewordings.
+
+ *pdftex-t.tex (--version, --pdf): do not erroneously output a tt
+ ligature.
+
+2017-03-18 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex: starting from -> starting with
+ * pdftex-t.tex: starting from -> starting with.
+
+2017-03-17 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\efcode, \rpcode, \lpcode, \knbscode, \knstcode,
+ \knshcode, \knbccode, \knaccode): state that changes to these
+ tables are global, not affected by TeX's grouping, and only to the
+ particular <font> specified. Report from Doug McKenna.
+
+2017-03-16 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex: behavior, not behaviour, for consistency with
+ seemingly all else (color, math, etc.).
+
+ * pdftex-t.tex: behavior, not behaviour. Nothing else here is UK.Eng.
+
+ * pdftex-t.tex (Map files) <encodingfile>: can be specified for
+ bitmap PK fonts now also.
+
+ * pdftex-t.tex (\tagcode): use <8-bit number> like everything else,
+ rather than <character code>. Report from Doug McKenna.
+
+2017-02-18 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\pdfpageattr): document new behavior of
+ omitting our /MediaBox if "/MediaBox" is present in this token list.
+
+2017-02-01 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (Map files): clarify that decimal 4 = bit position 3
+ = symbolic, for embedded fonts, and specify the 0x22 default for
+ non-embedded fonts.
+ Report from Gernot Hassenpflug to pdftex, 1 Dec 2016 14:01:30.
+
+2016-07-05 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\pdfcatalog): show "openaction <action spec>"
+ after the <general text>, instead of creating an <open-action spec>,
+ for (hopefully) more clarity.
+ (open-action spec): remove \Syntax item.
+ Report from Douglas McKenna to pdftex list, 3 Jul 2016 12:46:59.
+
+ (\pdftrailer, \pdftrailerid): give simple examples.
+
+2016-06-12 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\pdfmatch): mention default subcount 10; wording.
+ (\pdflastmatch): clarify match position, wording;
+
+ * pdftex-t.tex (Invoking \PDFTEX): new name FORCE_SOURCE_DATE for
+ SOURCE_DATE_EPOCH_TEX_PRIMITIVES.
+
+2016-05-20 Karl Berry <karl@tug.org>
+
+ * TeX Live 2016 release.
+
+2016-05-05 Karl Berry <karl@tug.org>
+
+ * pdftex-t.tex: missed \
+
+2016-05-04 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (Invoking \PDFTEX): describe
+ SOURCE_DATE_EPOCH_TEX_PRIMITIVES, with caveats.
+
+2016-04-25 Karl Berry <karl@freefriends.org>
+
+ * samplepdf: move subdir up a level for more visibility.
+ * pdftex-t.tex: adjust doc.
+
+ * pdftex-t.tex: reduce long lines, reduce spaces after markup.
+ (\pdftex-syntax.tex): \input this autogenerated file,
+ instead of having redundant (and out of date) text.
+ (\Modelist): new macro for the (h,v,m) listings,
+ so we can autogenerate complete primitive/syntax info.
+ (\pdfpageresources): document this, previously missing.
+
+ * syntaxform.pl: new script to generate pdftex-syntax.tex.
+ * syntaxform.awk: handle \Modelist, discard \unkern.
+ * Makefile (default): build only what we distribute in TL.
+ (all): build everything else.
+ (pdftex-syntax.tex): new rule using syntaxform.pl; related changes.
+ * README: bring up to date, avoid redundancies.
+
+2016-04-25 Karl Berry <karl@freefriends.org>
+
+ * pdftex-w.txt: rename from pdftex-t.txt.
+ * pdftex-t.tex: change \typefile call.
+ * Makefile: change calls and dependencies.
+
+ * pdftex-t.tex: use \type{-}\type{-help}, etc., to work
+ with both older and newer ConTeXt.
+
+ * Makefile (pdftex_binary): use "pdftex" if no binary
+ in the build path.
+
+2016-04-23 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex: Update for 1.40.17 (TeX Live 2016).
+ (Invoking \PDFTEX): new section, with description of
+ new support for envvar SOURCE_DATE_EPOCH.
+ New primitives: \pdfinfoomitdate \pdftrailerid \pdfsuppressptexinfo.
+
+2015-03-25 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex (\currentpdftex): 1.40.16. (TeX Live 2015.)
+
+2014-12-12 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex (\pdfinclusionerrorlevel): if negative, no diagnostic.
+
+2014-10-18 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex (\pdfminorversion): better explain the compiled
+ default (4) vs. the typical format default (5). Report from Heiko
+ on ntg-pdftex, 20 Sep 2014 23:51:01.
+
+2014-04-23 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex (\currentpdftex): 1.40.15. (Update TeX Live.)
+
+2014-04-04 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex (\pdfinterwordspace...): mention dummy-space font.
+
+2014-03-23 Han The Thanh <hanthethanh@gmail.com>
+
+ * pdftex-t.tex (\pdfinterwordspace...): add new sections.
+
+2014-03-23 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex (\pdfgentounicode, \pdfglyphtounicode): be a bit
+ less terse; mention failure of ligatures to be searchable by default.
+ (glyphtounicode.tex): \input this at the end, why not.
+
+2014-02-23 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex: small changes to the build process, copyright
+ year, no pool file any more, etc.
+
+ * pdftex-t.tex (\pdfnobuiltintounicode): belated doc.
+
+2014-02-14 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex (\pdfsuppresswarningpagegroup): doc.
+
+2012-04-15 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex: update copyright and other years.
+ (\currentpdftex): bump to 1.40.13 (missed this last year).
+ (\PDFReference): italics looks nicer, I think.
+ (Setting up fonts): description is written better to start on same
+ line as item name. Also avoids bad page break after item name.
+ (\pdfsuppresswarningdupdest, \pdfsuppresswarningdupmap): doc.
+
+ * Makefile (pdftexversion): get from \currentpdftex (also missed).
+
+ * pdftex-w.tex: use flags (2=serif) to avoid warnings.
+
+2011-04-01 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex: Explain \pdfnormaldeviate a bit more fully.
+ Tweak wording of nearby entries.
+
+2010-11-22 Karl Berry <karl@gnu.org>
+
+ * Makefile (distall): use $(distnopdf) instead of duplicating file
+ list.
+
+ * pdftex-t.tex: Fix \pdfobj example, PDF reference url,
+ MacTeX much more current than CMacTeX, etc.
+ From Paul I.
+
+ * pdftex-t.tex: avoid text lines >=80 chars.
+ No need for ~ after a and an in English.
+ * pdftex-w.tex: make consistent with pdftex-t.tex.
+
+2010-11-22 Paul Isambert <zappathustra@free.fr>
+
+ * pdftex-t.tex: fixes for \Something instead of \type
+
+2010-11-19 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex: use \tex{foo} instead of \type{\foo} for bookmarks,
+ so we get the \'s.
+ Remove section about truetype details that became a TUB paper,
+ to avoid duplication.
+
+ * pdftex-w.tex (\pdfobjcompresslevel): must set to 0 explicitly.
+ Noticed by Paul I.
+ * pdftex-t.tex (titlepagelines): consequent update.
+
+ * pdftex-t.tex: alphabetize misc new primitives list; typos.
+
+2010-11-18 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex (\pdfretval): minimally document.
+
+2010-11-16 Karl Berry <karl@gnu.org>
+
+ * pdftex-t.tex: a couple more abbreviations, English, etc.
+
+2010-11-15 Paul Isambert <zappathustra@free.fr>
+
+ * pdftex-t.tex: more primitives.
+
+2010-11-14 Karl Berry <karl@gnu.org>
+
+ * All files: expand keywords again, so the manual appears
+ updated, among other things.
+
+ * Makefile (pdftexversion): 1.40.11 now.
+ (pdftex-t.txt): set GREP_OPTIONS=--text.
+
+ * pdftex-i.tex: add \pdfmapline for contnav, somehow omitted
+ from TL for years now.
+
+ * pdftex-t.tex: update intro information about distributions,
+ etc., to be somewhat more accurate.
+
+(This ChangeLog file is public domain.)
diff --git a/systems/doc/pdftex/manual/Makefile b/systems/doc/pdftex/manual/Makefile
new file mode 100644
index 0000000000..d6589ac1c0
--- /dev/null
+++ b/systems/doc/pdftex/manual/Makefile
@@ -0,0 +1,140 @@
+# $Id: Makefile 767 2017-02-18 23:49:54Z karl $
+# Makefile for pdfTeX documentation. Public domain.
+
+# Get version we're documenting from the \def in the manual.
+pdftexversion=`sed -n 's,^.def.currentpdftex{\(.*\)},\1,p' manual/pdftex-t.tex`
+
+context = texexec --batchmode
+# context does not have \setupoutput.
+# texmfstart exits immediately.
+
+# what we distribute in TeX Live.
+default: pdftex-a.pdf pdftex-syntax.txt
+
+# the other formats (everything that can be built).
+all: pdftex-l.pdf pdftex-s.pdf booklet
+
+common_deps = pdftex-t.tex pdftex-w.txt pdftex-help.txt pdftex-syntax.tex
+pdftex-a.pdf a: $(common_deps)
+ $(context) --mode=a4 --result=$@ $<
+
+pdftex-l.pdf l: $(common_deps)
+ $(context) --mode=letter --result=$@ $<
+
+pdftex-s.pdf s: $(common_deps) pdftex-i.tex
+ $(context) --mode=screen --result=$@ $<
+
+
+# booklet version is not made by default.
+booklet: pdftex-b.pdf pdftex-b-e.pdf pdftex-b-o.pdf
+
+pdftex-b.pdf b: pdftex-a.pdf
+ $(context) --pdfarrange --paper=a5a4 --print=up --addempty=1,2 \
+ --result=$@ $<
+
+pdftex-b-e.pdf: pdftex-a.pdf
+ $(context) --pdfarrange --paper=a5a4 --print=up --addempty=1,2 \
+ --pages=even --result=$@ $<
+
+pdftex-b-o.pdf: pdftex-a.pdf
+ $(context) --pdfarrange --paper=a5a4 --print=up --addempty=1,2 \
+ --pages=odd --result=$@ $<
+
+
+# Creating the subsidiary/dependent files.
+
+# TeXable text for the title page.
+pdftex-w.txt: pdftex-w.pdf
+ cat $< \
+ | expand \
+ | fmt -s -w36 \
+ | grep --text . \
+ | expand >$@ || rm -f $@
+ wc -l pdftex-w.txt # set titlepagelines=half of this
+
+# PDF for the title page.
+pdftex-w.pdf: pdftex-w.tex
+ pdftex $<
+
+
+# Too annoying to remake help text every time; check by hand when needed.
+pdftex-help.txt: force
+ $(pdftex_binary) --help >$@ || rm -f $@
+force:
+
+# if we don't have a build tree around, just try from the path.
+build_binary := ../../source/build-pdftex/texk/web2c/pdftex
+ifneq "$(realpath $(build_binary))" ""
+pdftex_binary := $(build_binary)
+else
+pdftex_binary := pdftex
+endif
+
+# Primitives and syntax, in TeX for the printed manual, and then in
+# plain text for human convenience.
+pdftex-syntax.tex: pdftex-t.tex syntaxform.pl
+ perl syntaxform.pl pdftex-t.tex >pdftex-syntax.tex || rm -f $@
+
+pdftex-syntax.txt: pdftex-t.tex pdftex-syntax.tex syntaxform.awk
+ gawk -f syntaxform.awk pdftex-syntax.tex $< >$@ || rm -f $@
+
+
+# Install from this source directory to TL.
+
+tltree = /home/texlive/karl/Master/texmf-dist
+dest = $(tltree)/doc/pdftex/manual
+
+INSTALL_DATA = cp -p
+
+install: default
+ $(INSTALL_DATA) ChangeLog Makefile README makefiles.cmd $(dest)
+ $(INSTALL_DATA) pdftex-a.pdf pdftex-syntax.txt $(dest)
+ $(INSTALL_DATA) pdftex-t.tex pdftex-w.tex pdftex-i.tex $(dest)
+ $(INSTALL_DATA) syntaxform.awk syntaxform.pl $(dest)
+
+
+# Dist and clean.
+# tar/zip including pdftex-a.pdf, pdftex-l.pdf, pdftex-s.pdf,
+# although we don't ever make such distributions any more.
+
+distall=$(distnopdf) pdftex-a.pdf pdftex-l.pdf pdftex-s.pdf
+
+mandir=manual
+distdate=`date +%y%m%d`
+distrev=`awk '/Id:/{print $$4; exit}' $(mandir)/pdftex-t.tex`
+
+distnopdf=pdftex-w.tex pdftex-w.txt pdftex-t.tex \
+ pdftex-i.tex syntaxform.awk Makefile makefiles.cmd \
+ pdftex-syntax.txt pdftex-help.txt README ChangeLog
+
+alltar: $(distall)
+ cd .. && tar cvjf $(mandir)/pdftex-$(pdftexversion)-userman-$(distrev).tar.bz2 \
+ $(patsubst %, $(mandir)/%, $(distall))
+
+allzip: $(distall)
+ cd .. && zip $(mandir)/pdftex-$(pdftexversion)-userman-$(distrev).zip \
+ $(patsubst %, $(mandir)/%, $(distall))
+
+
+# tar/zip without PDF files:
+
+tar: $(distnopdf)
+ cd .. && tar cvjf $(mandir)/pdftex-$(pdftexversion)-userman-$(distrev)-src.tar.bz2 \
+ $(patsubst %, $(mandir)/%, $(distnopdf))
+ ls -l *.tar.bz2
+
+zip: $(distnopdf)
+ cd .. && zip $(mandir)/pdftex-$(pdftexversion)-userman-$(distrev)-src.zip \
+ $(patsubst %, $(mandir)/%, $(distnopdf))
+
+
+clean:
+ rm -f *.log *.tuo *.tui *.top *.tmp *-mpgraph.mp
+
+maintainer-clean: clean
+ rm -f pdftex-a.pdf pdftex-l.pdf pdftex-s.pdf
+ rm -f pdftex-b.pdf pdftex-b-e.pdf pdftex-b-o.pdf
+ rm -f pdftex-help.txt pdftex-syntax.txt pdftex-syntax.tex
+ rm -f pdftex-w.pdf pdftex-w.txt
+
+clobber allclean realclean distclean: maintainer-clean
diff --git a/systems/doc/pdftex/manual/README b/systems/doc/pdftex/manual/README
new file mode 100644
index 0000000000..be29ce125f
--- /dev/null
+++ b/systems/doc/pdftex/manual/README
@@ -0,0 +1,29 @@
+$Id: README 742 2016-04-25 17:30:55Z karl $
+
+(This README file public domain.)
+
+Documentation files for pdfTeX:
+
+pdftex-a.pdf A4 paper size
+pdftex-l.pdf letter paper size
+pdftex-s.pdf screen format
+pdftex-b.pdf A5 booklet made from pdftex-a.pdf
+pdftex-b-e.pdf A5 booklet, even pages
+pdftex-b-o.pdf A5 booklet, odd pages
+
+pdftex-t.tex source for manual (ConTeXt)
+pdftex-w.tex source for title page (plain)
+pdftex-i.tex settings for screen output (ConTeXt)
+
+pdftex-help.txt output of --help
+pdftex-syntax.tex primitives and syntax rules, autogenerated from manual
+pdftex-syntax.txt autogenerated from .tex
+
+syntaxform.pl script for making pdftex-syntax.tex
+syntaxform.awk script for making pdftex-syntax.txt
+
+The Makefile has the rules for building everything.
+For Windows, see makefiles.cmd, though it has not been updated in years.
+
+If working on the manual, make clean removes all the temporary files.
+make maintainer-clean removes everything that can be generated.
diff --git a/systems/doc/pdftex/manual/makefiles.cmd b/systems/doc/pdftex/manual/makefiles.cmd
new file mode 100644
index 0000000000..5bda71136c
--- /dev/null
+++ b/systems/doc/pdftex/manual/makefiles.cmd
@@ -0,0 +1,13 @@
+rem texexec --format=plain pdftex-x
+rem copy pdf file to pdftex-y and edit that file
+rem texexec --format=plain pdftex-z
+
+texexec --pdf --result=pdftex-a pdftex-t
+texexec --pdf --result=pdftex-b pdftex-a --pdfarrange --print=up --paper=A4A3 --addempty=1,2
+
+texexec --pdf --result=pdftex-l pdftex-t --mode=letter
+texexec --pdf --result=pdftex-s pdftex-t --mode=screen
+
+del /q pdftex.zip
+
+zip pdftex pdftex-a.pdf pdftex-l.pdf pdftex-s.pdf pdftex-t.tex pdftex-i.tex pdftex-t.txt makefiles.cmd
diff --git a/systems/doc/pdftex/manual/pdftex-a.pdf b/systems/doc/pdftex/manual/pdftex-a.pdf
new file mode 100644
index 0000000000..f29ac5d9a4
--- /dev/null
+++ b/systems/doc/pdftex/manual/pdftex-a.pdf
Binary files differ
diff --git a/systems/doc/pdftex/manual/pdftex-i.tex b/systems/doc/pdftex/manual/pdftex-i.tex
new file mode 100644
index 0000000000..28036649bc
--- /dev/null
+++ b/systems/doc/pdftex/manual/pdftex-i.tex
@@ -0,0 +1,136 @@
+%$Id: pdftex-i.tex 635 2010-11-14 19:15:12Z karl $
+
+\pdfmapline{+contnav ContextNavigation <contnav.pfb}
+\startmode[screen]
+
+\setuppapersize
+ [S6][S6]
+
+\setuplayout
+ [topspace=20pt,
+ backspace=40pt,
+ width=520pt,
+ height=390pt,
+ lines=29,
+ header=0pt,
+ footer=0pt,
+ bottomdistance=10pt,
+ bottom=20pt,
+ leftmargin=30pt,
+ leftmargindistance=10pt,
+ rightmargin=0pt,
+ rightedge=27.5pt,
+ rightedgedistance=7.5pt]
+
+\setupcolors
+ [state=start]
+
+\setupbackgrounds
+ [page]
+ [background=color,
+ backgroundcolor=ColorP]
+
+\setupbackgrounds
+ [text][text]
+ [backgroundoffset=2.5pt,
+ background=color,
+ backgroundcolor=ColorT]
+
+\definecolor [ColorT] [s=.85]
+\definecolor [ColorP] [r=.3,g=.4,b=.5]
+\definecolor [ColorI] [r=.95,g=.95,b=0]
+
+\setupinteraction
+ [state=start,
+ menu=on,
+ color=ColorP,
+ contrastcolor=ColorP]
+
+\setupfootnotedefinition
+ [location=serried,
+ width=fit]
+
+\setuptabulate
+ [rulecolor=ColorP]
+
+\setupfootnotes
+ [rulecolor=ColorP]
+
+\setupinteractionmenu
+ [right,bottom]
+ [state=start,
+ color=ColorI,
+ contrastcolor=ColorI,
+ style=bold,
+ frame=off]
+
+\setuplist
+ [chapter,section]
+ [pagenumber=off]
+
+\startinteractionmenu[right]
+ \bodyfontsize=20pt
+ \but [firstpage] \rotate[rotation=270]{\symbol[firstpage]} \\
+ \but [lastpage] \rotate[rotation=270]{\symbol[lastpage]} \\ \vfill
+ \but [previouspage] \rotate[rotation=270]{\symbol[previouspage]} \\
+ \but [nextpage] \rotate[rotation=270]{\symbol[nextpage]} \\ \vfill
+ \but [PreviousJump] \rotate[rotation=270]{\symbol[PreviousJump]} \\
+ \but [NextJump] \rotate[rotation=270]{\symbol[NextJump]} \\
+\stopinteractionmenu
+
+\startinteractionmenu[bottom]
+ \but [contents] content \\ \hfill
+ \but [paperversion::] The pdf\TeX\ user manual \\ \hfill
+ \but [CloseDocument] exit \\
+\stopinteractionmenu
+
+\setuphead
+ [section,subsection,subsubsection,pdftexprimitive,subject]
+ [textcolor=ColorP,
+ numbercolor=ColorT]
+
+\def\SubSub#1{\mathematics{\color[ColorT]{\blacktriangleright}}}
+
+\useexternaldocument[paperversion][pdftex-a]
+
+\coupledocument
+ [paperversion]
+ [pdftex-a]
+ [section,subsection,subsubsection,pdftexprimitive]
+ [the paper version]
+
+\setuphead
+ [section,subsection,subsubsection,pdftexprimitive]
+ [file=paperversion]
+
+\stopmode
+
+\startbuffer[screen]
+
+\setupbackgrounds [page] [background={color,content}]
+\defineoverlay [content] [\overlaybutton{contents}]
+\setupinteraction [menu=off]
+
+\startstandardmakeup
+ \setupalign[middle]
+ \startcolor[ColorP]
+ \definefont[test][TitleFont at 130pt] \test \setupinterlinespace
+ \strut PDF\kern.1em\TeX
+ \definefont[test][TitleFont at 60pt] \test \setupinterlinespace
+ \vfill
+ users manual
+ \vfill
+ \definefont[test][TitleFont at 15pt] \test \setupinterlinespace
+ \leavevmode
+ \gotobox{\strut \underbar{H\`an Th\^e Th\`anh}}[url(thanh)]\quad
+ \gotobox{\strut Sebastian Rahtz}[url(sebastian)]\quad
+ \gotobox{\strut Hans Hagen}[url(hans)]\quad
+ \gotobox{\strut Hartmut Henkel}[url(hartmut)]
+ \vfill
+ \stopcolor
+\stopstandardmakeup
+
+\setupinteraction [menu=on]
+\setupbackgrounds [page] [background=color]
+
+\stopbuffer
diff --git a/systems/doc/pdftex/manual/pdftex-syntax.txt b/systems/doc/pdftex/manual/pdftex-syntax.txt
new file mode 100644
index 0000000000..70a1a454d8
--- /dev/null
+++ b/systems/doc/pdftex/manual/pdftex-syntax.txt
@@ -0,0 +1,220 @@
+%% $Id: syntaxform.pl 742 2016-04-25 17:30:55Z karl $
+%% This is the list of new or extended primitives provided by pdftex.
+%% Don't edit this file, as it is now auto-generated from the
+%% pdfTeX manual source pdftex-t.tex (and the generated
+%% pdftex-syntax.tex) by the script syntaxform.awk.
+%% Syntax rule conventions borrowed from `TeXbook naruby' by Petr Olsak.
+
+%% Integer registers:
+\efcode <font> <8-bit number> (integer)
+\knaccode <font> <8-bit number> (integer)
+\knbccode <font> <8-bit number> (integer)
+\knbscode <font> <8-bit number> (integer)
+\lpcode <font> <8-bit number> (integer)
+\pdfadjustinterwordglue (integer)
+\pdfadjustspacing (integer)
+\pdfappendkern (integer)
+\pdfcompresslevel (integer)
+\pdfdecimaldigits (integer)
+\pdfdraftmode (integer)
+\pdfforcepagebox (integer)
+\pdfgamma (integer)
+\pdfgentounicode (integer)
+\pdfimageapplygamma (integer)
+\pdfimagegamma (integer)
+\pdfimagehicolor (integer)
+\pdfimageresolution (integer)
+\pdfinclusioncopyfonts (integer)
+\pdfinclusionerrorlevel (integer)
+\pdfinfoomitdate (integer)
+\pdfminorversion (integer)
+\pdfobjcompresslevel (integer)
+\pdfoutput (integer)
+\pdfpagebox (integer)
+\pdfpkresolution (integer)
+\pdfprependkern (integer)
+\pdfprotrudechars (integer)
+\pdfsuppressptexinfo (integer)
+\pdfsuppresswarningdupdest (integer)
+\pdfsuppresswarningdupmap (integer)
+\pdfsuppresswarningpagegroup (integer)
+\pdftracingfonts (integer)
+\pdfuniqueresname (integer)
+\rpcode <font> <8-bit number> (integer)
+\shbscode <font> <8-bit number> (integer)
+\stbscode <font> <8-bit number> (integer)
+\tagcode <font> <8-bit number> (integer)
+
+%% Read-only integers:
+\pdfelapsedtime (read-only integer)
+\pdflastannot (read-only integer)
+\pdflastlink (read-only integer)
+\pdflastobj (read-only integer)
+\pdflastxform (read-only integer)
+\pdflastximage (read-only integer)
+\pdflastximagecolordepth (read-only integer)
+\pdflastximagepages (read-only integer)
+\pdflastxpos (read-only integer)
+\pdflastypos (read-only integer)
+\pdfrandomseed (read-only integer)
+\pdfretval (read-only integer)
+\pdfshellescape (read-only integer)
+\pdftexversion (read-only integer)
+
+%% Dimen registers:
+\pdfdestmargin (dimen)
+\pdfeachlinedepth (dimen)
+\pdfeachlineheight (dimen)
+\pdffirstlineheight (dimen)
+\pdfhorigin (dimen)
+\pdfignoreddimen (dimen)
+\pdflastlinedepth (dimen)
+\pdflinkmargin (dimen)
+\pdfpageheight (dimen)
+\pdfpagewidth (dimen)
+\pdfpxdimen (dimen)
+\pdfthreadmargin (dimen)
+\pdfvorigin (dimen)
+
+%% Token registers:
+\pdfpageattr (tokens)
+\pdfpageresources (tokens)
+\pdfpagesattr (tokens)
+\pdfpkmode (tokens)
+
+%% Expandable commands:
+\ifincsname (expandable)
+\ifpdfabsdim (expandable)
+\ifpdfabsnum (expandable)
+\ifpdfprimitive <control sequence> (expandable)
+\leftmarginkern <box number> (expandable)
+\pdfcolorstackinit [page] [direct] <general text> (expandable)
+\pdfcreationdate (expandable)
+\pdfescapehex <general text> (expandable)
+\pdfescapename <general text> (expandable)
+\pdfescapestring <general text> (expandable)
+\pdffiledump [offset <number>] [length <number>] <general text> (expandable)
+\pdffilemoddate <general text> (expandable)
+\pdffilesize <general text> (expandable)
+\pdffontname <font> (expandable)
+\pdffontobjnum <font> (expandable)
+\pdffontsize <font> (expandable)
+\pdfincludechars <font> <general text> (expandable)
+\pdfinsertht <integer> (expandable)
+\pdflastmatch <integer> (expandable)
+\pdfmatch [icase] [subcount <integer>] <general text> <general text> (expandable)
+\pdfmdfivesum file <general text> (expandable)
+\pdfnormaldeviate (expandable)
+\pdfpageref <page number> (expandable)
+\pdfstrcmp <general text> <general text> (expandable)
+\pdftexbanner (expandable)
+\pdftexrevision (expandable)
+\pdfunescapehex <general text> (expandable)
+\pdfuniformdeviate <number> (expandable)
+\pdfxformname <object number> (expandable)
+\pdfximagebbox <integer> <integer> (expandable)
+\rightmarginkern <box number> (expandable)
+
+%% General commands:
+\letterspacefont <control sequence> <font> <integer>
+\pdfannot <annot type spec> (h, v, m)
+\pdfcatalog <general text> [openaction <action spec>]
+\pdfcolorstack <stack number> <stack action> <general text>
+\pdfcopyfont <control sequence> <font>
+\pdfdest <dest spec> (h, v, m)
+\pdfendlink (h, m)
+\pdfendthread (v, m)
+\pdffakespace
+\pdffontattr <font> <general text>
+\pdffontexpand <font> <stretch> <shrink> <step> [autoexpand]
+\pdfglyphtounicode <general text> <general text>
+\pdfinfo <general text>
+\pdfinterwordspaceoff
+\pdfinterwordspaceon
+\pdfliteral [<pdfliteral spec>] <general text> (h, v, m)
+\pdfmapfile <map spec>
+\pdfmapline <map spec>
+\pdfnames <general text>
+\pdfnobuiltintounicode <font>
+\pdfnoligatures <font>
+\pdfobj <object type spec> (h, v, m)
+\pdfoutline [<attr spec>] <action spec> [count <integer>] <general text> (h, v, m)
+\pdfprimitive <control sequence>
+\pdfrefobj <object number> (h, v, m)
+\pdfrefxform <object number> (h, v, m)
+\pdfrefximage <object number>
+\pdfresettimer
+\pdfrestore
+\pdfsave
+\pdfsavepos (h, v, m)
+\pdfsetmatrix
+\pdfsetrandomseed <number>
+\pdfstartlink [<rule spec>] [<attr spec>] <action spec> (h, m)
+\pdfthread [<rule spec>] [<attr spec>] <id spec> (h, v, m)
+\pdftrailer <general text>
+\pdftrailerid <general text>
+\pdftstartthread [<rule spec>] [<attr spec>] <id spec> (v, m)
+\pdfxform [<attr spec>] [<resources spec>] <box number> (h, v, m)
+\pdfximage [<rule spec>] [<attr spec>] [<page spec>] [<colorspace spec>] [<pdf box spec>] <general text> (h, v, m)
+\quitvmode
+\special {pdf: <text> }
+\special {pdf:direct: <text> }
+\special {pdf:page: <text> }
+\vadjust [<pre spec>] <filler> { <vertical mode material> } (h, m)
+
+%% Syntax rules:
+<general text> --> { <balanced text> }
+<attr spec> --> attr <general text>
+<resources spec> --> resources <general text>
+<rule spec> --> (width | height | depth) <dimen> [<rule spec>]
+<object type spec> --> reserveobjnum
+ | [useobjnum <number>] [stream [<attr spec>]] <object contents>
+<annot type spec> --> reserveobjnum
+ | [useobjnum <number>] [<rule spec>] <general text>
+<object contents> --> <file spec>
+ | <general text>
+<xform attr spec> --> [<attr spec>] [<resources spec>]
+<image attr spec> --> [<rule spec>] [<attr spec>] [<page spec>] [<colorspace spec>] [<pdf box spec>]
+<outline spec> --> [<attr spec>] <action spec> [count <number>] <general text>
+<action spec> --> user <user-action spec>
+ | goto <goto-action spec>
+ | thread <thread-action spec>
+<user-action spec> --> <general text>
+<goto-action spec> --> <numid>
+ | [<file spec>] <nameid>
+ | [<file spec>] [<page spec>] <general text>
+ | <file spec> <nameid> <newwindow spec>
+ | <file spec> [<page spec>] <general text> <newwindow spec>
+<thread-action spec> --> [<file spec>] <numid>
+ | [<file spec>] <nameid>
+<colorspace spec> --> colorspace <number>
+<pdf box spec> --> mediabox | cropbox | bleedbox | trimbox | artbox
+<map spec> --> { [<map modifier>] <balanced text> }
+<map modifier> --> + | = | -
+<numid> --> num <number>
+<nameid> --> name <general text>
+<newwindow spec> --> newwindow | nonewwindow
+<dest spec> --> <numid> <dest type>
+ | <nameid> <dest type>
+<dest type> --> xyz [zoom <number>]
+ | fitr <rule spec>
+ | fitbh
+ | fitbv
+ | fitb
+ | fith
+ | fitv
+ | fit
+<thread spec> --> [<rule spec>] [<attr spec>] <id spec>
+<id spec> --> <numid> | <nameid>
+<file spec> --> file <general text>
+<page spec> --> page <number>
+<expand spec> --> <stretch> <shrink> <step> [autoexpand]
+<stretch> --> <number>
+<shrink> --> <number>
+<step> --> <number>
+<pre spec> --> pre
+<pdfliteral spec> --> direct | page
+<pdfspecial spec> --> { [<pdfspecial id> [<pdfspecial modifier>]] <balanced text> }
+<pdfspecial id> --> pdf: | PDF:
+<pdfspecial modifier> --> direct:
+<stack action> --> set | push | pop | current
diff --git a/systems/doc/pdftex/manual/pdftex-t.tex b/systems/doc/pdftex/manual/pdftex-t.tex
new file mode 100644
index 0000000000..da2703fe56
--- /dev/null
+++ b/systems/doc/pdftex/manual/pdftex-t.tex
@@ -0,0 +1,5151 @@
+% interface=english modes=letter,screen output=pdftex
+% vim: tw=79
+
+% $Id: pdftex-t.tex 790 2018-01-02 00:12:04Z karl $
+
+% The number of lines on the title page depends on exactly
+% what \PDF\ code is generated.
+\setvariables[pdftex][titlepagelines=64]
+
+\setupoutput
+ [pdftex]
+
+%D ConTeXt defaults to 1.5; we want to be maximally compatible (and we don't
+%D use any features from 1.4++ anyway, do we?)
+\pdfminorversion=3
+
+%D First we define ourselves some abbreviations, if only to force
+%D consistency and to save typing. We use real small capitals, not pseudo.
+
+\setupsynonyms
+ [abbreviation]
+ [textstyle=smallcaps,
+ style=smallcaps,
+ location=left,
+ width=broad,
+ sample=\POSTSCRIPT]
+
+\setupcapitals
+ [title=no]
+
+\def\svnscan $#1 #2 #3 #4-#5-#6 #7${
+ \def\rcsrevision{#3}
+ \def\rcsyear{#4}
+ \def\rcsmonth{#5}
+ \def\rcsday{{\count0=#6\relax\the\count0}}
+ \def\rcsmonthname{\ifcase\rcsmonth ERROR\or
+ January\or February\or March\or April\or May\or June\or July\or
+ August\or September\or October\or November\or December\else ERROR\fi}
+}
+
+\svnscan $Id: pdftex-t.tex 790 2018-01-02 00:12:04Z karl $
+
+\def\currentpdftex{1.40.18}
+
+%***********************************************************************
+
+\def\eTeX{{$\varepsilon$}-\kern-.125em\TeX}
+\def\eg{e.g.}
+\def\Eg{E.g.}
+\def\PDFReference{{\sl PDF Reference}} % PDF with capital letters
+
+\abbreviation [AFM] {afm} {Adobe Font Metrics}
+\abbreviation [BIBTEX] {Bib\TeX} {Handles bibliographies}
+\abbreviation [ASCII] {ascii} {American Standard Code for Information Interchange}
+\abbreviation [CONTEXT] {\ConTeXt} {general purpose macro package}
+\abbreviation [CTAN] {ctan} {global \TEX\ archive server}
+\abbreviation [DVI] {dvi} {native \TEX\ Device Independent file format}
+\abbreviation [ENCTEX] {enc\TeX} {enc\TeX\ extension to \TEX}
+\abbreviation [EPSTOPDF] {epstopdf} {\EPS\ to \PDF\ conversion tool}
+\abbreviation [EPS] {eps} {Encapsulated PostScript}
+\abbreviation [ETEX] {\eTeX} {an extension to \TEX}
+\abbreviation [EXIF] {exif} {Exchangeable Image File format (JPEG file variant)}
+\abbreviation [FPTEX] {fp\TeX} {\WIN\ \WEBC\ distribution}
+\abbreviation [GHOSTSCRIPT] {Ghostscript} {\PS\ and \PDF\ language interpreter}
+\abbreviation [GNU] {gnu} {GNU's Not Unix}
+\abbreviation [HZ] {hz} {Hermann Zapf optimization}
+\abbreviation [ISO] {iso} {International Organization for Standardization}
+\abbreviation [JBIG] {jbig} {Joint Bi-level Image Experts Group}
+\abbreviation [JBIGTWO] {jbig2} {Joint Bi-level Image Experts Group}
+\abbreviation [JFIF] {jfif} {JPEG File Interchange Format}
+\abbreviation [JPEG] {jpeg} {Joint Photographic Experts Group}
+\abbreviation [JPEG] {jpeg} {Joint Photographic Experts Group}
+\abbreviation [LATEX] {\LaTeX} {general purpose macro package}
+\abbreviation [MAC] {Macintosh} {Macintosh hardware platform}
+\abbreviation [MACOSX] {Mac\,OS\,X} {Macintosh operating system version 10}
+\abbreviation [MACTEX] {Mac\TeX} {\MAC\ \WEBC\ distribution}
+\abbreviation [MDFIVE] {md5} {MD5 message-digest algorithm}
+\abbreviation [METAFONT] {\MetaFont} {graphic programming environment, bitmap output}
+\abbreviation [METAPOST] {\MetaPost} {graphic programming environment, vector output}
+\abbreviation [MIKTEX] {MiK\TeX} {\WIN\ distribution}
+\abbreviation [MLTEX] {ml\TeX} {ML\TeX\ extension to \TEX}
+\abbreviation [MPTOPDF] {mptopdf} {\METAPOST\ to \PDF\ conversion tool}
+\abbreviation [MSDOS] {ms-dos} {Microsoft DOS platform (Intel)}
+\abbreviation [PDFETEX] {pdfe\TeX} {\ETEX\ extension producing \PDF\ output}
+\abbreviation [PDFLATEX] {pdf\LaTeX} {\TEX\ extension producing \PDF\ output (\LATEX\ format loaded)}
+\abbreviation [PDFTEX] {pdf\TeX} {\TEX\ extension producing \PDF\ output}
+\abbreviation [PDF] {pdf} {Portable Document Format}
+\abbreviation [PERL] {Perl} {Perl programming environment}
+\abbreviation [PFA] {PFA} {Adobe PostScript Font format (ASCII)}
+\abbreviation [PFB] {PFB} {Adobe PostScript Font format (Binary)}
+\abbreviation [PK] {pk} {Packed bitmap font}
+\abbreviation [PNG] {png} {Portable Network Graphics}
+\abbreviation [POSIX] {posix} {Portable Operating System Interface}
+\abbreviation [PROTEXT] {pro\TeX t} {\WIN\ \WEBC\ distribution based on \MIKTEX}
+\abbreviation [PS] {ps} {PostScript}
+\abbreviation [POSTSCRIPT] {PostScript} {PostScript}
+\abbreviation [PSTOPDF] {PStoPDF} {PostScript to \PDF\ converter (on top of \GHOSTSCRIPT)}
+\abbreviation [RGB] {rgb} {Red Green Blue color specification}
+\abbreviation [TCX] {tcx} {\TEX\ Character Translation}
+\abbreviation [TDS] {tds} {\TEX\ Directory Standard}
+\abbreviation [TETEX] {te\TeX} {\TEX\ distribution for \UNIX\ (based on \WEBC)}
+\abbreviation [TEXEXEC] {\TeX exec} {\CONTEXT\ command line interface}
+\abbreviation [TEXINFO] {Texinfo} {generate typeset documentation from info pages}
+\abbreviation [TEXUTIL] {\TeX util} {\CONTEXT\ utility tool}
+\abbreviation [TEX] {\TeX} {typographic language and program}
+\abbreviation [TEXLIVE] {\TeX\ Live} {\TeX\ Live distribution (multiple platform)}
+\abbreviation [TFM] {tfm} {\TEX\ Font Metrics}
+\abbreviation [TIF] {tiff} {Tagged Interchange File format}
+\abbreviation [TUG] {tug} {\TEX\ Users Group}
+\abbreviation [UNIX] {Unix} {Unix platform}
+\abbreviation [URL] {url} {Uniform Resource Locator}
+\abbreviation [WEBC] {Web2c} {official multi||platform \WEB\ environment}
+\abbreviation [WEB] {web} {literate programming environment}
+\abbreviation [WIN] {Windows} {Microsoft Windows platform}
+\abbreviation [XEMTEX] {XEm\TeX} {\WIN\ \WEBC\ distribution}
+\abbreviation [ZIP] {zip} {compressed file format}
+
+%D It makes sense to predefine the name of the author of \PDFTEX, doesn't it?
+
+\def\THANH{H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh}
+
+%D Because they are subjected to change and tend to spoil the visual
+%D appearance of the \TEX\ source, \URL's are defined here.
+
+\useURL [ptex_org] [http://www.pdftex.org] % links to ptex_examples
+\useURL [ptex_ctan] [http://ctan.org/pkg/pdftex]
+\useURL [ptex_devel] [http://foundry.supelec.fr/projects/pdftex]
+
+% where bug reports should go:
+\useURL [ptex_bugs] [mailto:pdftex@tug.org] [] [pdftex@tug.org]
+\useURL [ptex_listinfo] [http://lists.tug.org/pdftex]
+
+\useURL [kpathsea] [http://tug.org/kpathsea]
+\useURL [texlive] [http://tug.org/texlive]
+\useURL [web2c] [http://tug.org/web2c]
+\useURL [ctan_systems] [http://mirror.ctan.org/systems]
+\useURL [win32] [http://mirror.ctan.org/systems/win32]
+\useURL [context] [http://www.pragma-ade.com]
+\useURL [tex_showcase] [http://tug.org/texshowcase]
+
+\useURL [pdfreference] [http://www.adobe.com/devnet/pdf/pdf_reference.html]
+\useURL [thanh_truetype_tub] [http://tug.org/TUGboat/tb30-1/tb94thanh.pdf]
+\useURL [jbig2enc] [https://github.com/agl/jbig2enc]
+
+%D The primitive definitions are specified a bit fuzzy using the next set of
+%D commands. Some day I'll write some proper macros to deal with this.
+
+% keep next 2 lines as temporary kludge for a while to make \type{} of
+% older ConTeXt versions handle these two new primitives; the original
+% problem with \type{} is already solved in ConTeXt as of 2006-02-14.
+\let\ifpdfabsnum\relax
+\let\ifpdfabsdim\relax
+
+\def\Syntax #1{\strut\kern-.25em{#1}\kern-.25em}
+\def\Next {\crlf\hbox to 2em{}\nobreak}
+\def\Sugar #1{\unskip\unskip\unskip\kern.25em{#1}\kern.25em\ignorespaces}
+%
+\def\Lbrace {\Sugar{\tttf\leftargument}}
+\def\Literal #1{\Sugar{\type{#1}}}
+\def\Means {\Sugar{\mathematics{\rightarrow}}}
+\def\Modelist #1{\Sugar{\mathematics{(\hbox{#1})}}}
+\def\Optional #1{\Sugar{\mathematics{[\hbox{#1}]}}}
+\def\Or {\Sugar{\mathematics{\vert}}}
+\def\Rbrace {\Sugar{\tttf\rightargument}}
+\def\Tex #1{\Sugar{\type{#1}}}
+\def\Whatever #1{\Sugar{\mathematics{(\hbox{#1})}}}
+
+% hyphenates
+\def\Something#1{\Sugar{\mathematics{\langle}\prewordbreak
+ {#1}\prewordbreak\mathematics{\rangle}}}
+
+\hbadness=10000 % don't care
+
+% Break after these chars in urls, not before.
+\sethyphenatedurlafter /
+\sethyphenatedurlafter .
+\sethyphenatedurlafter _
+
+% introduced
+\def\introduced#1{The primitive was introduced in \PDFTEX\ #1.}
+
+% to get bookmarks for primitives like \ifpdfprimitive
+\appendtoks\def\tex#1{\string\\#1}\to\simplifiedcommands
+
+%D We typeset the \URL's in a monospaced font.
+
+\setupurl
+ [style=type]
+
+%D The basic layout is pretty simple. Because we want non european readers to
+%D read the whole text as well, a letter size based alternative is offered
+%D too. Mode switching is taken care of at the command line when running
+%D \TEXEXEC.
+
+\startmode[letter]
+
+ \setuppapersize
+ [letter][letter]
+
+\stopmode
+
+\setuplayout
+ [topspace=1.5cm,
+ backspace=2.5cm,
+ leftmargin=2.5cm,
+ width=middle,
+ footer=1.5cm,
+ header=1.5cm,
+ height=middle]
+
+%D For the moment we use the description mechanism to typeset keywords etc.
+%D Well, I should have used capitals.
+
+\definedescription
+ [description]
+ [location=serried,
+ width=broad]
+
+\definedescription
+ [PathDescription]
+ [location=left,
+ sample=TEXPSHEADERS,
+ width=broad,
+ headstyle=type]
+
+\definehead
+ [pdftexprimitive]
+ [subsubsection]
+
+\setuphead
+ [pdftexprimitive]
+ [style=,
+ before=\blank,
+ after=\blank,
+ numbercommand=\SubSub]
+
+%D This is typically a document where we want to save pages,
+%D so we don't start any matter (part) on a new page.
+
+\setupsectionblock [frontpart] [page=]
+\setupsectionblock [bodypart] [page=]
+\setupsectionblock [backpart] [page=]
+
+%D The \type{\SubSub} command is rather simple and generates a triangle.
+%D This makes the primitives stand out a bit more.
+
+\def\SubSub#1{\mathematics{\blacktriangleright}}
+
+%D But, for non Lucida users, the next one is more safe:
+
+\def\SubSub#1{\goforwardcharacter}
+
+%D I could have said:
+%D
+%D \starttyping
+%D \setupsection[section-5][previousnumber=no,bodypartconversion=empty]
+%D \setuplabeltext[subsubsection=\mathematics{\blacktriangleright}]
+%D \stoptyping
+%D
+%D but this is less clear.
+
+%D We use white space, but not too much.
+
+\setupwhitespace
+ [medium]
+
+\setupblank
+ [medium]
+
+%D Verbatim things get a small margin.
+
+\setuptyping
+ [margin=standard]
+
+\definetyping
+ [esctyping]
+\setuptyping
+ [esctyping]
+ [margin=standard,option=commands,escape=@]
+
+%D Due to the lots of verbatim we will be a bit more tolerant in breaking
+%D paragraphs into lines.
+
+\setuptolerance
+ [verytolerant,stretch]
+
+%D We put the chapter and section numbers in the margin and use bold fonts.
+
+\setupheads
+ [alternative=margin]
+
+\setuphead
+ [section]
+ [style=\bfb]
+
+\setuphead
+ [subsection]
+ [style=\bfa]
+
+%D The small table of contents is limited to section titles and is fully
+%D interactive.
+
+\setuplist
+ [section]
+ [criterium=all,
+ interaction=all,
+ width=2em,
+ aligntitle=yes,
+ alternative=a]
+
+%D Ah, this manual is in english!
+
+\mainlanguage
+ [en]
+
+%D We use Palatino fonts, because they look so well on the screen. The
+%D version generated at \PRAGMA\ uses Optima Nova instead. Both fonts are
+%D designed by Hermann Zapf.
+
+\setupfonthandling [hz] [min=25,max=25,step=5]
+
+\setupalign
+ [hz,hanging]
+
+\startnotmode[atpragma]
+
+ \setupfontsynonym [Serif] [handling=quality]
+ \setupfontsynonym [SerifBold] [handling=quality]
+ \setupfontsynonym [SerifSlanted] [handling=quality]
+ \setupfontsynonym [SerifItalic] [handling=quality]
+ \setupfontsynonym [SerifBoldSlanted] [handling=quality]
+ \setupfontsynonym [SerifBoldItalic] [handling=quality]
+
+ %setupfontsynonym [Mono] [handling=quality] % sloooow
+
+ % We use adobe metrics instead of urw metrics because tetex only
+ % ships the former. Beware, these metrics differ!
+
+ \loadmapfile[context-base.map]
+ \usetypescript [adobekb] [\defaultencoding]
+ \usetypescript [palatino][\defaultencoding]
+
+ \setupbodyfont
+ [palatino,10pt]
+
+ \definefontsynonym[TitleFont][SerifBold]
+
+\stopnotmode
+
+\startmode[atpragma]
+
+ \usetypescriptfile[type-ghz]
+
+ \setupfontsynonym [Sans] [handling=quality]
+ \setupfontsynonym [SansBold] [handling=quality]
+ \setupfontsynonym [SansSlanted] [handling=quality]
+ \setupfontsynonym [SansItalic] [handling=quality]
+ \setupfontsynonym [SansBoldSlanted] [handling=quality]
+ \setupfontsynonym [SansBoldItalic] [handling=quality]
+
+ %setupfontsynonym [Mono] [handling=quality] % sloooow
+
+ \definetypeface[optima][ss][sans][optima-nova] [default][encoding=\defaultencoding]
+ \definetypeface[optima][tt][mono][latin-modern][default][encoding=\defaultencoding,rscale=1.1]
+
+ \setupbodyfont[optima,10pt,ss]
+
+ \definefontsynonym[TitleFont][SansBold]
+
+\stopmode
+
+%D This document is mildly interactive. Yes, Thanh's name will end up ok in
+%D the document information data.
+
+\setupinteraction
+ [state=start,
+ style=normal,
+ color=,
+ page=yes,
+ openaction=firstpage,
+ title=pdfTeX users manual,
+ author={H\`an Th\^e Th\`anh, Sebastian Rahtz, Hans Hagen, Hartmut Henkel,
+ Pawe\l\ Jackowski, Martin Schr\"oder, Karl Berry}]
+
+\setupinteractionscreen % still needed?
+
+\startnotmode[screen]
+
+\setupinteractionscreen
+ [option=bookmark]
+
+\stopnotmode
+
+%D Some headers and footers will complete the layout.
+
+\setupheadertexts
+ [The pdf\TeX\ user manual]
+
+\setupfootertexts
+ [pagenumber]
+
+%D For Tobias Burnus, who loves bookmarks, I've enabled them.
+
+\placebookmarks
+ [section,subsection,pdftexprimitive]
+
+%D Let's also define a screen layout:
+
+\startmode[screen] \environment pdftex-i \stopmode
+
+%D We auto-cross link the paper and screen version:
+
+\startnotmode[screen]
+
+%\coupledocument
+% [screenversion]
+% [pdftex-s]
+% [section,subsection,subsubsection,pdftexprimitive]
+% [the screen version]
+
+\setuphead
+ [section,subsection,subsubsection,pdftexprimitive]
+ [file=screenversion]
+
+\setuplist
+ [section]
+ [alternative=c]
+
+\stopnotmode
+
+%D The text starts here!
+
+\starttext
+
+%D Being lazy, I don't split the file, so paper and screen get
+%D mixed in one document.
+
+\startmode[screen] \getbuffer[screen] \stopmode
+
+\startnotmode[screen]
+
+%D But first we typeset the title page. It has a background. This
+%D background, showing a piece of \PDF\ code, will be referred to
+%D later on.
+
+%D We can use more modern \CONTEXT\ features, but for the moment
+%D stick to the old style and methods.
+
+\NormalizeFontWidth
+ \TitleFont
+ {\hskip.5mm The pdf\TeX\ user manual} % \hskip is fake offset
+ \paperheight
+ {TitleFont}
+
+\setupbackgrounds
+ [page]
+ [background={title,joke,names,content}]
+
+\defineoverlay
+ [title]
+ [\hbox to \paperwidth
+ {\hfill
+ \TitleFont\setstrut
+ \rotate{The pdf\TeX\ user manual}%
+ \hskip.5cm}] % \dp\strutbox}]
+
+% \defineoverlay
+% [joke]
+% [\hbox to \paperwidth
+% {\TitleFont\setstrut
+% \dimen0=\overlaywidth
+% \advance\dimen0 by -\ht\strutbox
+% \advance\dimen0 by -\dp\strutbox
+% \advance\dimen0 by -1cm
+% \dimen2=\overlayheight
+% \advance\dimen2 by -1cm
+% \hskip.5cm\expanded{\externalfigure
+% [pdftex-z.pdf]
+% [width=\the\dimen0,height=\the\dimen2]}%
+% \hfill}]
+
+% \defineoverlay
+% [names]
+% [\vbox to \paperheight
+% {\dontcomplain
+% \TitleFont\setstrut
+% \setbox0=\hbox{\TeX}%
+% \hsize\paperwidth
+% \rightskip\ht0
+% \advance\rightskip\dp\strutbox
+% \advance\rightskip\dp\strutbox
+% \bfa \setupinterlinespace
+% \vfill
+% \hfill \THANH \endgraf
+% \hfill Sebastian Rahtz \endgraf
+% \hfill Hans Hagen
+% \hfill Hartmut Henkel
+% \hfill Pawe\l\ Jackowski
+% \vskip 1ex
+% \hfill \currentdate
+% \vskip 2ex}]
+
+\defineoverlay
+ [content]
+ [\overlaybutton{contents}]
+
+% title page
+
+\definelayout
+ [titlepage]
+ [backspace=.5cm,
+ cutspace=3.5cm,
+ topspace=.5cm,
+ bottomspace=.5cm,
+ header=0pt,
+ footer=0pt,
+ lines=\getvariable{pdftex}{titlepagelines},
+ grid=yes,
+ width=middle]
+
+\definecolumnset
+ [titlepage]
+ [n=2,distance=0.2cm]
+
+\start
+
+ \chardef\fontdigits=2
+ \switchtobodyfont[10pt,tt]
+ \setupinterlinespace
+ [line=\dimexpr((\paperheight-1cm)/\getvariable{pdftex}{titlepagelines})]
+ \setuptyping[margin=,color=]
+ \setuplayout[titlepage]
+
+ \startcolumnset[titlepage]
+ \typefile{pdftex-w.txt}
+ \stopcolumnset
+
+ \page
+ \setuplayout
+
+\stop
+
+% \startstandardmakeup
+%
+% %D The titlepage is generated using the background overlay mechanism. This
+% %D saves me the trouble of determining funny skips and alignments. So no text
+% %D goes here.
+%
+% \stopstandardmakeup
+
+\setupbackgrounds
+ [page]
+ [background=]
+
+%D The inside title page is as follows.
+
+\startstandardmakeup[footerstate=none]
+
+ \dontcomplain
+
+ \setupalign[left]
+
+ \start
+
+ \bfd The pdf\TeX\ user manual
+
+ \bfa \setupinterlinespace
+
+ \vskip4ex
+
+ \THANH\par
+ Sebastian Rahtz\par
+ Hans Hagen\par
+ Hartmut Henkel\par
+ Pawe\l\ Jackowski\par
+ Martin Schr\"oder\par
+
+ \vskip3ex
+
+ \rcsmonthname\ \rcsday, \rcsyear\par
+ \vskip1ex
+ Rev.\ \rcsrevision
+
+ \stop
+
+ \vfill
+
+ \startlines
+ The title page is the result of
+ this plain \TeX\ text:
+ \stoplines
+
+ \blank[2*big] \setuptyping[after=]
+
+ \starttyping
+ \pdfoutput=1
+ \pdfcompresslevel=0
+ \pdfobjcompresslevel=0
+ \pdfmapline{ptmr8r Times-Roman 2 <8r.enc}
+ \font\tenrm=ptmr8r
+ \tenrm
+ Welcome to pdf\TeX!
+ \bye
+ \stoptyping
+
+\stopstandardmakeup
+
+\setuppagenumber[number=1] % added in case of single sided usage
+
+%D So far for non screen mode.
+
+\stopnotmode
+
+%D We start with a small table of contents, typeset in double column format.
+
+\startfrontmatter
+
+\subject[contents]{Contents}
+
+\startcolumns[distance=3em]
+ \placelist[section]
+\stopcolumns
+
+\stopfrontmatter
+
+%D And here it is: the main piece of text.
+
+\startbodymatter
+
+%***********************************************************************
+
+\section{Introduction}
+
+The main purpose of the \PDFTEX\ project is to create and maintain
+an extension of \TEX\ that can produce \PDF\ directly from \TEX\
+source files and improve|/|enhance the result of \TEX\ typesetting
+with the help of \PDF. When \PDF\ output is not selected, \PDFTEX\
+produces standard \DVI\ output, otherwise it generates \PDF\ output
+that looks identical to the \DVI\ output. An important aspect of this
+project is to investigate alternative justification algorithms (\eg\
+a font expansion algorithm akin to the \HZ\ micro||typography algorithm by
+Prof.~Hermann Zapf).
+
+\PDFTEX\ is based on the original \TEX\ sources and \WEBC, and has been
+successfully compiled on \UNIX, \WIN\ and \MSDOS\ systems. It is
+actively maintained, with new features trickling in. Great care is taken
+to keep new \PDFTEX\ versions backward compatible with earlier ones.
+
+For some years there has been a \quote {conservative} successor to \TEX\
+available, called \ETEX. Because mainstream macro packages such as
+\LATEX\ have started supporting this welcome extension, the \ETEX\
+functionality has also been integrated into the \PDFTEX\ code. For a
+while (\TEXLIVE~2004 and~2005) \PDFTEX\ therefore came in two flavours:
+the \ETEX\ enabled \PDFETEX\ engine and the standard one, \PDFTEX. The
+ability to produce both \PDF\ and \DVI\ output made \PDFETEX\ the
+primary \TEX\ engine in these distributions. Since \PDFTEX\ version 1.40
+now the \ETEX\ extensions are part already of the \PDFTEX\ engine, so
+there is no longer any need to ship \PDFETEX. The \ETEX\ functionality
+of \PDFTEX\ can be disabled if not required. Other extensions are
+\MLTEX\ and \ENCTEX; these are also included in the current \PDFTEX\
+code.
+
+\PDFTEX\ is maintained by \THANH, Martin Schr\"oder, and others. The
+\PDFTEX\ homepage is \from [ptex_org]. Please send \PDFTEX\ comments and
+bug reports to the mailing list \from [ptex_bugs] (\from [ptex_listinfo]).
+
+%***********************************************************************
+
+\subsection{About this manual}
+
+This manual revision (\rcsrevision) is intended to cover
+\PDFTEX\ development up to version \currentpdftex. The primary
+repository for the manual and its sources is at \from[ptex_devel].
+Copies in \PDF\ format can also be found on \CTAN\ via \from[ptex_ctan].
+
+Thanks to the many people who have contributed to the manual.
+New errors might have slipped in afterwards by the editor.
+Please send questions or suggestions by email to \from[ptex_bugs].
+
+%***********************************************************************
+
+\subsection{Legal Notice}
+
+Copyright \copyright\ 1996||2017 \THANH.
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+A copy of the license is included in the section entitled ``GNU
+Free Documentation License''.
+
+%***********************************************************************
+
+\section{About \PDF}
+
+The cover of this manual lists an almost minimal \PDF\ file generated by
+\PDFTEX, from the corresponding source on the next page. Since
+compression is not enabled, such a \PDF\ file is rather verbose and
+readable. The first line specifies the version used. \PDF\ viewers are
+supposed to silently skip over all elements they cannot handle.
+
+A \PDF\ file consists of objects. These objects can be recognized by their
+number and keywords:
+
+\starttyping
+9 0 obj << /Type /Catalog /Pages 5 0 R >> endobj
+\stoptyping
+
+Here \typ{9 0 obj ... endobj} is the object capsule. The first number
+is the object number. The sequence \type{5 0 R} is an object reference,
+a pointer to another object (no.~5). The second number (here a zero)
+is currently not used in \PDFTEX; it is the version number of the
+object. It is for instance used by \PDF\ editors, when they replace
+objects by new ones.
+
+When a viewer opens a \PDF\ file, it goes to the end of the file,
+looking for the keyword \type{startxref}. The number after
+\type{startxref} gives the absolute position (byte offset from the file
+start) of the so||called \quote {object cross-reference table} that
+begins with the keyword \type{xref}. This table in turn tells the byte
+offsets of all objects that make up the \PDF\ file, providing fast
+random access to the individual objects (here the \type{xref} table
+shows 11~objects, numbered from~0 to~10; the object no.~0 is always
+unused). The actual starting point of the file's object structure is
+defined after the \type{trailer}: the \type{/Root} entry points to the
+\type{/Catalog} object (no.~9). In this object the viewer can find the
+pointer \type{/Pages} to the page list object (no.~5). In our example we
+have only one page. The trailer also holds an \type{/Info} entry, which
+points to an object (no.~10) with a bit more about the document. Just
+follow the thread:
+
+\startnarrower
+\type{/Root} $\longrightarrow$ object~9 $\longrightarrow$
+\type{/Pages} $\longrightarrow$ object~5 $\longrightarrow$
+\type{/Kids} $\longrightarrow$ object~2 $\longrightarrow$
+\type{/Contents} $\longrightarrow$ object~3
+\stopnarrower
+
+As soon as we add annotations, a fancy word for hyperlinks and the like,
+some more entries will be present in the catalog. We invite users to
+take a look at the \PDF\ code of this file to get an impression of that.
+
+The page content is a stream of drawing operations. Such a stream
+can be compressed, where the level of compression can be set with
+\type{\pdfcompresslevel} (compression is switched off for the title
+page). Let's take a closer look at this stream in object~3. Often
+(but not in our example) there is a transformation matrix, six numbers
+followed by \type{cm}. As in \POSTSCRIPT, the operator comes after the
+operands. Between \type{BT} and \type{ET} comes the text. A font is
+selected by a \type{Tf} operator, which is given a font resource name
+\type{/F..} and the font size. The actual text goes into \type{()}
+bracket pairs so that it creates a \POSTSCRIPT\ string. The numbers
+in bracket pairs provide horizontal movements like spaces and
+fine glyph positioning (kerning). When one analyzes a file produced by
+a less sophisticated typesetting engine, whole sequences of words can
+be recognized. In \PDF\ files generated by \PDFTEX\ however, many words
+come out rather fragmented, mainly because a lot of kerning takes place;
+in our example the \type{80} moves the text \type{(elcome)} left towards
+the letter \type{(W)} by 80/1000 of the font size. \PDF\ viewers in search
+mode simply ignore the kerning information in these text streams. When
+a document is searched, the search engine reconstructs the text from these
+(string) snippets.
+
+Every \type{/Page} object points also to a \type{/Resources} object
+(no.~1) that gives all ingredients needed to assemble the page. In our
+example only a \type{/Font} object (no.~4) is referenced, which in turn
+tells that the text is typeset in \type{/Font} \type{/Times-Roman}. The
+\type{/Font} object points also to a \type{/Widths} array (object no.~7)
+that tells for each character by how much the viewer must move forward
+horizontally after typesetting a glyph. More details about the font
+can be found in the \type{/FontDescriptor} object (no.~8); if a font
+file is embedded, this object points to the font program stream. But as
+the Times-Roman font used for our example is one of the 14 so||called
+standard fonts that should always be present in any \PDF\ viewer and
+therefore need not be embedded in the \PDF\ file, it is left out here
+for brevity. However, when we use for instance a Computer Modern Roman
+font, we have to make sure that this font is later available to the \PDF\
+viewer, and the best way to do this is to embed the font.
+It's highly recommended nowadays to embed even the standard fonts;
+you can't know how it looks exactly at the viewer side unless you embed
+every font.
+
+In this simple file we don't specify in what way the file should be opened,
+for instance full screen or clipped. A closer look at the page object no.~2
+(\typ{/Type /Page}) shows that a mediabox (\typ{/MediaBox}) is part of the
+page description. A mediabox acts like the (high-resolution) bounding box
+in a \POSTSCRIPT\ file. \PDFTEX\ users can add dictionary entries to page
+objects with the \type{\pdfpageattr} primitive.
+
+Although in most cases macro packages will shield users from these
+internals, \PDFTEX\ provides access to many of the entries described
+here, either automatically by translating the \TEX\ data structures into
+\PDF\ ones, or manually by pushing entries to the catalog, page, info or
+self-created objects. One can for instance create an object by using
+\type{\pdfobj}, after which \type{\pdflastobj} returns its number. So
+
+\starttyping
+\pdfobj{<< /Type/ExtGState /LW 2 >>}
+\stoptyping
+
+inserts an object into the \PDF\ file (it creates a ``graphics state''
+object setting the line width to 2~units), and \type{\pdflastobj} now
+returns the number \PDFTEX\ assigned to this object. Unless objects are
+referenced by others, they will just end up as isolated entities, not
+doing any real harm but bloating the \PDF\ file.
+
+In general this rather direct way of pushing objects in the \PDF\ files
+by primitives like \type{\pdfobj} is not very useful, and only makes
+sense when implementing, say, fill||in field support or annotation
+content reuse. We will come to that later.
+
+Of course, this is just the barest introduction to \PDF\ format. For
+those who want to learn more about the gory \PDF\ details, the best bet
+is to read the \PDFReference. You can download this book as a big \PDF\
+file from Adobe's \PDF\ Technology Center, \from[pdfreference] --- or
+get the heavy paper version.
+
+We now turn to specifics of \PDFTEX.
+
+%***********************************************************************
+
+\section{Getting started}
+
+This section describes the steps needed to get \PDFTEX\ running on
+a system where \PDFTEX\ is not yet installed. Nowadays virtually all
+\TEX\ distributions have \PDFTEX\ as a component, such as \TEXLIVE,
+\MIKTEX, \TETEX, \XEMTEX, \PROTEXT, and \MACTEX. The ready to run
+\TEXLIVE\ distribution comes with \PDFTEX\ versions for many \UNIX,
+\WIN, and \MACOSX\ systems; more information can be found at
+\hbox{\from[texlive].} There are also \WIN-specific distributions which
+contain \PDFTEX, under \from[win32]: \MIKTEX\ by Christian Schenk, and
+\PROTEXT\ (based on \MIKTEX) by Thomas Feuerstack. When you use any
+of these distributions, you don't need to bother with the \PDFTEX\
+installation procedure in the next sections.
+
+If there is no precompiled \PDFTEX\ binary for your system, or the version
+coming with a distribution is not the current one and you would like to
+try out a fresh \PDFTEX\ immediately, you will need to build \PDFTEX\
+from sources; read on. You should already have a working \TEX\ system,
+\eg\ \TEXLIVE\ or \TETEX, into which the freshly compiled \PDFTEX\ will
+be integrated. Note that the installation description in this manual
+is \WEBC||specific.
+
+%***********************************************************************
+
+\subsection{Getting sources and binaries}
+
+The latest sources of \PDFTEX\ are distributed for compilation on \UNIX\
+systems (including \GNU/Linux), and \WIN\ systems. The primary home
+page is \from[ptex_org], where you also find bug tracking information.
+Development sources are at \from[ptex_devel]. Precompiled \PDFTEX\
+binaries for various systems might be available in subdirectories below
+\from[ctan_systems], or via \TEX\ distribution web pages.
+
+%***********************************************************************
+
+\subsection{Compiling}
+
+The compilation is expected to be easy on \UNIX||like systems and
+can be described best by example. Assuming that the file \filename
+{pdftex.zip} is downloaded to some working directory, \eg\
+\filename {\$HOME/pdftex}, on a \UNIX\ system the following steps are
+needed to compile \PDFTEX:
+
+\startesctyping
+cd pdftex.../source
+./build-pdftex.sh
+\stopesctyping
+
+The binary \filename{pdftex} is then built in the subdirectory
+\filename{build/texk/web2c}.
+
+The obsolescent binary \filename{pdfetex} is still generated for backward
+compatibility, but since version 1.40 it is just a file copy
+of the file \filename{pdftex}.
+
+As well as the main \filename{pdftex} binary, binaries for the utilities
+\filename{pdftosrc} and \filename{ttf2afm} are generated.
+
+Incidentally, for \PDFTEX\ maintains, a sibling script to
+\type{build-pdftex.sh} is included, namely \type{sync-pdftex.sh}, which
+syncs changes from a \TEXLIVE\ source repository to a \PDFTEX\ source
+repository. Read the script before using it. And don't use it unless
+you understand what you read.
+
+%***********************************************************************
+
+\subsection{Placing files}
+
+The next step is to put the freshly compiled \filename{pdftex},
+\filename{pdftosrc}, and \filename{ttf2afm} binaries into the binary
+directory (\eg\ for a typical \TEXLIVE\ system, and on the appropriate
+platform) \filename{/usr/local/texlive/\rcsyear/bin/x86_64-linux}.
+
+If you're doing this into a live hierarchy, don't forget to do a
+\type{texconfig-sys init} afterwards, so that all formats are
+regenerated system-wide with the fresh \filename{pdftex} binary.
+
+%***********************************************************************
+
+\subsection{Setting search paths}
+
+\WEBC||based programs, including \PDFTEX, use the \WEBC\ run||time
+configuration file called \filename {texmf.cnf}. The location
+of this file is the appropriate position within the \TDS\ tree
+relative to the place of the \PDFTEX\ binary; on a \TEXLIVE\ system,
+\filename{texmf.cnf} is typically located either in directory
+\filename{texmf/web2c} or \filename{texmf-local/web2c}. The path to
+file \filename{texmf.cnf} can also be set up by the environment variable
+\type{TEXMFCNF}.
+
+The \filename{texmf.cnf} files coming with the major \TEX\ distributions
+should already be set up for normal use, so you shouldn't need to edit
+it. You might still like to read it to see where the various bits and
+pieces are going.
+
+\PDFTEX\ uses the search path variables shown in
+\in{table}[tbl:spathvar], among others.
+
+\startbuffer
+\starttabulate[|l|l|]
+\HL
+\NC \bf used for \NC \bf texmf.cnf \NC\NR
+\HL
+\NC output files \NC \type{TEXMFOUTPUT} \NC\NR
+\NC input files, images \NC \type{TEXINPUTS} \NC\NR
+\NC format files \NC \type{TEXFORMATS} \NC\NR
+\NC \TeX\ pool files \NC \type{TEXPOOL} \NC\NR
+\NC encoding files \NC \type{ENCFONTS} \NC\NR
+\NC font map files \NC \type{TEXFONTMAPS} \NC\NR
+\NC \TFM\ files \NC \type{TFMFONTS} \NC\NR
+\NC virtual fonts \NC \type{VFFONTS} \NC\NR
+\NC Type~1 fonts \NC \type{T1FONTS} \NC\NR
+\NC TrueType fonts \NC \type{TTFONTS} \NC\NR
+\NC OpenType fonts \NC \type{OPENTYPEFONTS} \NC\NR
+\NC bitmap fonts \NC \type{PKFONTS} \NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable[here][tbl:spathvar]
+ {The principal \WEBC\ variables.}
+ {\getbuffer}
+
+\PathDescription {TEXMFOUTPUT} Normally, \PDFTEX\ puts its output files
+in the current directory, overridden by the \type{-output-directory}
+option. If any output file cannot be opened there, it tries to open it
+in the environment variable \type{TEXMFOUTPUT}, if that is set. There is
+no default value for that variable. For example, if \type{TEXMFOUTPUT}
+has the value \type{/tmp}, and you run \type{pdftex paper} when the
+current directory is not writable, \PDFTEX\ attempts to create
+\type{/tmp/paper.log} (and \type{/tmp/paper.pdf}, etc.)
+
+\PathDescription {TEXINPUTS} This variable specifies where \PDFTEX\ finds
+its input files. Image files are considered
+input files and searched for along this path.
+
+\PathDescription {TEXFORMATS} Search path for format (\type{.fmt}) files.
+
+\PathDescription {TEXPOOL} Search path for pool (\type{.pool}) files; no
+longer used, since the pool file (program strings) are compiled into
+the binary.
+
+\PathDescription {ENCFONTS} Search path for encoding (\type{.enc}) files.
+
+\PathDescription {TEXFONTMAPS} Search path for font map (\type{.map}) files.
+
+\PathDescription {TFMFONTS} Search path for font metric (\type{.tfm}) files.
+
+\PathDescription {VFFONTS} Search path for virtual font (\type{.vf})
+files. Virtual fonts are fonts made up of other fonts.
+Because \PDFTEX\ produces the
+final output code, it must consult those files.
+
+\PathDescription {T1FONTS} Search path for Type~1 font files (\type{.pfa}
+and \type{.pfb}). These outline (vector) fonts are to be preferred over
+bitmap \PK\ fonts. In most cases Type~1 fonts are used and this variable
+tells \PDFTEX\ where to find them.
+
+\PathDescription {TTFONTS,\hfil\break \hbox{OPENTYPEFONTS}} Search paths
+for TrueType (\type{.ttf}) and OpenType (\type{.otf}) font files. Like
+Type~1 fonts, TrueType and OpenType fonts are also outlines.
+
+\PathDescription {PKFONTS} Search path for packed (bitmap) font
+(\type{.pk}) files.
+Unfortunately bitmap fonts are still displayed poorly by some \PDF\
+viewers, so when possible one should use outline fonts. When no outline
+is available, \PDFTEX\ tries to locate a suitable \PK\ font (or invoke
+a process that generates it).
+
+\PathDescription{TEXFONTS} Fallback for all the font paths, so that if
+you want to look in a particular directory for fonts on a given run, you
+can set that one variable.
+
+Many more variables may be consulted, and there are many details to
+file name lookups. See the Kpathsea manual (\from [kpathsea]).
+
+%***********************************************************************
+
+\subsection[cfg]{The \PDFTEX\ configuration}
+
+We must keep in mind that, as opposed to \TEX\ with its \DVI\ output,
+the \PDFTEX\ program does not have a separate postprocessing stage to
+transform the \TEX\ input into final \PDF. As a consequence, all data
+needed for building a ready \PDF\ page must be available during the
+\PDFTEX\ run, in particular information on media dimensions and offsets,
+graphics files for embedding, and font information (font files,
+encodings).
+
+When \TEX\ builds a page, it places items relative to the top left page
+corner (the \DVI\ reference point). Separate \DVI\ postprocessors allow
+specifying the paper size (\eg\ \quote {A4} or \quote{letter}), so
+that this reference point is moved to the correct position on the paper,
+and the text ends up at the right place.
+
+In \PDF, the paper dimensions are part of the page definition, and
+\PDFTEX\ therefore requires that they be defined at the beginning of
+the \PDFTEX\ run. As with pages described by \POSTSCRIPT, the \PDF\
+reference point is in the lower||left corner.
+
+Formerly, these dimensions and other \PDFTEX\ parameters were read
+in from a configuration file named \filename{pdftex.cfg}, which had
+a special (non-\TEX) format, at the start of processing. Nowadays such
+a file is ignored by \PDFTEX. Instead, the page dimensions and offsets,
+as well as many other parameters, can be set by \PDFTEX\ primitives
+during the \PDFTEX\ format building process, so that the settings are
+dumped into the fresh format and consequently will be used when \PDFTEX\
+is later called with that format. All settings from the format can
+still be overridden during a \PDFTEX\ run by using the same primitives.
+This new configuration concept is a more unified approach, as it avoids
+the configuration file with a special format.
+
+A list of \PDFTEX\ primitives relevant to setting up the \PDFTEX\ engine
+is given in \in{table}[tbl:configparms]. All primitives are described in
+detail within later sections. \in{Figure}[in:pdftexconfig] shows a recent
+configuration file (\type{pdftexconfig.tex}) in \TEX\ format, using the
+primitives from \in{table}[tbl:configparms], which typically is read
+in during the format building process. It enables \PDF\ output, sets paper
+dimensions and the default pixel density for \PK\ font inclusion. The default
+values are chosen so that \PDFTEX\ often can be used (\eg\ in \type{-ini} mode)
+even without setting any parameters.
+
+\startbuffer
+\starttabulate[|l|l|l|l|l|]
+\HL
+\NC \bf internal name \NC \bf type \NC\bf default\NC\bf comment\NC\NR
+\HL
+\NC \type{\pdfoutput} \NC integer \NC 0 \NC \DVI \NC\NR
+\NC \type{\pdfadjustspacing} \NC integer \NC 0 \NC off \NC\NR
+\NC \type{\pdfcompresslevel} \NC integer \NC 9 \NC best \NC\NR
+\NC \type{\pdfobjcompresslevel} \NC integer \NC 0 \NC no object streams \NC\NR
+\NC \type{\pdfdecimaldigits} \NC integer \NC 4 \NC max. \NC\NR
+\NC \type{\pdfimageresolution} \NC integer \NC 72 \NC dpi \NC\NR
+\NC \type{\pdfpkresolution} \NC integer \NC 0 \NC 72\,dpi \NC\NR
+\NC \type{\pdfpkmode} \NC token reg.\NC empty \NC mode set in \type{mktex.cnf} \NC\NR
+\NC \type{\pdfuniqueresname} \NC integer \NC 0 \NC \NC\NR
+\NC \type{\pdfprotrudechars} \NC integer \NC 0 \NC \NC\NR
+\NC \type{\pdfgentounicode} \NC integer \NC 0 \NC \NC\NR
+\NC \type{\pdfminorversion} \NC integer \NC 4 \NC \PDF\ 1.4 \NC\NR
+\NC \type{\pdfpagebox} \NC integer \NC 0 \NC \NC\NR
+\NC \type{\pdfforcepagebox} \NC integer \NC 0 \NC \NC\NR
+\NC \type{\pdfinclusionerrorlevel} \NC integer \NC 0 \NC \NC\NR
+%-----------------------------------------------------------------------
+\NC \type{\pdfhorigin} \NC dimension \NC 1\,in \NC \NC\NR
+\NC \type{\pdfvorigin} \NC dimension \NC 1\,in \NC \NC\NR
+\NC \type{\pdfpagewidth} \NC dimension \NC 0\,pt \NC \NC\NR
+\NC \type{\pdfpageheight} \NC dimension \NC 0\,pt \NC \NC\NR
+%\NC \type{\pdffirstlineheight} \NC dimention \NC -1000\,pt \NC \NC\NR
+%\NC \type{\pdflastlinedepth} \NC dimention \NC -1000\,pt \NC \NC\NR
+%\NC \type{\pdfeachlineheight} \NC dimention \NC -1000\,pt \NC \NC\NR
+%\NC \type{\pdfeachlinedepth} \NC dimention \NC -1000\,pt \NC \NC\NR
+\NC \type{\pdflinkmargin} \NC dimension \NC 0\,pt \NC \NC\NR
+\NC \type{\pdfdestmargin} \NC dimension \NC 0\,pt \NC \NC\NR
+\NC \type{\pdfthreadmargin} \NC dimension \NC 0\,pt \NC \NC\NR
+\NC \type{\pdfmapfile} \NC text \NC \filename{pdftex.map} \NC not dumped\NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable[here][tbl:configparms]
+ {The set of \PDFTEX\ configuration parameters.}
+ {\getbuffer}
+
+\startbuffer
+\tx\setupinterlinespace
+\startframedtext
+\starttyping
+% tex-ini-files 2016-04-15: pdftexconfig.tex
+
+% Load shared (PDF) settings in pdfTeX
+
+% Enable PDF output
+\pdfoutput = 1
+
+% Paper size: dimensions given in absolute terms
+\pdfpageheight = 11 true in
+\pdfpagewidth = 8.5 true in
+
+% Enable PDF 1.5 output and thus more compression
+\pdfminorversion = 5
+\pdfobjcompresslevel = 2
+
+% Low-level settings unlikely ever to need to change
+\pdfcompresslevel = 9
+\pdfdecimaldigits = 3
+\pdfpkresolution = 600
+\pdfhorigin = 1 true in
+\pdfvorigin = 1 true in
+\stoptyping
+\stopframedtext
+\stopbuffer
+
+\placefigure[here][in:pdftexconfig]
+ {\PDFTEX\ configuration file for \TEXLIVE\ (\filename{pdftexconfig.tex}).}
+ {\getbuffer}
+
+Independent of whether such a configuration file is read or not, the
+first action in a \PDFTEX\ run is that the program reads the global \WEBC\
+configuration file (\filename{texmf.cnf}), which is common to all programs
+in the \WEBC\ system. This file mainly defines file search paths, the
+memory layout (\eg\ string pool and hash size), and other general parameters.
+
+%***********************************************************************
+
+\subsection{Creating format files}
+
+\startbuffer
+\tx\setupinterlinespace
+\startframedtext
+\starttyping
+% Thomas Esser, 1998. public domain.
+\input etex.src
+\dump
+\endinput
+\stoptyping
+\stopframedtext
+\stopbuffer
+
+\placefigure[here][in:etexini]
+ {File \type{etex.ini} for the plain \ETEX\ format with \DVI\ output.}
+ {\getbuffer}
+
+\startbuffer
+\tx\setupinterlinespace
+\startframedtext
+\starttyping
+% Thomas Esser, 1998. public domain.
+% This is used for pdftex and pdfetex, which are now identical: both
+% with e-TeX extensions, both with pdf output.
+\input pdftexconfig.tex
+\input etex.src
+\input pdftexmagfix.tex
+\dump
+\endinput
+\stoptyping
+\stopframedtext
+\stopbuffer
+
+\placefigure[here][in:pdfetexini]
+ {File \type{pdfetex.ini} for plain \ETEX\ with \PDF\ output.}
+ {\getbuffer}
+
+\startbuffer
+\tx\setupinterlinespace
+\startframedtext
+\starttyping
+% Thomas Esser, 1998. public domain.
+\input pdftexconfig.tex
+\scrollmode
+\input latex.ltx
+\endinput
+\stoptyping
+\stopframedtext
+\stopbuffer
+
+\placefigure[here][in:pdflatexini]
+ {File \type{pdflatex.ini} for the \LATEX\ format with \PDF\ output.}
+ {\getbuffer}
+
+The \PDFTEX\ engine supports building formats for \DVI\ and \PDF\ output
+in the same way as the classical \TEX\ engine does for \DVI. Format
+generation is enabled by the \type{-ini} option. The default mode (\DVI\
+or \PDF) can be chosen either on the command line by setting the option
+\type{-output-format} to \type{dvi} or \type{pdf}, or by setting the
+\type{\pdfoutput} parameter. The format file then inherits this setting,
+so that a later invocation of \PDFTEX\ with this format starts in the
+preselected mode (which still can be overridden). A format file can be
+read in only by the engine that has generated it; a format incompatible
+with an engine leads to a fatal error.
+
+It is customary to package the configuration and macro file input
+into a \type{.ini} file. \Eg, the file \type{etex.ini} in
+\in{figure}[in:etexini] is for generating an \ETEX\ format with \DVI\
+output. It has been traditional for many years to generate
+\type{etex.fmt} with \PDFTEX\ rather than the original \ETEX, because
+\PDFTEX\ contains a few additional programming and other
+non-\PDF-related features on which people have come to rely.
+
+The \type{pdfetex.ini} file \in{figure}[in:etexini] shows the
+corresponding format with \PDF\ output by default; this is what creates
+the format file read when \type{pdftex} is normally invoked.
+
+Finally, \type{pdflatex.ini} \in{figure}[in:pdflatexini] shows how the
+\LATEX\ format with \PDF\ output by default is generated.
+
+The corresponding \PDFTEX\ calls for format generation are:
+
+\starttyping
+pdftex -ini *etex.ini
+pdftex -ini *pdfetex.ini
+pdftex -ini *pdflatex.ini
+\stoptyping
+
+These calls produce format files \filename{etex.fmt},
+\filename{pdfetex.fmt}, and \filename{pdflatex.fmt}, as the default
+format file name is taken from the input file name. You can overrule
+this with the \type{-jobname} option. The asterisk \type{*} before the
+file name is a unusual feature, only in \type{-ini} mode, which causes
+the \PDFTEX\ engine to enable \ETEX\ features.
+
+\subsection{Testing the installation}
+
+When everything is set up, you can test the installation. A simple test
+of plain \PDFTEX\ is:
+
+\starttyping
+pdftex story \\end
+\stoptyping
+
+This should typeset the famous one-page short story by A.U. Thor.
+
+A more thorough and descriptive test is the plain \TEX\ test file
+\filename{samplepdf.tex}, available in the distribution in the
+\type{samplepdftex/} directory. Process this file by typing:
+
+\starttyping
+pdftex samplepdf
+\stoptyping
+
+If the installation is ok, this should produce a file called
+\filename{samplepdf.pdf}. The file \filename {samplepdf.tex} is a good
+place to look for examples of how to use \PDFTEX's primitives.
+
+%***********************************************************************
+
+\subsection{Common problems}
+
+The most common problem with installations is that \PDFTEX\ complains
+that something cannot be found. In such cases make sure that
+\type{TEXMFCNF} is set correctly, so \PDFTEX\ can find \filename
+{texmf.cnf}. The next best place to look|/|edit is the file
+\type{texmf.cnf}. When still in deep trouble, set
+\type{KPATHSEA_DEBUG=255} before running \PDFTEX\ or use the option
+\type{-kpathsea-debug 255}. This will cause \PDFTEX\ to write a lot of
+debugging information that can be useful to trace problems. More options
+can be found in the \WEBC\ documentation.
+
+Variables in \filename {texmf.cnf} can be overwritten by environment
+variables. Here are some of the most common problems you can encounter when
+getting started:
+
+\startitemize
+
+\head \type{I can't find the format file `pdftex.fmt'!} \crlf
+ \type{I can't find the format file `pdflatex.fmt'!}
+
+ The format file is not created (see above how to do that) or
+ is not properly placed. Make sure that \type{TEXFORMATS} in
+ \filename {texmf.cnf} contains the path to \filename {pdftex.fmt}
+ or \filename {pdflatex.fmt}.
+
+\head \type{Fatal format file error; I'm stymied}
+
+ This appears \eg\ if you forgot to regenerate the \type{.fmt}
+ files after installing a new version of the \PDFTEX\ binary.
+ The first line tells by which engine the offending format was generated.
+
+\head \PDFTEX\ cannot find one or more map files (\type{*.map}),
+ encoding vectors (\type{*.enc}), virtual fonts, Type~1 fonts,
+ TrueType or OpenType fonts, or some image file.
+
+ Make sure that the required file exists and the corresponding variable
+ in \filename {texmf.cnf} contains a path to the file. See above which
+ variables \PDFTEX\ needs apart from the ones \TEX\ uses.
+
+ When you have installed new fonts, and your \PDF\ viewer complains
+ about missing fonts, you should take a look at the log file produced
+ by \PDFTEX. Missing fonts, map files, encoding vectors as well as
+ missing characters (glyphs) are reported there.
+
+\stopitemize
+
+Normally the page content takes one object. This means that one seldom
+finds more than a few hundred objects in a simple file. This \PDFTEX\
+manual for instance uses approx.~750 objects. In more complex applications
+this number can grow quite rapidly, especially when one uses a lot of
+widget annotations, shared annotations or other shared things. In any
+case \PDFTEX's internal object table size will automatically grow to the
+required size (the parameter \type{obj_tab_size} for manual control of
+the object table size is now obsolete and ignored).
+
+%***********************************************************************
+
+\section{Invoking \PDFTEX}
+
+\PDFTEX\ has many command line options. With the exception of the
+simple and rarely-used \type{-draftmode} and \type{-output-format}
+options, they are all inherited from the common framework for \TeX\
+engines as implemented in \WEBC\ (\from [web2c] has the manual).
+
+The same commonality holds for environment variables; see the section
+``Setting search paths'' above for an overview. Two additional
+environment variables need more description here: first,
+\type{SOURCE_DATE_EPOCH} (introduced in version 1.40.17, 2016). If this
+is set, it must be a positive integer (with one trivial exception: if it
+is set but empty, that is equivalent to 0). Non-integer values cause a
+fatal error. The value is used as the current time in seconds since the
+usual Unix ``epoch'': the beginning of 1970-01-01, UTC. Thus, a value
+of \type{32} would result in a \type{/CreationDate} and \type{/ModDate}
+values of \type{19700101000032Z}. This is useful for reproducible
+builds of documents. (See also \type{\pdfinfoomitdate},
+\type{\pdfsuppressptexinfo}, et al.)
+
+The second, related, environment variable is \type{FORCE_SOURCE_DATE}.
+If this is set to~\type{1}, \TEX's time-related primitives are also
+initialized from the value of \type{SOURCE_DATE_EPOCH}. These
+primitives are \type{\year}, \type{\month}, \type{\day}, and
+\type{\time}. If \type{SOURCE_DATE_EPOCH} is not set, setting
+\type{FORCE_SOURCE_DATE} has no effect. If \type{FORCE_SOURCE_DATE} is
+unset, set to the empty string, or set to~\type{0}, the primitives
+reflect the current time as usual. Any other value elicits a warning,
+and the current time is used. (This is useful only if one wants to make
+reproducible \PDF{}s for a set of documents without changing them in any
+way, e.g., an operating system distribution with manuals that use
+\type{\today}. Except in such unusual circumstances, it is better not
+to set this, and let the \TEX\ primitives retain the meaning they have
+always had.)
+
+Finally, just to have the list of options and basic invocation at hand,
+here is a verbatim listing of the \type{-}\type{-help} output. All
+options can be specified with one or two dashes and unambiguously
+abbreviated.
+
+\startnotmode[screen]
+ \switchtobodyfont[9pt] % squeeze everything on one page
+\stopnotmode
+
+\typefile{pdftex-help.txt}
+
+\startnotmode[screen]
+ \switchtobodyfont[10pt] % squeeze everything on one page
+\stopnotmode
+
+%***********************************************************************
+
+\section{Macro packages supporting \PDFTEX}
+
+As \PDFTEX\ generates the final \PDF\ output without help of
+a postprocessor, macro packages that take care of these \PDF\ features
+have to be set up properly. Typical tasks are handling color,
+graphics, hyperlink support, threading, font||inclusion, as well as
+page imposition and manipulation. All these \PDF||specific tasks can be
+controlled by \PDFTEX's own primitives (a few also by a \PDFTEX||specific
+\type{\special{pdf: ...}} primitive). Any other \type{\special{}} commands,
+like the ones defined for various \DVI\ postprocessors, are simply
+ignored by \PDFTEX\ when in \PDF\ output mode; a warning is given only
+for non||empty \type{\special{}} commands.
+
+When a macro package already written for classical \TEX\ with \DVI\ output
+is to be modified for use with \PDFTEX, it is very helpful to get some
+insight to what extent \PDFTEX||specific support is needed. This info can
+be gathered \eg\ by outputting the various \type{\special} commands
+as \type{\message}. Simply type
+
+\starttyping
+\pdfoutput=1 \let\special\message
+\stoptyping
+
+or, if this leads to confusion,
+
+\starttyping
+\pdfoutput=1 \def\special#1{\write16{special: #1}}
+\stoptyping
+
+and see what happens. As soon as one \quote {special} message turns up, one
+knows for sure that some kind of \PDFTEX\ specific support is needed, and
+often the message itself gives a indication of what is needed.
+
+Currently all mainstream macro packages offer \PDFTEX\ support, with
+automatic detection of \PDFTEX\ as engine. So there is normally no need
+to turn on \PDFTEX\ support explicitly.
+
+\startitemize
+
+\item For \LATEX\ users, Sebastian Rahtz and Heiko Oberdiek's \type
+ {hyperref} package has substantial support for \PDFTEX\ and
+ provides access to most of its features. In the simplest and
+ most common case, the user merely needs to load \type{hyperref},
+ and all cross||references will be converted to \PDF\ hypertext
+ links. \PDF\ output is automatically selected, compression is
+ turned on, and the page size is set up correctly. Bookmarks are
+ created to match the table of contents.
+
+\item The standard \LATEX\ \type{graphics}, \type{graphicx}, and
+ \type{color} packages also have automatic \pdfTeX\ support, which
+ allow use of color, text rotation, and graphics inclusion commands.
+
+\item The \CONTEXT\ macro package by Hans Hagen has very full support
+ for \PDFTEX\ in its generalized hypertext features. Support for
+ \PDFTEX\ is implemented as a special driver, and is invoked by
+ typing \type{\setupoutput[pdftex]} or feeding \TEXEXEC\ with the
+ \hbox{\tt -{}-pdf} option.
+
+\item \PDF\ from \TEXINFO\ documents can be created by running \PDFTEX\ on
+ the \TEXINFO\ file, instead of \TEX. Alternatively, run the shell
+ command \type{texi2pdf} instead of \type{texi2dvi}.
+
+\item A small modification of \filename {webmac.tex}, called \filename
+ {pdfwebmac.tex}, allows production of hyperlinked \PDF\ versions
+ of the program code written in \WEB.
+
+\stopitemize
+
+Some nice samples of \PDFTEX\ output can be found at
+\from[ptex_org], \from[context], and \from[tex_showcase].
+
+%***********************************************************************
+
+\section{Setting up fonts}
+
+\PDFTEX\ can work with Type~1 and TrueType fonts (and to some extent
+also with OpenType fonts). Font files should be available and embedded
+for all fonts used in the generated PDF. It is possible to use
+\METAFONT||generated fonts in \PDFTEX\ --- but it is strongly
+recommended not to use these fonts if an equivalent is available in
+Type~1 or TrueType format, if only because bitmap Type~3 fonts render
+poorly under enlargement.
+
+%***********************************************************************
+
+\subsection[mapfile]{Map files}
+
+Font map files provide the connection between \TEX\ \TFM\ font files
+and outline font file names. They contain also information about
+re||encoding arrays, partial font embedding (``subsetting''), and
+character transformation parameters (like SlantFont and ExtendFont). Those
+map files were first created for \DVI\ postprocessors. But, as \PDFTEX\
+in \PDF\ output mode includes all \PDF\ processing steps, it also needs
+to know about font mapping, and therefore reads in one or more map files.
+Map files are not read in when \PDFTEX\ is in \DVI\ mode. Bitmap fonts
+can (and normally should) be used without being listed in the map file.
+
+By default, \PDFTEX\ reads the map file \filename{pdftex.map}. In \WEBC,
+map files are searched for using the \type{TEXFONTMAPS} config file value
+and environment variable. By default, the current directory and various
+system directories are searched.
+
+Within the map file, each font is listed on a single line. The syntax of
+each line is upward||compatible with \type{dvips} map files and can contain
+the following fields (some are optional; explanations follow):
+
+\startnarrower
+{\em tfmname psname fontflags special encodingfile fontfile}
+\stopnarrower
+
+It is mandatory that {\em tfmname} is the first field. If a {\em
+psname} is given, it must be the second field. Similarly if {\em
+fontflags} is given it must be the third field (if {\em psname} is
+present) or the second field (if {\em psname} is left out). The
+positions of {\em special}, {\em encodingfile}, and {\em fontfile} can
+be mixed.
+
+\startdescription {tfmname}
+sets the name of the \TFM\ file for a font --- the file name given in a
+\TEX\ \type{\font} command. This name must always be given.
+
+\stopdescription
+
+\startdescription {psname}
+sets the (\POSTSCRIPT) base font name, which has two uses:
+
+First, when a \PDF\ file is embedded by \type{\pdfximage}, the
+\type{/BaseFont} names in the font dictionaries of Type~1 and Type~1C
+(CFF) fonts from the embedded \PDF\ file are checked against this {\em
+psname} field. If names match, the glyphs of that font will not be
+copied from the embedded \PDF\ file, but instead a local font is opened,
+and all needed glyphs will be taken from the Type~1 font file that is
+mentioned in the map line (see {\em fontfile} below). By this collecting
+mechanism Type~1 glyphs can be shared between several embedded \PDF\
+files and with text that is typeset by \PDFTEX, which helps keeping the
+resulting \PDF\ file size small, if many files with similar Type~1(C)
+fonts are embedded. Replacing Type~1 fonts from embedded \PDF\ files
+requires that also a Type~1 font file name is in the {\em fontfile} field
+(see below).
+
+Second, if a font file is not to be embedded into the \PDF\ output
+({\em fontfile} field missing), then the {\em psname} field will be
+copied to the \type{/BaseFont} and \type{/FontName} dictionary entries
+in the \PDF\ file, so that the \POSTSCRIPT\ font name will be known to
+reading applications (\eg\ viewers).
+
+It is highly recommended to use the {\em psname} field, but
+strictly speaking it is optional.
+
+\stopdescription
+
+\startdescription {fontflags}
+optionally specify some characteristics of the font. The following description of
+these flags is taken, with slight modification, from the \PDFReference\
+(the section on font descriptor flags). Viewers can adapt their rendering
+to these flags, especially when they substitute a non-embedded font by
+some own approximation.
+
+\startnarrower
+
+The value of the flags key in a font descriptor is a 32||bit integer that
+contains a collection of boolean attributes. These attributes are true if the
+corresponding bit is set to~1. \in{Table}[flags] specifies the meanings of
+the bits, with bit~1 being the least significant. Reserved bits must be set
+to zero.
+
+\startbuffer
+\starttabulate[|c|l|]
+\HL
+\NC \bf bit position \NC \bf semantics \NC\NR
+\HL
+\NC 1 \NC Fixed||width font \NC\NR
+\NC 2 \NC Serif font \NC\NR
+\NC 3 \NC Symbolic font \NC\NR
+\NC 4 \NC Script font \NC\NR
+\NC 5 \NC Reserved \NC\NR
+\NC 6 \NC Uses the Adobe Standard Roman Character Set \NC\NR
+\NC 7 \NC Italic \NC\NR
+\NC 8--16 \NC Reserved \NC\NR
+\NC 17 \NC All||cap font \NC\NR
+\NC 18 \NC Small||cap font \NC\NR
+\NC 19 \NC Force bold at small text sizes \NC\NR
+\NC 20--32 \NC Reserved \NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable
+ [here][flags]
+ {The meaning of flags in the font descriptor.}
+ {\getbuffer}
+
+All characters in a {\em fixed||width} font have the same width, while
+characters in a proportional font have different widths. Characters in a {\em
+serif font} have short strokes drawn at an angle on the top and bottom of
+character stems, while sans serif fonts do not have such strokes. A {\em
+symbolic font} contains symbols rather than letters and numbers. Characters
+in a {\em script font} resemble cursive handwriting. An {\em all||cap} font,
+which is typically used for display purposes such as titles or headlines,
+contains no lowercase letters. It differs from a {\em small||cap} font in
+that characters in the latter, while also capital letters, have been sized
+and their proportions adjusted so that they have the same size and stroke
+weight as lowercase characters in the same typeface family.
+
+Bit~6 in the flags field indicates that the font's character set
+conforms to the
+Adobe Standard Roman Character Set, or a subset of that, and that it uses
+the standard names for those characters.
+
+Finally, bit~19 is used to determine whether or not bold characters are
+drawn with extra pixels even at very small text sizes. Typically, when
+characters are drawn at small sizes on very low resolution devices such
+as display screens, features of bold characters may appear only one pixel
+wide. Because this is the minimum feature width on a pixel||based device,
+ordinary non||bold characters also appear with one||pixel wide features,
+and thus cannot be distinguished from bold characters. If bit~19 is set,
+features of bold characters may be thickened at small text sizes.
+
+\stopnarrower
+
+If the {\em fontflags} field is not given, and the font is embedded,
+\PDFTEX\ treats it as the value~4 (decimal, that is, bit position 3 is set),
+a symbolic font. For non-embedded fonts, the default value is
+\type{0x22}, a non-symbolic serif font. If you do not know the correct
+value, it is best not to specify it at all, as specifying a bad value of
+font flags may cause trouble in viewers. On the other hand this option
+is not absolutely useless because it provides backward compatibility
+with older map files (see the {\em fontfile} description below).
+
+\stopdescription
+
+\startdescription {special}
+specifies font manipulations in the same way as
+\type{dvips}. Currently only the keywords \type{SlantFont}
+and \type{ExtendFont} are interpreted, other instructions (notably
+\type{ReEncodeFont} and its parameters, see {\em encoding} below) are
+just ignored. The permitted \type{SlantFont} range is $-$1..1;
+for \type{ExtendFont} it's $-$2..2. The block of {\em special}
+instruction must be enclosed by double quote characters: \type{"}.
+
+\stopdescription
+
+\startdescription {encodingfile} specifies the name of the file
+containing the external encoding vector to be used for the font. The
+encoding file name must have the extension \type{.enc}, and the file
+name including extension must be given with either a preceding~\type{<}
+character or a preceding~\type{<[}. The format of the encoding vector is
+identical to that used by \type{dvips}. If no encoding is specified, the
+font's built||in default encoding is used. The {\em encodingfile} field
+may be omitted if you are sure that the font resource has the correct
+built||in encoding. In general this option is highly recommended, and it
+is {\em required} when subsetting a TrueType font.
+
+Starting with version 1.40.19, an encoding file can also be specified
+for bitmap \PK\ fonts. In this case, it assigns the glyph names from the
+given encoding vector, which can be used with the
+\type{\pdfglyphtounicode} primitive (q.v.). For example:
+
+\starttyping
+\pdfglyphtounicode{ffi}{0066 0066 0069} % normally: \input glyphtounicode
+\pdfgentounicode=1
+\pdfmapline{cmb10 <7t.enc}
+\font\cmb=cmb10 \cmb ffi
+\stoptyping
+
+The result is a \PDF\ file with a correctly-labeled \type{/ffi}
+character instead of the numeric character position in the
+\type{cmb10.tfm} (decimal 14).
+
+\stopdescription
+
+\startdescription {fontfile}
+sets the name of the font file to be embedded into the \PDF\ output for a
+given \TeX\ font (the {\em tfmname}~$\leftrightarrow$~{\em fontfile}
+mapping is the most prominent use of the \filename{pdftex.map} file).
+The font file name must belong to a Type~1 or TrueType font file. If
+the {\em fontfile} field is missing, no font embedding can take place;
+in case the {\em psname} field does not contain one of the 14 standard
+font names also a warning will be given. Not embedding a font into a \PDF\
+file might be troublesome, as it requires that the font or some similar
+looking replacement font is available within the \PDF\ viewer, so that
+it can render the glyphs with its own font version.
+
+The font file name should be preceded by one or two special characters,
+specifying how to handle the font file:
+
+\startitemize
+
+\item If the font file name is preceded by a \type{<} character, the
+ font file will be only partially embedded in the \PDF\ output
+ (``subsetted''), meaning that only used glyphs are written to
+ the \PDF\ file. This is the most common use and is {\em strongly
+ recommended} for any font, as it ensures the portability and
+ reduces the size of the \PDF\ output. Subsetted fonts are included
+ in such a way that name and cache clashes are minimized.
+
+\item If the font file name is preceded by a double \type{<<}, the font
+ file will be included entirely --- all glyphs of the font are
+ embedded, including even those not used in the document. Apart
+ from causing large size \PDF\ output, this option may cause
+ troubles with TrueType fonts, so it is normally not recommended
+ for Type~1 or TrueType fonts. But this is currently the only mode
+ that allows the use of OpenType fonts. This mode might also be
+ useful in case the font is atypical and cannot be subsetted well
+ by \PDFTEX. {\em Beware: proprietary font vendors typically
+ forbid full font inclusion.}
+
+\item If no special character precedes the font file name, it is
+ ignored, with a warning (this case was deprecated in \PDFTEX\
+ version 1.40.0). You achieve exactly the same \PDF\ result if you
+ just remove the font file name from the map entry. Then the glyph
+ widths that go into the \PDF~file are extracted from the
+ \TFM~file, and a font descriptor object is created that contains
+ approximations of the font metrics for the selected font.
+
+\item Specifying the {\em psname} and no font file name is only useful
+ as a last-ditch fallback when you do not want to embed the font
+ (\eg\ due to font license restrictions), but wish to use the font
+ metrics and let the \PDF\ viewer generate instances that look
+ close to the used font in case the font resource is not installed
+ on the system where the \PDF\ output will be viewed or
+ printed. To use this feature, the font flags {\em must} be
+ specified, and it must have the bit~6 set on, which means that
+ only fonts with the Adobe Standard Roman Character Set can be
+ simulated. The only exception is the case of a symbolic font,
+ which is not very useful.
+
+\stopitemize
+
+If you encounter problematic lookups, for instance if \PDFTEX\ tries
+to open a \type{.pfa} file instead of a \type{.pfb}, you can add
+the suffix to the filename. In this respect, \PDFTEX\ completely relies
+on the \type{kpathsea} library.
+
+\stopdescription
+
+For Type~1 and TrueType fonts, the font file will be included only once
+in the \PDF\ output, regardless of how many \TeX\ \type{\font} instances
+are used in the document. For instance, given
+
+\starttyping
+\font\a = cmr12
+\font\b = cmr12 at 11pt
+\stoptyping
+
+the outline file \type{cmr12.pfb} will only be included once in the
+\PDF, and merely scaled down to create the instance for \type{\b}.
+
+If a used font is not present in the map files, \PDFTEX\ will try to use
+\PK~fonts as most \DVI\ drivers do, creating \PK~fonts on||the||fly if
+needed. This is the normal, and recommended, way to use bitmap fonts.
+
+To summarize this rather confusing story, we include some example map
+lines. The most common way is to embed only a subset of glyphs from a
+font for a particular desired encoding, like this:
+
+\starttyping
+ptmri8r Times-Italic <8r.enc <ptmri8a.pfb
+\stoptyping
+
+Without re||encoding it looks like this:
+
+\starttyping
+cmr10 CMR10 <cmr10.pfb
+\stoptyping
+
+\type{SlantFont} and \type{ExtendFont} fields are specified as with
+\type{dvips}. \type{SlantFont} and \type{ExtendFont} work only with
+embedded Type~1 fonts:
+
+\starttyping
+psyro StandardSymL ".167 SlantFont" <usyr.pfb
+pcrr8rn Courier ".85 ExtendFont" <8r.enc <pcrr8a.pfb
+\stoptyping
+
+Entirely embed a font into the \PDF\ file without and with re||encoding
+(not typically useful):
+
+\starttyping
+fmvr8x MarVoSym <<marvosym.pfb
+pgsr8r GillSans <8r.enc <<pgsr8a.pfb
+\stoptyping
+
+A TrueType font can be used in the same way as a Type~1 font:
+
+\starttyping
+verdana8r Verdana <8r.enc <verdana.ttf
+\stoptyping
+
+Finally, a few cases with non-embedded fonts. If the fontfile is
+missing, the viewer application will have to use its own approximation
+of the missing font (with and without re||encoding):
+
+\starttyping
+ptmr8r Times-Roman <8r.enc
+psyr Symbol
+\stoptyping
+
+In the next example the numerical font flags give some rough hint what
+general characteristics the GillSans font has, so \eg\ the Adobe Reader
+might try an approximation, if it doesn't have the font resource nor
+any clue how a font named GillSans should look like:
+
+\starttyping
+pgsr8r GillSans 32 <8r.enc
+\stoptyping
+
+Not embedding fonts is rather risky and should generally be avoided.
+The recommendation these days is to embed all fonts, even the 14 standard ones.
+
+%***********************************************************************
+
+\subsection{Helper tools for TrueType fonts}
+
+As mentioned above, \PDFTEX\ can work with TrueType fonts. Defining
+TrueType fonts is similar to Type~1. The only extra thing to do
+with TrueType is to create a \TFM\ file. There is a program called
+\type{ttf2afm} in the \PDFTEX\ distribution which can be used to
+extract \AFM\ from TrueType fonts (another conversion program is
+\type{ttf2pt1}). Usage of \type{ttf2afm} is simple:
+
+\starttyping
+ttf2afm -e <encoding vector> -o <afm outputfile> <ttf input file>
+\stoptyping
+
+A TrueType file can be recognized by its suffix \filename {ttf}. The optional
+{\em encoding} specifies the encoding, which is the same as the encoding
+vector used in map files for \PDFTEX\ and \type{dvips}. If the encoding is
+not given, all the glyphs of the \AFM\ output will be mapped to \type
+{/.notdef}. \type{ttf2afm} writes the output \AFM\ to standard output. If we
+need to know which glyphs are available in the font, we can run \type
+{ttf2afm} without encoding to get all glyph names. The resulting \AFM\ file
+can be used to generate a \TFM\ one by applying \filename {afm2tfm}.
+
+To use a new TrueType font the minimal steps may look like below. We suppose
+that \filename {test.map} is used.
+
+\starttyping
+ttf2afm -e 8r.enc -o times.afm times.ttf
+afm2tfm times.afm -T 8r.enc
+echo "times TimesNewRomanPSMT <8r.enc <times.ttf" >>test.map
+\stoptyping
+
+There are a few limitations with TrueType fonts in comparison with
+Type~1 fonts:
+
+\startitemize[a,packed]
+\item The special effects SlantFont|/|ExtendFont did not work
+ before version 1.40.0.
+\item To subset a TrueType font, the font must be specified as re||encoded,
+ therefore an encoding vector must be given.
+\item TrueType fonts coming with embedded \PDF\ files are kept
+ untouched; they are not replaced by local ones.
+\stopitemize
+
+For much more about \PDFTEX\ and TrueType fonts, including many details
+on handling glyph names, see ``A closer look at TrueType fonts and
+\PDFTEX'', {\em TUGboat} 30:1 (2009), pp.~32||34, \from[thanh_truetype_tub]
+
+%***********************************************************************
+
+\section{Formal syntax specification}
+
+This section formally specifies the \PDFTEX-specific extensions to the
+\TEX\ macro programming language. Most primitives are prefixed by
+\type{pdf}. The general definitions and syntax rules follow after the
+list of primitives.
+
+Two new units of measure were introduced in \PDFTEX\ 1.30.0: the
+new Didot (1\,nd~=~0.375\,mm) and the new Cicero (1\,nc~=~12\,nd)
+(the former was proposed by \ISO\ in 1975).
+
+% Generated list of primitives (see Makefile).
+\input pdftex-syntax.tex
+
+\subsubject{General definitions and syntax rules}
+
+\startpacked
+
+%%S NL
+%%S Syntax rules:
+
+\Syntax{
+\Something{general text} \Means %
+ \Lbrace \Something{balanced text} \Rbrace
+}
+
+\Syntax{
+\Something{attr spec} \Means %
+ \Literal{attr} \Something{general text}
+}
+
+\Syntax{
+\Something{resources spec} \Means %
+ \Literal{resources} \Something{general text}
+}
+
+\Syntax{
+\Something{rule spec} \Means %
+ (\Literal{width} \Or \Literal{height} \Or \Literal{depth}) %
+ \Something{dimen} \Optional{\Something{rule spec}}
+}
+
+%\Syntax{\Something{object type spec} \Means
+% \Optional{\Literal{stream}
+% \Optional{\Something{attr spec}}} \Something{object contents}}
+
+\Syntax{
+\Something{object type spec} \Means %
+ \Literal{reserveobjnum}
+ \Or \Next %
+ \Optional{\Literal{useobjnum} \Something{number}} \Next %
+ \Optional{\Literal{stream} \Optional{\Something{attr spec}}} %
+ \Something{object contents}
+}
+
+\Syntax{
+\Something{annot type spec} \Means %
+ \Literal{reserveobjnum}
+ \Or \Next %
+ \Optional{\Literal{useobjnum} \Something{number}} %
+ \Optional{\Something{rule spec}} %
+ \Something{general text}
+}
+
+\Syntax{
+\Something{object contents} \Means %
+ \Something{file spec}
+ \Or \Something{general text}
+}
+
+\Syntax{
+\Something{xform attr spec} \Means %
+ \Optional{\Something{attr spec}} \Optional{\Something{resources spec}}
+}
+
+\Syntax{
+\Something{image attr spec} \Means %
+ \Optional{\Something{rule spec}} %
+ \Optional{\Something{attr spec}} %
+ \Optional{\Something{page spec}} %
+ \Optional{\Something{colorspace spec}} %
+ \Optional{\Something{pdf box spec}}
+}
+
+\Syntax{
+\Something{outline spec} \Means %
+ \Optional{\Something{attr spec}} %
+ \Something{action spec} %
+ \Optional{\Literal{count} \Something{number}} %
+ \Something{general text}
+}
+
+\Syntax{
+\Something{action spec} \Means %
+ \Literal{user} \Something{user-action spec}
+ \Or \Literal{goto} \Something{goto-action spec}
+ \Or \Next \Literal{thread} \Something{thread-action spec}
+}
+
+\Syntax{
+\Something{user-action spec} \Means %
+ \Something{general text}
+}
+
+%HE Check:
+\Syntax{
+\Something{goto-action spec} \Means %
+ \Something{numid}
+ \Or \Next \Optional{\Something{file spec}} \Something{nameid}
+ \Or \Next \Optional{\Something{file spec}} \Optional{\Something{page spec}} \Something{general text}
+ \Or \Next \Something{file spec} \Something{nameid} \Something{newwindow spec}
+ \Or \Next \Something{file spec} \Optional{\Something{page spec}} \Something{general text} \Something{newwindow spec}
+}
+
+\Syntax{
+\Something{thread-action spec} \Means %
+ \Optional{\Something{file spec}} \Something{numid}
+ \Or \Optional{\Something{file spec}} \Something{nameid}
+}
+
+\Syntax{
+\Something{colorspace spec} \Means %
+ \Literal{colorspace} \Something{number}
+}
+
+\Syntax{
+\Something{pdf box spec} \Means %
+ \Literal{mediabox} %
+ \Or \Literal{cropbox} %
+ \Or \Literal{bleedbox} %
+ \Or \Literal{trimbox} %
+ \Or \Literal{artbox}
+}
+
+\Syntax{
+\Something{map spec} \Means %
+ \Lbrace \Optional{\Something{map modifier}} %
+ \Something{balanced text} \Rbrace
+}
+
+\Syntax{
+\Something{map modifier} \Means %
+ \Literal{+} \Or \Literal{=} \Or \Literal{-}
+}
+
+\Syntax{
+\Something{numid} \Means %
+ \Literal{num} \Something{number}
+}
+
+\Syntax{
+\Something{nameid} \Means %
+ \Literal{name} \Something{general text}
+}
+
+\Syntax{
+\Something{newwindow spec} \Means %
+ \Literal{newwindow} \Or \Literal{nonewwindow}
+}
+
+\Syntax{
+\Something{dest spec} \Means %
+ \Something{numid} \Something{dest type}
+ \Or \Something{nameid} \Something{dest type}
+}
+
+\Syntax{
+\Something{dest type} \Means %
+ \Literal{xyz} \Optional{\Literal{zoom} \Something{number}}
+ \Or \Literal{fitr} \Something{rule spec}
+ \Or \Next \Literal{fitbh}
+ \Or \Literal{fitbv}
+ \Or \Literal{fitb}
+ \Or \Literal{fith}
+ \Or \Literal{fitv}
+ \Or \Literal{fit}
+}
+
+\Syntax{
+\Something{thread spec} \Means %
+ \Optional{\Something{rule spec}} %
+ \Optional{\Something{attr spec}} %
+ \Something{id spec}
+}
+
+\Syntax{
+\Something{id spec} \Means %
+ \Something{numid} \Or \Something{nameid}
+}
+
+\Syntax{
+\Something{file spec} \Means %
+ \Literal{file} \Something{general text}
+}
+
+\Syntax{
+\Something{page spec} \Means %
+ \Literal{page} \Something{number}
+}
+
+\Syntax{
+\Something{expand spec} \Means %
+ \Something{stretch} %
+ \Something{shrink} %
+ \Something{step} %
+ \Optional{\Literal{autoexpand}}
+}
+
+\Syntax{
+\Something{stretch} \Means %
+ \Something{number}
+}
+
+\Syntax{
+\Something{shrink} \Means %
+ \Something{number}
+}
+
+\Syntax{
+\Something{step} \Means %
+ \Something{number}
+}
+
+\Syntax{
+\Something{pre spec} \Means %
+ \Literal{pre}
+}
+
+\Syntax{
+\Something{pdfliteral spec} \Means %
+ \Literal{direct} \Or \Literal{page}
+}
+
+\Syntax{
+\Something{pdfspecial spec} \Means %
+ \Lbrace \Optional{\Something{pdfspecial id} %
+ \Optional{\Something{pdfspecial modifier}}} %
+ \Something{balanced text} \Rbrace
+}
+
+\Syntax{
+\Something{pdfspecial id} \Means %
+ \Literal{pdf:} \Or \Literal{PDF:}
+}
+
+\Syntax{
+\Something{pdfspecial modifier} \Means %
+ \Literal{direct:}
+}
+
+\Syntax{
+\Something{stack action} \Means %
+ \Literal{set} \Or \Literal{push} \Or \Literal{pop} \Or \Literal{current}
+}
+
+\stoppacked
+
+A \Something{general text} is expanded immediately, like \type{\special}
+in traditional \TEX, unless explicitly mentioned otherwise.
+
+Some of the object and image related primitives can be prefixed by
+\type{\immediate}. More about that in the next sections.
+
+%***********************************************************************
+
+\section[primitives]{\PDFTEX\ primitives}
+
+Here follows a description of the primitives added by \PDFTEX\ to the
+original \TEX\ engine (other extensions by \ETEX, \MLTEX\ and \ENCTEX\
+are not listed). Many of these primitives are described further in the
+\filename {samplepdf.tex} file in the \PDFTEX\ distribution.
+
+If the output is \DVI, then the \PDFTEX-specific dimension parameters
+are not used at all. However, some \PDFTEX\ integer parameters can
+affect \DVI\ as well as \PDF\ output (specifically, \type{\pdfoutput} and
+\type{\pdfadjustspacing}).
+
+%A warning to macro writers: The \PDFTEX-team reserves the namespaces
+%\type{\pdf*} and \type{\ptex*} for use by \PDFTEX; if you define macros
+%whose names start with \type{\pdf} or \type{\ptex}, you risk nameclashes
+%with new primitives introduced in future versions of \PDFTEX.
+
+General warning: many of these new primitives, for example
+\type{\pdfdest} and \type{\pdfoutline}, write their arguments directly
+to the \PDF\ output file (when producing \PDF), as \PDF\ string
+constants. This means that {\em you} (or, more likely, the macros you
+write) must escape characters as necessary (namely \type{\}, \type{(},
+and \type{)}. Otherwise, an invalid \PDF\ file may result. The
+\type{hyperref} and \TEXINFO\ packages have code which may serve as
+a starting point for implementing
+this, although it will certainly need to be adapted to any particular
+situation.
+
+%***********************************************************************
+
+\subsection{Document setup}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfoutput} \Whatever{integer}}}
+\bookmark{\tex{pdfoutput}}
+
+This parameter specifies whether the output format should be \DVI\ or
+\PDF. A positive value means \PDF\ output, otherwise (default 0) one gets
+\DVI\ output. This primitive is the only one that must be set to produce
+\PDF\ output (unless the commandline option \type{-output-format=pdf}
+is used); all other primitives are optional. This parameter cannot be
+specified {\em after} shipping out the first page. In other words, if
+we want \PDF\ output, we have to set \type{\pdfoutput} before \PDFTEX\
+ships out the first page.
+
+When \PDFTEX\ starts complaining about specials, one can be rather sure
+that a macro package is not aware of the \PDF\ mode. A simple way of
+making macros aware of \PDFTEX\ in \PDF\ or \DVI\ mode is:
+
+\starttyping
+\ifx\pdfoutput\undefined \csname newcount\endcsname\pdfoutput \fi
+\ifcase\pdfoutput DVI CODE \else PDF CODE \fi
+\stoptyping
+
+Using the \type{ifpdf.sty} file, which works with both \LATEX\ and plain
+\TeX, is a cleaner way of doing this. Historically, the simple test
+\type{\ifx\pdfoutput\undefined} was defined; but nowadays, the \PDFTEX\
+engine is used in distributions also for non-\PDF\ formats (\eg\
+\LATEX), so \type{\pdfoutput} may be defined even when the output format
+is \DVI.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfminorversion} \Whatever{integer}}}
+\bookmark{\tex{pdfminorversion}}
+
+This primitive sets the \PDF\ version of the generated file and the
+highest \PDF\ version of included \PDF{}s allowed without warning, by
+default (see \type{\pdfinclusionerrorlevel}). The default compiled into
+the \PDFTEX\ program is \type{\pdfminorversion=4}, setting the \PDF\
+version to~1.4 and allowing included \PDF\ files with versions up
+to~1.4. If specified, this primitive must appear before any data is to
+be written to the generated \PDF\ file.
+
+Distributions typically alter the engine's compiled default of~4 when
+building formats; for example, as of 2010, \TEXLIVE\ sets
+\type{\pdfminorversion=5} when formats are built. This is so object
+compression can be enabled (described below).
+
+This was originally a shortened synonym of the
+\type{\pdfoptionpdfminorversion} command, which is now obsolete.
+\introduced{1.30.0}
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfcompresslevel} \Whatever{integer}}}
+\bookmark{\tex{pdfcompresslevel}}
+
+This integer parameter specifies the level of {\em stream} compression
+(text, inline graphics, and embedded \PNG\ images (only if they are un-
+and re-compressed during the embedding process); all done by the
+\type{zlib} library). Zero means no compression, 1~means fastest,
+9~means best, $2..8$ means something in between. A value outside this
+range will be adjusted to the nearest meaningful value. This parameter
+is read each time \PDFTEX\ starts a stream. Setting
+\type{\pdfcompresslevel=0} is useful for \PDF\ stream debugging.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfobjcompresslevel} \Whatever{integer}}}
+\bookmark{\tex{pdfobjcompresslevel}}
+
+This integer parameter controls the compression of {\em non-stream}
+objects. In the \PDF-1.4 specification these objects still had to go into
+the \PDF\ file as clear text, uncompressed. The \PDF-1.5 specification
+now allows to collect non-stream objects as ``compressed objects'' into
+``object stream'' objects (\type{/Type /ObjStm}, see \PDF\ Ref.\ 5th~ed.,
+sect.~3.4.6). At the \PDF\ file end instead of the object table then
+an \type{/XRef} cross-reference stream is written out. This results in
+considerably smaller \PDF\ files, particularly if lots of annotations
+and links are used.
+\introduced{1.40.0}
+
+The writing of compressed objects is enabled by setting
+\type{\pdfobjcompresslevel} to a value between~1 and~3; it's
+disabled by value~0 (default). Enabling requires that also
+\type{\pdfminorversion}~$>$~4. If \type{\pdfobjcompresslevel}~$>$~0,
+but \type{\pdfminorversion}~$<$~5, a warning is given and object stream
+writing is disabled. The \type{\pdfobjcompresslevel} value is clipped
+to the range $0..3$. Using values outside this range is not recommended
+(for future extension).
+
+The \type{\pdfobjcompresslevel} settings have the following effects:
+When set to~0, no object streams are generated at all. When set to~1,
+all non-stream objects are compressed with the exception of any objects
+coming with embedded \PDF\ files (``paranoid'' mode, to avoid yet unknown
+problems), and also the \type{/Info} dictionary is not compressed for
+clear-text legibility. When set to~2, also all non-stream objects coming
+with embedded \PDF\ files are compressed, but the \type{/Info} dictionary
+is still not compressed. Finally, when set to~3, all non-stream objects
+are compressed, including the \type{/Info} dictionary (this means that
+the \type{/Info} can't be read as clear text any more). If object streams
+are to be used, currently \type{\pdfobjcompresslevel=2} is recommended,
+and is so specified in some distributions, including \TEXLIVE~2010 and later.
+
+\description{Caveat:} \PDF\ files generated with object streams enabled
+can't be read with (sufficiently old) \PDF\ viewers that don't
+understand \PDF-1.5 files. For widest distribution and unknown audience,
+don't activate object stream writing. The \PDF-1.5 standard describes
+also a hybrid object compression mode that gives some backward
+compatibility, but this is currently not implemented, as \PDF-1.5 was
+rather quickly adopted by modern \PDF\ viewers. Also not implemented is
+the optional \type{/Extends} key.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfdecimaldigits} \Whatever{integer}}}
+\bookmark{\tex{pdfdecimaldigits}}
+
+This integer parameter specifies the numeric accuracy of real
+coordinates as written to the \PDF\ file. It gives the maximal number of
+decimal digits after the decimal point. Valid values are in range
+$0..4$. A higher value means more precise output, but also results in a
+larger file size and more time to display or print. In most cases the
+optimal value is~2. This parameter does not influence the precision of
+numbers used in raw \PDF\ code, like that used in \type{\pdfliteral} and
+annotation action specifications; also multiplication items (\eg\
+scaling factors) are not affected and are always output with best
+precision. This parameter is read when \PDFTEX\ writes a real number to
+the \PDF\ output.
+
+When including huge \METAPOST\ images using \filename {supp-pdf.tex}, one can
+limit the accuracy to two digits by typing: \type{\twodigitMPoutput}.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfhorigin} \Whatever{dimen}}}
+\bookmark{\tex{pdfhorigin}}
+
+This parameter can be used to set the horizontal offset the output box
+from the top left corner of the page. A value of 1~inch corresponds to the
+normal \TEX\ offset. This parameter is read when \PDFTEX\ starts shipping
+out a page to the \PDF\ output.
+
+For standard purposes, this parameter should always be kept at
+1~true inch. If you want to shift text on the page, use \TEX's
+own \type{\hoffset} primitive. To avoid surprises, after global
+magnification has been changed by the \type{\mag} primitive, the
+\type{\pdfhorigin} parameter should still be 1~true inch, \eg\
+by typing \type{\pdfhorigin=1 true in} after issuing the \type{\mag}
+command. Or, you can preadjust the \type{\pdfhorigin} value before typing
+\type{\mag}, so that its value after the \type{\mag} command ends up at
+1~true inch again.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfvorigin} \Whatever{dimen}}}
+\bookmark{\tex{pdfvorigin}}
+
+This parameter is the vertical companion of \type{\pdfhorigin}, and the
+notes above regarding \type{\mag} and true dimensions apply. Also keep
+in mind that the \TEX\ coordinate system starts in the top left corner
+(downward), while \PDF\ coordinates start at the bottom left corner
+(upward).
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpagewidth} \Whatever{dimen}}}
+\bookmark{\tex{pdfpagewidth}}
+
+This dimension parameter specifies the page width of the \PDF\ output
+(the screen, the paper, etc.). \PDFTEX\ reads this parameter when it
+starts shipping out a page. After magnification has been changed by
+the \type{\mag} primitive, check that this parameter reflects the wished
+true page width.
+
+If the value is set to zero, the page width is calculated as
+$w_{\hbox{\txx box being shipped out}} + 2 \times (\hbox{horigin} +
+\hbox{\type{\hoffset}})$. When part of the page falls off the paper or
+screen, you can be rather sure that this parameter is set wrong.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpageheight} \Whatever{dimen}}}
+\bookmark{\tex{pdfpageheight}}
+
+Similar to the previous item, this dimension parameter specifies the
+page height of the \PDF\ output. If set to zero, the page height will
+be calculated analogously to the above. After magnification has been
+changed by the \type{\mag} primitive, check that this parameter reflects
+the wished true page height.
+
+%***********************************************************************
+
+\subsection[sec.docinfocatalog]{The document info and catalog}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfinfo} \Something{general text}}}
+\bookmark{\tex{pdfinfo}}
+
+This primitive allows the user to specify information for the document
+info dictionary; if this information is provided, it can be extracted,
+\eg\ by the \type{pdfinfo} program. The \Something{general text} is a
+collection of key||value||pairs. The key names are preceded by a
+\type{/}, and the values, being strings, are given between
+parentheses. All keys, and the primitive itself, are optional. Possible
+keys are:\crlf
+\type{/Title},\crlf
+\type{/Author},\crlf
+\type{/Subject},\crlf
+\type{/Keywords},\crlf
+\type{/Producer} (defaults to \hbox{\tt pdfTeX-\currentpdftex}),\crlf
+\type{/Creator} (defaults to \type{TeX}),\crlf
+\type{/CreationDate} (defaults to current date and time, with time zone),\crlf
+\type{/ModDate} (same default),\crlf
+\type{/Trapped} (defaults to \type{/False},\crlf
+\type{/PTEX.Fullbanner} (defaults to the \type{\pdftexbanner} string, q.v.).
+
+\type{/CreationDate} and \type{/ModDate} are expressed in the form
+\type{D:YYYYMMDDhhmmssTZ}, where \type{YYYY} is the year, \type{MM} is
+the month, \type{DD} is the day, hh is the hour, \type{mm} is the
+minutes, \type{ss} is the seconds, and \type{TZ} is an optional string
+denoting the time zone, \type{Z} for universal time. For example, this
+is the Unix epoch, the beginning of 1970-01-01 UTC, in this format:
+\type{19700101000000Z}. If the time zone is not UTC, it is given as
+\type{+HH'mm'} or \type{-HH'mm'}, indicating an offset of the given
+hours and minutes from UTC, with the given either later (\type{+}) or
+earlier (\type{-}) than UTC. (This syntax is specified by the PDF
+definition.)
+
+Multiple appearances of \type{\pdfinfo} are concatenated. Usually if a
+key is given more than once, the first appearance will be used, but this
+is viewer||dependent. Except for standard \TeX\ expansion, \PDFTEX\ does
+not perform any further operations in the \Something{general text}
+provided by the user.
+
+Here is an example of using \type{\pdfinfo} to include the
+information not supplied by \PDFTEX:
+
+\starttyping
+\pdfinfo {
+ /Title (example.pdf)
+ /Author (Tom and Jerry)
+ /Subject (Example)
+ /Keywords (mouse, cat)
+}
+\stoptyping
+
+For more details on all this, see the \PDFReference.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfinfoomitdate} \Whatever{integer}}}
+\bookmark{\tex{pdfinfoomitdate}}
+
+If nonzero, omit the \type{/CreationDate} and \type{/ModDate} keys from
+the document info dictionary described above. This can be useful in
+making reproducible \PDF{}s. \introduced{1.40.17}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfsuppressptexinfo} \Whatever{integer}}}
+\bookmark{\tex{pdfsuppressptexinfo}}
+
+Treated as a bitmask, specifying which \type{PTEX.*} keys to omit from
+the output:
+
+\startbuffer
+\starttabulate[|l|l|]
+\HL
+\NC \bf value \NC \bf suppresses \NC\NR
+\HL
+\NC \tt 1 \NC \type{PTEX.Fullbanner} \NC\NR
+\NC \tt 2 \NC \type{PTEX.FileName} \NC\NR
+\NC \tt 4 \NC \type{PTEX.PageNumber} \NC\NR
+\NC \tt 8 \NC \type{PTEX.InfoDict} \NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable
+ [here][suppressptexinfo]
+ {\type{\pdfsuppressptexinfo} bit meanings.}
+ {\getbuffer}
+
+Thus, the value \type{-1}, or the sum of all defined bits, will suppress
+everything.
+
+\type{PTEX.Fullbanner} is included by default in the general document
+info dictionary, as mentioned under \type{\pdfinfo} above. The other
+\type{PTEX.*} keys are included when a \PDF\ is included in the document
+(and not otherwise), as described in \in{section}[sec.addpdfkeys].
+
+This conditional suppression can be useful in making reproducible
+\PDF{}s. \introduced{1.40.17}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfcatalog} \Something{general text}
+ \Optional{\Literal{openaction} \Something{action spec}}}}
+\bookmark{\tex{pdfcatalog}}
+
+Similar to the document info section is the document catalog, where
+possible keys are \type{/URI}, which specifies the base \URL\ of the
+document, and \type {/PageMode}, which determines how the \PDF\ viewer
+displays the document on startup. The possibilities for the latter are
+explained in \in {table} [pagemode]:
+
+\startbuffer
+\starttabulate[|l|l|]
+\HL
+\NC \bf value \NC \bf meaning \NC\NR
+\HL
+\NC \tt /UseNone \NC neither outline nor thumbnails visible \NC\NR
+\NC \tt /UseOutlines \NC outline visible \NC\NR
+\NC \tt /UseThumbs \NC thumbnails visible \NC\NR
+\NC \tt /FullScreen \NC full||screen mode \NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable
+ [here][pagemode]
+ {Supported \type{/PageMode} values.}
+ {\getbuffer}
+
+The default \type{/PageMode} setting is \type{/UseNone}. In
+full||screen mode, there is no menu bar, window controls, nor any other
+window present.
+
+After the \Something{general text}, a construct \Literal{openaction}
+\Something{action spec} can be given, where \Literal{openaction} is a
+\PDFTEX\ keyword, and \Something{action spec} specifies the action to be
+taken when opening the document. This \Something{action spec} is the
+same as for internal links; see \in {section} [linking]. (Instead of
+using this method, one can also write the open action directly into the
+catalog.)
+
+Several settings can be made in one \type{\pdfcatalog} call, for
+example:
+
+\starttyping
+\pdfcatalog{
+ /PageMode /FullScreen
+} openaction goto page 2 {/Fit}
+\stoptyping
+
+\pdftexprimitive{\Syntax{\Tex{\pdfnames} \Something{general text}}}
+\bookmark{\tex{pdfnames}}
+
+This primitive inserts the \Something{general text} to the \type
+{/Names} array. The text must
+conform to the specifications as laid down in the \PDFReference,
+otherwise the document can be invalid.
+
+\pdftexprimitive{\Syntax{\Tex{\pdftrailer} \Something{general text}}}
+\bookmark{\tex{pdftrailer}}
+
+This command puts its argument text verbatim into the file trailer
+dictionary. Example: \type{\pdftrailer {/mytrlrkey /mytrlrval}}.
+\introduced{1.11a}
+
+\pdftexprimitive{\Syntax{\Tex{\pdftrailerid} \Something{general text}}}
+\bookmark{\tex{pdftrailerid}}
+
+Use the \Something{general text} to seed the \type{/ID} value in the
+trailer, instead of the default combination of the input file
+name and starting time. If the argument is empty, the \type{/ID} is
+omitted entirely. Example: \type{\pdftrailerid{}}. This can be useful
+in making reproducible \PDF{}s. \introduced{1.40.17}
+
+%***********************************************************************
+
+\subsection{Fonts}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpkresolution} \Whatever{integer}}}
+\bookmark{\tex{pdfpkresolution}}
+
+This integer parameter specifies the default resolution of embedded \PK\
+fonts and is read when \PDFTEX\ embeds a \PK\ font during finishing the
+\PDF\ output. As bitmap fonts are still rendered poorly by some \PDF\
+viewers, it is best to use Type~1 fonts when available.
+
+\pdftexprimitive{\Syntax{\Tex{\pdffontexpand}
+ \Something{font} \Something{stretch} \Something{shrink}
+ \Something{step} \Optional{\Literal{autoexpand}}}}
+\bookmark{\tex{pdffontexpand}}
+
+This extension to \TEX's font definitions controls a major \PDFTEX\ feature
+called {\em font expansion}. We describe this by an example:
+
+\starttyping
+\font\somefont=sometfm at 10pt
+\pdffontexpand\somefont 30 20 10 autoexpand
+\pdfadjustspacing=2
+\stoptyping
+
+The \type{30 20 10} means this: \quotation {hey \TEX, when line breaking
+is going badly, you may stretch the glyphs from this font as much as
+3\,\% or shrink them as much as 2\,\%}. For practical reasons \PDFTEX\
+uses discrete expansion steps, in this example, 1\,\%. Roughly spoken, the
+trick is as follows. Consider a text typeset in triple column mode. When
+\TEX\ cannot break a line in the appropriate way, the unbreakable parts
+of the word will stick into the margin. When \PDFTEX\ notes this, it
+will try to scale (shrink) the glyphs in that line using fixed steps,
+until the line fits. When lines are too spacy, the opposite happens:
+\PDFTEX\ starts scaling (stretching) the glyphs until the white space
+gaps is acceptable. This glyph stretching and shrinking is called
+{\em font expansion}. To enable font expansion, don't forget to set
+\type{\pdfadjustspacing} to a value greater than zero.
+
+There are two different modes for font expansion:
+
+First, if the \type{autoexpand} option is given --- which is the
+recommended mode --- only a single map entry is needed for all expanded
+font versions, using the name of the unexpanded \TFM\ file ({\em
+tfmname}). No expanded {\em tfmname} versions need to mentioned (they are
+ignored), as \PDFTEX\ generates expanded copies of the unexpanded \TFM\
+data structures and keeps them in its memory. Since \PDFTEX~1.40.0 the
+\type{autoexpand} mode happens within the page stream by modification of
+the text matrix (\PDF\ operator ``\type{Tm}''), and not anymore on font
+file level, giving the advantage that it now works not only with Type~1
+but also with TrueType and OpenType fonts (and even without embedding
+a font file; but that's not recommended). In this mode \PDFTEX\ requires
+only unexpanded font files.
+
+Second, if the \type{autoexpand} option is missing, setting up font
+expansion gets more tedious, as there must be map entries for \TFM\ files
+in all required expansion values. The expanded {\em tfmname} variants
+are constructed by adding the font expansion value to the {\em tfmname}
+of the base font, \eg\ there must be a map entry with {\em tfmname}
+\type{sometfm+10} for 1\,\% stretch or \type{sometfm-15} for 1.5\,\%
+shrink. This also means, that for each expanded font variant a \TFM\
+file with properly expanded metrics must exist. Having several map
+entries for the various expansion values of a font requires to provide
+for each expansion value an individually crafted font file with expanded
+glyphs. Depending on how these glyphs are generated, this might give
+slightly better glyph forms than the rather simple glyph stretching
+used in \type{autoexpand mode}. The drawback is that several font
+files will be embedded in the \PDF\ output for each expanded font,
+leading to significantly larger \PDF\ files than in \type{autoexpand}
+mode. For moderate expansion values going without \type{autoexpand}
+mode is not worth the trouble.
+
+The font expansion mechanism is inspired by an optimization first
+introduced by Prof.~Hermann Zapf, which in itself goes back to
+optimizations used in the early days of typesetting: use different
+glyphs to optimize the grayness of a page. So, there are many, slightly
+different~a's, e's, etc. For practical reasons \PDFTEX\ does not use
+such huge glyph collections; it uses horizontal scaling instead. This is
+sub||optimal, and for many fonts, possibly offensive to the design. But,
+when using \PDF, it's not illogical: \PDF\ viewers use so||called
+Multiple Master fonts when no fonts are embedded and|/|or can be found
+on the target system. Such fonts are designed to adapt their design to
+the different scaling parameters. It is up to the user to determine
+to what extent mixing slightly remastered fonts can be used without
+violating the design. Think of an O: when geometrically stretched, the
+vertical part of the glyph becomes thicker, and looks incompatible with
+an unscaled original. With a Multiple Master situation, one can stretch
+while keeping this thickness compatible.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfadjustspacing} \Whatever{integer}}}
+\bookmark{\tex{pdfadjustspacing}}
+
+This primitive provides a switch for enabling font expansion. By default,
+\type{\pdfadjustspacing} is set to~0; then font expansion is disabled,
+so that the \PDFTEX\ output is identical to that from the original \TEX\
+engine.
+
+Font expansion can be activated in two modes. When
+\type{\pdfadjustspacing} is set to~1, font expansion is applied {\em
+after} \TEX's normal paragraph breaking routines have broken the paragraph
+into lines. In this case, line breaks are identical to standard \TEX\
+behavior.
+
+When set to~2, the width changes that are the result of stretching and
+shrinking are taken into account {\em while} the paragraph is broken into
+lines. In this case, line breaks are likely to be different from those of
+standard \TEX. In fact, paragraphs may even become longer or shorter.
+
+Both alternatives require a collection of \TFM\ files that are
+related to the \Something{stretch} and \Something{shrink} settings
+for the \type{\pdffontexpand} primitive, unless this is given with the
+\type{autoexpand} option.
+
+\pdftexprimitive{\Syntax{\Tex{\efcode} \Something{font}
+ \Something{8-bit number} \Whatever{integer}}}
+\bookmark{\tex{efcode}}
+
+We haven't yet told the whole story. One can imagine that some glyphs are
+visually more sensitive to stretching or shrinking than others. Then the
+\type{\efcode} primitive can be used to influence the expandability of
+individual glyphs within a given font, as a factor to the expansion
+setting from the \type{\pdffontexpand} primitive. The syntax is similar
+to \type{\sfcode} (but with the \Something{font} required), and it
+defaults to~1000, meaning 100\,\% expandability. The given integer value
+is clipped to the range $0..1000$, corresponding to a usable
+expandability range of $0..100$\,\%. Example:
+
+\starttyping
+\efcode\somefont`A=800
+\efcode\somefont`O=0
+\stoptyping
+
+Here an A may stretch or shrink only by 80\,\% of the current expansion
+value for that font, and expansion for the~O is disabled. The actual
+expansion is still bound to the steps as defined by \type{\pdffontexpand}
+primitive, otherwise one would end up with more possible font inclusions
+than would be comfortable.
+
+Changes to this table are global, i.e., ignore \TeX's usual grouping,
+and apply only to the given \Something{font}.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfprotrudechars} \Whatever{integer}}}
+\bookmark{\tex{pdfprotrudechars}}
+
+Yet another way of optimizing paragraph breaking is to let certain
+characters move into the margin (`character protrusion'). When
+\type{\pdfprotrudechars=1}, the glyphs qualified as such will make
+this move when applicable, without changing the line-breaking. When
+\type{\pdfprotrudechars=2} (or greater), character protrusion will
+be taken into account while considering breakpoints, so line-breaking
+might be changed. This qualification and the amount of shift are set by
+the primitives \type{\rpcode} and \type{\lpcode}. Character protrusion
+is disabled when \type{\pdfprotrudechars=0} (or negative).
+
+If you want to protrude some item other than a character (\eg\
+a \type{\hbox}), you can do so by padding the item with an invisible
+zero||width character, for which protrusion is activated.
+
+\pdftexprimitive{\Syntax{\Tex{\rpcode} \Something{font}
+ \Something{8-bit number} \Whatever{integer}}}
+\bookmark{\tex{rpcode}}
+
+The amount that a character from a given font may shift into the right
+margin (`character protrusion') is set by the primitive \type{\rpcode}.
+The protrusion distance is the integer value given to \type{\rpcode},
+multiplied with 0.001\,em from the current font. The given integer value
+is clipped to the range $-1000..1000$, corresponding to a usable
+protrusion range of $-$1\,em..1\,em. Example:
+
+\starttyping
+\rpcode\somefont`,=200
+\rpcode\somefont`-=150
+\stoptyping
+
+Here the comma may shift by 0.2\,em into the margin and the hyphen by
+0.15\,em. All these small bits and pieces will help \PDFTEX\ to give
+you better paragraphs (use \type{\rpcode} judiciously; don't overdo it).
+
+Remark: old versions of \PDFTEX\ use the character width as measure. This
+was changed to a proportion of the em-width after \THANH\ finished his
+master's thesis.
+
+Changes to this table are global, i.e., ignore \TeX's usual grouping,
+and apply only to the given \Something{font}.
+
+\pdftexprimitive{\Syntax{\Tex{\lpcode} \Something{font}
+ \Something{8-bit number} \Whatever{integer}}}
+\bookmark{\tex{lpcode}}
+
+This is similar to \type{\rpcode}, but affects the amount by which
+characters may protrude into the left margin. Here also the given integer
+value is clipped to the range $-1000..1000$.
+
+Changes to this table are global, i.e., ignore \TeX's usual grouping,
+and apply only to the given \Something{font}.
+
+\pdftexprimitive{\Syntax{\Tex{\leftmarginkern} \Something{box number}
+ \Whatever{expandable}}}
+\bookmark{\tex{leftmarginkern}}
+
+The \Tex{\leftmarginkern} \Something{box number} primitive expands to the
+width of the margin kern at the left side of the horizontal list stored
+in \Tex{\box} \Something{box number}. The expansion string includes the
+unit \type{pt}. \Eg, when the left margin kern of \type{\box0} amounts
+to $-$10\,pt, \type{\leftmarginkern0} will expand to \type{-10pt}.
+A similar primitive \type{\rightmarginkern} exists for the right margin.
+\introduced{1.30.0}
+
+These are auxiliary primitives to make character protrusion
+more versatile. When using the \TEX\ primitive \type{\unhbox} or
+\type{\unhcopy}, the margin kerns at either end of the unpackaged
+hbox will be removed (\eg\ to avoid weird effects if several
+hboxes are unpackaged behind each other into the same horizontal
+list). These \type{\unhbox} or \type{\unhcopy} are often used together
+with \type{\vsplit} for dis- and re||assembling of paragraphs, \eg\ to
+add line numbers. Paragraphs treated like this do not show character
+protrusion by default, as the margin kerns have been removed during the
+unpacking process.
+
+The \type{\leftmarginkern} and \type{\rightmarginkern} primitives allow
+to access the margin kerns and store them away before unpackaging the
+hbox. \Eg\, the following code snipplet restores margin kerning of
+a horizontal list stored in \type{\box\testline}, resulting in a hbox with
+proper margin kerning (which is then done by ordinary kerns).
+
+\starttyping
+\dimen0=\leftmarginkern\testline
+\dimen1=\rightmarginkern\testline
+\hbox to\hsize{\kern\dimen0\unhcopy\testline\kern\dimen1}
+\stoptyping
+
+\pdftexprimitive{\Syntax{\Tex{\rightmarginkern} \Something{box number}
+ \Whatever{expandable}}}
+\bookmark{\tex{rightmarginkern}}
+
+The \Tex{\rightmarginkern} \Something{box number} primitive expands to
+the width of the margin kern at the right side of the horizontal list
+stored in \Tex{\box} \Something{box number}. See \type{\leftmarginkern}
+for more details.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\letterspacefont} \Something{control sequence}
+ \Something{font} \Something{integer}}}
+\bookmark{\tex{letterspacefont}}
+
+This primitive creates an instance of \Something{font} with the widths
+of all glyphs increased by \Something{integer} thousandths of an em (as
+set in \Something{font}). The effect is letter spacing, but the glyphs
+are actually larger (sidebearings are increased), so a single glyph will
+take more space. For instance, the following creates a font
+\type{\lsfont} whose glyphs are all 1.2\,pt larger than those of
+\type{\normalfont}:
+
+\starttyping
+\font\normalfont=myfont at 12pt
+\letterspacefont\lsfont\normalfont 100
+\stoptyping
+
+Negative values are allowed for \Something{integer}.
+Letter spacing works natively in \PDF\ mode only, unless special fonts are
+devised (in our example, a \type{myfont+100ls} font), as with font expansion.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfcopyfont} \Something{control sequence}
+ \Something{font}}}
+\bookmark{\tex{pdfcopyfont}}
+
+This primitive defines \Something{control sequence} as a synonym for
+\Something{font}.
+
+\pdftexprimitive{\Syntax{\Tex{\pdffontattr} \Something{font}
+ \Something{general text}}}
+\bookmark{\tex{pdffontattr}}
+
+This primitive inserts the \Something{general text} to the \type{/Font}
+dictionary. The text must conform to the specifications as laid down in
+the \PDFReference, otherwise the document can be invalid. For examples,
+see the \type{cmap} and \type{CJK} packages.
+
+\pdftexprimitive{\Syntax{\Tex{\pdffontname} \Something{font}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdffontname}}
+
+In \PDF\ files produced by \PDFTEX\ one can recognize a font resource
+by the prefix~\type{/F} followed by a number, for instance \type{/F12}
+or \type{/F54}. For a given \TEX\ \Something{font}, this primitive
+expands to the number from the corresponding font resource name.
+\Eg, if \type{/F12} corresponds to some \TEX\ font \type{\foo}, the
+\type{\pdffontname\foo} expands to the number~\type{12}.
+
+In the current implementation, when \type{\pdfuniqueresname} (see below)
+is set to a positive value, the \type{\pdffontname} still returns only the
+number from the font resource name, but not the appended random string.
+
+\pdftexprimitive{\Syntax{\Tex{\pdffontobjnum} \Something{font}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdffontobjnum}}
+
+This command is similar to \type{\pdffontname}, but it returns the
+\PDF\ object number of the font dictionary instead of the number from
+the font resource name. \Eg, if the font dictionary (\type{/Type
+/Font}) in \PDF\ object~3 corresponds to some \TEX\ font \type{\foo},
+the \type{\pdffontobjnum\foo} gives the number~\type{3}.
+
+Use of \type{\pdffontname} and \type{\pdffontobjnum} allows users full
+access to all the font resources used in the document.
+
+\pdftexprimitive{\Syntax{\Tex{\pdffontsize} \Something{font}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdffontsize}}
+
+This primitive expands to the font size of the given font, with unit
+\type{pt}. \Eg, when using the plain \TeX\ macro package, the call
+\type{\pdffontsize\tenrm} expands to \type{10.0pt}.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfincludechars} \Something{font}
+ \Something{general text} \Whatever{expandable}}}
+\bookmark{\tex{pdfincludechars}}
+
+This command causes \PDFTEX\ to treat the characters in \Something{general
+text} as if they were used with \Something{font}\unkern, which means that the
+corresponding glyphs will be embedded into the font resources in the \PDF\
+output. Nothing is appended to the list being built.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfuniqueresname} \Whatever{integer}}}
+\bookmark{\tex{pdfuniqueresname}}
+
+When this primitive is assigned a positive number, \PDF\ resource names
+will be made reasonably unique by appending a random string consisting
+of six \ASCII\ characters.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfmapfile} \Something{map spec}}}
+\bookmark{\tex{pdfmapfile}}
+
+This primitive is used for reading a font map file consisting of
+one or more font map lines. The name of the map file is given in
+the \Something{map spec} together with an optional leading modifier
+character. If no \type{\pdfmapfile} primitive is given, the default map
+file \filename{pdftex.map} will be read by \PDFTEX. There is a companion
+primitive \type{\pdfmapline} that allows to scan single map lines;
+its map line argument has the same syntax as the map lines from a map
+file. Both primitives can be used concurrently. The \type{\pdfmapfile}
+primitive is fast for reading external bulk font map information (many
+map lines collected in a map file), whereas the \type{\pdfmapline} allows
+to put the font map information for individual \TeX\ fonts right into
+the \TeX\ source or a style file. In any case the map line information
+is scanned by \PDFTEX, and in the most common case the data are put into
+a fresh internal map entry data structure, which is then consulted once
+a font is called.
+
+Normally there is no need for the \PDFTEX\ user to bother about the
+\type{\pdfmapfile} or \type{\pdfmapline} primitives, as the main \TEX\
+distributions provide nice helper tools that automatically assemble
+the default font map file. Prominent tool examples are the scripts
+\type{updmap} and \type{updmap-sys} coming with \TEXLIVE\ and \TETEX.
+If your map file isn't in the current directory (or a standard system
+directory), you will need to set the \type{TEXFONTMAPS} variable (in
+\WEBC) or give an explicit path so that it will be found.
+
+When the \type{\pdfmapfile} or \type{\pdfmapline} primitive is read
+by \PDFTEX, the argument (map file or map line) will be processed
+{\em immediately}, and the internal map entry database is updated.
+The operation mode of the \type{\pdfmapfile} and \type{\pdfmapline}
+primitives is selected by an optional modifier character (\type{+},
+\type{=}, \type{-}) in front of the {\em tfmname} field. This modifier
+defines how the individual map lines are going to be handled, and how
+a collision between an already registered map entry and a newer one is
+resolved; either ignoring a later entry, or replacing or deleting an
+existing entry. But in any case, map entries of fonts already in use
+are kept untouched. Here are two examples:
+
+\starttyping
+\pdfmapfile{+myfont.map}
+\pdfmapline{+ptmri8r Times-Italic <8r.enc <ptmri8a.pfb}
+\stoptyping
+
+When no modifier character is given (\eg\ \type{\pdfmapfile{foo.map}}
+or \type{\pdfmapline{phvr8r Helvetica}}) and there hasn't already been
+any call of one of these primitives before, then the default map file
+\filename{pdftex.map} will {\em not} be read in. Apart from this the
+given map file will be processed similarly as with a \type{+} modifier:
+duplicate later map entries within the file are ignored and a warning is
+issued. This means, that you can block reading of the default map file
+also by an empty \type{\pdfmapfile{}} or \type{\pdfmapline{}} early in
+the \TeX\ file. When the default map file is large but you don't need it
+anyway, these command variants might considerably speed up the \PDFTEX\
+startup process.
+
+If a modifier is given, the mechanism is so that before reading the
+items given as arguments to \type{\pdfmapfile} or \type{\pdfmapline}
+the default map file will be read first --- if this hasn't already
+been done or been prevented by the above blocking cases. This should
+be mostly compatible with the traditional behavior. If you want to add
+support for a new font through an additional font map file while keeping
+all the existing mappings, don't use the primitive versions without
+modifier, but instead type either \type{\pdfmapfile{+myfont.map}} or
+\type{\pdfmapfile{=myfont.map}}, as described below.
+
+\type{\pdfmapfile {+foo.map}} reads the file \filename{foo.map}; duplicate
+later map entries within the file are ignored and a warning is issued.
+
+\type{\pdfmapfile {=foo.map}} reads the file \filename{foo.map};
+matching map entries in the database are replaced by new entries from
+\filename{foo.map} (if they aren't already in use).
+
+\type{\pdfmapfile {-foo.map}} reads the file \filename{foo.map}; matching
+map entries are deleted from the database (if not yet in use).
+
+If you want to use a base map file name other than \type{pdftex.map},
+or change its processing options through a \PDFTEX\ format, you can do
+this by appending the \type{\pdfmapfile} command to the \type{\everyjob{}}
+token list for the \type{-ini} run, \eg:
+
+\starttyping
+\everyjob\expandafter{\the\everyjob\pdfmapfile{+myspecial.map}}
+\dump
+\stoptyping
+
+This would always read the file \type{myspecial.map} after the default
+\type{pdftex.map} file.
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfmapline} \Something{map spec}}}
+\bookmark{\tex{pdfmapline}}
+
+Similar to \type{\pdfmapfile}, but here you can give a single
+map line (like the ones in map files) as an argument. The optional modifiers
+(\type{+-=}) have the same effect as with \type{\pdfmapfile}; see also
+the description above. Example:
+
+\starttyping
+\pdfmapline{+ptmri8r Times-Italic <8r.enc <ptmri8a.pfb}
+\stoptyping
+
+This primitive (especially the \type{\pdfmapline{=...}} variant) is useful
+for temporary quick checks of a new font map entry during development,
+before finally putting it into a map file.
+
+\type{\pdfmapline {}} like \type{\pdfmapfile {}} blocks reading
+of the default map file, if it comes early enough in the \TeX\
+input. \introduced{1.20a}
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfsuppresswarningdupmap} \Whatever{integer}}}
+\bookmark{\tex{pdfsuppresswarningdupmap}}
+
+Ordinarily, \PDFTEX\ gives a warning when a duplicate map entry for a
+given font is read, whatever the mechanism. However, sometimes it is
+useful to include map information within the document, using
+\type{\pdfmapfile} or \type{\pdfmapline}, even for fonts that happen to
+be installed on the system. Then seeing the warnings on every run is
+just noise, and can be suppressed by setting this parameter to a
+positive number. \introduced{1.40.13}
+
+\pdftexprimitive{\Syntax{\Tex{\pdftracingfonts} \Whatever{integer}}}
+\bookmark{\tex{pdftracingfonts}}
+
+This integer parameter specifies the level of verbosity for info about
+expanded fonts given in the log, \eg\ when \type{\tracingoutput=1}.
+If \type{\pdftracingfonts=0}, which is the default, the log shows the
+actual non-zero signed expansion value for each expanded letter within
+brackets, \eg:
+
+\starttyping
+...\xivtt (+20) t
+\stoptyping
+
+If \type{\pdftracingfonts=1}, also the name of the \TFM\ file is listed,
+together with the font size, \eg:
+
+\starttyping
+...\xivtt (cmtt10+20@14.0pt) t
+\stoptyping
+
+Setting \type{\pdftracingfonts} to a value other than~0 or~1 is not
+recommended, to allow future extensions. \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfmovechars} \Whatever{integer}}}
+\bookmark{\tex{pdfmovechars}}
+
+Since \PDFTEX\ version 1.30.0 the primitive \type{\pdfmovechars} is obsolete,
+and its use merely leads to a warning. (This primitive specified whether
+\PDFTEX\ should try to move characters in range 0..31 to higher slots;
+its sole purpose was to remedy certain bugs of early \PDF\ viewers.)
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpkmode} \Whatever{tokens}}}
+\bookmark{\tex{pdfpkmode}}
+
+The \type{\pdfpkmode} is a token register that sets the \METAFONT\ mode for
+pixel font generation. The contents of this register is dumped into the
+format, so one can (optionally) preset it \eg\ in \type{pdftexconfig.tex}.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfnoligatures} \Something{font}}}
+\bookmark{\tex{pdfnoligatures}}
+
+This disables all ligatures in the loaded font \Something{font}.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\tagcode} \Something{font}
+ \Something{8-bit number} \Whatever{integer}}}
+\bookmark{\tex{tagcode}}
+
+This primitive accesses a character's \type{char_tag} info. It is meant
+to delete \type{lig_tag} (the character's ligature/kerning program),
+\type{list_tag} (which indicates that the character belongs to a chain of
+ascending sizes) and/or \type{ext_tag} (which indicates that the character
+is extensible), with the following options: assigning \type{-7} or smaller
+clears all tags, \type{-6} clears \type{ext_tag} and \type{list_tag},
+\type{-5} clears \type{ext_tag} and \type{lig_tag}, \type{-4} clears
+\type{ext_tag}, \type{-3} clears \type{list_tag} and \type{lig_tag},
+\type{-2} clears \type{list_tag}, \type{-1} clears \type{lig_tag},
+and \type{0} or larger does nothing. Changes are irreversible and global.
+
+Conversely, when queried, the primitive returns \type{0} if the tag's
+value is \type{no_tag}, \type{1} if \type{lig_tag} is set, \type{2} if
+\type{list_tag} is set or \type{4} (not~3) if \type{ext_tag} is set.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfgentounicode} \Whatever{integer}}}
+
+By default, \PDFTEX\ does not include a \type{/ToUnicode} resource when
+including fonts in the output. Such a resource (also called a CMap
+resource) maps glyph names to Unicode characters in a \PDF\ file.
+Lacking such a resource, it is the \PDF\ reader which determines how and
+whether searching in the \PDF\ file works. In practice, searching for
+basic ASCII characters generally works, but searching for anything
+beyond those, including ligatures such as `fi', fails in some versions
+of some PDF browsers (most notably Adobe Reader).
+
+If \type{\pdfgentounicode} is set to \type{1} when the job ends, the
+\type{/ToUnicode} resource will be included in the output, with mappings
+for Type~1 fonts used in the documents. The mapping is created as
+follows: for each glyph in the font, look for its \type{ToUnicode} value
+in a global hash table. By default that global hash table is empty;
+entries are added to the table using the following command:
+
+\pdftexprimitive{\Syntax{\Tex{\pdfglyphtounicode} \Something{general text}
+ \Something{general text}}}
+
+The first argument is the name of a glyph, the second is a string of Unicode
+numeric values denoting characters, separated by spaces. For instance:
+
+\starttyping
+\pdfgentounicode=1
+\pdfglyphtounicode{ff}{0066 0066}
+\stoptyping
+
+\noindent maps the \type{ff} ligature to a pair of \type{f}'s (whose
+code is \type{U+0066}).
+
+The \type{glyphtounicode.tex} file (distributed with \PDFTEX\ and other
+software) contains thousands of such definitions, covering most common
+glyph names. So, for practical purposes, one would probably want:
+
+\starttyping
+\input glyphtounicode
+\pdfgentounicode=1
+\stoptyping
+
+\LATEX\ users could load the \type{cmap} package to achieve the same
+effect.
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfnobuiltintounicode} \Something{font}}}
+
+The primary purpose of this command is to prevent \PDFTEX\ from
+generating the \type{ToUnicode}/CMap resource for the given font when
+\type{\pdfgentounicode=1}, most likely because the CMap resource is
+already generated by some other method (for example, the \LATEX\
+\type{cmap} package uses \type{\pdffontattr} to generate a CMap
+resource).
+
+Minimal example:
+\starttyping
+\font\f=cmb10
+\pdfnobuiltintounicode\f
+\f No unicode mappings for this output.
+\stoptyping
+\introduced{1.40.11}
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfinterwordspaceon}}}
+\pdftexprimitive{\Syntax{\Tex{\pdfinterwordspaceoff}}}
+
+These commands create corresponding whatsit nodes which turn on/off
+generation of faked interword spaces in the output. This allows for
+better reflowing of text on the fly by \PDF\ readers, better extraction
+of textual content, and is required by \PDF/A. It does not affect the
+normal \TeX\ justification with glue.
+
+This requires finding and reading font files \type{dummy-space.tfm} and
+\type{pfb}; the font is included in the \PDF\ output and character 32 is
+inserted from it as the ``fake'' space.
+
+Example of usage (see also the \type{fake-interword-space.tex} test file):
+
+\starttyping
+Text with no interword spaces.
+
+\pdfmapline{+dummy-space <dummy-space.pfb}
+\pdfglyphtounicode{space}{0020}
+\pdfinterwordspaceon
+
+Switch to text with faked interword spaces.
+
+\pdfinterwordspaceoff
+
+Back to text with no interword spaces.
+\stoptyping
+\introduced{1.40.15}
+
+\pdftexprimitive{\Syntax{\Tex{\pdffakespace}}}
+
+Insert a faked interword space to the output, regardless of the value of
+\type{\pdfinterwordspaceon} and \type{\pdfinterwordspaceoff}. Example:
+
+\starttyping
+Text with no interword \pdffakespace\pdffakespace spaces.
+\stoptyping
+\introduced{1.40.15}
+
+%***********************************************************************
+
+\subsection{Spacing}
+
+Controlling spacing before and after characters was introduced in
+version 1.30, mostly to handle punctuation rules in different
+languages. The \type{\...code} tables here, like those in the previous
+section, operate globally, i.e., ignore \TeX's usual grouping, and apply
+only to the given \Something{font}, not other instances of the
+underlying font.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfadjustinterwordglue} \Whatever{integer}}}
+\bookmark{\tex{pdfadjustinterwordglue}}
+
+If positive, adjustment of interword glue is enabled and controlled by the
+following three primitives.
+
+\pdftexprimitive{\Syntax{\Tex{\knbscode} \Something{font}
+ \Something{8-bit number} \Whatever{integer}}}
+\bookmark{\tex{knbscode}}
+
+The amount of space, in thousandths of an em, added to the natural width
+of the glue following a character (the name stands for ``kern before
+space'', although technically it is looking at glue items, not kern
+items). This amounts is clipped to the range $-1000..1000$. For
+instance, the following example means that glues after periods will be
+increased by .2\,em.
+
+\starttyping
+\pdfadjustinterwordglue=1
+\knsbcode\font`\.=200
+\stoptyping
+
+\pdftexprimitive{\Syntax{\Tex{\stbscode} \Something{font}
+ \Something{8-bit number} \Whatever{integer}}}
+\bookmark{\tex{stbscode}}
+
+This works like \type{\knbscode}, but applies to the stretch component of
+the following glue.
+
+\pdftexprimitive{\Syntax{\Tex{\shbscode} \Something{font}
+ \Something{8-bit number} \Whatever{integer}}}
+\bookmark{\tex{shbscode}}
+
+Like \type{\stbscode}, but for the shrink component.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfprependkern} \Whatever{integer}}}
+\bookmark{\tex{pdfprependkern}}
+
+If positive, automatic insertion of kerns before characters is enabled.
+
+\pdftexprimitive{\Syntax{\Tex{\knbccode} \Something{font}
+ \Something{8-bit number} \Whatever{integer}}}
+\bookmark{\tex{knbccode}}
+
+The width of the kern, in thousandths of an em, inserted before a character.
+It is clipped to the range $-1000..1000$. For instance, with the
+following code, a .15\,em-kern will be inserted before all question marks
+(useful for \eg\ French punctuation):
+
+\starttyping
+\pdfprependkern=1
+\knbccode\font`\?=150
+\stoptyping
+
+\pdftexprimitive{\Syntax{\Tex{\pdfappendkern} \Whatever{integer}}}
+\bookmark{\tex{pdfappendkern}}
+
+Same as \type{\pdfprependkern}, but for kerns inserted after characters.
+
+\pdftexprimitive{\Syntax{\Tex{\knaccode} \Something{font}
+ \Something{8-bit number} \Whatever{integer}}}
+\bookmark{\tex{knaccode}}
+
+Same as \type{\knbccode}, except the kern is inserted after the
+character. Such a kern is required for instance after a left guillemet
+in French punctuation.
+
+%***********************************************************************
+
+\subsection{Vertical adjustments}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfignoreddimen} \Whatever{dimen}}}
+\bookmark{\tex{pdfignoreddimen}}
+
+This is the dimension which must assigned to the following four primitives
+so they are ignored. Default is \type{-1000pt}, and it should be modified
+with care since it also influences when a previous paragraph's depth is ignored
+(for instance, the plain \TEX\ macro \type{\nointerlineskip} should be
+modified accordingly).
+
+\pdftexprimitive{\Syntax{\Tex{\pdffirstlineheight} \Whatever{dimen}}}
+\bookmark{\tex{pdffirstlineheight}}
+
+This parameter specifies the height of the first line of a paragraph,
+regardless of its content. It is read when the paragraph builder is
+called, and ignored when set to \type{\pdfignoreddimen}. By default,
+it is set to \type{-1000pt}, so it is ignored as long as the value
+of \type{\pdfignoreddimen} is the same.
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastlinedepth} \Whatever{dimen}}}
+\bookmark{\tex{pdflastlinedepth}}
+
+This is similar to the previous parameter, but affects the last line's
+depth of a paragraph.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfeachlineheight} \Whatever{dimen}}}
+\bookmark{\tex{pdfeachlineheight}}
+
+Similar to \type{\pdffirstlineheight}, but for all lines of a paragraph,
+including the first one, unless \type{\pdffirstlineheight} is specified.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfeachlinedepth} \Whatever{dimen}}}
+\bookmark{\tex{pdfeachlinedepth}}
+
+Like the preceding parameter, but for depth.
+
+%***********************************************************************
+
+\subsection{\PDF\ objects}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfobj} \Something{object type spec}
+ \Modelist{h, v, m}}}
+\bookmark{\tex{pdfobj}}
+
+This command creates a raw \PDF\ object that is written to the \PDF\
+file as \type{1 0 obj} \unknown\ \type{endobj}. The object is written to
+\PDF\ output as provided by the user. When \Something{object type spec}
+is not given, \PDFTEX\ no longer creates a dictionary object with
+contents \Something{general text}, as it did in the past.
+
+When, however, \Something{object type spec} is given as \Something{attr
+spec} \Literal{stream}, the object will be created as a stream with
+contents \Something{general text} and additional attributes in
+\Something{attr spec}\unkern.
+
+When \Something{object type spec} is given as \Something{attr spec}
+\Literal{file}, then the \Something{general text} will be treated as a file
+name and its contents will be copied into the stream contents.
+
+When \Something{object type spec} is given as \type{reserveobjnum},
+just a new object number is reserved. The number of the reserved object
+is accessible via \type{\pdflastobj}. The object can later be filled
+with contents by \Syntax{\Tex{\pdfobj} \Literal{useobjnum}
+\Something{number} \Lbrace\Something{balanced text}\Rbrace}.
+But the reserved object number can already be used before by other
+objects, which provides a forward||referencing mechanism.
+
+The object is kept in memory and will be written to the \PDF\ output only
+when its number is referred to by \type{\pdfrefobj} or when \type{\pdfobj}
+is preceded by \type{\immediate}. Nothing is appended to the list being
+built. The number of the most recently created object is accessible via
+\type{\pdflastobj}.
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastobj} \Whatever{read||only integer}}}
+\bookmark{\tex{pdflastobj}}
+
+This command returns the object number of the last object created by \type
+{\pdfobj}.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfrefobj} \Something{object number}
+ \Modelist{h, v, m}}}
+\bookmark{\tex{pdfrefobj}}
+
+This command appends a whatsit node to the list being built. When the whatsit
+node is searched at shipout time, \PDFTEX\ will write the object
+\Something{object number}
+to the \PDF\ output if it has not been written yet.
+
+%***********************************************************************
+
+\subsection{Page and pages objects}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpagesattr} \Whatever{tokens}}}
+\bookmark{\tex{pdfpagesattr}}
+
+\PDFTEX\ expands this token list when it finishes the \PDF\ output and
+adds the resulting character stream to the root \type{Pages}
+object. When defined, these are applied to all pages in the
+document. Some examples of attributes are \type{/CropBox}, the rectangle
+specifying the region of the page being displayed and printed, and
+\type{/Rotate}, the number of degrees (in multiples of 90) the page
+should be rotated clockwise when it is displayed or printed.
+
+% /MediaBox is not a good example, since will never take effect
+
+\starttyping
+\pdfpagesattr
+ { /Rotate 90 % rotate all pages by 90 degrees
+ /CropBox [0 0 612 792] } % the crop size of all pages (in bp)
+\stoptyping
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpageattr} \Whatever{tokens}}}
+\bookmark{\tex{pdfpageattr}}
+
+This is similar to \type{\pdfpagesattr}, but has priority over it.
+It can be used to override any attribute given by \type{\pdfpagesattr}
+for an individual page. The token list is expanded when \PDFTEX\ ships out
+a page. The contents are added to the attributes of the current page.
+
+If the \type{\pdfpageattr} value contains the string \type{/MediaBox},
+then \PDFTEX\ omits outputting its own \type{/MediaBox} value (which is
+\type{[0 0 }\Something{\it page\_width} \Something{\it
+page\_height}\type{]}). (This behavior was introduced in version
+1.40.18.)
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpageresources} \Whatever{tokens}}}
+\bookmark{\tex{pdfpageresources}}
+
+These tokens are added to the resource dictionary for all pages, before
+the font, XOBject, and other resources.
+
+\starttyping
+\pdfpageresources{/MyPageResourceAttribute /MyValue}
+\stoptyping
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpageref} \Something{page number}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdfpageref}}
+
+This primitive expands to the number of the page object that contains
+the dictionary for page \Something{page number}. If the page
+\Something{page number} does not exist, a warning will be issued,
+a fresh unused \PDF\ object will be generated, and \type{\pdfpageref}
+will expand to that object number.
+
+\Eg, if the dictionary for page~5 of the \TEX\ document is contained in
+\PDF\ object no.~18, \tex{pdfpageref5} expands to the number 18.
+
+%***********************************************************************
+
+\subsection{Form XObjects}
+
+The next three primitives support a \PDF\ feature called \quote {object
+reuse} in \PDFTEX. The idea is first to create a `form XObject' in
+\PDF. The content of this object corresponds to the content of a \TEX\
+box; it can contain pictures and references to other form XObjects
+as well. After creation, the form XObject can be used multiple times
+by simply referring to its object number. This feature can be useful
+for large documents with many similar elements, as it can reduce the
+duplication of identical objects.
+
+These commands behave similarly to \type{\pdfobj}, \type{\pdfrefobj}
+and \type{\pdflastobj}, but instead of taking raw \PDF\ code, they handle
+text typeset by \TEX.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfxform} \Optional{\Something{attr spec}}
+ \Optional{\Something{resources spec}} \Something{box number}
+ \Modelist{h, v, m}}}
+\bookmark{\tex{pdfxform}}
+
+This command creates a form XObject corresponding to the contents of the
+box \Something{box number}. The box can contain other raw objects, form
+XObjects, or images as well. It can however {\em not} contain annotations
+because they are laid out on a separate layer, are positioned absolutely,
+and have dedicated housekeeping. \type{\pdfxform} makes the box void,
+as \type{\box} does.
+
+When \Something{attr spec} is given, the text will be written
+as additional attribute into the form XObject dictionary. The
+\Something{resources spec} is similar, but the text will be added
+to the resources dictionary of the form XObject. The text given by
+\Something{attr spec} or \Something{resources spec} is written before
+other entries of the form dictionary and|/|or the resources dictionary
+and takes priority over later ones.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfrefxform} \Something{object number}
+ \Modelist{h, v, m}}}
+\bookmark{\tex{pdfrefxform}}
+
+The form XObject is kept in memory and will be written to the \PDF\
+output only when its object number is referred to by \type{\pdfrefxform}
+or when \type{\pdfxform} is preceded by \type{\immediate}. Nothing is
+appended to the list being built. The number of the most recently created
+form XObject is accessible via \type{\pdflastxform}.
+
+When issued, \type{\pdfrefxform} appends a whatsit node to the list being
+built. When the whatsit node is searched at shipout time, \PDFTEX\ will
+write the form \Something{object number} to the \PDF\ output if it is
+not written yet.
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastxform} \Whatever{read||only integer}}}
+\bookmark{\tex{pdflastxform}}
+
+The object number of the most recently created form XObject is accessible
+via \type{\pdflastxform}.
+
+As said, this feature can be used for reusing information. This mechanism
+also plays a role in typesetting fill||in forms. Such widgets sometimes
+depends on visuals that show up on user request, but are hidden otherwise.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfxformname} \Something{object number}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdfxformname}}
+
+In \PDF\ files produced by \PDFTEX\ one can recognize a form Xobject by
+the prefix~\type{/Fm} followed by a number, for instance \type{/Fm2}.
+For a given form XObject number, this primitive expands to the number in
+the corresponding form XObject name. \Eg, if \type{/Fm2} corresponds to
+some form XObject with object number 7, the \type{\pdfxformname7}
+expands to the number~\type{2}. \introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Graphics inclusion}
+
+\PDF\ provides a mechanism for embedding graphic and textual objects: form
+XObjects. In \PDFTEX\ this mechanism is accessed by means of \type{\pdfxform},
+\type{\pdflastxform} and \type{\pdfrefxform}. A special kind of XObjects
+are bitmap graphics and for manipulating them similar commands are provided.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfximage}
+ \Optional{\Something{rule spec}}
+ \Optional{\Something{attr spec}}
+ \Optional{\Something{page spec}}
+ \Optional{\Something{colorspace spec}}
+ \Optional{\Something{pdf box spec}}
+ \Something{general text}
+ \Modelist{h, v, m}
+}}
+\bookmark{\tex{pdfximage}}
+
+This command creates an image object. The dimensions of the image can be
+controlled via \Something{rule spec}\unkern. The default values are zero
+for depth and \quote {running} for height and width. If all of them are
+given, the image will be scaled to fit the specified values. If some
+(but not all) are given, the rest will be set to a value corresponding
+to the remaining ones so as to make the image size to yield the same
+proportion of $width : (height+depth)$ as the original image size, where
+depth is treated as zero. If none are given then the image will take its
+natural size.
+
+An image inserted at its natural size often has a resolution of \type
+{\pdfimageresolution} (see below) given in dots per inch in the output
+file, but some images may contain data specifying the image resolution,
+and in such a case the image will be scaled to the correct
+resolution. The dimensions of an image can be accessed by enclosing the
+\type{\pdfrefximage} command to a box and checking the dimensions of the
+box:
+
+\starttyping
+\setbox0=\hbox{\pdfximage{somefile.png}\pdfrefximage\pdflastximage}
+\stoptyping
+
+Now we can use \type{\wd0} and \type{\ht0} to question the natural size of
+the image as determined by \PDFTEX. When dimensions are specified before the
+\type{{somefile.png}}, the graphic is scaled to fit these. Note that, unlike
+the \eg\ \type{\input} primitive, the filename is supplied between
+braces.
+
+The image type is specified by the extension of the given file name:
+\type{.png} stands for \PNG\ image, \type{.jpg} (or \type{.jpeg}) for
+\JPEG, \type{.jbig2} (preferred, but \type{.jb2} works also) for \JBIGTWO,
+and \type{.pdf} for \PDF\ file. But once \PDFTEX\ has opened the file,
+it checks the file type first by looking to the magic number at the
+file start, which gets precedence over the file name extension. This
+gives a certain degree of fault tolerance, if the file name extension
+is stated wrongly.
+
+Similarly to \type{\pdfxform}, the optional text given by \Something{attr
+spec} will be written as additional attributes of the image before
+other keys of the image dictionary. One should be aware, that slightly
+different type of \PDF\ object is created while including \PNG, \JPEG,
+or \JBIG2\ bitmaps and \PDF\ images.
+
+While working with \PDF\ or \JBIG2\ images, \Something{page spec}
+allows to decide which page of the document is to be included;
+the \Something{page spec} is irrelevant for the other two image
+formats. Starting with \PDFTEX\ 1.11 one may also decide in the \PDF\
+image case, which page box of the image is to be treated as a final
+bounding box. If \Something{pdf box spec} is present, it overrides the
+default behavior specified by the \type{\pdfpagebox} parameter, and is
+overridden by the (obsolete) \type{\pdfforcepagebox} parameter. This
+option is irrelevant for non||\PDF\ inclusions.
+
+Starting with \PDFTEX\ 1.21, \type{\pdfximage} command supports
+\type{colorspace} keyword followed by an object number (user||defined
+colorspace for the image being included). This feature works for \JPEG\
+images only. \PNG s are \RGB\ palettes, \JBIG2 s are bitonal, and \PDF\
+images have always self||contained color space information.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfrefximage} \Something{object number}}}
+\bookmark{\tex{pdfrefximage}}
+
+The image is kept in memory and will be written to the \PDF\ output only when
+its number is referred to by \type{\pdfrefximage} or \type{\pdfximage} is
+preceded by \type{\immediate}. Nothing is appended to the list being built.
+
+\type{\pdfrefximage} appends a whatsit node to the list being built. When
+the whatsit node is searched at shipout time, \PDFTEX\ will write the image
+with number \Something{object number} to the \PDF\ output if it has not been
+written yet.
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastximage} \Whatever{read||only integer}}}
+\bookmark{\tex{pdflastximage}}
+
+The number of the most recently created XObject image is accessible via \type
+{\pdflastximage}.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfximagebbox} \Something{integer}
+ \Something{integer} \Whatever{expandable}}}
+\bookmark{\tex{pdfximagebbox}}
+
+The dimensions of the bounding box of a \PDF\ image loaded with
+\type{\pdfximage} are stored in a table. This primitive returns those
+dimensions as follows:
+
+\starttyping
+\pdfximage{afile.pdf}
+\pdfximagebbox\pdflastximage 1 % Returns lower-left x
+\pdfximagebbox\pdflastximage 2 % Returns lower-left y
+\pdfximagebbox\pdflastximage 3 % Returns upper-right x
+\pdfximagebbox\pdflastximage 4 % Returns upper-right y
+\stoptyping
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastximagecolordepth}
+ \Whatever{read||only integer}}}
+\bookmark{\tex{pdflastximagecolordepth}}
+
+The color depth (\type{1} for 1-bit images, \type{2} for 2-bit images,
+and so on) of the last image accessed with \type{\pdfximage}.
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastximagepages}
+ \Whatever{read||only integer}}}
+\bookmark{\tex{pdflastximagepages}}
+
+This read||only register returns the highest page number from a file
+previously accessed via the \type{\pdfximage} command.
+This is useful only for \PDF\ files; it always returns \type{1}
+for \PNG, \JPEG, or \JBIGTWO\ files.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfimageresolution} \Whatever{integer}}}
+\bookmark{\tex{pdfimageresolution}}
+
+The integer \type{\pdfimageresolution} parameter (unit: dots per
+inch, dpi) is a last resort value, used only for bitmap (\JPEG, \PNG,
+\JBIGTWO) images, but not for \PDF{}s. The priorities are as follows:
+Often one image dimension (\type{width} or \type{height}) is stated
+explicitly in the \TEX\ file. Then the image is properly scaled so
+that the aspect ratio is kept. If both image dimensions are given,
+the image will be stretched accordingly, whereby the aspect ratio might
+get distorted. Only if no image dimension is given in the \TEX\ file,
+the image size will be calculated from its width and height in pixels,
+using the $x$ and $y$ resolution values normally contained in the image
+file. If one of these resolution values is missing or weird (either
+$<$~0 or $>$~65535), the \type{\pdfimageresolution} value will be used
+for both $x$ and $y$ resolution, when calculating the image size. And
+if the \type{\pdfimageresolution} is zero, finally a default resolution
+of 72\,dpi would be taken. The \type{\pdfimageresolution} is read when
+\PDFTEX\ creates an image via \type{\pdfximage}. The given value is
+clipped to the range $0..65535$\,(dpi).
+
+Currently this parameter is used particularly for calculating the
+dimensions of \JPEG\ images in \EXIF\ format (unless at least one
+dimension is stated explicitly); the resolution values coming with
+\EXIF\ files are currently ignored.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpagebox} \Whatever{integer}}}
+\bookmark{\tex{pdfpagebox}}
+
+When \PDF\ files are included, the command \type{\pdfximage} allows the
+selection of which \PDF\ page box to use in the optional field
+\Something{image attr spec}\unkern. If the option isn't present, the
+page box defaults to the value of \type{\pdfpagebox} as follows:
+(1)~media box, (2)~crop box, (3)~bleed box, (4)~trim box, and
+(5)~artbox.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfforcepagebox} \Whatever{integer}}}
+\bookmark{\tex{pdfforcepagebox}}
+
+%- It is now possible to specify the pdf page box to use when including pdfs.
+% The syntax has been extended:
+% \pdfximage [<image attr spec>] <general text> (h, v, m)
+% <image attr spec> --> [<rule spec>] [<attr spec>] [<page spec>] [<pdf box spec>]
+% <pdf box spec> --> mediabox|cropbox|bleedbox|trimbox|artbox
+% The default is cropbox (which defaults to mediabox), to be compatible with
+% previous versions of pdfTeX.
+% The page box specified at \pdfximage can be globally overridden with the
+% config parameter always_use_pdfpagebox and the command
+% \pdfoptionalwaysusepdfpagebox <integer>, where 0 is the default (use
+% whatever is specified with \pdfximage), 1 is media, 2 is crop, 3 is
+% bleed, 4 is trim and 5 is artbox. This can only be set once per
+% object, i.\,e.\ the value used at \pdfximage is remembered.
+% See the PDF Reference for an explanation of the boxes.
+
+The integer primitive \type{\pdfforcepagebox} allows globally
+overriding the choice of the page box used with \type{\pdfximage}. It
+takes the same values as \type{\pdfpagebox}. The command is available
+starting with \PDFTEX\ 1.30.0, as a shortened synonym of obsolete
+\type{\pdfoptionalwaysusepdfpagebox} instruction, but is itself
+now considered obsolete --- a mixture of \type{\pdfpagebox} and
+\Something{image attr spec} is better.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfinclusionerrorlevel} \Whatever{integer}}}
+\bookmark{\tex{pdfinclusionerrorlevel}}
+
+This controls the behavior of \PDFTEX\ when a \PDF\ file is included
+that has a newer version than the one specified by
+\type{\pdfminorversion}. If \type{\pdfinclusionerrorlevel} is set to~0
+(the default), \PDFTEX\ gives only a warning; if 1, \PDFTEX\ raises an
+error; if negative, no diagnostic at all is given.
+
+It was originally a shortened synonym of
+\type{\pdfoptionpdfinclusionerrorlevel}, which is now obsolete.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfimagehicolor} \Whatever{integer}}}
+\bookmark{\tex{pdfimagehicolor}}
+
+This primitive, when set to~1, enables embedding of \PNG\ images with
+16~bit wide color channels at their full color resolution. As such an
+embedding mode is defined only from \PDF\ version~1.5 onwards, the
+\type{\pdfimagehicolor} functionality is automatically disabled in
+\PDFTEX\ if \type{\pdfminorversion}~$<$~5; then each 16~bit color
+channel is reduced to a width of 8~bit by stripping the lower 8~bits
+before embedding. The same stripping happens when
+\type{\pdfimagehicolor} is set to~0. For \type{\pdfminorversion}~$\ge$~5
+the default value of \type{\pdfimagehicolor} is~1. If specified, the
+parameter must appear before any data is written to the \PDF\ output.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfimageapplygamma} \Whatever{integer}}}
+\bookmark{\tex{pdfimageapplygamma}}
+
+This primitive, when set to~1, enables gamma correction while embedding
+\PNG\ images, taking the values of the primitives \type{\pdfgamma} as
+well as the gamma value embedded in the \PNG\ image into account. When
+\type{\pdfimageapplygamma} is set to~0, no gamma correction is
+performed. If specified, the parameter must appear before any data is
+written to the \PDF\ output. \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfgamma} \Whatever{integer}}}
+\bookmark{\tex{pdfgamma}}
+
+This primitive defines the `device gamma' for \PDFTEX. Values are in
+promilles (same as \type{\mag}). The default value of this primitive
+is~1000, defining a device gamma value of~1.0.
+
+When \type{\pdfimageapplygamma} is set to~1, then whenever a \PNG\ image
+is included, \PDFTEX\ applies a gamma correction. This correction is
+based on the value of the \type{\pdfgamma} primitive and the `assumed
+device gamma' that is derived from the value embedded in the actual
+image. If no embedded value can be found in the \PNG\ image, then the
+value of \type{\pdfimagegamma} is used instead.
+If specified, the parameter must appear before any data is written to the
+\PDF\ output.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfimagegamma} \Whatever{integer}}}
+\bookmark{\tex{pdfimagegamma}}
+
+This primitive gives a default `assumed gamma' value for \PNG\ images.
+Values are in promilles (same as for \type{\pdfamma}). The default value
+of this primitive is~2200, implying an assumed gamma value of~2.2.
+
+When \PDFTEX\ is applying gamma corrections, images that do not have an
+embedded `assumed gamma' value are assumed to have been created for
+a device with a gamma of 2.2. Experiments show that this default setting
+is correct for a large number of images; however, if your images come
+out too dark, you probably want to set \type{\pdfimagegamma} to a lower
+value, like~1000.
+If specified, the parameter must appear before any data is written to the
+\PDF\ output.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfpxdimen} \Whatever{dimen}}}
+\bookmark{\tex{pdfpxdimen}}
+
+While working with bitmap graphics or typesetting electronic documents,
+it might be convenient to base dimensions on pixels rather than \TeX's
+standard units like \type{pt} or \type{em}. For this purpose, \PDFTEX\
+provides an extra unit called \type{px} that takes the dimension given to
+the \type{\pdfpxdimen} primitive. In example, to make the unit \type{px}
+corresponding to 96\,dpi pixel density (then 1\,px~=~72/96\,bp), one
+can do the following calculation:
+
+\starttyping
+\pdfpxdimen=1in % 1 dpi
+\divide\pdfpxdimen by 96 % 96 dpi
+\hsize=1200px
+\stoptyping
+
+Then \type{\hsize} amounts to 1200~pixels in 96\,dpi, which is
+exactly 903.375\,pt (but \TeX\ rounds it to 903.36914\,pt). The
+default value of \type{\pdfpxdimen} is 1\,bp, corresponding to a pixel
+density of 72\,dpi. This primitive is completely independent from the
+\type{\pdfimageresolution} and \type{\pdfpkresolution} parameters.
+\introduced{1.30.0} It used to be an integer register that gave
+the dimension 1\,px as number of scaled points, defaulting to 65536
+(1\,px equal to 65536\,sp~$=$~1\,pt). Starting with \PDFTEX\ 1.40.0,
+\type{\pdfpxdimen} is now a real dimension parameter.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfinclusioncopyfonts} \Whatever{integer}}}
+\bookmark{\tex{pdfinclusioncopyfonts}}
+
+If positive, this parameter forces \PDFTEX\ to include fonts from a \PDF\
+file loaded with \type{\pdfximage}, even if those fonts are available on
+disk. Bigger files might be created, but included \PDF\ files are sure to
+be embedded with the adequate fonts; indeed, the fonts on disk might be
+different from the embedded ones, and glyphs might be missing.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfsuppresswarningpagegroup}
+ \Whatever{integer}}}
+\bookmark{\tex{pdfsuppresswarningpagegroup}}
+
+Ordinarily, \PDFTEX\ gives a warning when more than one included \PDF\
+file has a so-called ``page group object'' (\type{/Group}), because only
+one can ``win'' --- that is, be propagated to the page level. Usually
+the page groups are identical, but when they are not, the result is
+unpredictable. It would be ideal if \PDFTEX\ in fact detected whether
+the page groups were the same and only gave the warning in the
+problematic case; unfortunately, this is not easy (a patch would be
+welcome). Nevertheless, often one observes that there is no actual
+problem. Then seeing the warnings on every run is just noise, and can
+be suppressed by setting this parameter to a positive number.
+\introduced{1.40.15}
+
+%***********************************************************************
+
+\subsection{Annotations}
+
+\PDF\ 1.4 provides four basic kinds of annotations:
+
+\startitemize[packed]
+\item hyperlinks, general navigation
+\item text clips (notes)
+\item movies
+\item sound fragments
+\stopitemize
+
+The first type differs from the other three in that there is a designated
+area involved on which one can click, or when moved over some action occurs.
+\PDFTEX\ is able to calculate this area, as we will see later. All
+annotations can be supported using the next two general annotation
+primitives.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfannot} \Something{annot type spec}
+ \Modelist{h, v, m}}}
+\bookmark{\tex{pdfannot}}
+
+This command appends a whatsit node corresponding to an annotation to
+the list being built. The dimensions of the annotation can be controlled
+via the \Something{rule spec}. The default values are running for all
+width, height and depth. When an annotation is written out, running
+dimensions will take the corresponding values from the box containing
+the whatsit node representing the annotation. The \Something{general
+text} is inserted as raw \PDF\ code to the contents of annotation. The
+annotation is written out only if the corresponding whatsit node is
+searched at shipout time.
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastannot} \Whatever{read||only integer}}}
+\bookmark{\tex{pdflastannot}}
+
+This primitive returns the object number of the last annotation created by
+\type{\pdfannot}. These two primitives allow users to create any annotation
+that cannot be created by \type{\pdfstartlink} (see below).
+
+%***********************************************************************
+
+\subsection[linking]{Destinations and links}
+
+The first type of annotation, mentioned above, is implemented by three
+primitives. The first one is used to define a specific location as being
+referred to. This location is tied to the page, not the exact location on the
+page. The main reason for this is that \PDF\ maintains a dedicated list of
+these annotations |<|and some more when optimized|>| for the sole purpose of
+speed.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfdest} \Something{dest spec}
+ \Modelist{h, v, m}}}
+\bookmark{\tex{pdfdest}}
+
+This primitive appends a whatsit node which establishes a destination
+for links and bookmark outlines; the link is identified by either
+a number or a symbolic name, and the way the viewer is to display the
+page must be specified in \Something{dest type}\unkern, which must be
+one of those mentioned in \in{table}[appearance].
+
+\startbuffer
+\starttabulate[|l|l|]
+\HL
+\NC \bf keyword \NC \bf meaning \NC\NR
+\HL
+\NC \tt fit \NC fit the page in the window \NC\NR
+\NC \tt fith \NC fit the width of the page \NC\NR
+\NC \tt fitv \NC fit the height of the page \NC\NR
+\NC \tt fitb \NC fit the \quote{Bounding Box} of the page \NC\NR
+\NC \tt fitbh \NC fit the width of \quote{Bounding Box} of the page \NC\NR
+\NC \tt fitbv \NC fit the height of \quote{Bounding Box} of the page \NC\NR
+\NC \tt xyz \NC goto the current position (see below) \NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable
+ [here][appearance]
+ {Options for display of outline and destinations.}
+ {\getbuffer}
+
+The specification \Literal{xyz} can optionally be followed by \Literal
+{zoom} \Something{integer} to provide a fixed zoom||in. The \Something
+{integer} is processed like \TEX\ magnification, i.\,e.\ 1000 is the
+normal page view. When \Literal{zoom} \Something{integer} is given,
+the zoom factor changes to 0.001 of the \Something{integer} value,
+otherwise the current zoom factor is kept unchanged.
+
+The destination is written out only if the corresponding whatsit node is
+searched at shipout time.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfstartlink}
+ \Optional{\Something{rule spec}}
+ \Optional{\Something{attr spec}}
+ \Something{action spec}
+ \Modelist{h, m}
+}}
+\bookmark{\tex{pdfstartlink}}
+
+This primitive is used along with \type{\pdfendlink} and appends
+a whatsit node corresponding to the start of a hyperlink. The whatsit
+node representing the end of the hyperlink is created by
+\type{\pdfendlink}. The dimensions of the link are handled in the
+similar way as in \type{\pdfannot}. Both \type{\pdfstartlink} and
+\type{\pdfendlink} must be in the same level of box nesting. A hyperlink
+with running width can be multi||line or even multi||page, in which case
+all horizontal boxes with the same nesting level as the boxes containing
+\type{\pdfstartlink} and \type{\pdfendlink} will be treated as part of
+the hyperlink. The hyperlink is written out only if the corresponding
+whatsit node is searched at shipout time.
+
+Additional attributes, which are explained in great detail in the
+\PDFReference, can be given via \Something{attr spec}\unkern. Typically,
+the attributes specify the color and thickness of any border around
+the link. Thus \typ {/C [0.9 0 0] /Border [0 0 2]} specifies a color
+(in \RGB) of dark red, and a border thickness of 2~points.
+
+While all graphics and text in a \PDF\ document have relative positions,
+annotations have internally hard||coded absolute positions. Again this
+is for the sake of speed optimization. The main disadvantage is that these
+annotations do {\em not} obey transformations issued by \type
+{\pdfliteral}'s.
+
+The \Something{action spec} specifies the action that should be performed
+when the hyperlink is activated while the \Something{user-action spec}
+performs a user||defined action. A typical use of the latter is to specify
+a \URL, like \typ {/S /URI /URI (http://www.tug.org/)}, or a named action like
+\typ {/S /Named /N /NextPage}.
+
+A \Something{goto-action spec} performs a GoTo action. Here \Something
+{numid} and \Something{nameid} specify the destination identifier (see
+below). The \Something{page spec} specifies the page number of the
+destination, in this case the zoom factor is given by \Something{general
+text}\unkern. A destination can be performed in another \PDF\ file by
+specifying \Something{file spec}\unkern, in which case
+\Something{newwindow spec} specifies whether the file should be opened
+in a new window. A \Something{file spec} can be either a \type{(string)}
+or a \type{<<dictionary>>}. The default behavior of the
+\Something{newwindow spec} depends on the browser setting.
+
+A \Something{thread-action spec} performs an article thread reading. The
+thread identifier is similar to the destination identifier. A thread can be
+performed in another \PDF\ file by specifying a \Something{file spec}\unkern.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfendlink} \Modelist{h, m}}}
+\bookmark{\tex{pdfendlink}}
+
+This primitive ends a link started with \type{\pdfstartlink}. All text
+between \type{\pdfstartlink} and \type{\pdfendlink} will be treated as part
+of this link. \PDFTEX\ may break the result across lines (or pages), in which
+case it will make several links with the same content.
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastlink} \Whatever{read||only integer}}}
+\bookmark{\tex{pdflastlink}}
+
+This primitive returns the object number of the last link created by
+\type{\pdfstartlink} (analogous to \type{\pdflastannot}).
+\introduced{1.40.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdflinkmargin} \Whatever{dimen}}}
+\bookmark{\tex{pdflinkmargin}}
+
+This dimension parameter specifies the margin of the box representing
+a hyperlink and is read when a page containing hyperlinks is shipped out.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfdestmargin} \Whatever{dimen}}}
+\bookmark{\tex{pdfdestmargin}}
+
+Margin added to the dimensions of the rectangle around the destinations.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfsuppresswarningdupdest} \Whatever{integer}}}
+\bookmark{\tex{pdfsuppresswarningdupdest}}
+
+Ordinarily, \PDFTEX\ gives a warning when the same destination is used
+more than once. However, due to problematic macro packages, sometimes a
+document may end up producing the warning through no fault of its own,
+and fixing the macros may well not be trivial. Then seeing the warnings
+on every run is just noise, and can be suppressed by setting this
+parameter to a positive number. \introduced{1.40.13}
+
+%***********************************************************************
+
+\subsection{Bookmarks}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfoutline}
+ \Optional{\Something{attr spec}}
+ \Something{action spec}
+ \Optional{\Literal{count} \Something{integer}}
+ \Something{general text}
+ \Modelist{h, v, m}
+}}
+\bookmark{\tex{pdfoutline}}
+
+This primitive creates an outline (or bookmark) entry. The first parameter
+specifies the action to be taken, and is the same as that allowed for \type
+{\pdfstartlink}. The \Something{count} specifies the number of direct
+subentries under this entry; specify~0 or omit it if this entry has no
+subentries. If the number is negative, then all subentries will be closed and
+the absolute value of this number specifies the number of subentries. The
+\Something{text} is what will be shown in the outline window. Note that this
+is limited to characters in the \PDF\ Document Encoding vector. The outline
+is written to the \PDF\ output immediately.
+
+%***********************************************************************
+
+\subsection{Article threads}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfthread} \Optional{\Something{rule spec}}
+ \Optional{\Something{attr spec}} \Something{id spec} \Modelist{h, v, m}}}
+\bookmark{\tex{pdfthread}}
+
+Defines a bead within an article thread. Thread beads with same
+identifiers (spread across the document) will be joined together.
+
+\pdftexprimitive{\Syntax{\Tex{\pdftstartthread}
+ \Optional{\Something{rule spec}}
+ \Optional{\Something{attr spec}}
+ \Something{id spec} \Modelist{v, m}}}
+\bookmark{\tex{pdfstartthread}}
+
+This uses the same syntax as \type{\pdfthread}, apart that it must be
+followed by a \type{\pdfendthread}. \type{\pdfstartthread} and the
+corresponding \type{\pdfendthread} must end up in vboxes with the same
+nesting level; all vboxes between them will be added into the thread.
+Note that during output runtime if there are other newly created
+boxes which have the same nesting level as the vbox/vboxes containing
+\type{\pdfstartthread} and \type{\pdfendthread}, they will be also added
+into the thread, which is probably not what you want. To avoid such
+unconsidered behavior, it's often enough to wrap boxes that shouldn't
+belong to the thread by a box to change their box nesting level.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfendthread} \Modelist{v, m}}}
+\bookmark{\tex{pdfendthread}}
+
+This ends an article thread started before by \type{\pdfstartthread}.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfthreadmargin} \Whatever{dimen}}}
+\bookmark{\tex{pdfthreadmargin}}
+
+Specifies a margin to be added to the dimensions of a bead within
+an article thread.
+
+%***********************************************************************
+
+\subsection{Literals and specials}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfliteral}
+ \Optional{\Something{pdfliteral spec}}
+ \Something{general text}
+ \Modelist{h, v, m}
+ }}
+\bookmark{\tex{pdfliteral}}
+
+Like \type{\special} in normal \TEX, this command inserts raw
+\PDF\ code into the output. This allows support of color and text
+transformation. This primitive is heavily used in the \METAPOST\
+inclusion macros. Normally \PDFTEX\ ends a text section in the \PDF\
+output and sets the transformation matrix to the current location on the
+page before inserting \Something{general text}\unkern, however this can be
+turned off by giving the optional keyword \Literal{direct}. This command
+appends a whatsit node to the list being built. \Something{general text}
+is expanded when the whatsit node is created and not when it is shipped
+out, as with \type{\special}.
+
+Starting with version 1.30.0, \PDFTEX\ allows to use a new keyword
+\type{page} instead of \type{direct}. Both modify the default behavior
+of \type{\pdfliteral}, avoiding translation of the coordinates space
+before inserting the literal code. The difference is that the \type{page}
+keyword instructs \PDFTEX\ to close a \type{BT ET} text block before
+inserting anything. It means that the literal code inserted refers to the
+origin (lower||left corner of the page) and can be safely enclosed with
+\type{q Q}. Note, that in most cases using \type{q Q} operators inside
+\type{\pdfliteral} with \type{direct} keyword will produce corrupted
+\PDF\ output, as the \PDF\ standard doesn't allow to do anything like
+this within a \type{BT ET} block.
+
+% HE: \unkern is a kludge here; wanted to have tight "{pdf:"
+\pdftexprimitive{\Syntax{\Tex{\special} \Lbrace\unkern\Literal{pdf:}
+ \Something{text} \Rbrace}}
+\bookmark{\tex{special}}
+
+This is equivalent to \Syntax{\Tex{\pdfliteral} \Lbrace \Something{text}
+\Rbrace}.
+
+\pdftexprimitive{\Syntax{\Tex{\special} \Lbrace\unkern\Literal{pdf:direct:}
+ \Something{text} \Rbrace}}
+\bookmark{\tex{special\ direct}}
+
+This is equivalent to \Syntax{\Tex{\pdfliteral} \Literal{direct} \Lbrace
+\Something{text} \Rbrace}.
+
+\pdftexprimitive{\Syntax{\Tex{\special} \Lbrace\unkern\Literal{pdf:page:}
+ \Something{text} \Rbrace}}
+\bookmark{\tex{special\ page}}
+
+This is equivalent to \Syntax{\Tex{\pdfliteral} \Literal{page} \Lbrace
+\Something{text} \Rbrace}.
+
+%***********************************************************************
+
+\subsection{Strings}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfescapestring} \Something{general text}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdfescapestring}}
+
+Starting with version 1.30.0, \PDFTEX\ provides a mechanism for converting
+a general text into \PDF\ string. Many characters that may be needed inside
+such a text (especially parenthesis), have a special meaning inside a \PDF\
+string object and thus, can't be used literally. The primitive replaces each
+special \PDF\ character by its literal representation by inserting a backslash
+before that character. Some characters (\eg\ space) are also converted into
+3||digit octal number. In example, \type{\pdfescapestring{Text (1)}} will be
+expanded to \type{Text\040\(1\)}. This ensures a literal interpretation of the
+text by the \PDF\ viewer.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfescapename} \Something{general text}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdfescapename}}
+
+In analogy to \type{\pdfescapestring}, \type{\pdfescapename} replaces each
+special \PDF\ character inside the general text by its hexadecimal
+representation preceded by \type{#} character. This ensures the proper
+interpretation of the text if used as a \PDF\ name object. In example,
+\type{Text (1)} will be replaced by \type{Text#20#281#29}.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfescapehex} \Something{general text}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdfescapehex}}
+
+This command converts each character of \Something{general text} into its
+hexadecimal representation. Each character of the argument becomes a pair of
+hexadecimal digits. \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfunescapehex} \Something{general text}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdfunescapehex}}
+
+This command treats each character pair of \Something{general text} as
+a hexadecimal number and returns an \ASCII\ character of this code.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfstrcmp} \Something{general text}
+ \Something{general text} \Whatever{expandable}}}
+\bookmark{\tex{pdfstrcmp}}
+
+This command compares two strings and expands to \type{0} if the strings
+are equal, to \type{-1} if the first string ranks before the second, and
+to \type{1} otherwise. \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfmatch} \Optional{\Literal{icase}}
+ \Optional{\Literal{subcount} \Something{integer}} \Something{general text}
+ \Something{general text} \Whatever{expandable}}}
+\bookmark{\tex{pdfmatch}}
+
+This command implements pattern matching (using the syntax of \POSIX\
+extended regular expressions). The first \Something{general text} is a
+pattern and the second is a string. The command expands to \type{-1} if
+the pattern is invalid, to \type{0} if no match is found, and to
+\type{1} if a match is found. With the \type{icase} option, the matching
+is case-insensitive. The \type{subcount} option sets the size of the
+table storing the found (sub)patterns; its default is 10.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastmatch} \Something{integer}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdflastmatch}}
+
+The matches found with \type{\pdfmatch} are stored in a table. This
+command returns the entry for \Something{integer}, in the format
+\Something{position}\type{->}\Something{string}; \Something{position} is
+the position of the match (starting at zero) or \type{-1} if no match
+was found, and \Something{string} is the matched substring.
+
+Entry~0 contains the match as a whole; the subsequent entries contain
+submatches corresponding to the subpatterns, up to \type{subcount-1}.
+
+If \Something{integer} is less than zero, an error is given.
+
+For instance:
+
+\starttyping
+\pdfmatch subcount 3 {ab(cd)*ef(gh)(ij)}{abefghij}
+\pdflastmatch0 % "0->abefghij"
+\pdflastmatch1 % "-1->"
+\pdflastmatch2 % "4->gh"
+\pdflastmatch3 % "-1->"
+\stoptyping
+
+Entry~1 is empty because no match was found for \type{cd}, and entry~3
+is empty because it exceeds the table's size as set by \type{subcount}.
+\introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Numbers}
+
+\pdftexprimitive{\Syntax{\Tex{\ifpdfabsnum} \Whatever{expandable}}}
+\bookmark{\tex{ifpdfabsnum}}
+
+This conditional works like the standard \type{\ifnum}, except that it
+compares absolute values of numbers. Although it seems to be a trivial
+shortcut for a couple of \type{\ifnum x<0} tests, as a primitive it is
+considerably more friendly in usage and works a bit faster.
+\introduced{1.40.0}
+
+\pdftexprimitive{\Syntax{\Tex{\ifpdfabsdim} \Whatever{expandable}}}
+\bookmark{\tex{ifpdfabsdim}}
+
+Analogous to \type{\ifpdfabsnum}, this conditional works like
+\type{\ifdim}, except that it compares absolute values of
+dimensions. \introduced{1.40.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfuniformdeviate} \Something{number}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdfuniformdeviate}}
+
+Generate a uniformly-distributed random integer value between 0
+(inclusive) and \Something{number} (exclusive). This primitive expands
+to a list of tokens. \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfnormaldeviate} \Whatever{expandable}}}
+\bookmark{\tex{pdfnormaldeviate}}
+
+Generate a normally-distributed random integer with a mean of~0 and
+standard deviation 65\,536. That is, about 68\% of the time, the result
+will be between $-65536$ and $65536$ (one standard deviation away from
+the mean). About 95\% of results will be within two standard
+deviations, and 99.7\% within three. This primitive expands to a list
+of tokens. \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfrandomseed} \Whatever{read||only integer}}}
+\bookmark{\tex{pdfrandomseed}}
+
+You can use \type{\the\pdfrandomseed} to query the current seed value,
+so you can \eg\ write the value to the log file. The initial value of
+the seed is derived from the system time, and is not more than
+1\,000\,999\,999 (this ensures that the value can be used with commands
+like \type{\count}). \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfsetrandomseed} \Something{number}}}
+\bookmark{\tex{pdfsetrandomseed}}
+
+Set the random seed (\type{\pdfrandomseed}) to a specific value,
+allowing you to replay sequences of semi-randoms at a later moment.
+\introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Timekeeping}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfelapsedtime} \Whatever{read||only integer}}}
+\bookmark{\tex{pdfelapsedtime}}
+
+Return a number that represents the time elapsed from the moment of the
+start of the run. The elapsed time is returned in `scaled seconds',
+meaning seconds divided by 65536, \eg\ \PDFTEX\ has run for
+\the\pdfelapsedtime\ `scaled seconds' when this paragraph was
+typeset. Of course, the command will never return a value greater than
+the highest number available in \TeX: if the time exceeds 32767 seconds,
+the constant value $2^{31}-1$ will be returned. \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfresettimer}}}
+\bookmark{\tex{pdfresettimer}}
+
+Reset the internal timer so that \type{\pdfelapsedtime}
+starts returning micro||time from~0 again. \introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Files}
+
+\pdftexprimitive{\Syntax{\Tex{\pdffilemoddate} \Something{general text}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdffilemoddate}}
+
+Expands to the modification date of file \Something{general text} in the same
+format as for \type{\pdfcreationdate}, \eg\ it's {\tt \pdffilemoddate
+{./pdftex-t.tex}} for the source of this manual.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdffilesize} \Something{general text}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdffilesize}}
+
+Expands to the size of file \Something{general text}, \eg\ it's {\tt
+\pdffilesize {./pdftex-t.tex}} for the source of this manual.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfmdfivesum} file \Something{general text}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdfmdfivesum\ file}}
+
+Expands to the \MDFIVE\ of file \Something{general text} in uppercase
+hexadecimal format (same as \type{\pdfescapehex}), \eg\ it's {\tt
+\pdfmdfivesum file {./pdftex-t.tex}} for the source of this manual.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdffiledump} \Optional{\Literal{offset}
+ \Something{number}} \Optional{\Literal{length}
+ \Something{number}} \Something{general text} \Whatever{expandable}}}
+\bookmark{\tex{pdffiledump}}
+
+Expands to the dump of the file \Something{general text} in uppercase
+hexadecimal format (same as \type{\pdfescapehex}), starting at offset
+\Something{number} or 0 with length \Something{number}, if given. The first ten
+bytes of the source of this manual are {\tt \pdffiledump length 10
+{./pdftex-t.tex}}. \introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Color stack}
+
+\PDFTEX\ 1.40.0 comes with color stack support (actually any graphic state
+stack).
+
+\pdftexprimitive{\Syntax{\Tex{\pdfcolorstackinit} \Optional{\Literal{page}}
+ \Optional{\Literal{direct}} \Something{general text} \Whatever{expandable}}}
+\bookmark{\tex{pdfcolorstackinit}}
+
+The primitive initializes a new graphic stack and returns its number. Optional
+\Literal{page} keyword instructs \PDFTEX\ to restore the graphic at the
+beginning of every new page. Also optional \Literal{direct} has the same effect
+as for \Tex{\pdfliteral} primitive. \introduced{1.40.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfcolorstack} \Something{stack number}
+ \Something{stack action} \Something{general text}}}
+\bookmark{\tex{pdfcolorstack}}
+
+The command operates on the stack of a given number. If \Something{stack
+action} is \Literal{push} keyword, the new value provided as
+\Something{general text} is inserted into the top of the graphic stack
+and becomes the current stack value. If followed by \Literal{pop}, the
+top value is removed from the stack and the new top value becomes the
+current. \Literal{set} keyword replaces the current value with
+\Something{general text} without changing the stack size.
+\Literal{current} keyword instructs just to use the current stack value
+without modifying the stack at all. \introduced{1.40.0}
+
+\subsection{Transformations}
+
+Since the content of \Tex{\pdfliteral} is not interpreted anyhow, any
+transformation inserted directly into the content stream, as well as saving
+and restoring the current transformation matrix, remains unnoticed by
+\PDFTEX\ positioning mechanism. As a consequence, links and other annotations
+(that are formed in \PDF\ as different layer then the page content) are not
+affected by such user-defined transformations. \PDFTEX\ 1.40.0 solves this
+problem with three new primitives.
+
+\pdftexprimitive{\Syntax{\Tex{\pdfsetmatrix}}}
+\bookmark{\tex{pdfsetmatrix}}
+
+Afine transformations are normally expressed with six numbers. First
+four (no unit) values defining scaling, rotating and skewing, plus two
+extra dimensions for shifting. Since the translation is handled by \TeX\
+itself, \Tex{\pdfsetmatrix} primitive expects as an argument a string
+containing just the first four numbers of the transformation separated
+by a space and assumes two position coordinates to be~0. In example,
+\type{\pdfsetmatrix{0.87 -0.5 0.5 0.87}} rotates the current space by 30
+degrees, inserting \type{0.87 -0.5 0.5 0.87 0 0 cm} into the content
+stream. \introduced{1.40.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfsave}}}
+\bookmark{\tex{pdfsave}}
+
+The command saves the current transformation by inserting \type{q}
+operator into the content stream. \introduced{1.40.0}
+
+\pdftexprimitive{\Syntax{\Tex{\pdfrestore}}}
+\bookmark{\tex{pdfrestore}}
+
+The command restores previously saved transformation by inserting \type{Q}
+operator into the content stream. One should keep in mind that \Tex{\pdfsave}
+and \Tex{\pdfrestore} pairs should always be properly nested and should start
+and end at the same group level. \introduced{1.40.0}
+
+%***********************************************************************
+
+\subsection{Miscellaneous}
+
+\pdftexprimitive{\Syntax{\tex {ifincsname} \Whatever{expandable}}}
+\bookmark{\tex{ifincsname}}
+
+This conditional is true if evaluated inside \type{\csname ... \endcsname},
+and false otherwise.
+
+
+\pdftexprimitive{\Syntax{\tex {ifpdfprimitive} \Something{control sequence}
+ \Whatever{expandable}}}
+\bookmark{\tex{ifpdfprimitive}}
+
+This condition checks if the following control sequence has its
+primitive meaning. If it has, \type{\ifpdfprimitive} returns true. In
+any other case (redefined, made \type{\undefined}, has never been
+primitive) false is returned. \introduced{1.40.0}
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfcreationdate} \Whatever{expandable}}}
+\bookmark{\tex{pdfcreationdate}}
+
+Expands to the date string \PDFTEX\ uses in the info dictionary of the
+document, \eg\ for this file {\tt\pdfcreationdate}. \introduced{1.30.0}
+
+
+\pdftexprimitive{\Syntax{\tex {pdfdraftmode} \Whatever{integer}}}
+\bookmark{\tex{pdfdraftmode}}
+
+When set to 1 (or set by the command-line switch \type{-draftmode})
+\PDFTEX\ doesn't write the output \PDF\ file and doesn't actually read any
+images but does everything else (including writing auxiliary files),
+thus speeding up compilations when you know you need an extra run but
+don't care about the output, \eg\ just to get the \BIBTEX\ references
+right. \introduced{1.40.0}
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfinsertht} \Something{integer}
+ \Whatever{expandable}}}
+\bookmark{\tex{pdfinsertht}}
+
+If \Something{integer} is the number of an insertion class, this command
+returns the height of the corresponding box at the current time.
+For instance, the following returns \type{12pt} in plain \TEX:
+
+\starttyping
+Abc\footnote*{Whatever.}\par
+\pdfinsertht\footins
+\stoptyping
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastxpos} \Whatever{read||only integer}}}
+\bookmark{\tex{pdflastxpos}}
+
+This primitive returns an integer number representing the absolute $x$
+coordinate of the last point marked by \type{\pdfsavepos}. The unit is
+`scaled points' (sp).
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdflastypos} \Whatever{read||only integer}}}
+\bookmark{\tex{pdflastypos}}
+
+Completely analogous to \type{\pdflastxpos}, returning the $y$ coordinate.
+
+
+\pdftexprimitive{\Syntax{\tex {pdfprimitive} \Something{control sequence}}}
+\bookmark{\tex{pdfprimitive}}
+
+This command executes the primitive meaning of the following control
+sequence, regardless of whether the control sequence has been redefined
+or made undefined. If the primitive was expandable, \type{\pdfprimitive}
+expands also. On the other hand, if the following control sequence never
+was a primitive, nothing happens and no error is raised. (In some
+versions of \PDFTEX\ prior to 1.40.19, an error was wrongly given.)
+\introduced{1.40.0}
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfretval} \Whatever{read||only integer}}}
+\bookmark{\tex{pdfretval}}
+
+Set to $-1$ if \type{\pdfobj} ignores an invalid object number. Perhaps
+this will be used to store the error status of other primitives in the
+future.
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfsavepos} \Modelist{h, v, m}}}
+\bookmark{\tex{pdfsavepos}}
+
+This primitive marks the current absolute ($x,y$) position on the
+media, with the reference point in the lower left corner. It is active
+only during page shipout, when the page is finally assembled. The
+position coordinates can then be retrieved by the \type{\pdflastxpos}
+and \type{\pdflastypos} primitives, and \eg\ written out to some
+auxiliary file. The coordinates can be used only after the current
+\type{\shipout} has been finalized, therefore normally two \PDFTEX\
+runs are required to utilize these primitives. Starting with
+\PDFTEX\ 1.40.0, this mechanism can be used also while running
+in \DVI\ mode.
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdfshellescape} \Whatever{read||only integer}}}
+\bookmark{\tex{pdfshellescape}}
+
+This primitive is~1 if \type{\write18} is enabled, 2 if it is
+restricted, and 0 otherwise. (\type{\write18} was
+\ifnum\pdfshellescape=0\relax not \fi enabled when this manual was
+typeset.) \introduced{1.30.0}
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdftexbanner} \Whatever{expandable}}}
+\bookmark{\tex{pdftexbanner}}
+
+Returns the \PDFTEX\ banner message, \eg\ for the version used here:
+{\tt \pdftexbanner}. \introduced{1.20a}
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdftexrevision} \Whatever{expandable}}}
+\bookmark{\tex{pdftexrevision}}
+
+\def\versplit#1#2#3{#1.#2#3}
+
+Returns the revision number of \PDFTEX, \eg\ for \PDFTEX\ version
+\expandafter\versplit\the\pdftexversion.\pdftexrevision\ (used to produce
+this document), it returns the number {\tt \pdftexrevision}.
+
+
+\pdftexprimitive{\Syntax{\Tex{\pdftexversion} \Whatever{read||only integer}}}
+\bookmark{\tex{pdftexversion}}
+
+Returns the version of \PDFTEX\ multiplied by 100, \eg\ for \PDFTEX\
+version \expandafter\versplit\the\pdftexversion.\pdftexrevision\ used to
+produce this document, it returns {\tt \number\pdftexversion}.
+
+
+\pdftexprimitive{\Syntax{\Tex{\quitvmode}}}
+\bookmark{\tex{quitvmode}}
+
+The primitive instructs \PDFTEX\ to quit vertical mode and start
+typesetting a paragraph. \type{\quitvmode} has the same effect as
+\type{\leavevmode} definition from \type{plain} macro package. Note
+however, that \type{\leavevmode} may conflict with \type{\everypar}
+tokens list. No such risk while using \type{\quitvmode} instead.
+\introduced{1.21a}
+
+
+\pdftexprimitive{\Syntax{\Tex{\vadjust}
+ \Optional{\Something{pre spec}}
+ \Something{filler}
+ \Lbrace \Something{vertical mode material} \Rbrace
+ \Modelist{h, m}
+}}
+\bookmark{\tex{vadjust}}
+
+The \type{\vadjust} implementation of \PDFTEX\ adds an optional
+qualifier \Something{pre spec}, which is simply the string \type{pre}, to
+the original \TEX\ primitive with the same name. If
+no \type{pre} is given, \type{\vadjust} behaves exactly as the original
+(see the \TEX book, p.~281): it appends an adjustment item created
+from \Something{vertical mode material} to the current list {\em after}
+the line in which \type{\vadjust} appears. However, with the qualifier
+\type{pre}, the adjustment item is put {\em before} the line in which
+\type{\vadjust pre} appears.
+
+%***********************************************************************
+
+\section{Graphics}
+
+\PDFTEX\ supports inclusion of pictures in \PNG, \JPEG, \JBIGTWO, and
+\PDF\ format; a few differences between these are discussed below. The
+most common technique with \TEX\ |<|the inclusion of \EPS\ figures|>|
+is replaced by \PDF\ inclusion. \EPS\ files can be converted to \PDF\ by
+\GHOSTSCRIPT, Adobe Distiller or other \POSTSCRIPT||to||\PDF\ converters.
+
+The \PDF\ format is currently the most versatile source format for
+graphics embedding. \PDFTEX\ allows to insert arbitrary pages from
+\PDF\ files with their own fonts, graphics, and pixel images into
+a document. The cover page of this manual is an example of such an insert,
+being a one page document generated by \PDFTEX.
+
+By default \PDFTEX\ takes the BoundingBox of a \PDF\ file from its CropBox
+if available, otherwise from its MediaBox. This can be influenced by
+the \Something{pdf box spec} option to the \type{\pdfximage} primitive,
+or by setting the \type{\pdfpagebox} or \type{\pdfforcepagebox} primitives to
+a value corresponding to the wanted box type.
+
+To get the right BoundingBox from a \EPS\ file, before converting to \PDF,
+it is necessary to transform the \EPS\ file so that the start point is
+at the (0,0)~coordinate and the page size is set exactly corresponding
+to the BoundingBox. A \PERL\ script (\EPSTOPDF) for this purpose has been
+written. The \TEXUTIL\ utility script and the \PSTOPDF\ program that comes
+with \GHOSTSCRIPT\ can so a similar job. (Concerning this conversion,
+they can handle complete directories, remove some garbage from files,
+takes precautions against duplicate conversion, etc.)
+
+The lossless compressing \PNG\ format is great for embedding crisp pixel
+graphics (\eg\ line scans, screen shots). Since \PDFTEX\ 1.30.0 also the
+alpha-channel of \PNG\ images is processed if available; this allows
+embedding of images with simple transparency. The \PNG\ format does not
+support the CMYK color model, which is sometimes required for print media
+(this often can be replaced by four component \JPEG\ in high quality or
+lossless compression mode). Photos in \PNG\ format have a rather weak
+compression; here the \JPEG\ format is preferable.
+
+Embedding \PNG\ images in the general case requires \PDFTEX\ to uncompress
+the pixel array and to re||compress it to the \PDF\ requirements; this
+process often takes a noticeable amount of time. Since \PDFTEX\ 1.30.0
+there is now a fast \PNG\ embedding mode that goes without uncompressing;
+the image data are directly copied into the \PDF\ stream, resulting in
+a much higher embedding speed. However this mode is only activated, if
+the image array structure of the \PNG\ file is compatible with the \PDF\
+image structure (\eg\ an interlaced \PNG\ image requires uncompressing to
+re||arrange the image lines). Luckily it seems that the most common \PNG\
+files also allow fast copying. The use of gamma correction disables fast
+copying, as it requires calculations with individual pixels. Whether the
+fast copy mode is used for a \PNG\ image can be seen from the log file,
+which then shows the string `(PNG copy)' after the \PNG\ file name.
+
+The \JPEG\ format is normally used in lossy mode; then it's ideal for
+embedding photos. It's not recommended for crisp images from synthetic
+sources with a limited amount of colors. Both \JFIF\ and \EXIF\ are
+supported for additional information.
+
+The \JBIGTWO\ format works only for bitonal (black and white) pixel
+images like scanned line and text documents, but for these it has
+typically a much higher compression ratio than the other two pixel
+image formats. The \JBIGTWO\ format is part of the \PDF\ standard since
+version 1.5; native \JBIGTWO\ image inclusion is available in \PDFTEX\
+since version 1.40.0. A \JBIGTWO\ file might contain many images, which
+gives an even better compression ratio than with a single image per file,
+as \JBIGTWO\ encoders can exploit similarities between bit patterns over
+several images. Encoders for \JBIGTWO\ can operate in lossy as well as
+lossless modes. Only recently a free \JBIGTWO\ encoder has been written
+and made available, see \from[jbig2enc].
+
+Other options for graphics in \PDFTEX\ are:
+
+\description {\LATEX\ picture mode} Since this is implemented simply in terms
+of font characters, it works in exactly the same way as usual.
+
+\description {Xy||pic} If the \POSTSCRIPT\ back||end is not requested, Xy||pic
+uses its own Type~1 fonts, and needs no special attention.
+
+\description {tpic} The \quote {tpic} \type{\special} commands (used in some
+macro packages) can be redefined to produce literal \PDF, using some macros
+written by Hans Hagen.
+
+\description {\METAPOST} Although the output of \METAPOST\ is \POSTSCRIPT,
+it is in a highly simplified form, and a \METAPOST\ to \PDF\ conversion
+(\MPTOPDF, written by Hans Hagen and Tanmoy Bhattacharya) is implemented
+as a set of macros which reads \METAPOST\ output and supports all of
+its features.
+
+For new work, the \METAPOST\ route is highly recommended. For the future,
+Adobe has announced that they will define a specification for \quote
+{encapsulated \PDF}.
+
+The inclusion of raw \POSTSCRIPT\ commands |<|a technique utilized
+by for instance the \type{pstricks} package|>| cannot directly be
+supported. Although \PDF\ is direct a descendant of \POSTSCRIPT, it
+lacks any programming language commands, and cannot deal with arbitrary
+\POSTSCRIPT.
+
+%***********************************************************************
+
+\section{Character translation}
+
+Characters that are input to \PDFTEX\ are subject to optional
+\TEX\ character translation (\TCX) under control of a \TCX\ file.
+The \TCX\ maps the input character codes (\eg\ from \type{\input} or
+\type{\read}) to the character codes as seen by \PDFTEX. This mapping
+takes place before the characters enter \PDFTEX's `mouth'. If no \TCX\
+file is read, the input characters enter \PDFTEX\ directly; no mapping
+is done.
+
+\TCX\ files consist of lines each containing one or two integer numbers
+in the range 0..255, either in decimal or hex notation.
+% strtol() C-function
+A comment sign \type{%} in a \TCX\ line starts a comment until the
+end of line. The first number in each line is for matching the input
+character code, the second, optional number is the corresponding \TEX\
+character code. If a line contains only one number, characters with
+this code enter \PDFTEX\ unchanged; no mapping is done.
+
+\TCX\ mapping also influences \PDFTEX\ output streams for \type{\message} and
+\type{\write}. Without \TCX\ mapping, only characters that are within
+the range 32..126 are flagged as `printable', meaning that these
+characters are output directly by \type{\message} and \type{\write}
+primitives. Characters outside the range 32..126 are instead output
+in escaped form, \eg\ as \type{^^A} for a character with code
+\type{0x01}. When a character code is mentioned in the 2nd column of the
+\TCX\ file, or as the only value in a line, it is flagged as `printable'.
+During \type{\message} and \type{\write}, output characters are mapped
+in reverse direction: they are looked up in the 2nd column of the \TCX\
+file and the corresponding values from the 1st column are output. Again,
+if a \PDFTEX\ character code is found as the only number in a line, no
+mapping is done. Mentioning a character code as the only number on
+a line has the sole purpose to flag this code `printable'; remember that
+character within the range 32..126 are `printable' anyway.
+
+The characters output into the \PDF\ file, \eg\ by \type{\pdfliteral}
+or \type{\special} primitives, are not subject to \TCX\ output remapping.
+
+Beware: Character translation interferes with the \ENCTEX\ primitives; to
+avoid surprises, don't use \ENCTEX\ and \TCX\ mapping at the same time.
+Further details about \TCX\ file loading can be found in the \TETEX\
+manual.
+
+%***********************************************************************
+
+\stopbodymatter
+
+%D We did use some abbreviations. Only those really used will end up in the
+%D following list.
+
+\startbackmatter
+
+\writebetweenlist[section]{\blank[line]}
+
+%***********************************************************************
+
+\section{Abbreviations}
+
+In this document we use numerous abbreviations. For convenience we mention
+their meaning here.
+
+\placelistofabbreviations
+
+%***********************************************************************
+
+\start \setupalign[nothanging,nohz]
+
+\section{Examples of HZ and protruding}
+
+In the following sections we will demonstrate \PDFTEX's protruding and
+\HZ\ features, using a text from E.~Tufte. This sample text has a lot
+of punctuation and often needs hyphenation. Former \PDFTEX\ versions
+had sometimes problems with combining these features, but from version
+1.21a on it should be ok. If you still encounter problems, please try
+to prepare a small test file that demonstrates the problem and send it
+to one of the maintainers.
+
+\startbuffer
+ \input tufte
+ \blank[big]
+ \startcolumns
+ \input tufte
+ \stopcolumns
+\stopbuffer
+
+\subsection{Normal} \start \getbuffer \stop
+\subsection{HZ} \start \setupalign[hz] \getbuffer \stop
+\subsection{Protruding} \start \setupalign[hanging] \getbuffer \stop
+\subsection{Both} \start \setupalign[hz,hanging] \getbuffer \stop
+
+\stop
+
+%***********************************************************************
+
+\section[sec.addpdfkeys]{Additional \PDF\ keys}
+
+{\em This section is based on the manual on keys written by Martin
+Schr\"oder, one of the maintainers of \PDFTEX.}
+
+A \PDF\ document should contain only the structures and attributes defined
+in the \PDF\ specification. However, the specification allows applications
+to insert additional keys, provided they follow certain rules.
+
+The most important rule is that developers have to register with Adobe
+prefixes for the keys they want to insert. Hans Hagen has registered the
+prefix \type{PTEX} for \PDFTEX.
+
+\PDFTEX\ generates an XObject for every included \PDF. The dictionary of
+this object contains these additional keys:
+
+\starttabulate[|lT|l|p|]
+\HL
+\NC \bf key \NC \bf type \NC meaning \NC \NR
+\HL
+\NC PTEX.FileName \NC string \NC The name of the included file as seen by
+ \PDFTEX. \NC \NR
+\NC PTEX.InfoDict \NC dictionary \NC The document information dictionary of the included
+ \PDF\ (an indirect object). \NC \NR
+\NC PTEX.PageNumber \NC integer \NC The page number of the included file. \NC \NR
+\HL
+\stoptabulate
+
+The \PDFReference\ says: \quotation {Although viewer applications can
+store custom metadata in the document information dictionary, it is
+inappropriate to store private content or structural information there;
+such information should be stored in the document catalog instead.}
+
+Although it would seem more natural to put this information in the
+document information dictionary, we have to obey the rules laid down in
+the \PDFReference. The following key ends up in the document catalog.
+
+\starttabulate[|lT|l|p|]
+\HL
+\NC \bf key \NC \bf type \NC meaning \NC \NR
+\HL
+\NC PTEX.Fullbanner \NC string \NC The full version of the \pt binary that
+produced the file as displayed by {\tt pdftex \hbox{-{}-version}}, \eg\
+{\tt\pdftexbanner}. This is necessary because the string in the
+\type{Producer} key in the info dictionary is rather short,
+namely {\tt pdfTeX-\currentpdftex}. \NC \NR
+\HL
+\stoptabulate
+
+Any or all of these keys can be suppressed with the
+\type{\pdfsuppressptexinfo} primitive, described in
+\in{section}[sec.docinfocatalog].
+
+%***********************************************************************
+
+\section{Colophon}
+
+This manual is typeset in \CONTEXT. One can generate an A4 version from
+the source code by typing:
+
+\starttyping
+texexec --result=pdftex-a.pdf pdftex-t
+\stoptyping
+
+Or in letter size:
+
+\starttyping
+texexec --mode=letter --result=pdftex-l.pdf pdftex-t
+\stoptyping
+
+Given that the A4 version is typeset, one can generate an A5 booklet by
+typing:
+
+\starttyping
+texexec --pdfarrange --paper=a5a4 --print=up --addempty=1,2
+ --result=pdftex-b.pdf pdftex-a
+\stoptyping
+
+Odd and even page sets for non-duplex printers can be generated using
+\type{-}\type{-pages=odd} and \type{-}\type{-pages=even} options
+(which might require some disciplined shuffling of sheet).
+
+This also demonstrates that \PDFTEX\ can be used for page imposition
+purposes (given that \PDFTEX\ and the fonts are set up properly).
+
+%***********************************************************************
+
+\page
+
+\definehead[gnusection][subsection]
+\definehead[gnusubject][subsubject]
+
+\setuphead[gnusection,gnusubject][style=\bfa,before=\blank,after=\blank,align={right,broad,nothyphenated}]
+
+\setuphead[gnusection][ownnumber=yes]
+
+\section{GNU Free Documentation License}
+
+\startnotmode[screen]
+ \switchtobodyfont[4.6pt] % squeeze everything on one page :-}
+ \setuplayout[grid=yes]
+ \setupcolumns[n=7]
+\stopnotmode
+
+\startmode[screen]
+ \setupcolumns[n=2]
+\stopmode
+
+\startcolumns[tolerance=verytolerant,distance=10pt] \widowpenalty10000 \clubpenalty10000
+
+\startlines
+Version 1.2, November 2002
+Copyright \copyright\ 2000, 2001, 2002
+Free Software Foundation, Inc.
+59 Temple Place, Suite 330,
+Boston, MA 02111-1307 USA
+\stoplines
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+\gnusubject{Preamble}
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document ``free'' in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of ``copyleft'', which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+\gnusection{1}{APPLICABILITY AND DEFINITIONS}
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants
+a world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The {\bf ``Document''}, below,
+refers to any such manual or work. Any member of the public is
+a licensee, and is addressed as {\bf ``you''}. You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A {\bf ``Modified Version''} of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A {\bf ``Secondary Section''} is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (Thus, if the Document is in part
+a textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The {\bf ``Invariant Sections''} are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If
+a section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The {\bf ``Cover Texts''} are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A {\bf ``Transparent''} copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by \PDF\ viewers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not ``Transparent'' is called {\bf ``Opaque''}.
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, \POSTSCRIPT\ or \PDF\ designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, \POSTSCRIPT\ or \PDF\ produced by some word
+processors for output purposes only.
+
+The {\bf ''Title Page''} means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, ``Title Page'' means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+A section {\bf ``Entitled XYZ''} means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for
+a specific section name mentioned below, such as {\bf ``Acknowledgements''},
+{\bf ``Dedications''}, {\bf ``Endorsements''}, or {\bf ``History''}.)
+To {\bf ``Preserve the Title''}
+of such a section when you modify the Document means that it remains
+a section ``Entitled XYZ'' according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+
+\gnusection{2}{VERBATIM COPYING}
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+\gnusection{3}{COPYING IN QUANTITY}
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+\gnusection{4}{MODIFICATIONS}
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+\startitemize[A,packed]
+\item
+ Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+
+\item
+ List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+
+\item
+ State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+\item
+ Preserve all the copyright notices of the Document.
+
+\item
+ Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+\item
+ Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+
+\item
+ Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+
+\item
+ Include an unaltered copy of this License.
+
+\item
+ Preserve the section Entitled ``History'', Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled ``History'' in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+
+\item
+ Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the ``History'' section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+
+\item
+ For any section Entitled ``Acknowledgements'' or ``Dedications'',
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+
+\item
+ Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+
+\item
+ Delete any section Entitled ``Endorsements''. Such a section
+ may not be included in the Modified Version.
+
+\item
+ Do not retitle any existing section to be Entitled ``Endorsements''
+ or to conflict in title with any Invariant Section.
+
+\item
+ Preserve any Warranty Disclaimers.
+\stopitemize
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled ``Endorsements'', provided it contains
+nothing but endorsements of your Modified Version by various
+parties---for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of
+a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and
+a passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+\gnusection{5}{COMBINING DOCUMENTS}
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled ``History''
+in the various original documents, forming one section Entitled
+``History''; likewise combine any sections Entitled ``Acknowledgements'',
+and any sections Entitled ``Dedications''. You must delete all sections
+Entitled ``Endorsements''.
+
+\gnusection{6}{COLLECTIONS OF DOCUMENTS}
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+\gnusection{7}{AGGREGATION WITH INDEPENDENT WORKS}
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an ``aggregate'' if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+\gnusection{8}{TRANSLATION}
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include
+a translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled ``Acknowledgements'',
+``Dedications'', or ``History'', the requirement (section 4) to Preserve
+its Title (section~1) will typically require changing the actual
+title.
+
+\gnusection{9}{TERMINATION}
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+\gnusection{10}{FUTURE REVISIONS OF THIS LICENSE}
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+http:/\!/www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License ``or any later version'' applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+\stopcolumns
+
+%***********************************************************************
+
+\stopbackmatter
+
+%D And then we're done.
+
+% Evidently ConTeXt somewhere sets \pdfgentounicode=1. Or something.
+% So insert the mappings. Seems like a good thing anyway.
+\input glyphtounicode
+\stoptext
diff --git a/systems/doc/pdftex/manual/pdftex-w.tex b/systems/doc/pdftex/manual/pdftex-w.tex
new file mode 100644
index 0000000000..5afdf9f44a
--- /dev/null
+++ b/systems/doc/pdftex/manual/pdftex-w.tex
@@ -0,0 +1,9 @@
+% $Id: pdftex-w.tex 689 2012-04-15 18:05:10Z karl $
+\pdfoutput=1
+\pdfcompresslevel=0
+\pdfobjcompresslevel=0
+\pdfmapline{ptmr8r Times-Roman 2 <8r.enc}
+\font\tenrm=ptmr8r
+\tenrm
+Welcome to pdf\TeX!
+\bye
diff --git a/systems/doc/pdftex/manual/syntaxform.awk b/systems/doc/pdftex/manual/syntaxform.awk
new file mode 100644
index 0000000000..cdabfe77f8
--- /dev/null
+++ b/systems/doc/pdftex/manual/syntaxform.awk
@@ -0,0 +1,124 @@
+# $Id: syntaxform.awk 742 2016-04-25 17:30:55Z karl $
+# Public domain. Originally written by Petr Olsak.
+# pdftex-syntax.tex and pdftex-t.tex --> pdftex-syntax.txt
+# requires gawk due to gensub() function
+
+BEGIN{
+ buffer = "";
+}
+
+/\015*$/ {
+ gsub(/\015*$/, "");
+}
+
+/^%%S NL/ {
+ print "";
+ next;
+}
+
+/^%%S/ {
+ gsub (/^%%S/, "%%" );
+ print;
+ next;
+}
+
+/^\\Syntax/ {
+ printing = 1;
+ indentation = 0;
+ next;
+}
+
+// {
+ if (buffer != "") {
+ gsub(/^ */, "");
+ $0 = buffer $0;
+ }
+ buffer = "";
+}
+
+/\|\|/ {
+ gsub(/\|\|/, "-");
+}
+
+/^ */{
+ gsub(/^ */, indspaces);
+}
+
+/\\Something/ {
+ $0 = gensub(/\\Something *{([^}]*)}/, "<\\1>", "g");
+}
+
+/\\Literal/ {
+ $0 = gensub(/\\Literal *{([^}]*)}/, "\\1", "g");
+}
+
+/\\Tex/ {
+ $0 = gensub(/\\Tex *{([^}]*)}/, "\\1", "g");
+}
+
+/\\tex/ {
+ $0 = gensub(/\\tex *{([^}]*)}/, "\\\\\\1", "g");
+}
+
+
+/\\Optional/ {
+ $0 = gensub(/\\Optional *{([^}]*)}/, "[\\1]", "g");
+}
+
+/\\Means/ {
+ gsub(/\\Means/, "-->");
+ indentation = match($0, /-->/);
+ indspaces = " ";
+ for(i=0; i < indentation; i++)
+ indspaces = indspaces " ";
+}
+
+/\\Lbrace/ {
+ gsub(/\\Lbrace/, "{");
+}
+
+/\\Rbrace/ {
+ gsub(/\\Rbrace/, "}");
+}
+
+/\\Or/ {
+ gsub(/\\Or/, "|");
+}
+
+/\\Next/ {
+ gsub(/\\Next /, "");
+}
+
+/\\unkern/ {
+ gsub(/\\unkern */, "");
+}
+
+/\\(Whatever|Modelist)/ {
+ whatind = 57;
+ whatpos = match($0, /\\(Whatever|Modelist)/);
+ b = substr($0, 0, whatpos - 1)
+ c = substr($0, whatpos)
+ c = gensub(/\\(Whatever|Modelist) *{([^}]*)}/, "(\\2)", "g", c);
+ $0 = b;
+ for(i = whatpos; i < whatind; i++)
+ $0 = $0 " ";
+ $0 = $0 c;
+}
+
+/^}/ {printing = 0;}
+
+/% *$/ {
+ gsub(/% *$/, "");
+ buffer = $0;
+ next;
+}
+
+/^ *$/ {
+ $0 = "================= ERROR";
+}
+
+/ *$/ {
+ gsub(/ *$/, "");
+}
+
+{ if (printing) print; }
diff --git a/systems/doc/pdftex/manual/syntaxform.pl b/systems/doc/pdftex/manual/syntaxform.pl
new file mode 100755
index 0000000000..ad92b3ce30
--- /dev/null
+++ b/systems/doc/pdftex/manual/syntaxform.pl
@@ -0,0 +1,131 @@
+#!/usr/bin/env perl
+# $Id: syntaxform.pl 743 2016-04-25 17:34:08Z karl $
+# Public domain. Originally written by Karl Berry, 2016.
+# Read pdftex-t.tex, generate pdftex-syntax.tex
+# by looking for the primitive descriptions.
+
+use warnings;
+
+sub main {
+ my %primitive = &read_manual_for_primitives ();
+
+ # group primitives into classes based on their \Whatever construct.
+ my %class;
+ for my $p (sort keys %primitive) {
+ my ($class) = $primitive{$p} =~ /\\Whatever *\{(.*?)\}/;
+ # general commands don't have a \Whatever.
+ $class = "general" if ! $class;
+
+ # append this primitive, comma-separated.
+ $class{$class} .= "$p,"
+ }
+
+ print <<END_HEADER;
+%%S \$Id: syntaxform.pl 742 2016-04-25 17:30:55Z karl \$
+%%S This is the list of new or extended primitives provided by pdftex.
+%%S Don't edit this file, as it is now auto-generated from the
+%%S pdfTeX manual source pdftex-t.tex (and the generated
+%%S pdftex-syntax.tex) by the script syntaxform.awk.
+%%S Syntax rule conventions borrowed from `TeXbook naruby' by Petr Olsak.
+END_HEADER
+ &print_by_class (\%class, \%primitive);
+ return 0;
+}
+
+{
+ # classes should be shown in a specific order,
+ # and have specific text for the headings.
+ # sorry for using an array.
+ my %class_info = (
+ "integer" => [1, "Integer registers"],
+ "read||only integer" => [2, "Read-only integers"],
+ "dimen" => [3, "Dimen registers"],
+ "tokens" => [4, "Token registers"],
+ "expandable" => [5, "Expandable commands"],
+ "general" => [6, "General commands"],
+ );
+
+sub print_by_class {
+ my ($class_ref,$primitive_ref) = @_;
+ my %class = %$class_ref;
+
+ for my $c (sort by_class keys %class) {
+ my $aref = $class_info{$c};
+ my $heading_name = $class_info{$c}->[1];
+ # the %%S lines are for syntaxform.awk
+ print <<END_START_CLASS;
+%%S NL
+%%S $heading_name:
+\\subsubject{$heading_name}
+
+\\startpacked
+END_START_CLASS
+
+ # extract list of primitives for this class.
+ my @prims = split (/,/, $class{$c});
+ for my $p (@prims) {
+ my $val = $primitive_ref->{$p};
+
+ # get rid of the \pdftexprimitive{ and trailing }
+ $val =~ s,^\\pdftexprimitive *\{,,;
+ $val =~ s, *\} *$,,;
+
+ # leading \Syntax and trailing } on their own lines for syntaxform.awk.
+ $val =~ s,^ *\\Syntax *\{,\\Syntax\{\n,;
+ $val =~ s, *\} *$,\n\},;
+
+ # collapse multiple spaces
+ $val =~ s, +, ,g;
+
+ print "\n$val\n";
+ }
+ print "\n\\stoppacked\n";
+ }
+}
+
+sub by_class { $class_info{$a}->[0] <=> $class_info{$b}->[0]; }
+
+} # end block for %class_info
+
+
+# read <> for \pdftexprimitive blocks. Return hash with keys being the
+# primitive name (including the leading \) and values the entire block,
+# without newlines.
+#
+sub read_manual_for_primitives {
+ my $printing = 0;
+ my $primitive = "";
+
+ while (<>) {
+ # \pdftexprimitive block ends at next unindented blank or \... line.
+ $printing = 0 if /^($|\\)/;
+ if (/^\\pdftexprimitive/) {
+ $printing = 1;
+
+ my $type;
+ # \tex is used for primitives specified without a leading \.
+ ($type,$primitive) = m/\\([Tt])ex *\{(.*?)\}/;
+ warn "$ARGV:$.: no primitive found in: $_" if (! $primitive);
+ $primitive = "\\$primitive" if $type eq "t";
+
+ # \pdfmovechars is still in the manual, but doesn't do anything.
+ # Omit it from the output.
+ next if $primitive eq "\\pdfmovechars";
+
+ # Just one case, \special, has multiple instances of \pdftexprimitive.
+ # kludge by appending spaces to the name to make it unique;
+ # we later reduce multiple spaces to one, so it's not visible.
+ $primitive .= " " until ! exists $primitive{$primitive};
+ }
+
+ if ($printing) {
+ # concatenate lines of definition; assume spacing is reasonable.
+ chomp;
+ $primitive{$primitive} .= $_;
+ }
+ }
+
+ return %primitive;
+}
+
+exit (&main ());
diff --git a/systems/doc/pdftex/samplepdftex/cmr10.103 b/systems/doc/pdftex/samplepdftex/cmr10.103
new file mode 100644
index 0000000000..0db63e9892
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/cmr10.103
@@ -0,0 +1,255 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: -1 -90 185 270
+%%Creator: MetaPost
+%%CreationDate: 2000.01.22:1541
+%%Pages: 1
+%%DocumentFonts: cmr10
+ /cmr10 /cmr10 def
+/fshow {exch findfont exch scalefont setfont show}bind def
+%%EndProlog
+%%Page: 1 1
+ 0.7 setgray 0 6.97377 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath 79.70117 153.42459 moveto
+69.02646 153.42459 59.0136 148.29141 52.6969 139.6834 curveto
+45.66814 130.105 44.83253 117.78 44.83253 105.9077 curveto
+44.83253 94.03539 45.66814 81.71039 52.6969 72.13199 curveto
+59.0136 63.52397 69.02646 58.3908 79.70117 58.3908 curveto
+79.70117 56.89613 lineto
+65.45702 56.89613 51.56941 61.75742 40.95534 71.25125 curveto
+31.02951 80.12946 24.90634 92.60257 24.90634 105.9077 curveto
+24.90634 119.21283 31.02951 131.68593 40.95534 140.56413 curveto
+51.56941 150.05795 65.45702 154.91924 79.70117 154.91924 curveto
+ closepath
+gsave fill grestore stroke
+newpath 79.70117 58.3908 moveto
+90.3759 58.3908 100.38876 63.52397 106.70546 72.13199 curveto
+113.73422 81.71039 114.56981 94.03539 114.56981 105.9077 curveto
+114.56981 117.78 113.73422 130.105 106.70546 139.6834 curveto
+100.38876 148.29141 90.3759 153.42459 79.70117 153.42459 curveto
+79.70117 154.91924 lineto
+93.94534 154.91924 107.83295 150.05795 118.44702 140.56413 curveto
+128.37285 131.68593 134.49602 119.21283 134.49602 105.9077 curveto
+134.49602 92.60257 128.37285 80.12946 118.44702 71.25125 curveto
+107.83295 61.75742 93.94534 56.89613 79.70117 56.89613 curveto
+ closepath
+gsave fill grestore stroke
+newpath 118.44714 140.564 moveto
+128.22917 151.59401 142.26622 157.90715 157.00899 157.90715 curveto
+157.00899 158.90407 lineto
+142.05032 158.90407 127.88689 152.16806 118.4469 140.56427 curveto
+ closepath
+gsave fill grestore stroke
+newpath 157.00899 157.90715 moveto
+163.8467 157.90715 168.8665 151.67432 168.8665 144.55785 curveto
+170.85944 144.55785 lineto
+170.85944 152.3925 164.75017 158.90407 157.00899 158.90407 curveto
+ closepath
+gsave fill grestore stroke
+newpath 156.91127 144.55785 moveto
+156.91127 150.94083 163.48349 152.94232 167.60516 150.56235 curveto
+170.85944 144.55785 lineto
+170.85944 135.25906 156.91127 135.25906 156.91127 144.55785 curveto closepath
+gsave fill grestore stroke
+newpath 45.30899 71.57796 moveto
+18.50632 46.29672 31.5723 5.98181 60.25307 5.98181 curveto
+60.25546 5.98181 89.66144 5.98181 89.66383 5.98181 curveto
+89.66383 20.01962 lineto
+89.66144 20.01962 60.25546 20.01962 60.25307 20.01962 curveto
+36.18747 20.01962 24.78682 52.22023 45.30922 71.5777 curveto
+ closepath
+gsave fill grestore stroke
+newpath 89.66383 5.98181 moveto
+106.425 5.98181 123.6577 5.5558 138.45341 -2.39297 curveto
+148.08914 -7.56964 154.04207 -17.66093 154.04207 -28.60449 curveto
+154.04207 -40.80983 145.60735 -50.88159 135.18617 -57.49542 curveto
+121.66623 -66.0759 105.67108 -69.46239 89.66383 -69.46239 curveto
+73.65659 -69.46239 57.66144 -66.0759 44.14148 -57.49542 curveto
+33.72032 -50.88159 25.28558 -40.80984 25.28558 -28.60449 curveto
+25.28558 -19.41197 28.99132 -10.61298 35.5273 -4.14825 curveto
+42.1066 2.35933 50.99866 5.98181 60.25307 5.98181 curveto
+60.25307 6.48044 lineto
+48.39644 6.48044 36.64467 3.3158 27.15794 -3.79567 curveto
+19.15564 -9.79437 13.44954 -18.64792 13.44954 -28.60449 curveto
+13.44954 -41.88544 23.93777 -51.97589 35.77214 -58.55229 curveto
+52.15475 -67.65616 70.93266 -70.95703 89.66383 -70.95703 curveto
+108.395 -70.95703 127.1729 -67.65616 143.55553 -58.55229 curveto
+155.3899 -51.97589 165.8781 -41.88544 165.8781 -28.60449 curveto
+165.8781 -13.9194 159.7333 0.3921 147.42345 8.2457 curveto
+130.47827 19.0566 109.73244 20.01962 89.66383 20.01962 curveto
+ closepath
+gsave fill grestore stroke
+ 0 setgray
+114.57275 143.564 moveto
+(0l) cmr10 9.96265 fshow
+ 0 3 dtransform truncate idtransform setlinewidth pop 1 setlinecap
+newpath 118.44714 140.564 moveto 0 0 rlineto stroke
+75.8268 156.42459 moveto
+(1l) cmr10 9.96265 fshow
+newpath 79.70117 153.42459 moveto 0 0 rlineto stroke
+40.95816 108.9077 moveto
+(2l) cmr10 9.96265 fshow
+newpath 44.83253 105.9077 moveto 0 0 rlineto stroke
+75.8268 61.39078 moveto
+(3l) cmr10 9.96265 fshow
+newpath 79.70117 58.3908 moveto 0 0 rlineto stroke
+110.69543 108.9077 moveto
+(4l) cmr10 9.96265 fshow
+newpath 114.56981 105.9077 moveto 0 0 rlineto stroke
+153.1346 160.90715 moveto
+(5l) cmr10 9.96265 fshow
+newpath 157.00899 157.90715 moveto 0 0 rlineto stroke
+164.99213 147.55785 moveto
+(6l) cmr10 9.96265 fshow
+newpath 168.8665 144.55785 moveto 0 0 rlineto stroke
+153.03688 147.55785 moveto
+(7l) cmr10 9.96265 fshow
+newpath 156.91127 144.55785 moveto 0 0 rlineto stroke
+41.4346 74.57796 moveto
+(8l) cmr10 9.96265 fshow
+newpath 45.30899 71.57796 moveto 0 0 rlineto stroke
+53.88802 8.9818 moveto
+(10l) cmr10 9.96265 fshow
+newpath 60.25307 5.98181 moveto 0 0 rlineto stroke
+83.29877 8.9818 moveto
+(11l) cmr10 9.96265 fshow
+newpath 89.66383 5.98181 moveto 0 0 rlineto stroke
+147.67702 -25.6045 moveto
+(12l) cmr10 9.96265 fshow
+newpath 154.04207 -28.60449 moveto 0 0 rlineto stroke
+83.29877 -66.46239 moveto
+(13l) cmr10 9.96265 fshow
+newpath 89.66383 -69.46239 moveto 0 0 rlineto stroke
+18.92052 -25.6045 moveto
+(14l) cmr10 9.96265 fshow
+newpath 25.28558 -28.60449 moveto 0 0 rlineto stroke
+115.95634 143.56413 moveto
+(0) cmr10 9.96265 fshow
+newpath 118.44702 140.56413 moveto 0 0 rlineto stroke
+77.2105 157.1719 moveto
+(1) cmr10 9.96265 fshow
+newpath 79.70117 154.17192 moveto 0 0 rlineto stroke
+32.37875 108.9077 moveto
+(2) cmr10 9.96265 fshow
+newpath 34.86945 105.9077 moveto 0 0 rlineto stroke
+77.2105 60.64346 moveto
+(3) cmr10 9.96265 fshow
+newpath 79.70117 57.64346 moveto 0 0 rlineto stroke
+122.04224 108.9077 moveto
+(4) cmr10 9.96265 fshow
+newpath 124.53291 105.9077 moveto 0 0 rlineto stroke
+154.5183 161.40561 moveto
+(5) cmr10 9.96265 fshow
+newpath 157.00899 158.40561 moveto 0 0 rlineto stroke
+167.37228 147.55785 moveto
+(6) cmr10 9.96265 fshow
+newpath 169.86298 144.55785 moveto 0 0 rlineto stroke
+161.39467 147.55785 moveto
+(7) cmr10 9.96265 fshow
+newpath 163.88535 144.55785 moveto 0 0 rlineto stroke
+42.81842 74.57782 moveto
+(8) cmr10 9.96265 fshow
+newpath 45.3091 71.57782 moveto 0 0 rlineto stroke
+55.27171 16.0007 moveto
+(10) cmr10 9.96265 fshow
+newpath 60.25307 13.00072 moveto 0 0 rlineto stroke
+84.68248 16.0007 moveto
+(11) cmr10 9.96265 fshow
+newpath 89.66383 13.00072 moveto 0 0 rlineto stroke
+154.97873 -25.6045 moveto
+(12) cmr10 9.96265 fshow
+newpath 159.96008 -28.60449 moveto 0 0 rlineto stroke
+84.68248 -67.2097 moveto
+(13) cmr10 9.96265 fshow
+newpath 89.66383 -70.2097 moveto 0 0 rlineto stroke
+14.38622 -25.6045 moveto
+(14) cmr10 9.96265 fshow
+newpath 19.36757 -28.60449 moveto 0 0 rlineto stroke
+114.0052 143.56425 moveto
+(0r) cmr10 9.96265 fshow
+newpath 118.4469 140.56427 moveto 0 0 rlineto stroke
+75.25948 157.91924 moveto
+(1r) cmr10 9.96265 fshow
+newpath 79.70117 154.91924 moveto 0 0 rlineto stroke
+20.46463 108.9077 moveto
+(2r) cmr10 9.96265 fshow
+newpath 24.90634 105.9077 moveto 0 0 rlineto stroke
+75.25948 59.89613 moveto
+(3r) cmr10 9.96265 fshow
+newpath 79.70117 56.89613 moveto 0 0 rlineto stroke
+130.0543 108.9077 moveto
+(4r) cmr10 9.96265 fshow
+newpath 134.49602 105.9077 moveto 0 0 rlineto stroke
+152.56728 161.90407 moveto
+(5r) cmr10 9.96265 fshow
+newpath 157.00899 158.90407 moveto 0 0 rlineto stroke
+166.41772 147.55785 moveto
+(6r) cmr10 9.96265 fshow
+newpath 170.85944 144.55785 moveto 0 0 rlineto stroke
+166.41772 147.55785 moveto
+(7r) cmr10 9.96265 fshow
+newpath 170.85944 144.55785 moveto 0 0 rlineto stroke
+40.86751 74.57768 moveto
+(8r) cmr10 9.96265 fshow
+newpath 45.30922 71.5777 moveto 0 0 rlineto stroke
+53.3207 23.0196 moveto
+(10r) cmr10 9.96265 fshow
+newpath 60.25307 20.01962 moveto 0 0 rlineto stroke
+82.73145 23.0196 moveto
+(11r) cmr10 9.96265 fshow
+newpath 89.66383 20.01962 moveto 0 0 rlineto stroke
+158.94572 -25.6045 moveto
+(12r) cmr10 9.96265 fshow
+newpath 165.8781 -28.60449 moveto 0 0 rlineto stroke
+82.73145 -67.95703 moveto
+(13r) cmr10 9.96265 fshow
+newpath 89.66383 -70.95703 moveto 0 0 rlineto stroke
+6.51717 -25.6045 moveto
+(14r) cmr10 9.96265 fshow
+newpath 13.44954 -28.60449 moveto 0 0 rlineto stroke
+37.08095 74.25125 moveto
+(8') cmr10 9.96265 fshow
+newpath 40.95534 71.25125 moveto 0 0 rlineto stroke
+42.74222 74.7797 moveto
+(8'') cmr10 9.96265 fshow
+newpath 48.00032 71.7797 moveto 0 0 rlineto stroke
+ 0 0.4 dtransform truncate idtransform setlinewidth pop 2 setlinecap
+newpath 0 0 moveto
+179.32765 0 lineto stroke
+newpath 0 249.06535 moveto
+179.32765 249.06535 lineto stroke
+newpath 0 268.99066 moveto
+179.32765 268.99066 lineto stroke
+newpath 0 154.42062 moveto
+179.32765 154.42062 lineto stroke
+newpath 0 86.67494 moveto
+179.32765 86.67494 lineto stroke
+newpath 0 -69.73825 moveto
+179.32765 -69.73825 lineto stroke
+newpath 0 -89.66356 moveto
+179.32765 -89.66356 lineto stroke
+ 0.4 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 0 -89.66356 moveto
+0 268.99066 lineto stroke
+newpath 179.32765 -89.66356 moveto
+179.32765 268.99066 lineto stroke
+newpath 19.9253 -89.66356 moveto
+19.9253 268.99066 lineto stroke
+newpath 39.85059 -89.66356 moveto
+39.85059 268.99066 lineto stroke
+newpath 59.77588 -89.66356 moveto
+59.77588 268.99066 lineto stroke
+newpath 79.70117 -89.66356 moveto
+79.70117 268.99066 lineto stroke
+newpath 99.62646 -89.66356 moveto
+99.62646 268.99066 lineto stroke
+newpath 119.55176 -89.66356 moveto
+119.55176 268.99066 lineto stroke
+newpath 139.47705 -89.66356 moveto
+139.47705 268.99066 lineto stroke
+newpath 159.40233 -89.66356 moveto
+159.40233 268.99066 lineto stroke
+newpath 184.30884 154.42062 moveto
+184.30884 77.21031 lineto stroke
+showpage
+%%EOF
diff --git a/systems/doc/pdftex/samplepdftex/obj.dat b/systems/doc/pdftex/samplepdftex/obj.dat
new file mode 100644
index 0000000000..40f513288b
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/obj.dat
@@ -0,0 +1,4 @@
+<<
+/Type /File
+/Name (obj.dat)
+>>
diff --git a/systems/doc/pdftex/samplepdftex/pdfcolor.tex b/systems/doc/pdftex/samplepdftex/pdfcolor.tex
new file mode 100644
index 0000000000..f09ecbcb75
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/pdfcolor.tex
@@ -0,0 +1,158 @@
+% Very simple macros to show how to use colors with pdftex
+
+\def\cmykGreenYellow{0.15 0 0.69 0}
+\def\cmykYellow{0 0 1 0}
+\def\cmykGoldenrod{0 0.10 0.84 0}
+\def\cmykDandelion{0 0.29 0.84 0}
+\def\cmykApricot{0 0.32 0.52 0}
+\def\cmykPeach{0 0.50 0.70 0}
+\def\cmykMelon{0 0.46 0.50 0}
+\def\cmykYellowOrange{0 0.42 1 0}
+\def\cmykOrange{0 0.61 0.87 0}
+\def\cmykBurntOrange{0 0.51 1 0}
+\def\cmykBittersweet{0 0.75 1 0.24}
+\def\cmykRedOrange{0 0.77 0.87 0}
+\def\cmykMahogany{0 0.85 0.87 0.35}
+\def\cmykMaroon{0 0.87 0.68 0.32}
+\def\cmykBrickRed{0 0.89 0.94 0.28}
+\def\cmykRed{0 1 1 0}
+\def\cmykOrangeRed{0 1 0.50 0}
+\def\cmykRubineRed{0 1 0.13 0}
+\def\cmykWildStrawberry{0 0.96 0.39 0}
+\def\cmykSalmon{0 0.53 0.38 0}
+\def\cmykCarnationPink{0 0.63 0 0}
+\def\cmykMagenta{0 1 0 0}
+\def\cmykVioletRed{0 0.81 0 0}
+\def\cmykRhodamine{0 0.82 0 0}
+\def\cmykMulberry{0.34 0.90 0 0.02}
+\def\cmykRedViolet{0.07 0.90 0 0.34}
+\def\cmykFuchsia{0.47 0.91 0 0.08}
+\def\cmykLavender{0 0.48 0 0}
+\def\cmykThistle{0.12 0.59 0 0}
+\def\cmykOrchid{0.32 0.64 0 0}
+\def\cmykDarkOrchid{0.40 0.80 0.20 0}
+\def\cmykPurple{0.45 0.86 0 0}
+\def\cmykPlum{0.50 1 0 0}
+\def\cmykViolet{0.79 0.88 0 0}
+\def\cmykRoyalPurple{0.75 0.90 0 0}
+\def\cmykBlueViolet{0.86 0.91 0 0.04}
+\def\cmykPeriwinkle{0.57 0.55 0 0}
+\def\cmykCadetBlue{0.62 0.57 0.23 0}
+\def\cmykCornflowerBlue{0.65 0.13 0 0}
+\def\cmykMidnightBlue{0.98 0.13 0 0.43}
+\def\cmykNavyBlue{0.94 0.54 0 0}
+\def\cmykRoyalBlue{1 0.50 0 0}
+\def\cmykBlue{1 1 0 0}
+\def\cmykCerulean{0.94 0.11 0 0}
+\def\cmykCyan{1 0 0 0}
+\def\cmykProcessBlue{0.96 0 0 0}
+\def\cmykSkyBlue{0.62 0 0.12 0}
+\def\cmykTurquoise{0.85 0 0.20 0}
+\def\cmykTealBlue{0.86 0 0.34 0.02}
+\def\cmykAquamarine{0.82 0 0.30 0}
+\def\cmykBlueGreen{0.85 0 0.33 0}
+\def\cmykEmerald{1 0 0.50 0}
+\def\cmykJungleGreen{0.99 0 0.52 0}
+\def\cmykSeaGreen{0.69 0 0.50 0}
+\def\cmykGreen{1 0 1 0}
+\def\cmykForestGreen{0.91 0 0.88 0.12}
+\def\cmykPineGreen{0.92 0 0.59 0.25}
+\def\cmykLimeGreen{0.50 0 1 0}
+\def\cmykYellowGreen{0.44 0 0.74 0}
+\def\cmykSpringGreen{0.26 0 0.76 0}
+\def\cmykOliveGreen{0.64 0 0.95 0.40}
+\def\cmykRawSienna{0 0.72 1 0.45}
+\def\cmykSepia{0 0.83 1 0.70}
+\def\cmykBrown{0 0.81 1 0.60}
+\def\cmykTan{0.14 0.42 0.56 0}
+\def\cmykGray{0 0 0 0.50}
+\def\cmykBlack{0 0 0 1}
+\def\cmykWhite{0 0 0 0}
+
+\def\GreenYellow{\pdfsetcolor{\cmykGreenYellow}}
+\def\Yellow{\pdfsetcolor{\cmykYellow}}
+\def\Goldenrod{\pdfsetcolor{\cmykGoldenrod}}
+\def\Dandelion{\pdfsetcolor{\cmykDandelion}}
+\def\Apricot{\pdfsetcolor{\cmykApricot}}
+\def\Peach{\pdfsetcolor{\cmykPeach}}
+\def\Melon{\pdfsetcolor{\cmykMelon}}
+\def\YellowOrange{\pdfsetcolor{\cmykYellowOrange}}
+\def\Orange{\pdfsetcolor{\cmykOrange}}
+\def\BurntOrange{\pdfsetcolor{\cmykBurntOrange}}
+\def\Bittersweet{\pdfsetcolor{\cmykBittersweet}}
+\def\RedOrange{\pdfsetcolor{\cmykRedOrange}}
+\def\Mahogany{\pdfsetcolor{\cmykMahogany}}
+\def\Maroon{\pdfsetcolor{\cmykMaroon}}
+\def\BrickRed{\pdfsetcolor{\cmykBrickRed}}
+\def\Red{\pdfsetcolor{\cmykRed}}
+\def\OrangeRed{\pdfsetcolor{\cmykOrangeRed}}
+\def\RubineRed{\pdfsetcolor{\cmykRubineRed}}
+\def\WildStrawberry{\pdfsetcolor{\cmykWildStrawberry}}
+\def\Salmon{\pdfsetcolor{\cmykSalmon}}
+\def\CarnationPink{\pdfsetcolor{\cmykCarnationPink}}
+\def\Magenta{\pdfsetcolor{\cmykMagenta}}
+\def\VioletRed{\pdfsetcolor{\cmykVioletRed}}
+\def\Rhodamine{\pdfsetcolor{\cmykRhodamine}}
+\def\Mulberry{\pdfsetcolor{\cmykMulberry}}
+\def\RedViolet{\pdfsetcolor{\cmykRedViolet}}
+\def\Fuchsia{\pdfsetcolor{\cmykFuchsia}}
+\def\Lavender{\pdfsetcolor{\cmykLavender}}
+\def\Thistle{\pdfsetcolor{\cmykThistle}}
+\def\Orchid{\pdfsetcolor{\cmykOrchid}}
+\def\DarkOrchid{\pdfsetcolor{\cmykDarkOrchid}}
+\def\Purple{\pdfsetcolor{\cmykPurple}}
+\def\Plum{\pdfsetcolor{\cmykPlum}}
+\def\Violet{\pdfsetcolor{\cmykViolet}}
+\def\RoyalPurple{\pdfsetcolor{\cmykRoyalPurple}}
+\def\BlueViolet{\pdfsetcolor{\cmykBlueViolet}}
+\def\Periwinkle{\pdfsetcolor{\cmykPeriwinkle}}
+\def\CadetBlue{\pdfsetcolor{\cmykCadetBlue}}
+\def\CornflowerBlue{\pdfsetcolor{\cmykCornflowerBlue}}
+\def\MidnightBlue{\pdfsetcolor{\cmykMidnightBlue}}
+\def\NavyBlue{\pdfsetcolor{\cmykNavyBlue}}
+\def\RoyalBlue{\pdfsetcolor{\cmykRoyalBlue}}
+\def\Blue{\pdfsetcolor{\cmykBlue}}
+\def\Cerulean{\pdfsetcolor{\cmykCerulean}}
+\def\Cyan{\pdfsetcolor{\cmykCyan}}
+\def\ProcessBlue{\pdfsetcolor{\cmykProcessBlue}}
+\def\SkyBlue{\pdfsetcolor{\cmykSkyBlue}}
+\def\Turquoise{\pdfsetcolor{\cmykTurquoise}}
+\def\TealBlue{\pdfsetcolor{\cmykTealBlue}}
+\def\Aquamarine{\pdfsetcolor{\cmykAquamarine}}
+\def\BlueGreen{\pdfsetcolor{\cmykBlueGreen}}
+\def\Emerald{\pdfsetcolor{\cmykEmerald}}
+\def\JungleGreen{\pdfsetcolor{\cmykJungleGreen}}
+\def\SeaGreen{\pdfsetcolor{\cmykSeaGreen}}
+\def\Green{\pdfsetcolor{\cmykGreen}}
+\def\ForestGreen{\pdfsetcolor{\cmykForestGreen}}
+\def\PineGreen{\pdfsetcolor{\cmykPineGreen}}
+\def\LimeGreen{\pdfsetcolor{\cmykLimeGreen}}
+\def\YellowGreen{\pdfsetcolor{\cmykYellowGreen}}
+\def\SpringGreen{\pdfsetcolor{\cmykSpringGreen}}
+\def\OliveGreen{\pdfsetcolor{\cmykOliveGreen}}
+\def\RawSienna{\pdfsetcolor{\cmykRawSienna}}
+\def\Sepia{\pdfsetcolor{\cmykSepia}}
+\def\Brown{\pdfsetcolor{\cmykBrown}}
+\def\Tan{\pdfsetcolor{\cmykTan}}
+\def\Gray{\pdfsetcolor{\cmykGray}}
+\def\Black{\pdfsetcolor{\cmykBlack}}
+\def\White{\pdfsetcolor{\cmykWhite}}
+
+\def\pdfsetcolor#1{\pdfliteral{#1 k}}
+\def\setcolor#1{\mark{#1}\pdfsetcolor{#1}}
+
+\pdfoutput=1
+\def\maincolor{\cmykBlack}
+\pdfsetcolor{\maincolor}
+
+\def\makefootline{
+ \baselineskip24pt
+ \line{\pdfsetcolor{\maincolor}\the\footline}}
+
+\def\makeheadline{%
+ \edef\M{\topmark}
+ \ifx\M\empty\let\M=\maincolor\fi
+ \vbox to 0pt{\vskip-22.5pt
+ \line{\vbox to8.5pt{}%
+ \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\M}}\vss}%
+ \nointerlineskip}
diff --git a/systems/doc/pdftex/samplepdftex/pic.eps b/systems/doc/pdftex/samplepdftex/pic.eps
new file mode 100644
index 0000000000..b3dd0d71da
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/pic.eps
@@ -0,0 +1,12486 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: tiff2ps
+%%Title: pic.tif
+%%CreationDate: Thu Aug 31 14:36:15 2000
+%%DocumentData: Clean7Bit
+%%Origin: 0 0
+%%BoundingBox: 0 0 440 311
+%%LanguageLevel: 1
+%%Pages: (atend)
+%%EndComments
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+gsave
+100 dict begin
+440.000000 311.000000 scale
+/bwproc {
+ rgbproc
+ dup length 3 idiv string 0 3 0
+ 5 -1 roll {
+ add 2 1 roll 1 sub dup 0 eq {
+ pop 3 idiv
+ 3 -1 roll
+ dup 4 -1 roll
+ dup 3 1 roll
+ 5 -1 roll put
+ 1 add 3 0
+ } { 2 1 roll } ifelse
+ } forall
+ pop pop pop
+} def
+/colorimage where {pop} {
+ /colorimage {pop pop /rgbproc exch def {bwproc} image} bind def
+} ifelse
+%ImageData: 440 311 8 3 0 1 2 "false 3 colorimage"
+/scanLine 440 string def
+440 311 8
+[440 0 0 -311 0 311]
+{currentfile scanLine readhexstring pop} bind
+false 3 colorimage
+a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7
+a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7
+a5c4d7b0cbdca5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdca5c4d7a5c4d7b0cbdc
+a5c4d7b0cbdca5c4d7b0cbdca5c4d7aec4d0a5c4d7aec4d0a5c4d7a5c4d7b0cbdc
+b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdcaec4d0a5c4d7b0cbdca5c4d7b0cbdc
+aec4d0a5c4d7b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+a5c4d7b0cbdcaec4d0b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcaec4d0
+b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdc
+bacdd9b0cbdcaec4d0bacdd9b0cbdcb8c3c6bacdd9b0cbdcb0cbdcb0cbdcaec4d0
+b0cbdcbacdd9aec4d0b0cbdcb0cbdca5c4d7b0cbdcaec4d0aec4d0b0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdca5c4d7aec4d0a5c4d7b0cbdcaec4d0b0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7aec4d0b0cbdcaec4d0b0cbdcb0cbdc
+a5c4d7b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdca5c4d7b0cbdc
+b0cbdcb0cbdca5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0
+b0cbdcb0cbdcb0cbdcaec4d0aec4d0a5c4d7b0cbdcb0cbdca5c4d7b0cbdcaec4d0
+b0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+aec4d0b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0aec4d0
+a5c4d7b0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc
+aec4d0b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0a5c4d7b0cbdcb0cbdcb0cbdc
+bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0
+aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdc
+b0cbdcb0cbdcaec4d0b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9
+aec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdc
+bacdd9aec4d0b0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0
+b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b8c3c6b0cbdcbacdd9b0cbdc
+bacdd9b0cbdcb0cbdcb0cbdca3b8bcafc0ab8b98826b8673757c718b98828b9882
+7d98b17e98828da0b6b0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdc
+b2d2e0b2d2e0bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9c1d4e2cdd5de
+bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2cccdcccdd5dec1d4e2c1d4e2bacdd9
+cdd5debacdd9c1d4e2cccdcccdd5dec1d4e2cdd5decccdcccdd5decdd5decdd5de
+d2dee6cccdcccdd5dec5dae4cdd5decdd5decdd5decdd5decdd5decdd5dedcd6d6
+c1d4e2cccdccc1d4e2cccdccbacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2cccdccc1d4e2cdd5dec1d4e2
+c1d4e2cccdccc1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2cdd5decdd5dedfe1e6
+dcd6d6dfe1e6dcd6d6d2dee6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6dfe1e6cccdccc1c4c7dcd6d6dcd6d6cfc6b89da1abc1c4c7cccdcc
+afb9bccccdcccccdcccfc6b8c1c4c7afb9bcc0b8a6c1c4c7c0b8a6c1c4c7dcd6d6
+a5c4d7a5c4d7a5c4d7a5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7a5c4d7b0cbdc
+a5c4d7a5c4d7a5c4d7b0cbdcb0cbdca5c4d7a5c4d7b0cbdcb0cbdca5c4d7a5c4d7
+a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7b2d2e0a5c4d7a5c4d7
+a5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7b0cbdcaec4d0a5c4d7a5c4d7a5c4d7
+b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdc
+b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdc
+aec4d0b0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0
+b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0bacdd9aec4d0aec4d0
+b0cbdcbacdd9b0cbdcaec4d0b2d2e0bacdd9aec4d0bacdd9b8c3c6bacdd9b0cbdc
+b0cbdcb0cbdcb0cbdca5c4d7b0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0
+b0cbdcb0cbdcb0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdcaec4d0aec4d0b0cbdc
+aec4d0b0cbdca5c4d7aec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0aec4d0b0cbdc
+b0cbdca5c4d7b0cbdca5c4d7aec4d0aec4d0aec4d0aec4d0b0cbdca5c4d7a5c4d7
+b0cbdcb0cbdcb0cbdca5c4d7aec4d0b0cbdca5c4d7b0cbdcaec4d0b0cbdcaec4d0
+b0cbdcb0cbdcb0cbdcb0cbdca5c4d7aec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0
+aec4d0b0cbdcaec4d0b0cbdcb0cbdca5c4d7b0cbdcaec4d0b0cbdca5c4d7b2d2e0
+b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0bacdd9aec4d0bacdd9
+b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdca5c4d7b0cbdc
+aec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc
+b0cbdcb0cbdcb0cbdcb8c3c6b0cbdcbacdd9b0cbdcb8c3c6b0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdcb0cbdcb8c3c6b0cbdc
+b8c3c6bacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9aec4d0bacdd9
+bacdd9b0cbdcb8c3c6b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9
+b0cbdcbacdd9bacdd9aec4d0b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcaec4d0
+bacdd9bacdd9aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb8c3c6bacdd9b0cbdcb0cbdc
+bacdd9bacdd9b0cbdcb0cbdcbacdd9aec4d0bacdd9b0cbdcbacdd9b0cbdcbacdd9
+b0cbdcbacdd9bacdd9bacdd9a3b8bc8ea089637471475832657c44767b47778772
+a0b09f819fb7a4bfb5b0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9
+bacdd9b2d2e0bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9bacdd9
+c1d4e2bacdd9cccdcccdd5dec1d4e2c1d4e2bacdd9c1d4e2cccdccc1d4e2bacdd9
+c1d4e2cccdccc1d4e2bacdd9cdd5decdd5decdd5decccdccc1d4e2cdd5decdd5de
+cdd5debacdd9cccdccd2dee6cdd5decdd5ded2dee6cdd5decdd5ded2dee6cdd5de
+d2dee6cdd5dec1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9cccdccc1d4e2c1d4e2
+c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2cccdcc
+c1d4e2bacdd9c1d4e2bacdd9c1d4e2cccdcccdd5dec1d4e2d2dee6cdd5dedfe1e6
+cdd5dedfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6
+dcd6d6e0e6e8dcd6d6dcd6d6dcd6d6dcd6d6dcd6d69da1ababa9a6cccdccdcd6d6
+c1c4c7aeb0bdc1c4c7cccdcccfc6b8aeb0bdc1c4c7c1c4c7cccdcccccdccc1c4c7
+a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7
+b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7
+a5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7b0cbdca5c4d7a5c4d7a5c4d7b0cbdc
+a5c4d7a5c4d7b0cbdca5c4d7a5c4d7aec4d0a5c4d7b0cbdca5c4d7b0cbdcb0cbdc
+a5c4d7a5c4d7b0cbdca5c4d7b0cbdca5c4d7a5c4d7b0cbdcb0cbdca5c4d7a5c4d7
+b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc
+b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9
+b0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb8c3c6
+bacdd9b8c3c6b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdc
+aec4d0a5c4d7b0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcaec4d0b0cbdcaec4d0
+b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdca5c4d7
+aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcb0cbdc
+a5c4d7b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0
+b0cbdcb0cbdca5c4d7aec4d0b0cbdcb0cbdcaec4d0aec4d0b0cbdcaec4d0bacdd9
+b0cbdcaec4d0a5c4d7b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdcbacdd9aec4d0bacdd9
+b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+c1c4c7b0cbdcb0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcb8c3c6b0cbdcb0cbdc
+b0cbdcb0cbdcb8c3c6bacdd9aec4d0b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc
+bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb2d2e0bacdd9b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+aec4d0bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcbacdd9aec4d0b0cbdc
+b0cbdcb0cbdcbacdd9b0cbdcaec4d0c1c4c7b0cbdcb0cbdcb0cbdcb0cbdcc1c4c7
+b0cbdcb0cbdcbacdd9b0cbdcc1c4c7b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9
+b0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdc
+c1d4e2b0cbdcb0cbdcbacdd9aec4d09da1ab757c716374717d908277877275704d
+7d90828b98829fb0bbb0cbdcbacdd9bacdd9aec4d0bacdd9b0cbdcbacdd9bacdd9
+bacdd9b0cbdcbacdd9b0cbdcb2d2e0b2d2e0bacdd9bacdd9bacdd9cccdccc1d4e2
+c1d4e2c1d4e2bacdd9bacdd9bacdd9c1d4e2c1d4e2cdd5dec1d4e2cccdccc1d4e2
+c1d4e2cdd5decccdcccccdcccdd5decdd5decdd5decdd5decdd5decdd5debacdd9
+d2dee6cccdccc1d4e2c1d4e2cdd5decdd5decdd5decdd5ded2dee6cdd5ded2dee6
+cdd5decdd5ded2dee6cdd5decdd5decdd5debacdd9bacdd9c1d4e2bacdd9c1d4e2
+c1d4e2bacdd9c1d4e2cccdccbacdd9cdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2
+bacdd9c1d4e2bacdd9cdd5dec1d4e2c1d4e2cdd5ded2dee6d2dee6dfe1e6dcd6d6
+dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dcd6d6ebeae7dfe1e6dfe1e6
+dfe1e6dfe1e6cccdcccccdcccccdccdcd6d6dfe1e6dcd6d6dcd6d6dfe1e6dcd6d6
+dcd6d6dcd6d6cccdccc1c4c7cfc6b8dcd6d6cccdcccccdcccccdccaeb0bd9da1ab
+a5c4d7a5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdca5c4d7
+b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7a5c4d7a5c4d7a5c4d7a5c4d7
+b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdca5c4d7a5c4d7b2d2e0a5c4d7b0cbdc
+a5c4d7a5c4d7b0cbdca5c4d7b2d2e0a5c4d7a5c4d7b0cbdca5c4d7b0cbdca5c4d7
+b0cbdcb0cbdca5c4d7a5c4d7b0cbdcaec4d0a5c4d7b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdca5c4d7b2d2e0aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcaec4d0b0cbdcb0cbdcbacdd9
+bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb8c3c6bacdd9b0cbdc
+bacdd9aec4d0b0cbdcb0cbdcb0cbdcbacdd9b0cbdcaec4d0b0cbdcbacdd9b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdcb8c3c6aec4d0
+b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0
+b0cbdcb0cbdcaec4d0a5c4d7b0cbdca5c4d7aec4d0b0cbdcaec4d0b0cbdcb0cbdc
+a5c4d7aec4d0b0cbdcaec4d0a5c4d7a5c4d7b0cbdcb0cbdcaec4d0b0cbdcaec4d0
+aec4d0bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc
+b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdca5c4d7b2d2e0b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcbacdd9
+aec4d0b8c3c6b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b8c3c6b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcc1c4c7
+bacdd9b0cbdcc1c4c7b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcc1c4c7b0cbdcbacdd9bacdd9b0cbdc
+bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9
+b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb8c3c6b0cbdcbacdd9b0cbdcbacdd9
+b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcc1c4c7b0cbdcc1c4c7bacdd9
+b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdc
+bacdd9b0cbdcb8c3c6bacdd9bacdd9b8c3c69fb0bbaec4d09fb0bb8a99ab9ea08a
+6b85458b9882afb9bcc1d4e2b8c3c6bacdd9bacdd9bacdd9b0cbdcbacdd9c1d4e2
+aec4d0bacdd9bacdd9bacdd9bacdd9b0cbdcc1d4e2bacdd9c1d4e2bacdd9bacdd9
+c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2cdd5dec1d4e2cdd5decdd5decdd5decdd5decdd5decdd5decdd5de
+c5dae4cdd5decdd5dec1d4e2c1d4e2c1d4e2cdd5decdd5decdd5decdd5dedcd6d6
+cdd5decdd5decdd5dec1d4e2bacdd9c1d4e2cdd5debacdd9c1d4e2bacdd9cccdcc
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decccdcccdd5dec1d4e2c1d4e2
+cccdcccdd5dec1d4e2cdd5decdd5decdd5decdd5decdd5dedcd6d6d2dee6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6ebeae7dfe1e6ebeae7dfe1e6ebeae7
+dfe1e6dcd6d69da1abdcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6
+cdd5dec1c4c7c1c4c7dcd6d6dcd6d6dcd6d6dcd6d6cccdccaeb0bdaeb0bdaeb0bd
+a5c4d7a5c4d7a5c4d7b0cbdca5c4d7a5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7
+a5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7
+a5c4d7a5c4d7a5c4d7b0cbdca5c4d7a5c4d7b2d2e0a5c4d7b0cbdca5c4d7b0cbdc
+a5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcaec4d0b0cbdca5c4d7b0cbdc
+a5c4d7b0cbdcb0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcbacdd9
+b0cbdcb0cbdcbacdd9bacdd9aec4d0b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdc
+b8c3c6b0cbdcbacdd9b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcaec4d0aec4d0
+b0cbdcaec4d0b0cbdcaec4d0aec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdc
+aec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcb0cbdc
+b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcbacdd9a5c4d7b0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdcaec4d0b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb8c3c6
+b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0aec4d0b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdc
+bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0bacdd9b0cbdcb0cbdc
+b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb2d2e0
+b0cbdcb0cbdcbacdd9bacdd9b8c3c6b0cbdcb0cbdcb0cbdcc1c4c7b0cbdcb0cbdc
+bacdd9bacdd9b0cbdcb0cbdcb0cbdcaec4d0bacdd9b0cbdcb0cbdcb0cbdcb8c3c6
+b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdc
+c1c4c7b0cbdcb0cbdcbacdd9c1c4c7b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9
+aec4d0bacdd9b2d2e0bacdd9b0cbdcbacdd9b0cbdcb0cbdcc1c4c7b0cbdcaec4d0
+b0cbdcbacdd9b0cbdcc1c4c7b0cbdcbacdd9bacdd9c1c4c7b0cbdcbacdd9b0cbdc
+b0cbdcc1c4c7b0cbdcbacdd9bacdd9c1c4c7b0cbdcbacdd9b0cbdcbacdd9b0cbdc
+bacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9c1d4e2
+bacdd9b0cbdca5c4d7b8c3c6bacdd9bacdd9c1d4e2b8c3c67d9082757c718b919f
+757c719da1abaec4d0aec4d0aeb0bdaba9a6bacdd9bacdd9bacdd9bacdd9bacdd9
+c1d4e2b0cbdcb0cbdcbacdd9b2d2e0c1d4e2b0cbdcbacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9cccdccbacdd9bacdd9bacdd9
+cccdccc1d4e2cdd5decccdccc5dae4cdd5decdd5decdd5decdd5decdd5decdd5de
+cdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5decdd5ded2dee6
+cccdcccdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+bacdd9c1d4e2c1d4e2cdd5decdd5decdd5decdd5dec1d4e2cdd5decdd5dec1d4e2
+c1d4e2d2dee6d2dee6c1d4e2cdd5decdd5decdd5ded2dee6d2dee6dcd6d6dfe1e6
+dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6
+dfe1e6cdd5dedcd6d6dfe1e6dcd6d6cccdccdfe1e6dfe1e6dfe1e6c1c4c7c1c4c7
+cdd5decccdcccdd5decccdcccdd5decdd5deaba9a6c1c2ae9da1ababa9a6afb9bc
+a5c4d7a5c4d7a5c4d7a5c4d7b2d2e0a5c4d7a5c4d7b0cbdca5c4d7a5c4d7b0cbdc
+a5c4d7a5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7
+b2d2e0b0cbdca5c4d7a5c4d7b0cbdca5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdc
+b0cbdcb0cbdcb8c3c6bacdd9b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcbacdd9b0cbdc
+bacdd9b0cbdcc1c4c7b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9
+bacdd9aec4d0bacdd9aec4d0bacdd9b0cbdcb0cbdcaec4d0b0cbdcbacdd9b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcaec4d0bacdd9b0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0aec4d0b0cbdc
+b0cbdcb0cbdcaec4d0a5c4d7b0cbdcb0cbdca5c4d7b0cbdcaec4d0b0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdc
+b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb8c3c6
+b0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdc
+b0cbdcbacdd9b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcc1c4c7bacdd9bacdd9
+bacdd9b0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdcb0cbdcb0cbdcc1c4c7b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9
+b0cbdcb0cbdcc1c4c7b0cbdcbacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcb0cbdc
+bacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9b2d2e0b0cbdc
+bacdd9b0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcc1c4c7
+b0cbdcbacdd9bacdd9b0cbdcb0cbdcaec4d0bacdd9b0cbdcbacdd9bacdd9b0cbdc
+bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9c1c4c7bacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9
+cccdccb0cbdc9ea9b4afb9bcc1d4e2bacdd9c1d4e29fb0bb667c74667c74667c74
+576b339da1abafc0ab848887757c719da1abbacdd9c1d4e2bacdd9bacdd9bacdd9
+bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9cdd5de
+bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2cccdccbacdd9
+c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2cdd5dec1d4e2c5dae4c1d4e2cdd5de
+cdd5decdd5decdd5debacdd9c1d4e2c1d4e2cdd5dec1d4e2cdd5decdd5decdd5de
+d2dee6c1d4e2cccdccc1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2cdd5dec1d4e2cdd5debacdd9cdd5ded2dee6c1d4e2cdd5dec5dae4d2dee6
+c1d4e2cdd5decdd5decdd5decdd5decdd5dedcd6d6d2dee6dcd6d6d2dee6dcd6d6
+dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6ebeae7dfe1e6dcd6d6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6dcd6d6cccdccdcd6d6dcd6d6c1c4c7
+cccdccb8c3c6afb9bcaeb0bdafb9bcafb9bc9da1ababa9a6aba9a68b919faeb0bd
+a5c4d7a5c4d7b0cbdca5c4d7a5c4d7a5c4d7b0cbdcb0cbdca5c4d7a5c4d7b0cbdc
+b2d2e0a5c4d7b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdc
+b0cbdcb0cbdca5c4d7b0cbdcb2d2e0a5c4d7b0cbdca5c4d7b0cbdca5c4d7b0cbdc
+a5c4d7b2d2e0a5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7a5c4d7b0cbdca5c4d7
+b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdca5c4d7b2d2e0
+aec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0
+b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9
+b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9
+bacdd9b0cbdcbacdd9bacdd9b8c3c6b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc
+bacdd9bacdd9b0cbdcb0cbdcc1c4c7b0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdc
+b0cbdcaec4d0bacdd9b0cbdcaec4d0b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc
+aec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb8c3c6
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0aec4d0b0cbdcb0cbdcb0cbdc
+b0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcc1c4c7
+b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc
+bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9
+b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcc1c4c7b0cbdc
+aec4d0b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9
+b0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcc1d4e2b0cbdcb0cbdc
+bacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdc
+bacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdc
+bacdd9bacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9
+b0cbdcbacdd9b0cbdcc1d4e2b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9
+bacdd9b0cbdcbacdd9bacdd9c1c4c7bacdd9bacdd9b2d2e0bacdd9bacdd9b0cbdc
+bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdc
+bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9c1d4e2cccdccbacdd9
+c1d4e2bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9afb9bc
+9ea9b49fb0bb92a8b6aeb0bdb0cbdcbacdd9bacdd9a0b09f7b90346b8545627444
+576a626374716b8673547443667c74afb9bcb0cbdcb0cbdcbacdd9b0cbdcbacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9cdd5dec1d4e2cccdccbacdd9c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9bacdd9bacdd9cdd5debacdd9c1d4e2cdd5debacdd9
+c1d4e2bacdd9cdd5decdd5dec1d4e2cdd5dec1d4e2cdd5dec1d4e2c1d4e2c1d4e2
+c1d4e2cccdcccdd5debacdd9c1d4e2bacdd9bacdd9cdd5dec1d4e2c1d4e2cdd5de
+c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5dec1d4e2cdd5decdd5decdd5decdd5de
+d2dee6cdd5decdd5decdd5ded2dee6cdd5ded2dee6cdd5ded2dee6dcd6d6dfe1e6
+dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6ebeae7
+dfe1e6dcd6d6dcd6d6dfe1e6dfe1e6dfe1e6cccdccafb9bccccdccc1c4c7c1c4c7
+c1c4c7aba9a69da1ab9d99819d99819da1ab9ea88eafb9bcb8c3c68488878b919f
+b0cbdca5c4d7a5c4d7b2d2e0b0cbdca5c4d7b2d2e0a5c4d7b0cbdca5c4d7a5c4d7
+b2d2e0a5c4d7b0cbdcb0cbdca5c4d7b2d2e0a5c4d7b2d2e0b0cbdcb0cbdca5c4d7
+b0cbdcb0cbdcb0cbdca5c4d7b2d2e0b0cbdcb0cbdcb0cbdca5c4d7b2d2e0a5c4d7
+b0cbdca5c4d7a5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdc
+b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdc
+b0cbdcbacdd9b0cbdcb0cbdcb0cbdcc1d4e2b0cbdcb0cbdcb0cbdcbacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9b0cbdcc1c4c7b0cbdcbacdd9b0cbdc
+c1c4c7bacdd9b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcb0cbdcb8c3c6
+b0cbdcb0cbdcbacdd9bacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0bacdd9
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb8c3c6b0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdc
+b0cbdcb0cbdcaec4d0bacdd9aec4d0b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0bacdd9b0cbdc
+b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+bacdd9b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9
+b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcbacdd9b0cbdcbacdd9b2d2e0b0cbdcbacdd9
+bacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcb2d2e0
+b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcbacdd9c1c4c7b0cbdcb0cbdcbacdd9bacdd9
+b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdc
+bacdd9b0cbdcbacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcb0cbdc
+b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9
+bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9
+bacdd9bacdd9b2d2e0b2d2e0bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcb0cbdcbacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2cccdcc
+bacdd9bacdd9c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9
+9d99818b9080857d6787886d8b98829ea08a8ea0896b8545627444576b334c5026
+3f4e32576a624960326b86737e9882aeb0bdafb9bcaec4d0bacdd9bacdd9bacdd9
+bacdd9c1d4e2bacdd9bacdd9bacdd9bacdd9cccdccc1d4e2cdd5decdd5dec1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9cdd5decdd5decdd5decdd5dec1d4e2
+cdd5debacdd9cdd5decdd5decdd5decdd5dec1d4e2cccdccc1d4e2cdd5debacdd9
+c1d4e2bacdd9c1d4e2c1d4e2bacdd9cdd5debacdd9c1d4e2c1d4e2c1d4e2c1d4e2
+bacdd9cdd5decdd5debacdd9cdd5decdd5dec1d4e2bacdd9c1d4e2cccdccc1d4e2
+cdd5decdd5dec5dae4cdd5dec1d4e2cdd5decdd5decdd5decdd5dec1d4e2cdd5de
+cdd5decdd5ded2dee6cdd5dec5dae4dcd6d6d2dee6dcd6d6d2dee6d2dee6dcd6d6
+d2dee6dfe1e6dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6ebeae7dfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6dcd6d6cdd5dec1c4c7
+afb9bca0b09fa0b09f8a99ab8ea0899ea9b4aeb0bdaeb0bdaeb0bdafb9bcb8c3c6
+a5c4d7b2d2e0a5c4d7a5c4d7b2d2e0a5c4d7a5c4d7a5c4d7b0cbdcb0cbdcb0cbdc
+a5c4d7b2d2e0a5c4d7a5c4d7b2d2e0a5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7
+a5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+c1c4c7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcb0cbdc
+b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9bacdd9bacdd9
+bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9b0cbdc
+bacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdcb0cbdcbacdd9c1c4c7bacdd9b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+bacdd9b8c3c6b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcbacdd9bacdd9bacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcb0cbdc
+bacdd9bacdd9b0cbdcb0cbdcbacdd9c1c4c7b0cbdcb0cbdcb0cbdcb0cbdcbacdd9
+bacdd9b0cbdcb2d2e0bacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9
+b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdc
+b0cbdcbacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdcb0cbdcc1d4e2b0cbdcbacdd9
+bacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcc1d4e2bacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9b0cbdcbacdd9c1c4c7b0cbdcb2d2e0bacdd9b0cbdcbacdd9bacdd9
+c1c4c7b0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9b0cbdc
+bacdd9c1c4c7bacdd9bacdd9bacdd9b0cbdcc1d4e2b0cbdcb2d2e0b0cbdcbacdd9
+bacdd9bacdd9bacdd9bacdd9b2d2e0b2d2e0bacdd9bacdd9bacdd9b2d2e0bacdd9
+bacdd9b2d2e0b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2cccdccc1d4e2cdd5de
+bacdd9cccdccbacdd9c1d4e2c1d4e2cccdccc1d4e2c1d4e2bacdd9c1d4e2c1c4c7
+ada17f857d6786874a95885c9a9178767b4762744468752b576b333f4e1e272c1f
+2b33223944463a4423667c74757c71848887aba9a6aec4d0c1d4e2bacdd9bacdd9
+c1d4e2bacdd9c1d4e2bacdd9c1d4e2cdd5dec1d4e2d2dee6c1d4e2c5dae4cdd5de
+d2dee6cdd5decccdccd2dee6cdd5dec5dae4cdd5decdd5decdd5decdd5debacdd9
+cdd5decdd5decdd5decdd5ded2dee6d2dee6cdd5decdd5decdd5decdd5decdd5de
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5de
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5ded2dee6c1d4e2c1d4e2cdd5de
+c1d4e2cdd5dec1d4e2c1d4e2c1d4e2cdd5dec1d4e2d2dee6cdd5decccdcccdd5de
+d2dee6cdd5decdd5ded2dee6cdd5ded2dee6cdd5ded2dee6dcd6d6dcd6d6dfe1e6
+dcd6d6dcd6d6dfe1e6dfe1e6dcd6d6ebeae7dcd6d6dfe1e6dfe1e6dcd6d6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6c1c4c7c1c4c7
+b8c1afafb9bcc1c4c79da1ab9da1ab9ea9b4aeb0bdafb9bcc1c4c7cfc6b8c1c4c7
+a5c4d7a5c4d7a5c4d7b2d2e0a5c4d7b0cbdcb2d2e0a5c4d7b2d2e0a5c4d7b0cbdc
+a5c4d7a5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7b2d2e0
+b0cbdca5c4d7b2d2e0a5c4d7b2d2e0a5c4d7b0cbdcb2d2e0b2d2e0b2d2e0b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdca5c4d7b2d2e0a5c4d7b2d2e0b0cbdcb0cbdcb0cbdc
+b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+aec4d0b0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb2d2e0
+b0cbdcbacdd9b0cbdcbacdd9bacdd9c1c4c7bacdd9b2d2e0b0cbdcb0cbdcbacdd9
+bacdd9b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdcbacdd9
+b0cbdcb0cbdcc1c4c7bacdd9b0cbdcbacdd9b0cbdcc1c4c7bacdd9bacdd9b0cbdc
+b0cbdcbacdd9b0cbdcb8c3c6b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc
+bacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcaec4d0bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcbacdd9bacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdc
+b0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdcb0cbdcb2d2e0b0cbdcbacdd9
+bacdd9b2d2e0b0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9
+b0cbdcb0cbdcbacdd9b0cbdcc1c4c7b0cbdcbacdd9bacdd9b2d2e0b0cbdcb0cbdc
+bacdd9c1d4e2b0cbdcbacdd9bacdd9bacdd9c1d4e2b0cbdcbacdd9b0cbdcb2d2e0
+bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b2d2e0c1d4e2bacdd9
+bacdd9b2d2e0bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9c1d4e2b0cbdc
+bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2
+c1d4e2c1d4e2bacdd9b2d2e0c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9c1d4e2
+bacdd9c1d4e2bacdd9c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cccdcccdd5decdd5de
+cdd5decdd5dec1d4e2bacdd9c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2
+c0b8a69a917874643e75704d666033767b47576b335e7429576b33475832475832
+354c313f4e323944467787728a99ab8488879d9981bacdd9cccdccc1d4e2c1d4e2
+cdd5dec1d4e2bacdd9c1d4e2c1d4e2cdd5decdd5dec1d4e2c1d4e2cdd5decdd5de
+d2dee6d2dee6cdd5decdd5decdd5decdd5ded2dee6cdd5decdd5decdd5dec1d4e2
+cdd5decdd5ded2dee6d2dee6cdd5dedfe1e6d2dee6cdd5decdd5decdd5dec1d4e2
+cdd5decdd5dec1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2
+bacdd9c1d4e2c1d4e2cdd5decdd5dec1d4e2cdd5dec1d4e2cdd5dec5dae4cdd5de
+cdd5decdd5decdd5decdd5decdd5decdd5decdd5decdd5ded2dee6cdd5decdd5de
+d2dee6cdd5ded2dee6cdd5ded2dee6dcd6d6dfe1e6d2dee6cdd5dedfe1e6dcd6d6
+dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dcd6d6dfe1e6
+dfe1e6dcd6d6dfe1e6dcd6d6cdd5dedfe1e6cdd5dedfe1e6c1c4c79da1ababa9a6
+b8c3c6cdd5dec1c4c78ea089637471afb09e9ea9b4c0b8a69da1ab9da1ababa9a6
+b0cbdca5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdc
+a5c4d7b0cbdca5c4d7b2d2e0b2d2e0a5c4d7b0cbdcb0cbdcb0cbdcb0cbdca5c4d7
+b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0
+b2d2e0b2d2e0bacdd9b0cbdcb2d2e0b0cbdcb2d2e0a5c4d7b2d2e0b0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcc1c4c7
+b0cbdcc1c4c7b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9c1c4c7bacdd9bacdd9
+bacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b2d2e0b0cbdcbacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9
+b0cbdcbacdd9b0cbdcbacdd9c1c4c7b0cbdcb0cbdcc1d4e2b0cbdcbacdd9b0cbdc
+b0cbdcb0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9
+bacdd9bacdd9b0cbdcb2d2e0c1d4e2b0cbdcb0cbdcbacdd9b8c3c6bacdd9bacdd9
+b0cbdcc1d4e2b0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b2d2e0b0cbdcbacdd9
+bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b2d2e0b2d2e0b0cbdcbacdd9bacdd9
+b0cbdcbacdd9b0cbdcbacdd9b2d2e0bacdd9b2d2e0b0cbdcbacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9b2d2e0bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdc
+bacdd9bacdd9b0cbdcc1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9
+bacdd9bacdd9b2d2e0bacdd9b2d2e0bacdd9b2d2e0bacdd9bacdd9b0cbdcbacdd9
+bacdd9b0cbdcc1d4e2b0cbdcc1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2
+b2d2e0bacdd9bacdd9bacdd9bacdd9b2d2e0c1d4e2b2d2e0bacdd9b0cbdcc1d4e2
+b0cbdcb2d2e0c1d4e2b2d2e0bacdd9b2d2e0c1d4e2b0cbdcc1d4e2bacdd9bacdd9
+c1d4e2b2d2e0c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9b2d2e0b2d2e0c1d4e2
+b2d2e0bacdd9c1d4e2bacdd9b2d2e0b2d2e0bacdd9bacdd9c1d4e2c1d4e2bacdd9
+c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2cdd5dec1d4e2cdd5decdd5de
+c1d4e2cccdccc1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4cccdcc
+c1d4e2afb9bc9d998175704d4e44255658383f4e1e5474435e7429576b33547443
+6b8673637471667c749fb0bbbacdd98a99abafb9bcc1d4e2c1d4e2cdd5decdd5de
+cdd5decdd5dec1d4e2cdd5decdd5decccdcccdd5decdd5decdd5ded2dee6cdd5de
+cdd5decdd5decdd5decdd5ded2dee6d2dee6cdd5decdd5decdd5decdd5decdd5de
+c5dae4cdd5decdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5decdd5de
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2
+cdd5decdd5dec1d4e2c1d4e2bacdd9cdd5dec1d4e2cdd5dec1d4e2d2dee6cdd5de
+d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6dfe1e6d2dee6cdd5ded2dee6dfe1e6
+dcd6d6d2dee6dcd6d6d2dee6cdd5decdd5decdd5ded2dee6d2dee6d2dee6d2dee6
+d2dee6dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6
+dcd6d6dfe1e6dfe1e6d2dee6dfe1e6dcd6d6d2dee6cccdcccdd5dec0b8a6afb9bc
+b8c3c6c1c4c7b8c1afa0b09fb0b8a3a3b7a48ea0898a99ab8b919f9da1ab757c71
+b0cbdcb0cbdca5c4d7b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdca5c4d7
+b0cbdcb0cbdcb0cbdca5c4d7b2d2e0b2d2e0b0cbdca5c4d7b2d2e0b0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdca5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcbacdd9b2d2e0b2d2e0b2d2e0b0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcc1d4e2b0cbdc
+b0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcb2d2e0bacdd9b2d2e0
+b0cbdcbacdd9bacdd9c1d4e2b2d2e0bacdd9bacdd9c1d4e2b2d2e0bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9
+c1d4e2bacdd9c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0b2d2e0bacdd9bacdd9bacdd9
+bacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9c1d4e2bacdd9bacdd9b0cbdc
+bacdd9b0cbdcc1d4e2b0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9
+bacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdc
+b0cbdcbacdd9bacdd9b0cbdcb2d2e0bacdd9bacdd9c1d4e2bacdd9b0cbdcb2d2e0
+b0cbdcbacdd9b2d2e0bacdd9bacdd9b2d2e0bacdd9bacdd9bacdd9b2d2e0c1d4e2
+bacdd9bacdd9bacdd9bacdd9b0cbdcc1d4e2bacdd9bacdd9c1d4e2b0cbdcbacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0b0cbdcc1d4e2b2d2e0
+bacdd9c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2
+bacdd9bacdd9cccdccc1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2
+c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2b2d2e0bacdd9bacdd9
+bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2
+c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2bacdd9b2d2e0b2d2e0c1d4e2
+c1d4e2b2d2e0c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2bacdd9b2d2e0bacdd9
+c1d4e2c1d4e2b2d2e0bacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9
+bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2cdd5decccdcccdd5de
+d2dee6c1d4e2cdd5dec1d4e2c1d4e2c1d4e2bacdd9cdd5decdd5dec1d4e2aec4d0
+aec4d08da0b6848887626e8c3944463f4e325474436b8545657c444960324b6865
+7d98b1aec4d0bacdd9bacdd9c1c4c78a99abc1d4e2c5dae4c5dae4cdd5dec5dae4
+cdd5decdd5decdd5decdd5ded2dee6cdd5ded2dee6cdd5decdd5decdd5decdd5de
+cdd5ded2dee6dfe1e6cdd5ded2dee6d2dee6cdd5decdd5decdd5ded2dee6cdd5de
+cdd5ded2dee6d2dee6cdd5decdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2cdd5de
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5dec5dae4
+c1d4e2cdd5dec1d4e2cdd5decdd5ded2dee6d2dee6cdd5decdd5ded2dee6cdd5de
+d2dee6cdd5ded2dee6d2dee6cdd5ded2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6
+dfe1e6d2dee6d2dee6dcd6d6dfe1e6dfe1e6cdd5dedfe1e6cdd5decdd5dedfe1e6
+dcd6d6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d2dee6dcd6d6dfe1e6
+dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6cdd5dec0b8a6c1c4c7dcd6d6cccdccafb9bc
+afb9bcc0b8a6b8c3c6cdd5deb8c3c6afc0abbacdd9afb9bc9ea9b4a3b8bc9ea9b4
+b0cbdca5c4d7b2d2e0b0cbdca5c4d7b2d2e0a5c4d7b0cbdca5c4d7b2d2e0b2d2e0
+a5c4d7b0cbdcb2d2e0b2d2e0b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdc
+b0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdca5c4d7b2d2e0b0cbdcb0cbdcb0cbdc
+bacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9c1d4e2b2d2e0b2d2e0b2d2e0
+b2d2e0b2d2e0b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcb2d2e0bacdd9
+bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcc1d4e2bacdd9bacdd9
+bacdd9b2d2e0b2d2e0b2d2e0c1d4e2bacdd9c1d4e2bacdd9bacdd9bacdd9c1d4e2
+c1c4c7c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2
+bacdd9c1d4e2b2d2e0c1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9b0cbdcbacdd9b0cbdcc1d4e2c1d4e2
+bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9b0cbdcbacdd9bacdd9bacdd9
+bacdd9bacdd9b0cbdcb2d2e0bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9c1d4e2
+b0cbdcb2d2e0b0cbdcbacdd9bacdd9c1d4e2c1d4e2b2d2e0bacdd9bacdd9bacdd9
+c1d4e2b0cbdcc1d4e2bacdd9bacdd9b0cbdcc1d4e2b2d2e0bacdd9bacdd9b2d2e0
+c1d4e2b2d2e0b0cbdcc1d4e2b2d2e0c1d4e2c1d4e2bacdd9b2d2e0c1d4e2aec4d0
+b2d2e0b2d2e0c1d4e2c1d4e2bacdd9bacdd9b2d2e0b2d2e0b0cbdcc1d4e2c1d4e2
+bacdd9c1d4e2bacdd9b2d2e0bacdd9bacdd9bacdd9b2d2e0b2d2e0bacdd9bacdd9
+bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9b2d2e0c1d4e2bacdd9c1d4e2bacdd9
+c1d4e2c1d4e2c1d4e2cccdcccdd5decdd5decdd5dec1d4e2c1d4e2cdd5dec1d4e2
+c1d4e2b0cbdcc5dae4bacdd9bacdd9b2d2e0b2d2e0bacdd9bacdd9bacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2c1d4e2
+c1d4e2b2d2e0c1d4e2b2d2e0bacdd9c1d4e2bacdd9bacdd9bacdd9c1d4e2b0cbdc
+c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2b2d2e0b2d2e0
+bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2b2d2e0bacdd9c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2cdd5de
+cdd5decdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9afb9bc
+92a8b6a3b8bc54605f4658644960656b8673657c44666c5e56603a547443819fb7
+a3b8bcaec4d0c1d4e2afb9bc8b98828da0b6c1c4c7d2dee6cdd5decdd5decdd5de
+d2dee6cdd5decdd5decdd5ded2dee6d2dee6cdd5ded2dee6d2dee6d2dee6dcd6d6
+d2dee6dcd6d6cdd5dedfe1e6dcd6d6dfe1e6d2dee6dfe1e6cdd5decdd5dec5dae4
+c5dae4d2dee6cdd5ded2dee6cdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2c1d4e2
+cdd5dec5dae4cdd5decdd5dec1d4e2c1d4e2cdd5decdd5dec1d4e2cdd5decdd5de
+d2dee6c5dae4c5dae4c5dae4d2dee6cdd5decdd5ded2dee6d2dee6cdd5ded2dee6
+cdd5dedfe1e6d2dee6cdd5decdd5dedfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dcd6d6
+dfe1e6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dcd6d6
+dfe1e6d2dee6dfe1e6dcd6d6dcd6d6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6cccdccc1c4c7cccdcccdd5dedcd6d6afb9bc
+cdd5decdd5deafb9bcafb9bc9da1abaeb0bdaeb0bdafb9bcb8c3c6c1c4c7cccdcc
+b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdca5c4d7b2d2e0b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b0cbdcb2d2e0
+b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0bacdd9b0cbdcb2d2e0b0cbdcc1d4e2c1d4e2
+b2d2e0c5dae4b2d2e0c1d4e2bacdd9bacdd9b2d2e0c1d4e2b2d2e0b2d2e0bacdd9
+bacdd9b2d2e0c1d4e2b2d2e0b2d2e0bacdd9b2d2e0bacdd9b2d2e0b2d2e0b2d2e0
+b2d2e0bacdd9b2d2e0b2d2e0c1d4e2bacdd9bacdd9c1d4e2b0cbdcbacdd9bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9bacdd9
+bacdd9c1d4e2bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2
+bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9
+bacdd9c1d4e2c1d4e2b0cbdcc1d4e2bacdd9b2d2e0c1d4e2bacdd9bacdd9b2d2e0
+bacdd9c1d4e2b0cbdcc1d4e2b0cbdcc1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9
+bacdd9c1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9bacdd9
+b0cbdcc1d4e2bacdd9bacdd9bacdd9b2d2e0b0cbdcc1d4e2b0cbdcc1d4e2bacdd9
+c1d4e2bacdd9c1d4e2bacdd9b2d2e0b2d2e0b0cbdcb2d2e0bacdd9c1d4e2bacdd9
+b0cbdcc1d4e2bacdd9c1d4e2bacdd9b2d2e0c1d4e2b0cbdcbacdd9c1d4e2bacdd9
+bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9c1d4e2bacdd9b2d2e0
+b0cbdcbacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2
+bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2cdd5decdd5decdd5decdd5decdd5ded2dee6cdd5decdd5decdd5dec1d4e2
+c1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9c1d4e2c5dae4bacdd9b2d2e0
+bacdd9c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+c1d4e2b0cbdcc1d4e2b2d2e0c1d4e2b0cbdcc1d4e2c1d4e2bacdd9bacdd9c1d4e2
+c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2
+bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5de
+c1d4e2cdd5decdd5dec1d4e2cccdccc1d4e2c1d4e2c1d4e2c1d4e2cdd5deafb9bc
+8b919f87886d657c44657c446b86738b9882576a626274444960326b8673709081
+7a91a8607590757c716b8673757c71a3b8bccdd5ded2dee6cdd5decdd5ded2dee6
+d2dee6cccdcc9ea9b4cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6
+d2dee6dfe1e6d2dee6cdd5ded2dee6cdd5decdd5ded2dee6d2dee6cdd5decdd5de
+d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5decdd5decdd5dec1d4e2c5dae4
+c5dae4d9e6ead2dee6cdd5dec5dae4c1d4e2cdd5dec5dae4d2dee6c1d4e2cdd5de
+cdd5dec5dae4d2dee6c1d4e2d2dee6cdd5ded2dee6cdd5dedfe1e6cdd5dedfe1e6
+d2dee6dcd6d6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dcd6d6dfe1e6cdd5dedfe1e6
+dcd6d6dcd6d6dfe1e6dcd6d6d2dee6d2dee6dcd6d6dfe1e6dfe1e6d2dee6dcd6d6
+dcd6d6d2dee6d2dee6dfe1e6dcd6d6d2dee6d2dee6dfe1e6cdd5dedfe1e6dfe1e6
+dfe1e6dcd6d6d2dee6dcd6d6cdd5deafb9bcaeb0bdcdd5decdd5dec1c4c7c1c4c7
+cccdccaba9a6a0b09f9ea88e8ea089a3b7a48b90808a99abcccdccc1c4c7cdd5de
+a5c4d7b0cbdcb2d2e0a5c4d7b0cbdcb2d2e0b0cbdcb0cbdcb2d2e0b0cbdcb0cbdc
+b0cbdcb0cbdcb2d2e0b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b0cbdcbacdd9b0cbdcb0cbdcb2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b0cbdcbacdd9
+b2d2e0b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2bacdd9b2d2e0bacdd9b2d2e0
+bacdd9bacdd9c1d4e2b0cbdcc1d4e2b2d2e0bacdd9b2d2e0bacdd9bacdd9b0cbdc
+b2d2e0bacdd9bacdd9b2d2e0c1d4e2bacdd9b2d2e0bacdd9c1d4e2c1d4e2b2d2e0
+c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2
+bacdd9bacdd9c1d4e2c1d4e2bacdd9cccdccbacdd9c1d4e2bacdd9b2d2e0bacdd9
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9bacdd9
+c1d4e2bacdd9bacdd9bacdd9bacdd9b0cbdcc1d4e2bacdd9bacdd9c1d4e2c1d4e2
+b2d2e0b0cbdcc1d4e2bacdd9b2d2e0bacdd9b2d2e0b2d2e0bacdd9bacdd9bacdd9
+b2d2e0bacdd9b2d2e0bacdd9b2d2e0bacdd9bacdd9b0cbdcc1d4e2bacdd9b2d2e0
+b2d2e0c1d4e2c1d4e2b2d2e0bacdd9b0cbdcc1d4e2bacdd9bacdd9bacdd9bacdd9
+bacdd9b2d2e0bacdd9bacdd9c1d4e2bacdd9b2d2e0bacdd9c1d4e2b0cbdcb2d2e0
+c1d4e2b0cbdcc1d4e2b2d2e0bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9
+bacdd9c1d4e2b2d2e0c1d4e2bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9bacdd9
+c1d4e2b2d2e0bacdd9c1d4e2bacdd9bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9
+c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2bacdd9c1d4e2cdd5de
+cdd5decdd5decdd5decdd5ded2dee6cdd5decdd5dec1d4e2cdd5dec5dae4c1d4e2
+cdd5dec1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2
+b2d2e0c1d4e2bacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2bacdd9
+c1d4e2c5dae4bacdd9c1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9
+c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+bacdd9bacdd9c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9
+c1d4e2c1d4e2c1d4e2bacdd9cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2bacdd9
+cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b8c3c6b8c3c69ea08a
+867c4c757c71657c44618345778746627444657c44627444657c44627444394446
+354c315773767787726b86738ea089b8c3c6cdd5ded2dee6cdd5ded2dee6cdd5de
+cdd5dea0b09f8a99abc5dae4dcd6d6d2dee6dcd6d6dcd6d6d2dee6dcd6d6cdd5de
+d2dee6d2dee6dcd6d6d2dee6d2dee6d2dee6cdd5decdd5decdd5decdd5ded2dee6
+cdd5ded2dee6d2dee6cdd5decdd5ded2dee6d2dee6cdd5ded2dee6cdd5decdd5de
+cdd5ded2dee6cdd5ded2dee6cdd5decdd5dec1d4e2d2dee6cdd5decdd5ded2dee6
+c1d4e2d2dee6c1d4e2d2dee6cdd5ded2dee6dcd6d6d2dee6d2dee6d2dee6dfe1e6
+d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6
+d2dee6d2dee6dfe1e6dcd6d6dfe1e6d2dee6dfe1e6dcd6d6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6cdd5dedfe1e6dfe1e6dcd6d6dfe1e6cdd5dedfe1e6dcd6d6dfe1e6
+dfe1e6dfe1e6dfe1e6cdd5dedfe1e6cdd5ded2dee6cdd5decfc6b8aba9a6a0b09f
+aba9a687886d8488877787729fb0bbc0cbb8b8c3c6c1c4c7bacdd99ea9b4b8c3c6
+b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb2d2e0
+b2d2e0a5c4d7b2d2e0a5c4d7b2d2e0b0cbdcb0cbdcb0cbdcb2d2e0a5c4d7b2d2e0
+b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b2d2e0b0cbdcb0cbdcbacdd9
+b0cbdcb2d2e0b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb2d2e0b0cbdcc1d4e2
+b0cbdcb2d2e0bacdd9b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2
+b2d2e0bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9b2d2e0b2d2e0c1d4e2c1d4e2
+b0cbdcbacdd9b0cbdcc1d4e2b2d2e0b2d2e0b2d2e0bacdd9b2d2e0bacdd9b0cbdc
+c1d4e2bacdd9c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2bacdd9
+c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9
+bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9bacdd9
+c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9c1d4e2
+c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2bacdd9
+c1d4e2c1d4e2bacdd9bacdd9c1d4e2b2d2e0c1d4e2b0cbdcbacdd9bacdd9c1d4e2
+b2d2e0bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0
+bacdd9c1d4e2b2d2e0bacdd9c1d4e2bacdd9bacdd9bacdd9b2d2e0bacdd9bacdd9
+c1d4e2b0cbdcc1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0
+b2d2e0c1d4e2bacdd9c1d4e2b2d2e0c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2bacdd9
+bacdd9c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2bacdd9c1d4e2bacdd9c5dae4c1d4e2
+c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b0cbdcc5dae4cccdcccdd5dec1d4e2cdd5de
+cdd5decdd5decdd5decdd5ded2dee6c1d4e2cdd5decdd5decdd5decdd5dec1d4e2
+c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2
+b2d2e0c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2bacdd9c1d4e2
+bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9
+c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2
+cdd5dec5dae4d2dee6bacdd99ea9b4b8c3c6c1d4e2bacdd9aeb0bd8a99ab857d67
+767b475f615647583249603277874686874a767b475e7429657c446274443d573b
+576a62709081637471666c5eb8c3c6cdd5decdd5ded2dee6d2dee6cdd5decdd5de
+c1c4c79d9981aeb0bdcdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6
+dcd6d6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5dec5dae4cdd5de
+cdd5ded2dee6cdd5dec5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4d2dee6cdd5de
+cdd5ded2dee6cdd5decdd5decdd5ded2dee6dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6
+dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6
+dcd6d6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6cdd5ded2dee6d2dee6
+dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6c1c4c7dcd6d6cccdccb8c3c69da1ab95af7a
+8b9882a0b09f8ea0898a99abaec4d0b8c3c6c1d4e2dcd6d69da1ab666c5e8da0b6
+b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdcb2d2e0b2d2e0b0cbdc
+a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdcb0cbdcb0cbdc
+a5c4d7b2d2e0b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdcbacdd9b0cbdc
+b2d2e0b0cbdcbacdd9c1d4e2b0cbdcbacdd9c1d4e2c1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9bacdd9
+c1d4e2c1d4e2bacdd9c1d4e2bacdd9b2d2e0c1d4e2c1d4e2bacdd9b2d2e0c5dae4
+bacdd9b2d2e0bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2bacdd9bacdd9c1d4e2
+c1d4e2bacdd9c1d4e2c1d4e2bacdd9cccdccc1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2
+bacdd9c1d4e2bacdd9c1d4e2bacdd9bacdd9c1d4e2bacdd9c1d4e2b2d2e0c1d4e2
+bacdd9c1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b2d2e0
+bacdd9bacdd9b2d2e0bacdd9bacdd9c1d4e2bacdd9b2d2e0c1d4e2bacdd9bacdd9
+bacdd9bacdd9b0cbdcb0cbdcc1d4e2bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9
+c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9b2d2e0
+bacdd9c1d4e2bacdd9c1d4e2bacdd9b2d2e0b2d2e0b2d2e0bacdd9b2d2e0c1d4e2
+c1d4e2bacdd9b2d2e0c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2
+c1d4e2b2d2e0c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5de
+c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5decdd5decdd5de
+cdd5ded2dee6cdd5decdd5decdd5decdd5decccdccc1d4e2cdd5decdd5decdd5de
+cdd5dec1d4e2cdd5dec1d4e2c1d4e2c1d4e2bacdd9bacdd9bacdd9c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2cdd5dec1d4e2cdd5dec5dae4
+cdd5dec1d4e2c1d4e2bacdd99ea9b48a99abafb9bc9fb0bb9fb0bbb8c3c6b0b8a3
+8a99ab757c71667c74627444778746767b4756603a778772576b3386874a6b8545
+7d98b1a4bfb5778746666c5eafb9bcd2dee6d2dee6cdd5decdd5ded2dee6afb9bc
+9d99819da1abafb9bcc1d4e2d2dee6cccdcccdd5decdd5decdd5decdd5dedfe1e6
+cdd5decdd5ded2dee6cdd5decdd5decdd5ded2dee6cdd5decdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6dcd6d6d2dee6cdd5ded2dee6cdd5decdd5dec5dae4
+cdd5decdd5dec5dae4d2dee6cdd5dec5dae4cdd5decdd5decdd5dec1d4e2c1d4e2
+c5dae4cdd5ded2dee6cdd5decdd5dedcd6d6dfe1e6d2dee6d2dee6dfe1e6dfe1e6
+dfe1e6dfe1e6d2dee6dcd6d6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dcd6d6dfe1e6
+dfe1e6dcd6d6d2dee6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6d2dee6
+dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dfe1e6cdd5dedfe1e6d2dee6dcd6d6d2dee6
+cdd5dedfe1e6d2dee6dfe1e6cdd5debacdd9cccdcccdd5decdd5de9ea88ea0b09f
+a0b09f9da1ab848887afc0ab9ea9b475889bb8c3c6d2dee6afb9bc8da0b6afb9bc
+a5c4d7b2d2e0b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b2d2e0b2d2e0b2d2e0
+b2d2e0b2d2e0b0cbdcb0cbdcb2d2e0b0cbdca5c4d7b2d2e0b2d2e0b2d2e0b0cbdc
+b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0bacdd9b0cbdcb2d2e0b2d2e0
+b2d2e0b2d2e0bacdd9bacdd9b2d2e0b2d2e0bacdd9bacdd9b2d2e0b2d2e0c1d4e2
+b2d2e0b2d2e0bacdd9b0cbdcc1d4e2b0cbdcb2d2e0c1d4e2c1d4e2b2d2e0bacdd9
+c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2b2d2e0bacdd9
+bacdd9b2d2e0c1d4e2b0cbdcc1d4e2b0cbdcbacdd9c1d4e2b2d2e0b2d2e0b2d2e0
+b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2
+bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9
+bacdd9c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2bacdd9
+c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2
+bacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2bacdd9
+c1d4e2c1d4e2bacdd9c1d4e2b2d2e0bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9
+c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2
+c1d4e2bacdd9b2d2e0c1d4e2c1d4e2bacdd9bacdd9bacdd9c1d4e2b2d2e0bacdd9
+c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0bacdd9bacdd9bacdd9
+c1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+bacdd9cdd5dec5dae4c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2d2dee6cdd5de
+cdd5decdd5decdd5decdd5decdd5dec1d4e2cdd5decccdcccdd5dec5dae4cdd5de
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9
+c1d4e2c1d4e2b2d2e0c5dae4b2d2e0c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+b2d2e0c1d4e2c1d4e2c1d4e2bacdd9c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9
+c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2cdd5dec1d4e2cdd5dec1d4e2
+cdd5dec1d4e2c5dae4cccdccaba9a68b90808ea0898b9882657c448ea089b8c3c6
+bacdd9a3b8bc94afa18b98826f8f52757c718b90806b8673666b3b6374717d9082
+8ea0898ea0896b86736b8673a0b09fc1d4e2cdd5decdd5dec1c4c79ea9b4848887
+9ea08abacdd9cdd5dec5dae4c5dae4cdd5ded2dee6cdd5ded2dee6cdd5decdd5de
+d2dee6cdd5decdd5decdd5dec5dae4cdd5dec1d4e2d2dee6cdd5ded2dee6cdd5de
+dcd6d6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4
+d2dee6cdd5ded2dee6cdd5dec5dae4c1d4e2c1d4e2c5dae4c5dae4d2dee6c1d4e2
+d2dee6c5dae4d2dee6dcd6d6d2dee6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6
+dcd6d6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6
+dfe1e6dcd6d6dfe1e6d2dee6dcd6d6d2dee6dcd6d6dfe1e6dfe1e6dfe1e6d2dee6
+dfe1e6dfe1e6cdd5dedfe1e6cdd5dedfe1e6dcd6d6dcd6d6d2dee6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6d2dee6dcd6d6cdd5debacdd9c1c4c7b8c3c68a99ab7d9082
+667c7477877275889bafb9bcafb9bc9ea9b48da0b6cdd5dec1c4c7b8c3c6b8c3c6
+a5c4d7a5c4d7b0cbdcb2d2e0b2d2e0b2d2e0b2d2e0b0cbdcb0cbdcb2d2e0a5c4d7
+b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc
+b2d2e0b2d2e0b0cbdcbacdd9b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcbacdd9
+b2d2e0b2d2e0bacdd9b0cbdcb2d2e0b2d2e0b2d2e0bacdd9bacdd9b2d2e0bacdd9
+b2d2e0b2d2e0b2d2e0c1d4e2b0cbdcc1d4e2b2d2e0b2d2e0bacdd9b8c3c6c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2bacdd9c1d4e2
+c1d4e2b2d2e0b0cbdcc1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2b2d2e0b2d2e0
+c1d4e2bacdd9bacdd9bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2cccdccc1d4e2bacdd9cdd5dec1d4e2bacdd9c1d4e2c1d4e2
+c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2
+c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2
+b0cbdcc1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0
+c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2b2d2e0bacdd9bacdd9c1d4e2
+b2d2e0c1d4e2c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2bacdd9
+c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2bacdd9b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2bacdd9c1d4e2b0cbdc
+c1d4e2c5dae4b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5de
+cdd5dec1d4e2cccdcccdd5decccdcccdd5dec1d4e2c1d4e2cdd5decdd5decdd5de
+cdd5decdd5decdd5decdd5dec5dae4c1d4e2c1d4e2cdd5ded2dee6cdd5dec1d4e2
+cdd5dec1d4e2cdd5dec1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4c1d4e2c5dae4
+cdd5dec5dae4c1d4e2cdd5deaba9a69a91789a91789e9853867c4c656c2687886d
+7e98827e988292a88d778746657c44666b3b667c74757c71627444697c2b657c44
+7c90535f7b2a5e7429667c74bacdd9c5dae4c1d4e2a3b8bc7d90828b98829d9981
+9da1abcdd5ded2dee6cdd5decdd5ded2dee6cdd5decdd5ded2dee6cdd5decdd5de
+c1d4e2cdd5decdd5ded2dee6cdd5dec1d4e2d2dee6c1d4e2c5dae4cdd5ded2dee6
+cdd5decdd5ded2dee6cdd5decdd5decdd5ded2dee6cdd5ded2dee6c5dae4dfe1e6
+cdd5ded2dee6c5dae4d2dee6cdd5ded2dee6c5dae4cdd5dec5dae4cdd5decdd5de
+dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6
+d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6dfe1e6dcd6d6dfe1e6
+dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5dedfe1e6cdd5de
+d2dee6cdd5dedfe1e6d2dee6dfe1e6d2dee6c1c4c7afb9bcafb9bc92a88d92a8b6
+9fb0bbafb9bcbacdd9b8c3c6b8c3c6aec4d0a3b8bcb8c3c6b8c3c6cdd5dec1d4e2
+b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb2d2e0
+b2d2e0b2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b2d2e0b2d2e0b2d2e0
+b0cbdcb0cbdcb0cbdcc1d4e2b0cbdcb2d2e0b2d2e0bacdd9b2d2e0b2d2e0b0cbdc
+b2d2e0b2d2e0b2d2e0bacdd9b2d2e0b2d2e0b2d2e0c1d4e2b0cbdcb2d2e0bacdd9
+bacdd9c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2bacdd9cdd5dec1d4e2
+b2d2e0b0cbdcc1d4e2b2d2e0c1d4e2c1d4e2c1d4e2d2dee6c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2bacdd9c1d4e2bacdd9
+c1d4e2c1d4e2c1d4e2bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2
+c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9
+c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9
+c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2
+c1d4e2bacdd9c1d4e2b2d2e0bacdd9c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2
+c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2
+c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c5dae4c1d4e2bacdd9c1d4e2bacdd9
+c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9
+c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2
+cdd5dec5dae4cdd5decdd5ded2dee6cdd5decdd5decdd5decdd5decdd5decdd5de
+cdd5decdd5decdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2cdd5decdd5ded2dee6
+c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c5dae4c1d4e2cdd5dec1d4e2
+c5dae4cdd5dec1d4e2cdd5dec1d4e2c5dae4cdd5decdd5dec5dae4c5dae4c1d4e2
+cdd5dec5dae4c5dae4c1d4e2aeb0bd84888766603395885c857d674b69335e7429
+6b852c657c446b8545697c2b5474287c9053618345576b33627444666b3b5e7429
+6b85455f7b2a4b681e627444afb9bcc0cbb88b9882657c4468752b9ea08ab8c1af
+c0b8a6dfe1e6dfe1e6d2dee6dcd6d6cdd5ded2dee6cdd5decdd5ded2dee6cdd5de
+cdd5dec1d4e2cdd5dec1d4e2cdd5decdd5ded2dee6d2dee6c1d4e2c1d4e2d2dee6
+c5dae4d2dee6cdd5decdd5ded2dee6d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6
+d2dee6dcd6d6d2dee6c5dae4cdd5dec5dae4cdd5decdd5ded2dee6d2dee6d2dee6
+dcd6d6d2dee6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6
+d2dee6dfe1e6dfe1e6dcd6d6dcd6d6dfe1e6dcd6d6dfe1e6d2dee6dcd6d6dcd6d6
+dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dcd6d6dfe1e6
+d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5dedfe1e6cdd5ded2dee6dfe1e6
+dfe1e6dfe1e6dcd6d6dfe1e6cdd5dedcd6d6c1c4c79ea9b4b8c3c6cccdccbacdd9
+bacdd9cccdccbacdd9bacdd9afb9bc9ea9b492a8b69fb0bbafb9bcd2dee6cdd5de
+b2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b2d2e0
+b2d2e0bacdd9b0cbdcb0cbdcaec4d0b2d2e0b2d2e0b0cbdcb0cbdcbacdd9b2d2e0
+b0cbdcb2d2e0b2d2e0b0cbdcc1d4e2b0cbdcbacdd9b2d2e0b0cbdcb2d2e0b2d2e0
+b2d2e0bacdd9bacdd9b2d2e0bacdd9b2d2e0b2d2e0c1d4e2b2d2e0b2d2e0b2d2e0
+bacdd9bacdd9c1d4e2bacdd9b2d2e0c1d4e2b2d2e0c1d4e2bacdd9dcd6d6bacdd9
+b2d2e0c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c5dae4c5dae4
+c5dae4d2dee6c1d4e2c5dae4c5dae4bacdd9c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2
+c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5debacdd9c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2cccdccbacdd9c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2cdd5debacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2
+c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b0cbdc
+c1d4e2c1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2
+b2d2e0c1d4e2b2d2e0c1d4e2bacdd9b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2bacdd9c5dae4b2d2e0
+b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5de
+cdd5decccdccc5dae4c1d4e2c5dae4cdd5dec5dae4c1d4e2c5dae4c1d4e2d2dee6
+cdd5decdd5decdd5ded2dee6c1d4e2c5dae4cdd5dec1d4e2c1d4e2c1d4e2c1d4e2
+cdd5dec1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2c5dae4
+c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4c1d4e2cdd5dec5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4
+c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4cdd5dec5dae4
+c1d4e2d2dee6c5dae4cdd5decccdcc9fb0bb75889b9ea08a9ea08a778772627444
+576b33576a1f576b33627444657c44657c446b85455f7b2a556024666b3b778746
+656c263a44234960323d573b627444767b47666b3b5474286274449ea9b4d2dee6
+d2dee6dfe1e6dcd6d6dfe1e6dfe1e6d2dee6c5dae4d2dee6cdd5dec1d4e2d2dee6
+cdd5dec1d4e2d2dee6cdd5decdd5dec1d4e2d2dee6d2dee6d2dee6c5dae4c1d4e2
+cdd5decdd5ded2dee6c1d4e2cdd5dec5dae4cdd5decdd5ded2dee6c1d4e2cdd5de
+d2dee6c1d4e2d2dee6d2dee6c1d4e2d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6
+cdd5dedfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6
+dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6
+d2dee6dfe1e6dcd6d6dfe1e6dfe1e6cdd5dedfe1e6d2dee6d2dee6dfe1e6d2dee6
+dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6cdd5dedfe1e6
+cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6cdd5decdd5debacdd9c1c4c7b8c3c6
+a3b8bc9da1ab9da1abb8c3c6afb9bc9da1ab9da1ab667c74aec4d0c1d4e2d2dee6
+b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcb2d2e0b2d2e0b2d2e0b0cbdcb2d2e0b2d2e0
+b0cbdcbacdd9b0cbdcafb9bcb0cbdcbacdd9bacdd9b0cbdcb2d2e0b0cbdcb2d2e0
+b0cbdcb2d2e0b2d2e0b2d2e0bacdd9b2d2e0bacdd9c1d4e2b2d2e0b2d2e0bacdd9
+b2d2e0b2d2e0bacdd9b2d2e0b2d2e0c1d4e2b0cbdcc1d4e2c1d4e2b2d2e0c1d4e2
+b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2bacdd9c1d4e2bacdd9dcd6d6bacdd9
+c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2cdd5dec5dae4c5dae4c5dae4c1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+b2d2e0c1d4e2bacdd9bacdd9c1d4e2b2d2e0bacdd9c1d4e2bacdd9c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+bacdd9bacdd9c5dae4c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+bacdd9c1d4e2bacdd9c1d4e2bacdd9bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2
+c1d4e2bacdd9c5dae4c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4
+c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2cdd5dec1d4e2c1d4e2
+c5dae4cdd5decdd5dec1d4e2c5dae4cdd5dec1d4e2cdd5decdd5dec1d4e2cdd5de
+cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4cdd5dec5dae4c1d4e2
+c1d4e2cdd5dec1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4
+c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2
+c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2
+d2dee6c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2cdd5dec5dae4c5dae4
+c1d4e2d2dee6c1d4e2cdd5dec5dae4c5dae4cdd5dec1d4e2c5dae4d2dee6cdd5de
+c1d4e2cdd5ded2dee6c1d4e2d2dee6c1d4e2bacdd9a0b09f9da1ab7d9082576b33
+4b69334758324b693349603249601f4b681e6f8f526b852c4960323f4e1e5e7429
+576b333a44235f6156576b33576b33656c2656603a4960327d9082cdd5dedcd6d6
+dfe1e6d2dee6d2dee6dfe1e6dcd6d6cdd5decdd5ded2dee6c1d4e2cdd5dec1d4e2
+c5dae4c1d4e2c1d4e2c5dae4cdd5decdd5decdd5decdd5decdd5ded2dee6c1d4e2
+c5dae4c1d4e2cdd5dec1d4e2d2dee6c5dae4c1d4e2cdd5dec1d4e2cdd5decdd5de
+cdd5decdd5ded2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6
+d2dee6dfe1e6dfe1e6d2dee6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6
+dfe1e6dfe1e6d2dee6dcd6d6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6cdd5dedfe1e6
+d2dee6d2dee6d2dee6cdd5ded2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5ded2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6
+d2dee6dfe1e6d2dee6cdd5decdd5ded2dee6cdd5decdd5dec1d4e2c1d4e2afb9bc
+a3b8bc9ea9b48da0b6afb9bc9fb0bb8ea0898a99ab8b98829ea9b4bacdd9cccdcc
+b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b2d2e0b2d2e0b0cbdc
+b2d2e0bacdd9b0cbdcc1d4e2bacdd9b2d2e0b2d2e0c1d4e2b0cbdcc1d4e2b2d2e0
+c1d4e2b2d2e0b2d2e0bacdd9c1d4e2bacdd9b2d2e0bacdd9c1d4e2b0cbdcc1d4e2
+b2d2e0b0cbdcbacdd9bacdd9c5dae4b0cbdcc1d4e2b0cbdcb2d2e0c1d4e2c1d4e2
+c5dae4b2d2e0c1d4e2b2d2e0b2d2e0bacdd9c1d4e2b2d2e0c1d4e2cdd5decdd5de
+bacdd9bacdd9c5dae4b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0bacdd9c1d4e2
+c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2cccdccc1d4e2bacdd9c1d4e2cdd5dec1d4e2cdd5debacdd9c1d4e2c1d4e2
+cdd5dec1d4e2cccdccc1d4e2cdd5dec1d4e2cdd5dec1d4e2c1d4e2c1d4e2cdd5de
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9
+c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2bacdd9c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b2d2e0
+c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2bacdd9
+c1d4e2c1d4e2bacdd9c1d4e2bacdd9c5dae4c1d4e2c1d4e2b0cbdcc5dae4c5dae4
+bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+cccdccc1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2d2dee6c1d4e2
+cdd5dec1d4e2d2dee6c1d4e2cdd5debacdd9c5dae4c5dae4c1d4e2c1d4e2c5dae4
+c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2cdd5dec1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4
+c5dae4c1d4e2c5dae4c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2
+c5dae4c5dae4c1d4e2cdd5dec1d4e2c5dae4c1d4e2c5dae4d2dee6c1d4e2c5dae4
+c1d4e2c5dae4c1d4e2cdd5dec1d4e2d2dee6c5dae4c1d4e2c1d4e2c5dae4c5dae4
+c1d4e2c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4cdd5decdd5dec1d4e2c1d4e2
+d2dee6c1d4e2cdd5dec5dae4bacdd9b8c3c6c5dae4c5dae4afb9bc92a88d709081
+6274444b69335474436f8f52576b335e7429697c2b5e74293f4e1e47581f5e7429
+56603a2f3c224758323f4e323f4e1e657c445474437d9082b8c3c6d2dee6cdd5de
+d2dee6dfe1e6cdd5ded2dee6d2dee6cdd5ded2dee6c1d4e2cdd5ded2dee6c5dae4
+cdd5decdd5decdd5dec1d4e2c5dae4c5dae4cdd5ded2dee6c1d4e2c5dae4d2dee6
+d2dee6cdd5decdd5dec5dae4cdd5ded2dee6c5dae4cdd5dec5dae4c5dae4d2dee6
+d2dee6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6d2dee6d2dee6
+dcd6d6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6
+dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6
+cdd5ded2dee6d2dee6d2dee6dcd6d6d2dee6cdd5ded2dee6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6cdd5ded2dee6dfe1e6cdd5ded9e6ea
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6bacdd9c1d4e2bacdd9
+a3b8bc94afb98b90808ea0898b90808b90807090818ea0898b919f9ea9b48da0b6
+b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0bacdd9b0cbdcbacdd9b0cbdcb2d2e0b2d2e0
+b2d2e0b2d2e0bacdd9b2d2e0b2d2e0b0cbdcb2d2e0b2d2e0b2d2e0b0cbdcc1d4e2
+bacdd9b0cbdcb2d2e0b2d2e0bacdd9c1d4e2b2d2e0c1d4e2bacdd9b2d2e0c1d4e2
+b2d2e0c1d4e2b2d2e0bacdd9b2d2e0b2d2e0c1d4e2c1d4e2bacdd9c1d4e2bacdd9
+c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c1d4e2b2d2e0cdd5de
+c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2b0cbdcc1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5dec1d4e2d2dee6c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2
+c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2
+bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c5dae4c1d4e2c1d4e2b2d2e0c1d4e2c5dae4
+bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2
+cdd5dec1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c5dae4c1d4e2c5dae4c5dae4
+cdd5ded2dee6c1d4e2c5dae4bacdd9cdd5dec1d4e2c5dae4c1d4e2c1d4e2c5dae4
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4
+c1d4e2c5dae4c5dae4c5dae4cdd5dec5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4
+cdd5dec1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4cdd5de
+c1d4e2c1d4e2c5dae4c1d4e2cdd5decdd5dec1d4e2c5dae4c1d4e2c1d4e2c1d4e2
+cdd5dec1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2c1d4e2c5dae4
+d2dee6c1d4e2d2dee6c1d4e2d2dee6c1d4e2d2dee6c1d4e2c1d4e2c1d4e2cdd5de
+c5dae4c5dae4cdd5debacdd9b8c3c68da0b6a0b09fc1d4e2c5dae49ea9b4778772
+576b33627444657c446b85455e74296183455e74293f4e32383c233f4e323d573b
+4758324960656b8545637471576a6292a88da0b09fd4dcd0d2dee6d2dee6dfe1e6
+cdd5ded2dee6cdd5decdd5ded2dee6c1d4e2cdd5dec1d4e2cdd5decdd5dec1d4e2
+c1d4e2c5dae4c5dae4cdd5dec1d4e2c5dae4c1d4e2d2dee6cdd5dec1d4e2c5dae4
+cdd5decdd5decdd5ded2dee6cdd5decdd5decdd5decdd5ded2dee6d2dee6d2dee6
+d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6d2dee6
+dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6dcd6d6d2dee6dfe1e6d2dee6
+dcd6d6d2dee6dcd6d6d2dee6d2dee6dcd6d6cdd5decdd5decdd5ded2dee6d2dee6
+dfe1e6d2dee6dcd6d6d2dee6d2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6cdd5dedfe1e6
+d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5decdd5decdd5decdd5debacdd9
+cccdccbacdd9aec4d0aec4d08a99ab6b8673576a6275889b92a8b68ea0898a99ab
+bacdd9b0cbdcb2d2e0b2d2e0b2d2e0b2d2e0b0cbdcb2d2e0b2d2e0b2d2e0bacdd9
+b2d2e0bacdd9b2d2e0bacdd9b2d2e0b2d2e0bacdd9b2d2e0b2d2e0c1d4e2b0cbdc
+b2d2e0c1d4e2b2d2e0bacdd9bacdd9bacdd9bacdd9bacdd9b2d2e0c1d4e2b2d2e0
+bacdd9bacdd9c1d4e2b2d2e0bacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2
+b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c5dae4bacdd9c1d4e2c1d4e2c1d4e2b2d2e0
+c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2
+b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5ded2dee6
+cdd5decdd5ded2dee6c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c5dae4bacdd9c1d4e2c1d4e2
+c1d4e2c1d4e2cccdccc1d4e2c1d4e2c1d4e2cdd5debacdd9c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c1d4e2bacdd9
+c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c5dae4b2d2e0bacdd9c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2d2dee6c1d4e2c5dae4
+c1d4e2c5dae4c1d4e2cdd5decdd5dec5dae4c5dae4cdd5dec1d4e2d2dee6c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4
+c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2
+c5dae4c5dae4c5dae4cdd5dec5dae4c1d4e2c5dae4c1d4e2cdd5dec5dae4c5dae4
+c1d4e2c5dae4c5dae4cdd5dec1d4e2c5dae4c1d4e2c5dae4c5dae4cdd5dec5dae4
+c5dae4c5dae4c5dae4c5dae4cdd5dec1d4e2c5dae4c5dae4c5dae4c5dae4cdd5de
+c1d4e2c1d4e2c1d4e2c5dae4c5dae4cdd5dec1d4e2d2dee6bacdd99fb0bbbacdd9
+c5dae4c5dae4d2dee6bacdd99fb0bb6b85456374717e98828ea0896b8673567f3a
+547443667c74657c444960325773764b6933576b333a4423383c233335223d4f56
+3d573b3944467d9082c1c4c7afb9bcaec4d0cdd5ded2dee6d2dee6d2dee6d2dee6
+cdd5decdd5decdd5decdd5dec1d4e2cdd5dec1d4e2c1d4e2c5dae4cdd5decdd5de
+c1d4e2c5dae4c5dae4c1d4e2d2dee6d2dee6cdd5dec1d4e2d2dee6c5dae4c5dae4
+d2dee6c5dae4d2dee6cdd5decdd5ded2dee6cdd5ded2dee6d2dee6d2dee6dcd6d6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6cdd5dedfe1e6
+d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d2dee6dfe1e6
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6d2dee6
+dfe1e6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6
+cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5dec1d4e2bacdd9bacdd9
+bacdd9bacdd9c1d4e2a3b8bc8a99ab75889b6b86738ea089aeb0bd8a99ab9ea9b4
+b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0bacdd9b2d2e0b0cbdcc1d4e2b2d2e0bacdd9
+b2d2e0b2d2e0b2d2e0bacdd9b2d2e0c1d4e2b2d2e0bacdd9b2d2e0bacdd9bacdd9
+bacdd9b0cbdcb2d2e0c1d4e2bacdd9b2d2e0c1d4e2c1d4e2bacdd9bacdd9c1d4e2
+b2d2e0c1d4e2c1d4e2b2d2e0bacdd9c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2
+b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4bacdd9
+c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4
+c1d4e2c1d4e2d2dee6cdd5ded2dee6d2dee6c1d4e2cdd5dec1d4e2c1d4e2c1d4e2
+bacdd9c1d4e2c1d4e2c1d4e2cdd5dec1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c1d4e2bacdd9cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4c1d4e2c1d4e2c5dae4
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2
+c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4bacdd9c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2
+cdd5dec1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2
+d2dee6c1d4e2cdd5dec1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2cdd5decdd5de
+c1d4e2c1d4e2cdd5dec5dae4cdd5dec5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2d2dee6
+c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c5dae4c1d4e2c5dae4cdd5dec1d4e2c1d4e2
+c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2
+c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2d2dee6c1d4e2
+c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4cdd5ded2dee69da1ab9fb0bb
+bacdd9c1d4e2c5dae4cdd5deafb9bc92a8b68ea0897a91a86b8673576a626b8673
+92a8b64b68657d90828b9882607590666c5e3f4e32333522342d1f272c1f3d4f56
+6b867375889baec4d0c5dae4d2dee6cdd5ded2dee6d2dee6dcd6d6d2dee6cdd5de
+cdd5dec1d4e2cdd5decdd5dec1d4e2c5dae4c1d4e2c1d4e2c1d4e2d2dee6c1d4e2
+cdd5ded2dee6c5dae4c1d4e2cdd5dec1d4e2d2dee6cdd5decdd5decdd5ded2dee6
+d2dee6d2dee6d2dee6c1d4e2d2dee6c5dae4d2dee6cdd5decdd5ded2dee6dfe1e6
+d2dee6d2dee6dcd6d6cdd5ded2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6dcd6d6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6
+dfe1e6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6cdd5decdd5de
+cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6
+d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4c1d4e2cccdccb0cbdcc1d4e2c1d4e2
+b8c3c6afb9bcb8c3c6b0cbdc8a99ab92a8b6a5c4d79fb0bb8da0b69da1abaeb0bd
+b2d2e0b2d2e0b2d2e0b0cbdcb2d2e0c1d4e2b2d2e0b0cbdcb0cbdcbacdd9b2d2e0
+b2d2e0bacdd9b2d2e0c1d4e2b2d2e0b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0b2d2e0
+b2d2e0c5dae4b2d2e0b2d2e0c1d4e2bacdd9b2d2e0c1d4e2b2d2e0c1d4e2b0cbdc
+c1d4e2b0cbdcc1d4e2c1d4e2b2d2e0bacdd9c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2
+c1d4e2b2d2e0c1d4e2c5dae4c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2b2d2e0
+c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2cdd5dec1d4e2cdd5decdd5decdd5ded2dee6cdd5decdd5dec1d4e2c5dae4
+c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2d2dee6c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c5dae4
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2cdd5dec5dae4c1d4e2c5dae4c5dae4c1d4e2cdd5dec5dae4c1d4e2c5dae4
+c1d4e2d2dee6c1d4e2cdd5dec1d4e2c5dae4cdd5dec5dae4c1d4e2cdd5decdd5de
+c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2cdd5dec1d4e2c5dae4
+c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2d2dee6c1d4e2
+c1d4e2cdd5dec5dae4cdd5dec5dae4c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2
+d2dee6c5dae4c5dae4c1d4e2cdd5dec5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4
+cdd5dec1d4e2d2dee6c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4
+cdd5dec5dae4c1d4e2d2dee6c5dae4cdd5decdd5dec5dae4cdd5dec1d4e2cdd5de
+cdd5decdd5ded2dee6c5dae4d2dee6cdd5dec1d4e2cdd5decdd5de9ea9b48ea089
+8da0b67d98b1afb9bcafc0ab7d9082a3b8bcaec4d092a88d7d98b17e98827e9882
+7e988249606577877275889b496065576a624960322f3c22272c1f2f3c22475832
+96b7aba5c4d7d2dee6dfe1e6d2dee6cdd5decdd5decdd5ded2dee6c1c4c7d2dee6
+cdd5dec5dae4c5dae4c1d4e2c1d4e2d2dee6c5dae4d2dee6c1d4e2cdd5decdd5de
+c1d4e2cdd5ded2dee6cdd5dec5dae4d2dee6cdd5dec5dae4c5dae4cdd5ded2dee6
+cdd5ded2dee6cdd5decdd5ded2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6
+dcd6d6d2dee6d2dee6d2dee6cdd5dedfe1e6dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6
+cdd5dedfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6
+cdd5decdd5decdd5decdd5dec5dae4d2dee6c1d4e2d2dee6cdd5ded2dee6d2dee6
+d2dee6cdd5dec5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4
+cdd5ded2dee6d2dee6cdd5dec1d4e2cdd5dec1d4e2afb9bcafb9bcbacdd9afb9bc
+a3b8bcb8c3c6aeb0bdaec4d09fb0bbb0cbdcc1d4e2c1d4e2b8c3c6aeb0bd8da0b6
+b0cbdcb2d2e0b2d2e0bacdd9b2d2e0bacdd9b2d2e0b2d2e0c1d4e2bacdd9b2d2e0
+b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0b2d2e0b2d2e0b2d2e0bacdd9bacdd9c1d4e2
+b2d2e0b2d2e0c1d4e2b2d2e0b2d2e0b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2
+bacdd9c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c5dae4
+b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c5dae4c5dae4c5dae4b2d2e0c5dae4b2d2e0
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c5dae4b2d2e0
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2d2dee6c1d4e2d2dee6d2dee6c1d4e2d2dee6
+cdd5ded2dee6c1d4e2d2dee6cdd5dec1d4e2cdd5dec1d4e2c1d4e2c5dae4cdd5de
+c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2cdd5dec5dae4c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2cdd5decdd5dec1d4e2c5dae4cdd5dec5dae4c1d4e2c5dae4
+c1d4e2cdd5dec1d4e2cdd5dec5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4
+c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2d2dee6c5dae4c1d4e2c1d4e2c5dae4
+c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2cdd5dec1d4e2c1d4e2
+c1d4e2c5dae4c5dae4c1d4e2cdd5dec5dae4cdd5dec5dae4c5dae4c5dae4cdd5de
+c5dae4c1d4e2cdd5dec1d4e2c5dae4c5dae4cdd5dec1d4e2c5dae4cdd5ded2dee6
+c5dae4c1d4e2c1d4e2d2dee6bacdd9cdd5dec5dae4cdd5dec1d4e2c5dae4d2dee6
+c1d4e2cdd5dec5dae4c1d4e2cdd5dec5dae4d2dee6c5dae4c5dae4c1d4e2c5dae4
+cdd5dec1d4e2d2dee6c1d4e2c5dae4c5dae4c5dae4d2dee6c5dae4c1d4e2c5dae4
+c5dae4cdd5decdd5dec1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4c1d4e2c1d4e2
+c5dae4cdd5dec1d4e2d2dee6c5dae4c1d4e2d2dee6c5dae4c5dae4d2dee6c5dae4
+c5dae4c1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6cdd5decdd5dec1c4c7afb9bc
+92a88d6b86737d90826b85454b69336b86737f97536274445773764b6933496065
+757c714960654b6865757c71496065627444666b3b2f3c222f3c22354c313f4e32
+597c75b0cbdcd4dcd0d2dee6d2dee6d2dee6cdd5decdd5dec1d4e2afb9bcc1d4e2
+c1d4e2cdd5ded2dee6cdd5dec1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2d2dee6
+c5dae4cdd5ded2dee6c5dae4cdd5dec5dae4d2dee6d2dee6cdd5ded2dee6cdd5de
+d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dcd6d6cdd5de
+cdd5decdd5ded2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6dcd6d6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dcd6d6d2dee6cdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6dfe1e6d2dee6c5dae4d2dee6
+cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6b0cbdca3b8bcafb9bcbacdd98a99ab9da1abafb9bc94afb9
+a5c4d7aec4d09ea9b49fb0bba3b8bcbacdd9c1d4e2d2dee6bacdd99ea9b492a8b6
+bacdd9bacdd9bacdd9b2d2e0bacdd9b2d2e0c1d4e2b2d2e0b2d2e0b2d2e0b2d2e0
+b0cbdcbacdd9c1d4e2bacdd9b2d2e0c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b2d2e0
+c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2b2d2e0
+c1d4e2bacdd9b2d2e0b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2c5dae4c1d4e2b2d2e0
+c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2d2dee6c5dae4c1d4e2
+cdd5dec1d4e2cdd5decdd5dec5dae4cdd5ded2dee6cdd5ded2dee6cdd5dec1d4e2
+cdd5decdd5dec1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2cdd5dec1d4e2cdd5de
+c1d4e2d2dee6c1d4e2c5dae4c5dae4c1d4e2cdd5dec1d4e2cccdcccdd5dec5dae4
+c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2
+c1d4e2cdd5dec1d4e2cdd5decdd5dec1d4e2cdd5decdd5dec1d4e2d2dee6cdd5de
+c1d4e2d2dee6c1d4e2cdd5dec1d4e2c5dae4c1d4e2c1d4e2d2dee6c5dae4c5dae4
+cdd5ded2dee6c1d4e2cdd5dec1d4e2cdd5ded2dee6d2dee6c1d4e2c5dae4c1d4e2
+d2dee6c1d4e2c5dae4cdd5ded2dee6c5dae4c5dae4c5dae4c1d4e2cdd5debacdd9
+cdd5dec1d4e2c1d4e2cdd5dec5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4d2dee6
+c5dae4c5dae4c1d4e2d2dee6cdd5dec5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4
+c1d4e2c5dae4d2dee6c1d4e2c5dae4d2dee6c5dae4cdd5dec5dae4c5dae4d2dee6
+c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4d2dee6
+d2dee6c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6
+afb9bc9ea88e7e98826274444b681e5474287787465f7b2a5e74295f7b2a627444
+576b334b69336b8673667c746b8673657c444960322f3c22304321373e43354c31
+4b686575889bb8c3c6d2dee6d2dee6cdd5ded2dee6c1d4e29fb0bb8da0b6bacdd9
+d2dee6d2dee6c5dae4cdd5dec5dae4cdd5ded2dee6cdd5dec1d4e2d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5decdd5ded2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6dcd6d6dfe1e6d2dee6dfe1e6cdd5dedfe1e6dfe1e6d2dee6
+dfe1e6cdd5ded2dee6d2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6d2dee6
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6c5dae4d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+c5dae4cdd5dec5dae4d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6d2dee6
+d2dee6cdd5ded2dee6bacdd9aec4d092a8b68da0b68b98827d908281a08975889b
+a3b8bc92a8b68da0b6c1d4e2bacdd9afb9bcafb9bcaec4d0afb9bca3b8bc9fb0bb
+b0cbdcc1d4e2b0cbdcc1d4e2b2d2e0b2d2e0b2d2e0c1d4e2c1d4e2bacdd9b2d2e0
+b2d2e0c1d4e2bacdd9b2d2e0b2d2e0b2d2e0c1d4e2bacdd9c1d4e2bacdd9bacdd9
+c1d4e2b2d2e0bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0
+c1d4e2c1d4e2c5dae4b2d2e0c5dae4b2d2e0c5dae4b2d2e0c5dae4b2d2e0c5dae4
+c1d4e2b2d2e0c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c5dae4c5dae4
+c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0b2d2e0
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4
+cdd5ded2dee6c1d4e2d2dee6c1d4e2cdd5ded2dee6c1d4e2c5dae4cdd5dec5dae4
+d2dee6c1d4e2cdd5decdd5dec1d4e2c5dae4c5dae4c5dae4c1d4e2cdd5dec1d4e2
+cdd5dec5dae4c1d4e2c1d4e2c1d4e2c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4
+c5dae4c1d4e2cdd5decdd5dec1d4e2cdd5dec1d4e2cdd5dec1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2cdd5dec5dae4cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4
+b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec5dae4
+c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2cdd5decdd5dec1d4e2c5dae4
+c1d4e2d2dee6c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2
+c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2cdd5decdd5dec1d4e2c5dae4
+cdd5dec1d4e2c5dae4c5dae4d2dee6cdd5decdd5dec1d4e2cdd5dec1d4e2c5dae4
+c1d4e2d2dee6c1d4e2c1d4e2d2dee6c1d4e2cdd5dec5dae4cdd5ded2dee6c1d4e2
+d2dee6c1d4e2c1d4e2cdd5dec5dae4c1d4e2c5dae4d2dee6c1d4e2d2dee6c1d4e2
+cccdccc1d4e2c1d4e2cdd5dec1d4e2cdd5dec5dae4cdd5dec5dae4c1d4e2d2dee6
+c1d4e2c1d4e2d2dee6c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4c5dae4d2dee6
+c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4cdd5ded2dee6
+c5dae4d2dee6c5dae4c5dae4d2dee6cdd5dec5dae4d2dee6d2dee6d2dee6d2dee6
+d9e6ead9e6ead2dee6b8c3c6b8c3c6cdd5ded2dee6d2dee6d2dee6d2dee6dfe1e6
+cccdcccccdcc8ea089496032657c44576b336274445e74294b69335e74295e7429
+77877287886d7f97537787726f8f52657c44576b332f3c223944464960653f4e32
+3d573b4b68657e9882cccdcc9ea9b4aec4d0b8c3c68a99ab8b988292a8b6c1d4e2
+c1d4e2d2dee6d2dee6cdd5dec5dae4cdd5debacdd9cdd5dec5dae4cdd5ded2dee6
+cdd5ded2dee6d2dee6d9e6eacdd5ded2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6
+d2dee6cdd5ded2dee6cdd5ded2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6
+d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6cdd5decdd5ded2dee6cdd5de
+d2dee6d2dee6d2dee6cdd5ded2dee6cdd5decdd5decdd5ded2dee6cdd5ded2dee6
+cdd5ded2dee6cdd5ded2dee6c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4
+d2dee6cdd5ded2dee6d2dee6c1d4e2b8c3c692a88d7d908270908175889b7d9082
+a3b8bc7a91a88da0b6a5c4d7afb9bca3b8bc9ea9b48a99ab92a8b69fb0bba4bfb5
+bacdd9b0cbdcc1d4e2bacdd9bacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2
+b2d2e0b0cbdcc1d4e2bacdd9c5dae4b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0
+c1d4e2c1d4e2b2d2e0b2d2e0c5dae4c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4
+b2d2e0c1d4e2b2d2e0b2d2e0c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2
+c1d4e2c5dae4c5dae4c1d4e2c5dae4bacdd9c5dae4c5dae4b2d2e0c5dae4c1d4e2
+c1d4e2c1d4e2c5dae4b2d2e0c5dae4c5dae4c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2
+c5dae4b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c5dae4c5dae4cdd5dec1d4e2d2dee6cdd5decdd5dec5dae4d2dee6
+cdd5ded2dee6c5dae4c1d4e2cdd5decdd5dec1d4e2c5dae4c5dae4c1d4e2d2dee6
+c1d4e2c1d4e2d2dee6c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2d2dee6c1d4e2
+cdd5dec1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+cdd5dec5dae4c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2d2dee6c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2
+c5dae4c5dae4cdd5dec5dae4c1d4e2cdd5dec1d4e2c5dae4c5dae4c5dae4c1d4e2
+cdd5dec1d4e2c5dae4c1d4e2c5dae4bacdd9c5dae4c5dae4c1d4e2c1d4e2c1d4e2
+d2dee6c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4cdd5dec1d4e2cdd5dec1d4e2
+c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4cdd5dec5dae4c1d4e2cdd5de
+c5dae4c1d4e2c5dae4c1d4e2c5dae4cdd5decdd5dec1d4e2c1d4e2c5dae4c5dae4
+cdd5ded2dee6c5dae4c1d4e2c1d4e2d2dee6cdd5ded2dee6cdd5dec5dae4cdd5de
+c1d4e2d2dee6c1d4e2c1d4e2d2dee6d2dee6c5dae4c5dae4c1d4e2d2dee6cdd5de
+b8c3c6b8c3c6c1d4e2c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4
+c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4
+c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4
+c5dae4c1d4e2d2dee6cdd5dec5dae4c5dae4c1d4e2c5dae4d2dee6d2dee6d2dee6
+d2dee6d2dee6dcd6d6c1c4c792a8b6b0cbdccdd5ded2dee6d2dee6dfe1e6d2dee6
+dfe1e6dfe1e6c0cbb8667c748ea0896b8545627444767b47475832576b33657c44
+81a0898b98827c90536274447e98826b85454960325560243043213d4f56496065
+344d59576b336b86737e988254605f7787729ea9b47090818a99aba4bfb5d2dee6
+cdd5ded2dee6c5dae4cdd5ded2dee6bacdd99ea9b4b0cbdcd2dee6cdd5ded2dee6
+cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6cdd5de
+d2dee6d2dee6cdd5dedfe1e6cdd5ded2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6
+d2dee6dfe1e6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+c5dae4d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6c1d4e2b8c3c6bacdd9afb9bc7d98b181a08992a8b68a99ab
+7d98b17a91a894afb9a3b8bcb0cbdc9fb0bba3b8bc92a88d7787727e9882a3b7a4
+bacdd9b0cbdcb2d2e0c1d4e2b2d2e0b2d2e0b2d2e0c1d4e2b2d2e0bacdd9c1d4e2
+b2d2e0b2d2e0c1d4e2bacdd9c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4b2d2e0c1d4e2c1d4e2
+b2d2e0c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+b2d2e0c5dae4b2d2e0c5dae4b2d2e0c1d4e2c1d4e2c5dae4c5dae4c5dae4b2d2e0
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4b2d2e0
+c5dae4c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2
+c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2cdd5decdd5dec5dae4
+cdd5ded2dee6cdd5ded2dee6c5dae4d2dee6cdd5ded2dee6c1d4e2cdd5decdd5de
+c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2d2dee6cdd5dec1d4e2cdd5dec5dae4
+c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2d2dee6c1d4e2c5dae4c5dae4
+c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2d2dee6cdd5decdd5dec1d4e2d2dee6
+c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4cdd5dec1d4e2c1d4e2c1d4e2c5dae4
+c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec5dae4c1d4e2c5dae4cdd5de
+bacdd9c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4c5dae4
+cdd5dec1d4e2c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4c1d4e2cdd5dec1d4e2
+cdd5dec1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4cdd5dec1d4e2d2dee6c1d4e2
+c1d4e2cdd5dec5dae4cdd5decdd5dec5dae4c1d4e2c1d4e2c1d4e2d2dee6c1d4e2
+c5dae4d2dee6c5dae4c1d4e2c5dae4cdd5ded2dee6c5dae4c5dae4cdd5ded2dee6
+c1d4e2d2dee6c5dae4d2dee6c1d4e2c5dae4c5dae4c5dae4cdd5dec5dae4d2dee6
+c5dae4d2dee6c5dae4d2dee6cdd5dec5dae4cdd5decdd5dec1d4e2c5dae4c1d4e2
+cccdccc1d4e2c1d4e2c1d4e2d2dee6c1d4e2d2dee6c1d4e2c5dae4d2dee6c5dae4
+c1d4e2c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6
+c1d4e2c5dae4c5dae4d2dee6cdd5dec5dae4c5dae4d2dee6c5dae4cdd5dec5dae4
+d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6cdd5dec5dae4cdd5ded2dee6d2dee6
+d2dee6c1d4e2d2dee6c1d4e284888781a089b8c3c6c1d4e2d2dee6d2dee6d2dee6
+dfe1e6dcd6d6dfe1e6bacdd9bacdd97e9882657c447090814b6933576b333f4e1e
+4e5043576b336274444960326b8673657c443f4e324c5026394446577376597c75
+576a62577376547443576a1f6b8545a4bfb594afb994afa194afb9bacdd9d2dee6
+c1d4e2d2dee6c5dae4d2dee6cdd5de9ea9b48b919fc1d4e2c1d4e2cdd5decdd5de
+d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+d2dee6cdd5dedfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6cdd5dec5dae4d2dee6
+cdd5ded2dee6d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6cdd5decdd5ded2dee6
+cdd5ded2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6c1d4e2d2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6
+c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6
+d2dee6cdd5deaec4d0a4bfb5bacdd9bacdd9a3b8bc9fb0bb819fb792a8b69ea88e
+7787727e988296b7aba5c4d7aec4d0aeb0bd8da0b66b86735474436b85458b9882
+bacdd9bacdd9bacdd9b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2
+b2d2e0c1d4e2bacdd9c1d4e2b2d2e0c5dae4b2d2e0c1d4e2c5dae4b2d2e0c1d4e2
+c1d4e2c5dae4c1d4e2c5dae4b2d2e0c5dae4b2d2e0c1d4e2c5dae4b2d2e0c5dae4
+c1d4e2b2d2e0c1d4e2b2d2e0c5dae4c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c5dae4
+c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2
+c5dae4b2d2e0c5dae4c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2d2dee6c1d4e2c1d4e2d2dee6cdd5de
+c5dae4c1d4e2d2dee6cdd5decdd5decdd5dec5dae4d2dee6d2dee6c5dae4c1d4e2
+d2dee6c1d4e2cdd5dec5dae4c1d4e2cdd5dec5dae4c5dae4cdd5dec5dae4cdd5de
+d2dee6c1d4e2c5dae4c5dae4cdd5decdd5dec5dae4c1d4e2d2dee6c5dae4cdd5de
+cdd5ded2dee6c1d4e2cdd5dec1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2
+cdd5dec1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4
+c1d4e2cdd5dec5dae4c1d4e2c5dae4d2dee6c1d4e2c1d4e2cdd5dec5dae4c5dae4
+c5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2
+cdd5decdd5dec5dae4c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4
+c5dae4c1d4e2d2dee6c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c1d4e2
+c5dae4c5dae4c1d4e2c1d4e2cdd5dec5dae4d2dee6c5dae4cdd5dec5dae4c5dae4
+cdd5dec1d4e2cdd5ded2dee6c1d4e2c5dae4cdd5dec5dae4d2dee6c1d4e2c1d4e2
+d2dee6c1d4e2d2dee6c1d4e2d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4c1d4e2
+c5dae4c1d4e2cdd5dec5dae4cdd5ded2dee6c1d4e2d2dee6cccdccbacdd9cdd5de
+b8c3c6bacdd9d2dee6cdd5decdd5dec1d4e2c1d4e2d2dee6c5dae4c5dae4d2dee6
+d2dee6d2dee6c5dae4c5dae4c5dae4c1d4e2c5dae4cdd5dec1d4e2d2dee6c5dae4
+c5dae4d2dee6c1d4e2c5dae4c1d4e2d2dee6c1d4e2d2dee6cdd5dec5dae4c5dae4
+c5dae4c5dae4c5dae4cdd5ded2dee6c5dae4d2dee6cdd5dec5dae4d2dee6c1d4e2
+d2dee6c5dae4d2dee6cdd5de9fb0bb8b98827787729ea9b4cdd5ded2dee6d4dcd0
+d9e6ead2dee6dfe1e6dcd6d6d2dee69d99813d573b496032767b47576a1f475832
+3335223f4e325e7429576b336b8673496065496065565838394446627d9930444d
+344d59608471637471767b479d9981b0cbdcc1d4e2c1d4e2c5dae4c5dae4c5dae4
+d2dee6c1d4e2d2dee6bacdd99da1ab8b919f9fb0bbc1d4e2c1d4e2d2dee6d2dee6
+cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5de
+dfe1e6dcd6d6d2dee6d2dee6d2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4
+cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c1d4e2
+cccdccb8c3c69fb0bbaec4d0c5dae4c1d4e2bacdd9aec4d0aec4d092a8b66b8673
+7090817e988292a8b69fb0bb8a99abafb9bc9fb0bb848887757c717787728b919f
+c1d4e2b2d2e0c1d4e2bacdd9b2d2e0c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2
+b2d2e0c1d4e2bacdd9c5dae4b2d2e0c1d4e2c1d4e2bacdd9c1d4e2b2d2e0b2d2e0
+c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c5dae4b2d2e0c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0
+c5dae4b2d2e0c1d4e2b2d2e0c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4c1d4e2
+c5dae4c5dae4bacdd9c5dae4b2d2e0c5dae4b2d2e0c1d4e2b2d2e0c1d4e2c5dae4
+c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2b2d2e0c5dae4c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2
+d2dee6c1d4e2c5dae4cdd5ded2dee6cdd5decdd5dec5dae4cdd5ded2dee6c1d4e2
+d2dee6c5dae4d2dee6c5dae4c5dae4cdd5ded2dee6c1d4e2d2dee6c5dae4c1d4e2
+d2dee6c5dae4c5dae4c5dae4c5dae4cdd5ded2dee6c1d4e2c1d4e2c5dae4c5dae4
+c1d4e2cdd5decdd5decdd5dec1d4e2d2dee6c1d4e2c1d4e2c5dae4cdd5dec5dae4
+c1d4e2cdd5dec1d4e2c5dae4d2dee6c1d4e2c5dae4cdd5dec1d4e2cdd5dec1d4e2
+c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2
+c1d4e2c5dae4c1d4e2cdd5dec1d4e2cdd5dec5dae4c1d4e2c5dae4c5dae4c1d4e2
+cdd5dec1d4e2cdd5decdd5dec1d4e2d2dee6c1d4e2c5dae4c5dae4cdd5decdd5de
+c1d4e2c1d4e2c5dae4c5dae4c1d4e2d2dee6c1d4e2cdd5dec5dae4c1d4e2d2dee6
+c1d4e2d2dee6cdd5dec1d4e2c5dae4c1d4e2c1d4e2d2dee6c1d4e2c5dae4c5dae4
+cdd5dec5dae4cdd5dec5dae4c1d4e2d2dee6c5dae4c1d4e2d2dee6d2dee6c1d4e2
+d2dee6cdd5ded2dee6cdd5dec5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6
+c1d4e2d2dee6c5dae4c5dae4cdd5decdd5decdd5decdd5dec1c4c7bacdd9cdd5de
+cdd5debacdd9c5dae4c5dae4cdd5dec5dae4d2dee6c5dae4c5dae4cdd5dec5dae4
+c5dae4c5dae4cdd5dec5dae4d2dee6d2dee6c1d4e2d2dee6c1d4e2cdd5decdd5de
+c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c1d4e2c5dae4
+c5dae4c5dae4c5dae4c1d4e2d2dee6cdd5dec5dae4d2dee6d2dee6c5dae4c1d4e2
+d2dee6d2dee6d2dee6d2dee6c1d4e28b98826374718b90809da1aba0b09fd2dee6
+d2dee6dfe1e6d9e6eacdd5dec1d4e287886d354c31547428697c2b656c26496032
+2a34383f4e326183455773763d573b576a627787725f61562e3c44465864465864
+475832657c448b9080757b2db8c3c6d2dee6d2dee6c5dae4cdd5ded2dee6cdd5de
+c5dae4c1d4e2b8c3c69ea9b49ea88e9ea9b4afb9bcd2dee6c1d4e2cdd5decdd5de
+d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6cdd5decdd5dedfe1e6d2dee6
+d2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6
+d2dee6cdd5dedfe1e6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6cdd5decdd5de
+d2dee6d2dee6cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6c5dae4
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6bacdd9
+9ea9b49fb0bbafb9bca3b8bcafb9bcaec4d0cdd5decdd5deaec4d09fb0bb75889b
+6b86737e98827a91a892a8b6709081a0b09faec4d08b9882757c717e9882aec4d0
+bacdd9bacdd9b2d2e0c1d4e2c1d4e2bacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2
+b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2
+b2d2e0c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4
+c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c5dae4b2d2e0c5dae4c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4b2d2e0c5dae4c5dae4c1d4e2
+c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c1d4e2
+c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2d2dee6c5dae4c1d4e2
+c1d4e2cdd5dec5dae4cccdccd2dee6c1d4e2cdd5ded2dee6c1d4e2d2dee6c1d4e2
+d2dee6c5dae4c1d4e2d2dee6c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4
+d2dee6c1d4e2d2dee6c5dae4c5dae4cdd5dec1d4e2c1d4e2d2dee6c5dae4c1d4e2
+d2dee6c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4d2dee6c1d4e2c1d4e2c5dae4
+c5dae4cdd5dec5dae4c1d4e2c1d4e2cdd5dec1d4e2c5dae4c5dae4c5dae4c1d4e2
+d2dee6c1d4e2cdd5dec5dae4c5dae4c5dae4c1d4e2c1d4e2cdd5dec5dae4c5dae4
+c1d4e2c5dae4c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2
+c5dae4cdd5ded2dee6c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2
+c5dae4d2dee6c1d4e2cdd5dec5dae4c5dae4cdd5dec1d4e2d2dee6c1d4e2cdd5de
+c5dae4c5dae4c5dae4cdd5decdd5dec5dae4c5dae4c1d4e2d2dee6cdd5dec1d4e2
+d2dee6c1d4e2d2dee6c5dae4c5dae4c5dae4cdd5ded2dee6cdd5decdd5dec1d4e2
+c1d4e2c5dae4cdd5dec5dae4d2dee6cdd5dec5dae4d2dee6c1d4e2d2dee6c5dae4
+cdd5dec5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6bacdd9bacdd9c1d4e2cdd5de
+c1c4c7b8c3c6c5dae4bacdd9c1d4e2cdd5dec5dae4c5dae4c5dae4c5dae4d2dee6
+c1d4e2d2dee6d2dee6cdd5dec5dae4c1d4e2d2dee6c1d4e2d2dee6c5dae4d2dee6
+c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4c1d4e2d2dee6d2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4cdd5dec5dae4c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d4dcd0c0cbb87787726f8f526f8f5277874681a089
+c0cbb8cdd5debacdd9b0b8a392a8b6667c745474436f8f526f8f524b6933304321
+4b68656084717e988294afa17d98b1667c749da1ab848887373e43354c316b8673
+6f8f525e742949601f6b854594afa1c5dae4cccdccd4dcd0c1d4e2bacdd9bacdd9
+b8c3c69ea88e7787726084717d9082afc0abbacdd9c1d4e2c5dae4d2dee6d2dee6
+cdd5ded2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6
+d2dee6cdd5ded2dee6cdd5ded2dee6d2dee6dfe1e6cdd5decdd5ded2dee6cdd5de
+cdd5ded2dee6cdd5ded2dee6cdd5ded9e6ead2dee6d2dee6cdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5ded2dee6c5dae4d2dee6d2dee6
+c5dae4cdd5ded2dee6d2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4c1d4e2b8c3c6c0cbb8
+92a8b69ea08a9ea9b49ea9b4778772819fb7aec4d0b8c3c6b8c3c6b0cbdc9fb0bb
+7d90828da0b69da1ab9ea9b47d908270908192a8b6afb9bc8a99ab6b86738ea089
+bacdd9c1d4e2bacdd9bacdd9b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4b2d2e0
+c1d4e2c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2
+c5dae4c1d4e2c1d4e2c5dae4b2d2e0b2d2e0c5dae4c1d4e2c5dae4b2d2e0c1d4e2
+b2d2e0c5dae4c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4b2d2e0c5dae4b2d2e0
+c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c5dae4c1d4e2c5dae4b2d2e0c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5ded2dee6
+c1d4e2c1d4e2c5dae4cccdcccdd5dec1d4e2c1d4e2cdd5dec1d4e2d2dee6c1d4e2
+d2dee6c5dae4c1d4e2d2dee6d2dee6cdd5decdd5ded2dee6d2dee6c5dae4c5dae4
+c5dae4c5dae4cdd5dec1d4e2c5dae4cdd5ded2dee6c1d4e2c5dae4d2dee6c1d4e2
+c5dae4c5dae4c1d4e2c5dae4c1d4e2cdd5dec5dae4c5dae4cdd5decdd5dec5dae4
+c1d4e2cdd5decdd5dec1d4e2c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4c5dae4
+c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c5dae4
+d2dee6c1d4e2cdd5dec5dae4cdd5ded2dee6c1d4e2c5dae4cdd5dec5dae4c1d4e2
+c5dae4c1d4e2cdd5decdd5dec1d4e2d2dee6c5dae4d2dee6c1d4e2c1d4e2cdd5de
+c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2
+cdd5ded2dee6c1d4e2c5dae4cdd5decdd5dec5dae4c5dae4c5dae4c5dae4cdd5de
+cdd5dec5dae4d2dee6c5dae4c5dae4cdd5dec1d4e2d2dee6c1d4e2cdd5dec1d4e2
+d2dee6d2dee6cdd5dec5dae4c5dae4cdd5dec5dae4d2dee6c1d4e2cdd5dec5dae4
+c5dae4c1d4e2d2dee6c1d4e2d2dee6c1d4e2cdd5debacdd99ea9b4afb9bcbacdd9
+bacdd9bacdd9bacdd99fb0bbc1d4e2cdd5ded2dee6cdd5decdd5dec5dae4c5dae4
+cdd5dec5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4c5dae4d2dee6
+d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4
+c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6
+d2dee6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e68ea0897f97536b8673697c2b657c44
+8ea0898ea0898b98828ea08992a88d81a08996b7aba3b7a481a089577376577376
+8a99abaec4d0a5c4d7aec4d09ea9b48b919f637471565838394446576a626f8f52
+576b33354c314b69335e74298b98828ea0898a99ab7787727787726b8673667c74
+667c7462744477877295af7a9fb0bbafb9bc9da1abcdd5dec1d4e2cdd5ded2dee6
+cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5de
+dfe1e6d2dee6cdd5decdd5decdd5decdd5ded2dee6d2dee6cdd5decdd5ded2dee6
+cdd5ded2dee6d2dee6cdd5decdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6cdd5dedfe1e6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6bacdd9aec4d0aec4d0a3b8bc
+afc0ab92a88d9da1ab8b98828b98827d98b192a8b6aeb0bda5c4d7aec4d0aec4d0
+aec4d0aec4d09fb0bb8da0b66886a67e9882a3b8bcaec4d09ea9b48da0b6778772
+b2d2e0b2d2e0b2d2e0c1d4e2bacdd9c1d4e2b2d2e0c1d4e2b2d2e0b2d2e0c1d4e2
+c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c5dae4c1d4e2b2d2e0c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4c5dae4b2d2e0b2d2e0c5dae4c1d4e2c1d4e2c5dae4
+c1d4e2c5dae4b2d2e0c5dae4c5dae4c5dae4b2d2e0c5dae4c1d4e2c5dae4c1d4e2
+c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4
+c5dae4b2d2e0c5dae4c5dae4b2d2e0c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4
+b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2
+c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2cdd5decdd5dec1d4e2c1d4e2
+c1d4e2d2dee6c5dae4c5dae4d2dee6c5dae4cdd5ded2dee6c1d4e2cdd5decdd5de
+c1d4e2c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c1d4e2d2dee6d2dee6
+cdd5ded2dee6c5dae4d2dee6cdd5dec5dae4cdd5dec5dae4cdd5ded2dee6cdd5de
+d2dee6c5dae4c1d4e2d2dee6c1d4e2d2dee6cdd5dec1d4e2c5dae4cdd5dec5dae4
+c5dae4c1d4e2c5dae4c5dae4cdd5dec1d4e2c1d4e2d2dee6c1d4e2cdd5decdd5de
+cdd5dec1d4e2d2dee6cdd5dec5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2cdd5de
+c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2d2dee6cdd5dec5dae4c5dae4c5dae4
+c5dae4d2dee6c1d4e2c1d4e2c5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4
+d2dee6c5dae4c1d4e2d2dee6c1d4e2d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6
+c1d4e2c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4cdd5dec5dae4
+cdd5decdd5decdd5dec1d4e2d2dee6c1d4e2d2dee6c1d4e2bacdd9bacdd9b8c3c6
+cdd5dec1d4e2c1d4e2d2dee6cdd5dec1d4e2d2dee6c1d4e2d2dee6c5dae4c1d4e2
+d2dee6cdd5dec5dae4c5dae4c5dae4d2dee6c1d4e2bacdd9a3b8bcafb9bc9fb0bb
+afb9bcafb9bcaec4d0a3b8bcb2d2e0d2dee6d2dee6cdd5dec5dae4c5dae4d2dee6
+c5dae4c1d4e2d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6cdd5dec5dae4
+cdd5ded2dee6d2dee6c5dae4c1d4e2d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c1d4e2
+d2dee6d9e6ead2dee6dfe1e6dfe1e6d4dcd0b8c1af8c9853778746697c2b657c44
+60832a697c2b697c2b697c2b7787466f8f528c98537d9082475832576a627d9082
+9fb0bbafb9bc8a99ab77877284888784888754605f4e50433a442356603a657c44
+576b333f4e1e68752b86874a867c4c3f4e323f4e323944464960654b68653d5f25
+666c5e6b867394afa1c1d4e2cdd5de9da1abada17fb8c3c6cdd5dec1d4e2c1d4e2
+d2dee6cdd5ded2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6c1d4e2d2dee6bacdd9cccdcccdd5ded2dee6d2dee6d2dee6
+d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6c1d4e2
+d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6
+c1d4e2d2dee6d2dee6cdd5decdd5ded2dee6c1d4e2d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6
+c5dae4d2dee6c1d4e2d2dee6d2dee6c1d4e2c5dae4bacdd9bacdd9afb9bcaec4d0
+c5dae49fb0bba4bfb58a99ab92a8b6a3b8bcb0cbdc9fb0bb8da0b6aeb0bdc1c4c7
+c1d4e2c5dae4c1d4e2aec4d07a91a8627d9992a8b6aec4d0aec4d09ea9b47d9082
+bacdd9bacdd9b2d2e0c1d4e2c1d4e2bacdd9b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0
+bacdd9c1d4e2c5dae4c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c5dae4c5dae4
+c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4
+c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c5dae4
+c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4
+c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4
+c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c1d4e2cdd5ded2dee6c1d4e2
+c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4cdd5dec5dae4c5dae4d2dee6
+cdd5ded2dee6cdd5dec5dae4d2dee6cdd5dec1d4e2d2dee6c5dae4c5dae4c5dae4
+c1d4e2d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2
+cdd5ded2dee6c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4cdd5dec1d4e2
+c5dae4cdd5dec5dae4c5dae4d2dee6cdd5dec1d4e2c5dae4c5dae4c5dae4d2dee6
+c1d4e2c5dae4c5dae4c1d4e2cdd5ded2dee6c1d4e2c1d4e2c5dae4cdd5decdd5de
+c5dae4d2dee6c5dae4d2dee6c5dae4c1d4e2d2dee6d2dee6c1d4e2d2dee6c5dae4
+c5dae4c5dae4cdd5dec5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4c1d4e2
+d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2cdd5dec1d4e2c5dae4c5dae4
+cdd5dec5dae4c5dae4c5dae4d2dee6d2dee6c1d4e2d2dee6c5dae4d2dee6c5dae4
+c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4cdd5dec1d4e2b8c3c6b8c3c6aec4d0
+cdd5debacdd9c1d4e2c5dae4cdd5ded2dee6c5dae4c1d4e2d2dee6d2dee6c1d4e2
+d2dee6c5dae4cdd5dec5dae4c5dae4d2dee6bacdd9bacdd9afb9bcb8c3c692a8b6
+94afa1afc0ab9ea9b4b2d2e0c1d4e2c5dae4d2dee6c1d4e2d2dee6cdd5ded2dee6
+c5dae4c5dae4c5dae4d2dee6cdd5ded2dee6d2dee6c1d4e2d2dee6c5dae4d2dee6
+c1d4e2c5dae4c1d4e2d2dee6d2dee6d2dee6c5dae4c5dae4c1d4e2d2dee6d2dee6
+cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6c1d4e2cdd5decdd5decdd5de9ea08a576b335e74294b6933
+4b69335474285474285e74297b90347c90536f8f525e74294758324b6865608471
+94afa19fb0bba0b09f757c7163747175704d3944465f61565658386b8673627444
+576b33576a1f7787469f90356660334c50263d5f253d573b496065709081819fb7
+a3b7a4b8c3c6b8c3c6a0b09f8b905587886dafb09ecccdccd2dee6c1d4e2cdd5de
+c1d4e2cdd5ded2dee6cdd5decdd5dec1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6
+c5dae4c5dae4d9e6eacdd5decccdcca3b8bcbacdd9cdd5ded2dee6c5dae4cdd5de
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5de
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6aec4d0aec4d0bacdd99ea9b4b0cbdca3b8bcaec4d0bacdd9bacdd9
+aec4d0b8c3c6aec4d0a3b8bca3b8bcb0cbdcb8c3c6aec4d0aec4d0a3b8bca3b8bc
+a3b8bcc1d4e2c5dae4d2dee68b919fa3b8bca5c4d79fb0bbafb9bc8a99ab8ea089
+c1d4e2c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2
+c5dae4c1d4e2b2d2e0c1d4e2c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c5dae4b2d2e0
+b2d2e0c5dae4c1d4e2c1d4e2c5dae4c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4
+c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2
+c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2
+c1d4e2b2d2e0c5dae4c1d4e2c5dae4c5dae4b2d2e0c1d4e2c1d4e2c5dae4c5dae4
+c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2d2dee6
+c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2
+d2dee6c1d4e2c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c1d4e2c5dae4c5dae4
+c5dae4cdd5dec5dae4cdd5dec5dae4cdd5dec1d4e2c5dae4d2dee6c5dae4cdd5de
+d2dee6c1d4e2d2dee6cdd5dec1d4e2d2dee6d2dee6c5dae4c5dae4c1d4e2d2dee6
+d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4
+c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4cdd5dec5dae4
+cdd5dec5dae4cdd5ded2dee6c1d4e2c5dae4d2dee6cdd5dec5dae4d2dee6c1d4e2
+d2dee6c5dae4c5dae4d2dee6c1d4e2cdd5decdd5dec1d4e2d2dee6c5dae4c1d4e2
+d2dee6c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4
+c5dae4d2dee6c5dae4cdd5dec1d4e2cdd5dec5dae4c5dae4d2dee6c5dae4c5dae4
+c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4cdd5de
+c5dae4d2dee6cdd5dec5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4d2dee6
+d2dee6c1d4e2d2dee6d2dee6c5dae4c5dae4c5dae4bacdd9b8c3c6a4bfb5aec4d0
+c0cbb8bacdd9bacdd9c1d4e2c5dae4c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6
+c5dae4d2dee6c5dae4c5dae4c1c4c7c1d4e2bacdd9aec4d0a3b8bca4bfb5a4bfb5
+a0b09f9da1abafc0abc5dae4c1d4e2d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6
+c5dae4d2dee6d2dee6c5dae4cdd5ded2dee6c5dae4d2dee6c1d4e2d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6c5dae4afb9bc9fb0bbcccdccd2dee6c0cbb87787727c9053618345
+576b334b6933567f3a576b338b9055656c266b85455f7b2a576a62597c7592a8b6
+a3b8bc9fb0bb8488874e50434e50433a44233d4f56666c5e56603a757c714b6933
+3c58223f4e1e77874687872c75704d475832657c447e988254744381a08994afa1
+b0b8a39ea88e778746657c44657c44657c449fb0bbc1d4e2d2dee6bacdd9c5dae4
+c1d4e2c5dae4cdd5ded2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6c1d4e2
+d2dee6d2dee6c5dae4d2dee6bacdd9c1c4c7cccdccd2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6cdd5decdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6dcd6d6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6cdd5de
+d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6cdd5dec5dae4d2dee6c5dae4
+d2dee6d2dee6c5dae4c1d4e2cdd5deb0cbdcc5dae4aec4d0a3b8bc9fb0bba3b8bc
+aec4d0c1d4e2bacdd9bacdd9aec4d0afb9bcafb9bc9ea9b49fb0bba5c4d7819fb7
+7d98b1a3b8bc9fb0bbaec4d0a3b8bc96b7abd2dee6c1d4e29ea9b48b9882778772
+c1d4e2b2d2e0c5dae4bacdd9c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0
+b2d2e0c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2b2d2e0c5dae4
+c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4
+c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4
+c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4
+c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4
+c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4d2dee6c1d4e2
+d2dee6c1d4e2d2dee6d2dee6c5dae4d2dee6c5dae4c1d4e2d2dee6c5dae4cdd5de
+d2dee6c5dae4c5dae4d2dee6c5dae4cdd5ded2dee6d2dee6d2dee6c1d4e2d2dee6
+d2dee6c5dae4cdd5ded2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6d2dee6c5dae4
+d2dee6c5dae4cdd5ded2dee6c5dae4d2dee6d2dee6c1d4e2d2dee6cdd5ded2dee6
+c5dae4c1d4e2cdd5decdd5decdd5dec5dae4d2dee6c5dae4cdd5dec5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6c1d4e2c5dae4d2dee6c5dae4
+d2dee6c1d4e2cdd5ded2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4
+c1d4e2c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c1d4e2d2dee6
+c5dae4c1d4e2d2dee6c5dae4c1d4e2d2dee6c1d4e2c5dae4cdd5dec5dae4c5dae4
+d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6d2dee6c1d4e2c5dae4
+d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6c5dae4c1d4e2afc0abafb9bc9fb0bb
+a4bfb5a3b8bcb8c3c6c1d4e2cdd5dec5dae4d2dee6c5dae4c5dae4c5dae4c5dae4
+d2dee6c5dae4d2dee6c5dae4bacdd9bacdd9bacdd9a3b8bca3b7a494afb992a8b6
+b8c3c692a88daec4d0bacdd9c1d4e2d2dee6c5dae4cdd5ded2dee6c5dae4d2dee6
+c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4
+c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6
+c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6bacdd99fb0bbafb9bccdd5decdd5decccdcc8b9882657c44
+5474436b86736183457d90827787468b90556f8f5281a0897d98b17d98b19fb0bb
+aec4d09ea9b4666b3b4c50263a4423383c235f615687886d87886daeb0bd778772
+5474436b8545767b47574f26383c23556024618345778746657c447b90347c9053
+7d97365e74295e74295f7b2a709081819fb7a3b8bcbacdd9c5dae4cdd5dec1d4e2
+cdd5dec5dae4d2dee6d2dee6c1d4e2d2dee6cdd5ded2dee6c1d4e2d2dee6c5dae4
+d2dee6cdd5ded2dee6cdd5deb0cbdcafb9bcb8c3c6d2dee6cdd5dec5dae4cdd5de
+cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+c1d4e2d2dee6d2dee6cdd5ded2dee6dfe1e6cdd5ded2dee6d2dee6d2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6bacdd9c1d4e2c5dae4
+cdd5ded2dee6c5dae4d2dee6d2dee6b8c3c6bacdd99fb0bba0b09faec4d0a4bfb5
+a5c4d7aec4d0aec4d0afb9bcafb9bcaec4d0b8c3c69ea9b4aec4d09ea9b47a91a8
+7a91a8819fb78da0b692a8b68da0b681a089aec4d0c1d4e2b8c3c67d9082778772
+c1d4e2c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2
+c5dae4c1d4e2b2d2e0b2d2e0c5dae4c5dae4b2d2e0b2d2e0c5dae4c1d4e2c5dae4
+c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c5dae4c5dae4
+c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4
+c5dae4d2dee6c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c5dae4c1d4e2c5dae4b2d2e0c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4
+c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4
+c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4
+c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4
+c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6
+cdd5ded2dee6cdd5ded2dee6d2dee6c5dae4cdd5decdd5ded2dee6d2dee6c5dae4
+cdd5ded2dee6d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c1d4e2c5dae4
+c5dae4d2dee6c5dae4cdd5dec5dae4c5dae4c5dae4d2dee6c5dae4c1d4e2d2dee6
+c5dae4c1d4e2d2dee6cdd5dec5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4d2dee6
+d2dee6c5dae4d2dee6d2dee6c5dae4c1d4e2d2dee6c5dae4c1d4e2d2dee6c5dae4
+c1d4e2d2dee6c1d4e2d2dee6c1d4e2d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6
+d2dee6c1d4e2c5dae4c1d4e2c1d4e2d2dee6c5dae4cdd5ded2dee6c5dae4c5dae4
+d2dee6d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4cdd5de
+c5dae4c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4d2dee6d2dee6
+c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6bacdd9bacdd992a88d81a089
+8ea0899ea9b4aec4d0c1d4e2cdd5dec5dae4d2dee6c5dae4d2dee6c5dae4d2dee6
+d2dee6c5dae4d2dee6cdd5ded2dee6cdd5deb0cbdca3b8bc92a8b694afa1709081
+9ea88e7d90829fb0bbbacdd9d2dee6c1d4e2c1d4e2c5dae4d2dee6c5dae4d2dee6
+d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6
+c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d9e6ead2dee6
+dfe1e6c5dae4d2dee6d2dee6d2dee6d9e6ead2dee6c5dae4d2dee6d9e6eac5dae4
+d2dee6d2dee6d2dee6d2dee6c0cbb88b98828a99abafb9bccccdcc75889b3d5f25
+547443657c446b85456b854577874668752b576b3371975392a8b6c0cbb8b0cbdc
+bacdd98b9080666b3b5560243a44234758327787468b90558ea0899ea08a778772
+6f8f527b90345560243a44233a44233c5822697c2b4b6933556024767b476b8545
+697c2b68752b6b8545657c4492a88da4bfb5afc0abc1d4e2cdd5dec5dae4cdd5de
+d2dee6d2dee6c5dae4c1d4e2d2dee6c5dae4cdd5decdd5dec5dae4d2dee6d2dee6
+cdd5debacdd9cccdccc5dae4afb9bc9fb0bbcdd5decdd5ded2dee6cdd5decdd5de
+d2dee6cdd5decdd5ded2dee6d2dee6d2dee6cdd5ded9e6eac5dae4d2dee6d2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d9e6ead2dee6d2dee6cccdccd2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d9e6eac5dae4bacdd9a3b8bcafb9bc
+bacdd9cccdccb8c3c6bacdd9c1d4e2bacdd9b8c3c6afb9bc94afa175889b8a99ab
+c1d4e2bacdd9bacdd9c1d4e2c1d4e2cdd5dec1d4e2b0cbdca3b8bc6b86737a91a8
+94afb9a5c4d796b7ab9fb0bb94afb9a4bfb57e98828ea0898da0b68ea089709081
+c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2
+c1d4e2c5dae4c1d4e2c5dae4b2d2e0c5dae4c5dae4c5dae4b2d2e0c5dae4c1d4e2
+c5dae4b2d2e0c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4
+c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4
+c5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4
+c5dae4c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2
+c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2
+d2dee6c5dae4c1d4e2c5dae4c5dae4c5dae4cdd5ded2dee6c5dae4c5dae4c5dae4
+c5dae4d2dee6c5dae4d2dee6d2dee6cdd5dec5dae4c5dae4d2dee6d2dee6c1d4e2
+d2dee6c5dae4cdd5ded2dee6cdd5decdd5ded2dee6cdd5ded2dee6d2dee6d2dee6
+c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6
+c5dae4d2dee6d2dee6c5dae4d2dee6cdd5dec1d4e2c5dae4d2dee6cdd5decdd5de
+d2dee6c5dae4c5dae4d2dee6c1d4e2d9e6eac1d4e2d2dee6c5dae4d2dee6c1d4e2
+d2dee6c1d4e2cdd5ded2dee6d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6d2dee6
+c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4
+c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4
+d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4
+d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c1d4e2bacdd9b8c3c68ea0898ea089
+81a08992a88da3b8bcbacdd9cdd5dec1d4e2c5dae4cdd5ded2dee6c1d4e2d2dee6
+c5dae4c5dae4d2dee6c5dae4d2dee6bacdd9a3b8bca3b7a49ea9b4bacdd996b7ab
+81a0897090819fb0bbb2d2e0c5dae4b0cbdcaec4d0c1d4e2c5dae4c5dae4c5dae4
+d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6
+c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6c1d4e29ea9b46b85456b85458c98537c9053608471
+7090816b85456b8545657c446f8f52778746778746697c2b6b867392a7599ea88e
+9ea88e87886d86874a666b3b757c717e9882697c2b697c2b867c4c9e98538c9853
+6b852c6b852c56603a3335222f3c224b69336b852c757b2d8b9033757b2d767b47
+6b852c68752b7787467090817090818b90809ea9b4cdd5decdd5ded2dee6c5dae4
+c5dae4d2dee6d2dee6c5dae4cdd5dec5dae4d2dee6cdd5ded2dee6c5dae4d2dee6
+d2dee6c1d4e2c1d4e2bacdd9c1c4c7b8c3c6cdd5ded2dee6cdd5debacdd9cccdcc
+cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6
+d2dee6d2dee6d2dee6cdd5dec1d4e2d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5dec1c4c7c5dae4a5c4d7a5c4d7
+b8c3c6bacdd9b0cbdcc1d4e294afa192a88daec4d0a4bfb57090817e988294afb9
+a4bfb5aec4d0bacdd9aec4d0a4bfb5bacdd9bacdd99fb0bb9da1ab75889b819fb7
+aec4d09fb0bb819fb7819fb77a91a8819fb76b86736374716b867375889b92a8b6
+c1d4e2c1d4e2c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4
+b2d2e0c1d4e2b2d2e0c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4
+c1d4e2c5dae4c1d4e2c5dae4c1d4e2b2d2e0c5dae4c5dae4c5dae4c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4
+d2dee6c1d4e2c5dae4d2dee6c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2
+c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4
+c1d4e2d2dee6c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4
+c1d4e2c5dae4c5dae4c1d4e2d2dee6c5dae4c1d4e2c5dae4c1d4e2c5dae4d2dee6
+d2dee6c5dae4c1d4e2cdd5dec1d4e2d2dee6c5dae4c5dae4c1d4e2d2dee6c1d4e2
+d2dee6c5dae4cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6
+d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6c1d4e2d2dee6d2dee6c5dae4
+d2dee6c1d4e2c5dae4d2dee6c1d4e2d2dee6c5dae4d2dee6cdd5dec5dae4d2dee6
+c5dae4d2dee6d2dee6c5dae4c5dae4cdd5ded2dee6c5dae4c5dae4c1d4e2d2dee6
+c5dae4d2dee6c5dae4c1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4c5dae4
+d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6cdd5ded2dee6cdd5de
+d2dee6c5dae4c5dae4d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4cdd5decdd5de
+d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4
+d2dee6c1d4e2c5dae4cdd5dec5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+cdd5ded2dee6d2dee6c1d4e2d2dee6cdd5decdd5debacdd9b8c3c695af7a7e9882
+7d90827e9882a3b8bcc1d4e2bacdd9c1d4e2cdd5ded2dee6c5dae4d2dee6c1d4e2
+d2dee6cdd5decdd5decdd5ded2dee6c1d4e2a3b7a4709081a3b7a496b7ab94afa1
+819f5960847192a88dafc0abbacdd98ea08994afb9c1d4e2d2dee6d2dee6c5dae4
+d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4
+c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6d4dcd0bacdd9afb09e87886d547443657c446f8f52
+7e98827c90537787466f8f5292a88d86874a8b9055656c26576b334b69337b9034
+657c44576b336b85455f7b2a6b86738b9055697c2b68752b7787467b90346b852c
+7b9034627444547443354c31576b337787467b90347b90348b9055766e2d757b2d
+657c44547443657c447e98827e98827e988275889bc1d4e2d2dee6d2dee6d2dee6
+cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4
+cdd5ded2dee6cdd5deb8c3c6aec4d0afb9bcc1d4e2d2dee6d2dee6cdd5decdd5de
+cdd5decdd5ded2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5ded2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6bacdd9d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6b0cbdca3b8bcbacdd9b8c3c6
+b8c3c6bacdd9b8c3c6a5c4d79fb0bba3b8bca4bfb58da0b694afa1b0cbdcbacdd9
+aec4d0a3b8bc9fb0bb8b98826374717d90829ea9b494afa192a8b67e9882819fb7
+aec4d0b0cbdca3b8bcb0cbdc81a08992a8b6819fb77d98b19ea9b48da0b68da0b6
+c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4b2d2e0c1d4e2
+c5dae4c5dae4c1d4e2c5dae4b2d2e0c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4
+c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4
+c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4
+d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4
+c5dae4c1d4e2c1d4e2c5dae4c1d4e2d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4
+c5dae4c1d4e2c1d4e2c5dae4d2dee6c5dae4c5dae4c1d4e2c5dae4d2dee6c5dae4
+c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6c1d4e2d2dee6
+c5dae4d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6c1d4e2
+d2dee6c5dae4cdd5ded2dee6c5dae4cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6c1d4e2d9e6eacdd5dec5dae4d2dee6d2dee6
+d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6cdd5dec5dae4
+c5dae4cdd5ded2dee6d2dee6c5dae4cdd5ded2dee6cdd5ded2dee6cdd5ded2dee6
+c5dae4c5dae4d2dee6d2dee6c1d4e2c5dae4d2dee6c1d4e2cdd5ded2dee6c1d4e2
+d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6
+d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4
+d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6
+d2dee6c5dae4c5dae4d2dee6cdd5dec5dae4c5dae4cdd5ded2dee6c5dae4c5dae4
+d2dee6cdd5ded2dee6cdd5ded2dee6c5dae4cdd5debacdd9a0b09f8ea0897c9053
+8b988281a089a0b09faec4d0b8c3c6bacdd9c5dae4d2dee6c1c4c7c5dae4c1d4e2
+d2dee6c1d4e2bacdd9c1d4e2d2dee6c5dae4a3b7a47c90536b86736b867392a88d
+6b8673576b33597c757090817e98828b9882b2d2e0d2dee6d2dee6d2dee6d2dee6
+c5dae4d2dee6c5dae4d2dee6d2dee6c1d4e2c5dae4d2dee6c1d4e2d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6c5dae4d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6c5dae4d9e6ead2dee6d4dcd0cccdcc848887547443597c755f7b2a
+6b85456b852c54742854744392a88d7c905356603a3f4e32576b335474285f7b2a
+5e74295f7b2a6b85457787467d90826f8f526b852c778746767b4787872c60832a
+6b854592a88d92a8b692a88d81a08992a8b67787467c905386874a666b3b555824
+47583270908181a089a4bfb5bacdd9bacdd9b8c3c6c1d4e2d4dcd0cdd5ded2dee6
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6
+d2dee6cdd5decdd5debacdd9aec4d09ea9b4c1c4c7bacdd9cdd5decccdcccccdcc
+c5dae4d2dee6cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6dfe1e6d2dee6d2dee6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e29ea9b494afb9a3b8bc
+aec4d0b8c3c69fb0bba3b8bc92a8b692a8b6a3b8bc9fb0bb9ea88e9da1abafb9bc
+bacdd9afb9bc9ea9b475889b7787727090817e988270908196b7ab81a08994afb9
+b0cbdcbacdd9cccdccb0cbdc7d98b19fb0bba3b8bc7e988292a8b6c0cbb8a3b8bc
+c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c5dae4c5dae4b2d2e0c1d4e2c5dae4
+c5dae4b2d2e0c5dae4c5dae4c5dae4c1d4e2c5dae4b2d2e0c5dae4c5dae4c1d4e2
+c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4
+c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6
+cdd5ded2dee6c5dae4d2dee6c5dae4c5dae4c5dae4c1d4e2c5dae4d2dee6c5dae4
+c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2c5dae4
+d2dee6c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4
+c5dae4c5dae4c1d4e2c5dae4c5dae4cdd5decdd5dec5dae4d2dee6c1d4e2c5dae4
+c5dae4c5dae4c1d4e2d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6
+cdd5ded2dee6c5dae4cdd5dec1d4e2d2dee6c1d4e2c5dae4d2dee6c5dae4cdd5de
+d2dee6d2dee6c1d4e2d2dee6d2dee6c1d4e2d2dee6c1d4e2d2dee6c5dae4cdd5de
+cdd5ded2dee6d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4
+d2dee6d2dee6c5dae4d2dee6cdd5dec5dae4d2dee6c5dae4cdd5ded2dee6d2dee6
+d2dee6c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4
+d2dee6d2dee6c1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c1d4e2
+d2dee6c5dae4cdd5ded2dee6c5dae4cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6
+c5dae4d2dee6cdd5ded2dee6c1d4e2c5dae4cdd5dec5dae4d2dee6c1d4e2d2dee6
+d2dee6c5dae4d2dee6d2dee6c5dae4cdd5ded2dee6cdd5ded2dee6c5dae4c5dae4
+d2dee6c1d4e2c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6cdd5de
+d2dee6c5dae4c1d4e2c1d4e2c1d4e2cdd5dec0cbb8bacdd994afa18b98827f9753
+7c905392a88d92a88da3b8bca3b8bcaec4d0c5dae4cdd5deb8c3c6bacdd9d2dee6
+cdd5deb8c3c6a5c4d7a3b8bcbacdd9cdd5dec5dae47d908254744354744392a88d
+6b8673547443567f3a6084716b8673a3b8bcc5dae4cdd5ded2dee6c1d4e2c5dae4
+d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+cdd5ded2dee6d2dee6cdd5ded9e6ead2dee6d2dee6d2dee6d2dee6c1d4e2cdd5de
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e29fb0bb7e98827d90823d573b
+5474435e7429657c444b6933657c446b854554742849601f475832576b3349601f
+6183455f7b2a819f59778746657c446274445e7429576b336274447b9034657c44
+6f8f52c1d4e2c1d4e2c5dae4b0cbdcc0cbb87c9053627444666b3b6660333f4e1e
+3a442370908194afb9c1d4e2d2dee6d4dcd0d2dee6dfe1e6dfe1e6dfe1e6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4aec4d0b8c3c6c1d4e2d2dee6cdd5ded2dee6
+cdd5ded2dee6cdd5deaec4d09fb0bbaeb0bdb8c3c69ea9b4bacdd9bacdd9aeb0bd
+cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6
+d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5ded2dee6cdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4c1d4e2c1d4e2b8c3c6a4bfb581a0899fb0bb
+a5c4d7a4bfb5aec4d094afa18b98828ea089a0b09f9fb0bba0b09f8b98829fb0bb
+aec4d09fb0bb9fb0bbafb9bcaec4d09fb0bb7d908281a089a3b8bc7e988294afb9
+a3b8bc9fb0bbafb9bca3b8bc7d90828da0b6a3b8bc9da1ab8b98829ea88e9ea08a
+bacdd9c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c5dae4
+b2d2e0c5dae4c5dae4c5dae4b2d2e0c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2
+c1d4e2c5dae4c5dae4d2dee6c1d4e2c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4
+c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c1d4e2
+d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4
+c1d4e2c5dae4d2dee6c5dae4c1d4e2c5dae4d2dee6c1d4e2d2dee6c1d4e2c1d4e2
+c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4c5dae4
+c1d4e2d2dee6c1d4e2d2dee6c5dae4c1d4e2d2dee6c5dae4c5dae4c1d4e2c5dae4
+c5dae4cdd5ded2dee6d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4
+cdd5ded2dee6c5dae4c5dae4cdd5ded2dee6d2dee6c5dae4d2dee6cdd5dec5dae4
+d2dee6c1d4e2d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6d2dee6d2dee6
+c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6cdd5ded2dee6
+cdd5ded2dee6d2dee6cdd5ded2dee6c1d4e2d2dee6d2dee6c5dae4c1d4e2d2dee6
+c1d4e2d2dee6d2dee6c5dae4d2dee6c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6
+cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6cdd5de
+d2dee6c5dae4c1d4e2d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6cdd5ded2dee6c5dae4
+d2dee6d2dee6cdd5debacdd9b0cbdcc1d4e2c1d4e2b8c3c6a0b09f8ea0897f9753
+8b98827787468ea08994afa1a4bfb5aec4d0bacdd9bacdd9b8c3c6c1d4e2d2dee6
+c5dae4d2dee6aec4d0afc0ab92a88da0b09fbacdd994afa1547443547443608471
+4b6933547443657c44a5c4d7c5dae4c5dae4d2dee6c1d4e2bacdd9d2dee6c5dae4
+d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5debacdd9c1d4e2
+d2dee6c1c4c7bacdd9cdd5ded2dee6d2dee6d2dee6c1d4e2aec4d092a8b63d4f56
+667c74637471344d1e497323708f317c9053697c2b697c2b3a4423383c23304321
+5474434b681e6b8545657c447787726b8673657c444e5043576b336b85456f8f52
+8b9882a3b8bcc5dae4d2dee6c5dae4b8c3c66274443f4e323335223f4e1e565838
+4e5043496065709081afc0abcdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+cdd5ded2dee6d2dee6cdd5dec1c4c78a99ab9fb0bbc1d4e2d2dee6d2dee6d2dee6
+cdd5dec1d4e2aec4d0afb9bc94afb9afb9bcafb9bc8da0b6b8c3c692a8b69ea88e
+c1d4e2d2dee6cdd5decdd5decdd5ded2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+d2dee6d2dee6b0cbdcbacdd9cccdccbacdd9bacdd9aec4d0a3b8bc94afa1819fb7
+94afb994afb9b8c3c67d90826b8673a3b7a494afa19ea08a8b98827d90828da0b6
+bacdd9c1c4c79fb0bb8da0b6a0b09f9da1ab7d9082757c718da0b69fb0bb94afb9
+92a8b69ea9b48b9882a0b09fa4bfb5afb9bc9ea9b48b988292a88d7c90538b9080
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c5dae4
+b2d2e0c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4
+c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4
+c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c1d4e2d2dee6c5dae4
+d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6
+c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4c5dae4
+d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4d2dee6c1d4e2
+d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6c1d4e2d2dee6c1d4e2d2dee6
+c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6cdd5ded2dee6c5dae4
+d2dee6c1d4e2d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6c1d4e2cdd5ded2dee6
+cdd5decdd5dec5dae4d2dee6d2dee6d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6
+c5dae4d2dee6d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+c5dae4d2dee6d9e6eacdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+d2dee6cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4
+c5dae4c5dae4cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6
+c5dae4d2dee6cdd5decdd5ded2dee6d2dee6d2dee6cdd5ded2dee6c5dae4c5dae4
+d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4c5dae4
+d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6
+cdd5ded2dee6c0cbb8bacdd9afb9bcbacdd9c0cbb896b7aba0b09f92a88d7e9882
+7c90537c90538b98828a99abafb9bca3b8bcafc0abaeb0bdafc0abc1d4e2cdd5de
+cdd5dec5dae4c1d4e28b98826b86736b854592a88d7d90824b6865608471667c74
+81a0896b867360847181a089c1d4e2c1d4e2cdd5debacdd9b8c3c6c5dae4c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d9e6eacdd5ded9e6eacdd5deaeb0bdaec4d0
+d2dee6c1d4e2a0b09fb8c3c6d2dee6cdd5ded9e6ead2dee6d4dcd092a8b6a0b09f
+b2d2e06b8673597c757e98827c90537c905360832a567f3a496032304321304321
+304321475832576b335f7b2a92a88db8c3c694afa15658384c50267787728da0b6
+92a8b6667c74aec4d0d4dcd0cdd5de9d9981576b332f3c222f3c224c5026496032
+667c74709081bacdd9c1c4c7d2dee6dcd6d6d2dee6d2dee6d2dee6d2dee6d2dee6
+cdd5deb8c3c6afb9bc9fb0bb7787728ea089b8c3c6cdd5ded2dee6d2dee6d2dee6
+cdd5deb8c3c69fb0bb8da0b67787728ea0899da1ab6b8673608471757c7192a8b6
+cdd5deb0cbdcaec4d0c5dae4dfe1e6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6afb9bcb8c3c6aec4d0cccdccaec4d0b8c3c670908192a88db0cbdc
+a5c4d7aec4d0bacdd97d908270908192a8b68ea0899fb0bb70908194afb9a4bfb5
+a3b8bc9ea9b4a3b7a4a3b7a4a0b09f8da0b694afb97e98827d908292a88db8c3c6
+a3b7a49fb0bba3b7a492a88da3b8bcbacdd9b8c3c69ea9b47d90827787468b9080
+c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2
+c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c5dae4
+c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c1d4e2c5dae4
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4
+c5dae4c5dae4cdd5ded2dee6d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4
+d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4
+d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4d2dee6c5dae4c1d4e2
+c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4
+d2dee6d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4cdd5decdd5ded2dee6c5dae4
+d2dee6c5dae4c5dae4c5dae4d2dee6cdd5dec1d4e2d2dee6c5dae4cdd5ded2dee6
+c1d4e2d2dee6d2dee6c1d4e2c1d4e2d2dee6d2dee6cdd5dec5dae4d2dee6c5dae4
+d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d9e6eacdd5dec5dae4
+d2dee6d2dee6d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6
+d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4
+d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5de
+c5dae4cdd5ded2dee6c5dae4d9e6eac1d4e2d2dee6c5dae4d2dee6c1d4e2d2dee6
+c1d4e2c5dae4bacdd9b8c3c6a4bfb5b8c3c6c1c4c794afa195af7a8ea0897c9053
+8c98537c90537e9882709081a3b8bcaec4d092a8b68b9882afb9bcbacdd9c1d4e2
+cdd5dec5dae4c0cbb895af7a6f8f525474435773764b6865354c31496065597c75
+7787725f7b2a54744394afb996b7abbacdd99ea9b4a3b8bcbacdd9b8c3c6c1d4e2
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d9e6ea
+d2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6cdd5de8da0b6a3b7a4
+cccdccc5dae4a3b8bc81a089a0b09fb8c3c6cdd5ded2dee6cdd5deafb9bcaec4d0
+cccdcc6274447e988294afa176872d697c2b6b85454b69337090814b69333f4e32
+333522383c23496032497323657c449ea88e7e9882565838767b47767b476b8673
+4658646374717a91a8a3b7a4b0b8a3778746656c263f4e1e30432156603a778772
+556c8492a8b6c1d4e2cdd5ded2dee6cdd5dec1c4c7cccdccc1c4c7cfc6b8afb9bc
+9ea08a7787727d908281a08975889b92a8b6d2dee6d2dee6dcd6d6d2dee6d2dee6
+d2dee6cdd5de8da0b67d90827787728b9080666c5e57737660847170908181a089
+aec4d09fb0bbc1c4c7d2dee6d2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6
+d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea
+d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4bacdd9afb9bc92a8b6b0cbdcc5dae4
+bacdd9bacdd9b8c3c6aec4d0aec4d07d90828b9882c1d4e28da0b6a5c4d7b8c3c6
+81a0897d908292a88d8b98828b90808ea0898da0b6a3b7a49fb0bb95af7aafc0ab
+92a88d81a089a4bfb5a4bfb5a5c4d7b0cbdcb8c3c6b8c3c692a88d81a0898ea089
+c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2
+d2dee6c5dae4d2dee6c1d4e2c5dae4d2dee6cdd5ded2dee6c1d4e2d2dee6c5dae4
+c5dae4d2dee6c5dae4cdd5dec5dae4c5dae4d2dee6d2dee6d2dee6c5dae4cdd5de
+d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4cdd5de
+c5dae4c5dae4d2dee6cdd5dec5dae4cdd5dec5dae4c1d4e2d2dee6c1d4e2d2dee6
+c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4d2dee6
+c5dae4c5dae4cdd5dec1d4e2c1d4e2c5dae4cdd5ded2dee6d2dee6d2dee6c1d4e2
+d2dee6cdd5ded2dee6cdd5dec5dae4c5dae4c5dae4cdd5ded2dee6c5dae4d2dee6
+d2dee6cdd5dec5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+c5dae4d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4cdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6c1d4e2d2dee6d2dee6
+d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4
+c1d4e2cdd5debacdd9a4bfb5a0b09fafb9bcafc0ab8ea0898ea089819f598b9882
+8ea0597f97537f975381a08992a88d8da0b66b8673709081aec4d0cccdccc1d4e2
+d2dee6cdd5debacdd9c1d4e281a0894b69334b693392a88d70908192a88d94afa1
+7e9882597c754b6865587ca0a3b8bcaec4d092a88d778772a3b7a4aec4d0d2dee6
+c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d9e6eac5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4cdd5ded9e6ead2dee6
+dfe1e6d9e6eadfe1e6d9e6ead9e6ead2dee6d9e6eadfe1e6cdd5dea3b8bc8ea089
+7787728ea089afb9bc8ea0897c9053657c447787728b988292a88d77877254605f
+6374715474437e98827d9082767b4768752b4b6933657c4481a08992a8b64e5043
+272c1f2b33223f4e1e47581f5474436b8545778746666b3b847144574f26394446
+3335222f3c225474437c90536b852c5f7b2a576a1f576b333f4e1e304321637471
+63747194afa1afb09eafb09e8b98827d9082778746757c71778772778772778772
+6b854562744454744370908181a089bacdd9d2dee6d2dee6d2dee6dfe1e6d2dee6
+d2dee6d2dee6bacdd9bacdd98ea08975889b8b988281a08981a0898da0b68da0b6
+b8c3c6b8c3c6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6bacdd9bacdd9bacdd9aec4d0
+c1d4e2aec4d0afb9bca0b09f9ea9b4a4bfb5c1d4e2aec4d0a3b8bc7e98828ea089
+7d90827e98827787467c9053819f597d908296b7abafc0ab95af7a92a75995af7a
+a4bb7eb2d2e0d4dcd0c1d4e2a3b7a4afc0abcccdccafb09e77874692a7597e9882
+bacdd9c1d4e2c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2
+c1d4e2c1d4e2c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c1d4e2
+cdd5dec5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c1d4e2d2dee6c5dae4
+c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6d2dee6
+c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4
+d2dee6d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6cdd5ded2dee6cdd5de
+d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4
+c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4d2dee6d2dee6c1d4e2d2dee6c5dae4
+d2dee6c5dae4c5dae4bacdd9b0cbdcc5dae4c5dae4cdd5dec5dae4c5dae4d2dee6
+c5dae4c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4cdd5ded2dee6cdd5dec5dae4
+d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6
+d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6
+d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6cdd5ded2dee6
+cdd5ded2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6
+d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d2dee6cdd5de
+b8c3c6bacdd9b8c1afa0b09f92a88daec4d0afb9bc95af7a8ea0898c98538b9882
+8ea0598c98538b98827c905381a0896b86736b86737a91a8a3b7a4b8c3c6aec4d0
+c5dae4c1d4e2b0b8a3a3b7a481a0893c5822496032597c75597c758a99ab96b7ab
+7e9882657c443d5f25597c75aec4d092a8b694afa1819fb796b7abd2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6d2dee6
+c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d4dcd092a88d709081
+7c9053567f3a6183456b86736b852c6183454b69334960323d573b4960324b6933
+5f7b2a6b8545618345475832767b474758324960324b6933576b336374713f4e32
+30432130432147581f4960327090816b85457d9082767b4795885c555824304321
+3a44234758326b8545697c2b5e7429547428555824354c313f4e322b33223f4e32
+54605f4e50435f6156666b3b576b33547443627444576b33657c44576b33627444
+7e9882b0b8a38b9882a0b09fc0cbb8d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6
+d2dee6cdd5deafb9bcaec4d09fb0bb92a88d7d9082819fb792a8b68b98829fb0bb
+afb9bcb8c3c6cdd5ded2dee6d2dee6cdd5dedfe1e6d2dee6cdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6c1d4e2d4dcd0c1c4c7d2dee6
+c1d4e2aec4d0bacdd99ea9b4a0b09fa3b8bcafb9bc7d90827e98827090817e9882
+8b98828ea0897e98826b85457f97537197537e988281a0897e98827e988281a089
+a5c4d7b0cbdcbacdd98ea08960847196b7ab95af7a56603a49601f7f97537c9053
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c1d4e2c5dae4
+c5dae4c1d4e2c5dae4c5dae4d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4c1d4e2
+d2dee6cdd5dec5dae4d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4
+c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6
+cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4
+d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4
+d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4
+c5dae4c5dae4c5dae4cdd5deaec4d0c5dae4cdd5dec5dae4d2dee6c5dae4d2dee6
+d2dee6cdd5ded2dee6c1d4e2c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6
+c5dae4d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6
+dfe1e6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e2d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4
+cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+a4bfb5a3b8bca0b09f94afa19ea88ea3b8bca3b8bca3b7a48ea0598ea0898ea059
+92a7598b98827f9753778772667c745474436b867394afa19fb0bba4bfb5c5dae4
+d2dee6d4dcd0c1d4e292a88d597c754b69334b69334b6933657c4494afa1a4bfb5
+7090815474434b68654b693381a0898ea08994afa1a4bfb5b0cbdcc5dae4cdd5de
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6d9e6eac5dae4d2dee6c5dae4dfe1e6d2dee6
+d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6bacdd99ea88e
+8b98826b8673657c44657c446b85456274444960323f4e322f3c223a44233d573b
+6274445f7b2a3f4e323a44235658384c50263d573b3c58224b69337c9053657c44
+576a1f576b33657c446b86737787725474436b8545767b479f9154556024475832
+5560246b854560832a657c445474283f4e1e2f3c223d4f5675889b3f4e32475832
+576a623d573b2f3c223a44236274447d9082576b336374717d9082657c447e9882
+aec4d0d2dee6cdd5ded2dee6d9e6eac1c4c7cdd5ded2dee6dfe1e6dfe1e6d2dee6
+dfe1e6d2dee6cdd5deafb9bc819fb777877257737670908181a0897e98829fb0bb
+9fb0bbafb9bcaec4d0d2dee6d2dee6cdd5decdd5ded2dee6dfe1e6d2dee6d2dee6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c1d4e2b8c3c69fb0bbb8c3c6bacdd9afb9bcbacdd9
+afb9bcafb9bcafb9bc9fb0bba3b8bc92a88d8ea0897d90827d90828ea0597d9082
+7787467787728ea0896b867370908192a8b68da0b692a88d7e988281a08994afa1
+a4bfb5b8c3c6bacdd994afa160847196b7ab8b98824758325474436f8f527f9753
+c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2
+c1d4e2c5dae4c1d4e2c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2
+d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4
+c5dae4d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6
+c5dae4d9e6eac5dae4c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6
+c5dae4c5dae4d2dee6c5dae4c5dae4d9e6eac5dae4d2dee6c5dae4c5dae4c5dae4
+d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6c5dae4bacdd9b8c3c6d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4
+c5dae4cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6c5dae4cdd5ded2dee6c5dae4
+c1d4e2d2dee6c1d4e2d2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6cdd5de
+d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+cdd5ded2dee6d9e6ead9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d4dcd0
+bacdd9a3b7a49fb0bb92a88d94afa18ea0899ea9b48ea0898b98828b90557e9882
+8ea0597c90538c98537c90536b867381a0897090819fb0bba3b8bc9fb0bba5c4d7
+bacdd9c5dae4d2dee6bacdd97e98825474436b8545567f3a4b6933576a62778772
+5474433f4e32496032597c75547443597c7594afb9a5c4d7a3b8bcbacdd9cdd5de
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+94afa1a4bfb57e9882627444697c2b576b3349601f4b6933354c313a4423304321
+4b6933383c23262e35342d1f2a34383f4e323043214960324b681e576b335e7429
+7b90348ea0598ea0598c98535f7b2a5474434b69336274449f915474643e576b33
+778746697c2b6b852c697c2b3c58224758323944464758329fb0bb757c71778772
+75889b577376757c71394446576a62afc0ab8b919f8a99abafb9bca3b7a4bacdd9
+d4dcd0dfe1e6dfe1e6dfe1e6cccdccaeb0bdcdd5dedfe1e6cdd5decdd5dedfe1e6
+d2dee6dfe1e6d2dee6c1c4c78a99ab7e98828b98827090816b86737090818ea089
+709081afb9bcbacdd9cdd5deb8c3c6b8c3c6d2dee6d2dee6d2dee6dfe1e6cdd5de
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+c1d4e2c5dae4d2dee6d2dee6bacdd9bacdd9a3b8bc9fb0bb8a99ab8da0b6a4bfb5
+a3b8bc9fb0bba3b8bc9fb0bb92a88d7e98827c9053657c446b86737f9753778746
+8c98537e988295af7a94afb996b7ab96b7ab92a8b692a8b67e9882b2d2e0b8c3c6
+a3b8bcaec4d0bacdd984888781a089b0cbdca0b09f4b6865597c7595af7a6f8f52
+b2d2e0c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4
+c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4
+c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4
+c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4
+c5dae4c5dae4c5dae4d2dee6cdd5dec5dae4c5dae4d2dee6c5dae4d2dee6c5dae4
+c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4
+d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4
+d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6
+c1d4e2c1d4e2d2dee6bacdd9aec4d0d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6
+d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6dcd6d6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4cdd5de
+bacdd9a0b09fa0b09f8ea0898ea0898ea08994afa192a88d819f597c9053778746
+8b90558ea0898ea0897f975381a08992a8b68b98828ea089a0b09f81a089afb9bc
+bacdd9d4dcd0c5dae4d2dee6aec4d07090816f8f526084713d5f254b68654b6933
+657c44576a624b69335773765474437090817a91a8819fb7a4bfb5bacdd9c5dae4
+d2dee6dfe1e6d2dee6d9e6ead2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+c5dae4d2dee6c0cbb86b86736b85456b8545576b335e74294960324b6933475832
+56603a383c232e3c442b33224658644758323f4e32576b334b693349601f4b681e
+7c90538ea0597787466b8545627444657c44475832666033847144767b47767b47
+576a1f5f7b2a5e7429576a1f49601f657c44576a62496065c1c4c7cccdcca3b8bc
+8da0b692a8b6afc0ab637471a3b8bccdd5deafb09eb8c3c6d4dcd0c5dae4dcd6d6
+afb9bcaeb0bdb8c1af9ea9b4848887aeb0bddfe1e6cdd5de9ea9b4cdd5decdd5de
+cccdccbacdd9cccdccd4dcd0c1d4e2b8c3c6657c44597c755474436b86736b8673
+7e98829fb0bbafc0ab9fb0bbafb9bccdd5ded2dee6d2dee6dfe1e6cdd5dedfe1e6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6
+d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6cdd5de
+bacdd9cdd5debacdd9b8c3c6a3b8bc9fb0bba3b8bca3b8bc9fb0bb7a91a8a5c4d7
+aec4d0b8c3c6a3b8bc92a88d7090817e98826b86734b6933618345667c74778772
+778772657c4481a0897d98b192a8b68da0b67d98b192a8b6a4bfb59fb0bb8b9882
+a3b8bcb8c3c6aba9a68ea0899ea08a6f8f526b86737c9053657c447e9882819f59
+c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4
+c1d4e2c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4c1d4e2c5dae4d2dee6c5dae4
+c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4
+d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4
+c5dae4d2dee6c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6
+c5dae4d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6c5dae4d9e6eac5dae4d2dee6c5dae4d2dee6c5dae4d2dee6
+c5dae4c5dae4d2dee6c5dae4d2dee6d9e6eac5dae4c5dae4d2dee6c5dae4c5dae4
+d2dee6bacdd9bacdd9a3b8bc9fb0bbc1d4e2c5dae4d2dee6c5dae4c1d4e2c5dae4
+d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6
+cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4c0cbb8
+afc0abafb9bc8ea0898c98538ea089b0b8a3a1b1709ea88e8b9882767b47778746
+8b90808b98828b9080657c4470908181a08992a8b68ea08994afa192a8b6b8c3c6
+c1d4e2c1d4e2d2dee6c1d4e2c5dae492a88d597c75547443577376597c756b8673
+92a8b67e9882667c74657c444b69336886a696b7aba3b8bca3b8bcc1d4e2cdd5de
+d2dee6d2dee6d2dee6d2dee6cdd5decdd5dec5dae4d2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d4dcd0a4bfb592a88d6b86736b86736b8545767b475474437c9053
+576a623f4e323d4f563043214960654b68657090814758323f4e323a4423496032
+657c447c90537c9053657c44576b333f4e1e3f4e3274643eab91589a9178627444
+6274446b8545576a62576b335e7429697c2b383c233f4e327d90828488878b919f
+666c5e757c718da0b69da1abafb9bc8da0b6757c717787728b9080b0b8a39ea08a
+63747154605f7d9082667c748b9080aeb0bddcd6d6b0b8a39d9981d2dee6afb9bc
+aba9a68ea0898a99ab9fb0bbc1d4e2afb09e5f61563f4e32576b33576a62576b33
+7d90827d908270908192a8b6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6
+aec4d0cccdccafb9bc9fb0bba5c4d7b0cbdcc1d4e2c1d4e2a0b09f92a8b6b8c3c6
+9ea9b4a3b8bca0b09f8ea08992a88d8ea08992a88d6084717e988292a88d92a88d
+9fb0bb8b988292a8b692a88da3b8bc8da0b67d98b194afb9aec4d07e98827d9082
+94afb9a4bfb58da0b692a88d8b98828c98537e9882a4bb7e778772778772657c44
+c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2
+c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6
+d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4
+d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4
+c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4
+c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6cdd5ded2dee6
+d2dee6c1d4e2aec4d092a88d8da0b6c1d4e2c5dae4d2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6dfe1e6cdd5ded2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+dfe1e6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5de
+d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e2d9e6eac5dae4d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e2
+b8c3c6afc0ab9ea88e87886dafb9bcb8c3c69ea08a8ea0898ea089657c448c9853
+8ea05992a7597c9053667c7471975394afa194afa1b0cbdc8ea08994afa1b8c3c6
+bacdd9b8c3c6c1d4e2b8c3c6b2d2e07e98824b68653c58225474285e7429547443
+6b8673567f3a4b69334b69336b867381a089a4bfb5819fb7a0b09fbacdd9bacdd9
+c1d4e2c5dae4d2dee6d2dee6cdd5decccdccc5dae4d2dee6d4dcd0c1d4e2d2dee6
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6
+d9e6eadfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6cdd5dec1d4e2c5dae4d2dee6
+d2dee6d9e6ead2dee6c0cbb8a3b7a47e988292a88d6b867381a08971975381a089
+81a08970908141678a70908192a8b681a0897e9882354c313a4423333522383c23
+576b3362744456603a3f4e32547428576b33667c74848887a48954ada17f8b9080
+7787727e98828b98827e9882697c2b627444373e43576a623d4f56394446373e43
+3944463f4e323944465658384658644e5043383c2330444d3a4423465864637471
+4e50433944467090817d9082b8c3c6cdd5deaeb0bd9d9981aba9a6d2dee6cccdcc
+8b98827787726084717e98829ea88e7d90825f61563f4e324b6933576b33475832
+5773767090818a99aba3b8bcd9e6ead2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6
+dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6
+d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead9e6eadfe1e6cdd5de
+a3b8bcaec4d0aeb0bd92a8b6b0cbdcd2dee6cdd5de9fb0bb9ea9b47d9082a4bfb5
+8ea0897d98b1b8c3c69fb0bb7e988294afb97e98827f975396b7aba3b7a4b0cbdc
+b0cbdca4bfb59ea9b49da1ab94afb9aec4d08a99ab8ea0898b919f77877281a089
+8da0b6afc0aba3b7a47787727d90828ea0597f97538c98536b85453f4e324b6933
+c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4
+c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4
+c5dae4c1d4e2d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4
+c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6
+c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d9e6ead2dee6
+c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6c5dae4c1d4e2
+d2dee6c5dae49fb0bb709081819fb7aec4d0c1d4e2cdd5decdd5ded2dee6d2dee6
+c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6c5dae4d9e6eacdd5ded2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6
+c1d4e2dfe1e6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5decdd5ded2dee6d2dee6cdd5de
+d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6cdd5de
+bacdd9afb9bc8ea0898b98828b98829ea9b4a0b09f8ea0598ea0598c9853757c71
+6b85457c9053778772778746576a626b8673a3b8bcbacdd9afc0aba3b7a49ea9b4
+afc0abb8c3c6a0b09f8ea089bacdd9afc0ab6b86734b693341671b547443597c75
+627444567f3a567f3a608471a4bfb592a88d81a08992a8b6afc0ab8da0b694afa1
+c1d4e2d2dee6cdd5ded2dee6cdd5dec0cbb8c1d4e2d4dcd0bacdd9b8c1afc1d4e2
+d4dcd0cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6c1d4e29ea88ec1c4c7d9e6ea
+d2dee6d2dee6d2dee6cdd5deafb9bc92a8b6a3b7a4a4bfb5a4bfb5a4bfb5a4bfb5
+b0cbdcb0cbdc94afa196b7abb2d2e09fb0bb757c71373e433f4e325f61565f6156
+75704d68752b4758323f4e1e576b33657c4492a8b6666c5e847144aea8868b9882
+8b9080709081778772a3b7a475889b7787724e5043626e8c757c71637471394446
+60759054605f2e3c443944463944463043213d4f56496065637471576a62637471
+9ea9b49da1aba0b09fafb9bc9ea88e7f97537787729d9981c1c2aedfe1e6d2dee6
+afb9bc7787724b68656b86736b86737d9082496032354c314b6933597c75667c74
+7e988296b7abaec4d0cdd5dedfe1e6d2dee6d2dee6dcd6d6d2dee6d2dee6d2dee6
+d2dee6dfe1e6d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6cdd5dedfe1e6
+dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d9e6eacdd5de
+b8c3c6c1d4e2d4dcd0cdd5debacdd9cccdcc9ea9b4a3b8bc9fb0bb7d908292a8b6
+8b9882a4bfb5d2dee6afc0aba4bfb5b8c3c6a0b09f709081afc0abc1d4e29fb0bb
+9fb0bbbacdd9a4bfb5b8c3c6afb9bc8da0b68da0b68ea0896374717787728ea089
+8b98828ea0898ea0898b98828b90807c90538c9853657c444960323f4e1e576b33
+b2d2e0c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4
+c1d4e2c5dae4c1d4e2c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6
+d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6
+c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4
+cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d9e6eac5dae4d2dee6
+c5dae4c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6
+c5dae4c5dae496b7ab6b867392a8b6aec4d0c5dae4c1d4e2d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6dcd6d6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d4dcd0
+cdd5de92a88d8b98828ea08977877294afa1b0b8a392a88d7c90537787467f9753
+8b90808b90806b8673618345597c757090818ea0898a99aba3b8bca3b7a4c0cbb8
+c1d4e2c1d4e2a3b8bc6b86738ea089aec4d07d98b1577376354c313a44233f4e1e
+4b69334b681e4b693381a089a4bfb57197b494afa16b8673597c7581a089afb9bc
+d2dee6d4dcd0d4dcd0d4dcd0c5dae4c0cbb8c0cbb8c1d4e2c0cbb8c0cbb8b8c3c6
+d4dcd0cdd5ded2dee6cdd5ded9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6cdd5de8ea089778772aba9a6
+bacdd9cdd5decccdccd4dcd0c1c2aeaba9a6afb9bcbacdd994afa1c5dae494afa1
+b0b8a3bacdd9a3b8bc819fb7cccdccafb9bc4e5043333522383c23475832666b3b
+75704d657c44576a1f496032576b335474286374715f6156977c4f9ea08a8b9882
+7d90828b98826b86736b867375889b8a99ab6b8673576a628da0b6848887637471
+819fb7aba9a64658644658644b6865667c746b867392a88da3b7a48b98828ea089
+a0b09fb0b8a38ea0896b8545657c446b854587886d8ea089dcd6d6cdd5dedcd6d6
+d2dee6cdd5de8ea089576a626b86737787725773764b69334b69336b86736b8673
+709081819fb7bacdd9d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d9e6ea
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6
+d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8e0e6e8dcd6d6
+bacdd9cccdccb8c3c6bacdd9cccdccc1c4c7a3b8bca4bfb5afc0ab81a0899fb0bb
+8b9882b8c3c6bacdd9b0cbdc9ea9b494afa192a88d7e9882a0b09faec4d08da0b6
+a3b8bca3b8bcafb9bcc5dae4bacdd9afb9bc7d9082667c748ea089afc0ab9fb0bb
+9ea08a4758324b686595af7a8ea089778746819f59666b3b344d1e576b3347581f
+c1d4e2c1d4e2d2dee6c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4
+c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4
+d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6
+c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4
+d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4
+c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d9e6ead9e6ea
+c5dae4d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6cdd5ded9e6ea
+d2dee6d2dee6d2dee6c5dae4d9e6eac5dae4d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6c5dae492a88d6374717a91a8a3b8bcc5dae4b8c3c6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6
+dcd6d6d2dee6dfe1e6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d9e6ead2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6bacdd9c1c4c7
+afc0ab9ea9b4b0b8a392a7597d90829ea88ea0b09f8c98536f8f527787467d9082
+8b98829ea88e8ea089667c746b86737090817d90828b90809ea9b49fb0bbaec4d0
+b8c3c6c1d4e2a0b09f7e98824b6933577376657c444960652f3c222f3c223d573b
+5474284b69334b69337090817e9882577376627444547443576a6281a089c1d4e2
+d2dee6cdd5ded9e6eac5dae4c1d4e2c0cbb8c0cbb8c0cbb8a4bfb5afc0abb8c3c6
+d2dee6c1d4e2c0cbb8cccdccd2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d4dcd0d4dcd09ea88e7c90536b8545
+7d90827d90828ea0898ea0897d90827c90538b90806b86737787726f8f526f8f52
+5f615654605f666c5e4b6865576a62465864333642272c1f342d1f2a34384e5043
+75704d6274444c5026344d1e3f4e1e657c44778772857d67ab9158b8c1afc1c4c7
+afb9bcb8c3c6a0b09f7d90827a91a884888775889b626e8c576a623d4f563f4e32
+667c74848887576a6254605f547443657c447e988292a88d9ea08a8b9882767b47
+7787468b9055767b47767b47667c746b86739ea88ecccdccdfe1e6c1c4c7afb9bc
+d2dee6dfe1e6b8c3c6778772709081657c446b86734b6933597c7581a089627d99
+7090817e9882b0cbdcc1d4e2bacdd9d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6
+dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead9e6ead2dee6dfe1e6
+dfe1e6dfe1e6cdd5ded2dee6e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6
+cdd5decdd5deb8c3c69fb0bbafb9bc8a99aba0b09faec4d0b8c3c692a8b6afc0ab
+8ea08992a8b6a0b09f7e98828ea089a3b8bc778772627444657c4492a8b68da0b6
+bacdd9bacdd9cdd5ded2dee6bacdd9cdd5dea0b09f8b988275889bafb9bca4bfb5
+afb9bc667c7460847192a88d7c90538b9055a4bb7e666c5e5474437c9053767b47
+c1d4e2c5dae4cdd5dec5dae4c1d4e2c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4
+c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6d2dee6
+d2dee6c1d4e2d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4
+d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4
+d2dee6c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6
+d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4b8c3c6
+c1d4e2d2dee681a0897e98827d98b1a4bfb5a4bfb59fb0bbc5dae4c5dae4d2dee6
+d2dee6c5dae4d2dee6c5dae4c1d4e2d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d9e6eacdd5ded2dee6d2dee6d2dee6dfe1e6d2dee6
+d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6dcd6d6dfe1e6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6d2dee6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6c1c4c7b8c3c6
+b0b8a3a4bb7e9ea88e7e98828b90808b98828ea0897787726f8f527d90827d9082
+8b98829ea88e8da0b692a88d8b988281a0897e9882a3b8bc7e9882a3b8bc94afa1
+a0b09fbacdd99fb0bb8b98823c58223c58224b69333f4e323043213f4e32354c31
+3c5822576b334960324658643043213d573b3d5f256b867396b7abaec4d0d2dee6
+cdd5ded4dcd0cdd5dec0cbb8aec4d0c0cbb8a3b7a4afc0aba0b09fafc0abc1c4c7
+b8c3c6bacdd9aec4d0c1d4e2cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d9e6eabacdd9c1c4c7d2dee6d2dee6cccdccb0b8a38b9882
+7d90827c90537787466b8545657c448c98538c9853666b3b4960323f4e32475832
+2f3c222a34383d4f563f4e323a44233d4f562e3c442a3438342d1f394446637471
+8ea0898b90804758322f3c223f4e324b6933567f3a8b9055c0b197c1c2aed2dee6
+cdd5decccdccbacdd9b8c3c6b8c3c692a8b67d90828ea0898da0b6576a62465864
+3944463043213d4f566374717787728ea0899ea88e757c716b8545576b334b6933
+6274446b85456b86738ea089a3b7a4bacdd9d4dcd0dfe1e6cdd5dec1c4c7afb9bc
+afb9bccccdccb8c1af8da0b692a88d8ea089657c44576b334b69337090817e9882
+8488876084718b9882aeb0bdcdd5ded2dee6cdd5ded2dee6dfe1e6d2dee6d2dee6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6dfe1e6
+d2dee6d2dee6cdd5decdd5ded2dee6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6cdd5de
+bacdd9b8c3c6c1c4c79ea88e92a8b67d908281a089a3b8bcb8c3c692a88dafc0ab
+a3b7a4b0cbdcb0cbdc92a88daec4d092a8b6667c74576b33576b3370908194afa1
+c1d4e2cdd5debacdd9c5dae4cccdccd2dee6bacdd99fb0bba4bfb5c1d4e2b8c3c6
+b0cbdcaec4d08ea089709081778746b0b8a3778746576b33657c448ea059778746
+c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2d2dee6c5dae4d2dee6
+c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4
+d2dee6c5dae4c5dae4d2dee6d2dee6c1d4e2c5dae4d2dee6d2dee6c5dae4d2dee6
+c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6
+c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4
+c5dae4d9e6ead2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6
+d9e6ead2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4a3b8bc
+92a8b6c5dae494afa181a0897090818da0b6819fb7aec4d0d2dee6d2dee6d2dee6
+d2dee6d2dee6cdd5debacdd9cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6
+dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5de
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6c5dae4b8c3c6b8c1af
+8ea0898c98537787728ea0598b98828b98827c90537d908281a08992a88d9fb0bb
+9ea08aa0b09f8ea0897d908292a88d92a88da3b7a4c5dae4b8c3c6a3b7a4aec4d0
+92a88d8ea089a3b8bc7787724c5026344d1e3c58223d573b2f3c223f4e322f3c22
+3f4e1e4b6933475832304321304321344d59709081aec4d0bacdd9cdd5decdd5de
+d4dcd0b8c3c6afc0abb8c3c6bacdd9b8c1afa3b7a4a1b170a4bb7eb0b8a3b8c1af
+b0b8a3a0b09fc1d4e2bacdd9d2dee6d2dee6c5dae4dfe1e6c5dae4d2dee6d2dee6
+d2dee6d2dee6cccdcccdd5deafb9bc8a99abc1c4c7c1d4e2cccdccc1d4e2b8c1af
+afb9bc8ea0898b9882657c444b69338b90808b9055757c71354c3130444d496065
+354c31354c31848887394446394446709081667c746374712a343854605f576a62
+9ea9b4a0b09f6374713f4e1e3f4e323f4e1e4b6933757b2dada17fc1c2aecdd5de
+cdd5decdd5debacdd9aeb0bdcdd5deb8c3c68a99ab9fb0bb757c71667c74637471
+54605f354c3154605f6b8545667c747787468b9055778746656c26576b33627444
+657c44afc0ab92a88d9ea9b4cdd5decdd5deb8c1afcdd5dedcd6d6afb9bc9ea9b4
+7d90828b9080afb9bc8ea089657c44618345576b3330432149606594afa18ea089
+667c74496032709081c1c4c7cdd5deafb9bcb0cbdcd2dee6cdd5dedfe1e6d2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6
+cdd5dec1c4c7cccdccd2dee6c5dae4d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6
+cdd5deafb9bc9fb0bb8b988281a089a3b8bca3b8bcbacdd9b0b8a38ea089a3b7a4
+afc0abbacdd9bacdd99fb0bbb0b8a3afb9bc637471475832576b33608471a3b7a4
+c5dae4c0cbb8b8c3c6cdd5debacdd99fb0bbc1d4e29fb0bba3b8bcc5dae4bacdd9
+afb9bcbacdd9bacdd98b9882637471778746555824627444576b33778746767b47
+c1d4e2d2dee6cdd5dec5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4
+d2dee6c1d4e2c5dae4c1d4e2d2dee6c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6
+d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4c5dae4c5dae4
+d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2b0cbdcbacdd9
+cdd5dec5dae4d2dee6c5dae4d9e6eac5dae4d2dee6c5dae4d2dee6c5dae4d9e6ea
+c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6
+c5dae4d9e6eac5dae4c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4
+92a88d8da0b692a88d7a91a86084716b867392a8b6bacdd9cdd5dec1d4e2d2dee6
+d2dee6d2dee6c1d4e2bacdd9d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6
+d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d2dee6d2dee6
+dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6cdd5dedfe1e6
+cdd5dedfe1e6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6d4dcd0c1d4e2cdd5dea0b09f
+92a75992a88d8ea0898ea0897c90537787727c905392a88d7d90827e98829ea08a
+9ea88e8b98828b988294afa1a3b7a48ea089aec4d0cdd5debacdd99ea08aaec4d0
+b8c3c67d90826b86737c9053657c444b6933576b333f4e323f4e1e333522333522
+4960325474434b69333d5f25576a62667c74a4bfb5a3b7a4c1d4e2cdd5decdd5de
+c1c4c7a3b7a4b8c1afc0cbb8c0cbb8afc0aba0b09fa4bb7e8ea059a3b7a4a3b7a4
+95af7aa3b7a4b0cbdcc0cbb8bacdd9d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6cccdccafb9bcbacdd98b98828b9882a1b1709ea88eafb09ea0b09f
+b8c1afafb09e9ea88e87886d7787468b908095885c8b9080576b33576a624b6865
+608471709081a3b8bc465864587ca096b7ab96b7ab92a8b6577376496065637471
+afb9bcafb9bc49603247581f3a4423383c23576b33697c2b9d9981c0b8a6d2dee6
+cdd5ded2dee6bacdd98da0b6bacdd9cdd5de9ea9b48a99ab7a91a89ea08a637471
+383c232e3c44496032576b333f4e1e55602476872d68752b576b336f8f527e9882
+9ea88ebacdd9b8c3c6a3b7a4b8c3c69da1abaeb0bddcd6d6dcd6d6cfc6b88ea089
+547443657c445773767787726b85454b69334960323043213f4e32547443627444
+3f4e324b68657e98829fb0bb7e98828b9882b0cbdccdd5dedfe1e6d2dee6dfe1e6
+dfe1e6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6
+bacdd9bacdd9cdd5dec1d4e2c5dae4afb9bcbacdd9d2dee6cdd5ded2dee6d2dee6
+cdd5deaec4d0c0cbb8a3b8bcafb9bcc0cbb8aec4d0aec4d0afb9bc7e988294afa1
+92a8b6bacdd9afb9bc81a0897e9882a3b8bc757c71496065576b3370908196b7ab
+92a8b6b8c3c6bacdd9bacdd9cccdccc1d4e2cdd5de75889b92a8b6c5dae4c1d4e2
+afb9bca3b8bca3b8bc7d90827787726274444e5043475832657c446b8545475832
+c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2d2dee6c5dae4c5dae4
+c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4
+c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6
+d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c1d4e2b8c3c6afb9bcb8c3c6
+c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d9e6eac5dae4d9e6eac5dae4d2dee6
+d9e6ead2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4c1d4e2
+94afa17090817090816b867360847160847194afb9c1d4e2bacdd9bacdd9d2dee6
+d2dee6d2dee6cdd5dec1d4e2d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6
+dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6
+d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d9e6ead2dee6
+dfe1e6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6cdd5decdd5decdd5ded2dee6cdd5dec1d4e2afc0ab
+b0b8a3a4bb7e8ea089a0b09f8ea0898b90557d90828ea0597c90537e98829ea88e
+9ea08a8b98828a99ab8a99ab94afa17e98827d90829fb0bbc0cbb89fb0bbb0b8a3
+a4bfb577877292a88d7e98828c98535e7429657c4468752b5474434960323f4e32
+3d573b3c5822496065597c757090816886a695af7a9ea9b4c0cbb8cccdccb8c1af
+b0b8a3c0cbb8afc0abc1c2aec0cbb8b0b8a38ea089afbf779ea88ea1b1709ea08a
+81a089b0b8a3afc0abb8c3c6bacdd9d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6
+dfe1e6cdd5decdd5deafb9bc9ea88e8b9882778772657c446b854576872d778746
+767b477c90538b98828b98828c98538b988286874a7787468b90808da0b66b8673
+597c75a4bfb581a089576a6275889bbacdd9c1d4e2c1d4e28da0b675889b6b8673
+aec4d0a0b09f3f4e1e627444344d1e354c316b8545767b47ada17fc0b197cdd5de
+c5dae4d2dee6c1d4e28b919faec4d0dfe1e69da1ab627d997d98b17e98827d9082
+5f61563a4423475832627444496032496032697c2b5f7b2a657c44a0b09fa0b09f
+b8c1afbacdd9b8c1af9ea88e7c90538b9882c0cbb8dfe1e6c1c4c7cccdccb8c3c6
+6374713f4e3241671b41671b576b33576b333d573b354c313f4e1e4960323d5f25
+3d573b3d5f256b8673597c757d90828b9882b0cbdcd2dee6dcd6d6dfe1e6d2dee6
+dfe1e6d2dee6cccdccbacdd9d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5de
+c1d4e2c1c4c7c1d4e2bacdd9b8c3c6afc0abb8c3c6bacdd9cccdccc1c4c7bacdd9
+b8c3c6afb9bcaec4d09fb0bbb0cbdcd2dee6d2dee6c5dae4c1d4e2a4bfb5aec4d0
+94afa194afa19fb0bb778772667c74547443637471667c74576a62778746618345
+709081aec4d0cdd5dec1c4c7bacdd9b8c3c6c1d4e29ea88ea4bfb5c1d4e2d2dee6
+cdd5dea3b8bcb0cbdc7d98b1709081657c44344d1e5560244758323f4e322f3c22
+c1d4e2c1d4e2c1d4e2cccdccbacdd9aec4d0bacdd9c5dae4c1d4e2c5dae4d2dee6
+c5dae4d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6d2dee6c1d4e2c5dae4d2dee6
+c5dae4d2dee6d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c1d4e2cdd5deafc0abb8c3c6b8c3c6
+d2dee6d2dee6d2dee6d2dee6d9e6eac5dae4c5dae4d2dee6d2dee6d2dee6d2dee6
+c5dae4d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d9e6ead2dee6d2dee6c5dae4d2dee6d9e6eac5dae4d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d9e6eacdd5dea3b8bc
+96b7ab709081709081597c757e9882819fb79fb0bbbacdd99fb0bbaec4d0d2dee6
+cdd5dec1c4c7bacdd9b8c3c6c1d4e2b8c3c6cdd5ded2dee6d2dee6cdd5ded2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d9e6ea
+d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead9e6ead2dee6
+d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6
+d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6
+d2dee6d2dee6d2dee6d2dee6cdd5debacdd9afb9bcc0cbb8cdd5dec1d4e2afb9bc
+b0b8a39ea88e8c98538ea0898c98538ea0899ea08a92a88d7f97538b98828ea089
+a0b09f9ea88e8b98827e98828da0b68ea0899da1ab8ea089afb9bcafc0aba3b7a4
+c1d4e2afc0aba0b09f81a0897f9753778746757b2d6274448c98538b9882576a62
+41671b344d1e3c58224b68656b86737090817c9053a0b09fcccdccb0b8a395af7a
+c1cd99b8c1afb8c1afa4bb7eb8c1afafc0ab8ea089a1b170a1b17092a88d8ea059
+a1b170afc0ab95af7aa3b7a4c0cbb8c1d4e2d2dee6d2dee6cdd5decdd5ded2dee6
+d2dee6d2dee6dcd6d6bacdd98ea0898b9882667c7456603a56603a576a1f6b8545
+68752b77874686874a86874a767b47867c4c767b4768752b87886d8b9882757c71
+667c7481a0898ea08961834561834595af7aafc0abb8c1af7e9882709081626e8c
+7e98827c9053576a1f3f4e1e333522333522547443767b47c4a979c0b8a6cdd5de
+cdd5decdd5deb8c3c67d98b19fb0bbd2dee69da1ab7a91a8a3b8bc8a99ab7d9082
+7787726374716b86737787466274446274446b85458b9882b0b8a3c0cbb8d4dcd0
+cccdcc8b98827787728b98827d9082b0b8a3c1c2aeaeb0bddcd6d6cdd5deb8c3c6
+778772667c746b86737090814960653a4423304321354c3141671b4b69337c9053
+7090815773766f8f52576a62608471a3b8bcb8c3c6cdd5ded2dee6dfe1e6dfe1e6
+d2dee6dfe1e6dfe1e6d2dee6d2dee6d2dee6cdd5debacdd9c1c4c7b8c1afc1d4e2
+c1d4e2d2dee6d2dee6cdd5dec1d4e29ea88eb0b8a3afb09ea3b8bcaec4d0c1c4c7
+bacdd9b0cbdcbacdd9a3b8bcbacdd9dfe1e6d4dcd0cdd5dec1d4e2cdd5deb8c3c6
+92a8b68a99ab7d90828ea0896b86734960324b6933657c44667c74637471657c44
+b0cbdcd2dee6d2dee6aeb0bdbacdd9aec4d0b8c3c681a08992a88db2d2e0d2dee6
+d2dee6c5dae4c5dae46b86736274446f8f52618345657c444960323d5f2547581f
+c1d4e2c1d4e2bacdd9b8c3c6bacdd9bacdd9c1d4e2c1d4e2d2dee6c5dae4c5dae4
+d2dee6c1d4e2d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6
+c5dae4d9e6eac5dae4c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4
+d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6eac5dae4d2dee6d2dee6c5dae4
+d9e6eac5dae4c5dae4d9e6ead9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d9e6eac5dae4d2dee6d2dee6cdd5ded2dee6d2dee6cdd5deb0cbdc
+92a8b6608471618345547443597c758da0b6c5dae4aec4d09ea9b4afb9bcd2dee6
+d2dee6bacdd9afb9bcafb9bca4bfb5c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d9e6ead2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6
+dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6
+d2dee6dfe1e6dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6cdd5ded2dee6d2dee6d2dee6dcd6d6dfe1e6d2dee6
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+dfe1e6d2dee6d2dee6dfe1e6d2dee6d4dcd0afc0aba3b7a4afb9bcb8c1afb0b8a3
+a0b09f95af7a8ea059819f597e98828c98538ea059a1b17081a0897e988292a88d
+afc0ab94afa1afb9bc92a88d7d908292a88d8ea0898b988294afa19ea88e9da1ab
+c0cbb8c1d4e2a3b7a48c9853767b47576b3368752b5e74297c90538ea059778746
+5f7b2a4960323d573b60847192a88d4b69336b854595af7aa1b170b0b86ca4bb7e
+afc0abafbf77afc0aba4bb7eb0b8a3c1cd999ea88e9ea88e8ea059a4bb7e8ea059
+b0b8a38c985392a75992a88db8c3c6c1d4e2cdd5decdd5decccdcccdd5decdd5de
+d2dee6dfe1e6d2dee6d2dee6c1d4e2afc0ab92a88d57737677877277877268752b
+697c2b8b90558b90558b9055576b336274448b905586874a87886d9e98539ea08a
+86874a757b2d7787465e74296f8f526274446b85456b85456274443f4e322f3c22
+4960327b9034767b472b3322272c1f272c1f3f4e1e87886dd8c291c0b8a6c0b8a6
+afb9bc9da1ab8488877a91a875889b8a99ab8a99ab8a99ab9ea9b48a99ab75889b
+626e8c778772667c74576a62576b33627444576b33778772b0b8a3c1c2ae9ea88e
+8b9055576a1f4b69336f8f52a0b09f9ea88ea0b09f8b98829fb0bbcccdcccccdcc
+a3b8bc7090817a91a88b919f7787723a44234758326274445474433d5f25608471
+667c744b69333d573b5474436084717e9882aec4d0cdd5dedfe1e6c5dae4cdd5de
+d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5dec1d4e2c1c4c7cdd5dec1c4c7
+b8c3c6c1d4e2afc0abbacdd9cccdcc92a88d9ea88eb8c3c6b0b8a3b8c3c6d4dcd0
+d2dee6d2dee6c5dae4afc0abbacdd9cdd5debacdd9bacdd9afb9bcaec4d0afb9bc
+8da0b6757c717d908275889b667c744b6865496032608471657c444b69337d9082
+a4bfb5a3b8bcc1d4e2afb9bccdd5dec1d4e2a0b09f77877277877292a8b6b8c3c6
+d2dee6cdd5decdd5de92a88d597c757b90346f8f526b85456b85455f7b2a627444
+c5dae4c1d4e2bacdd9c1d4e2cdd5decdd5ded2dee6c5dae4d2dee6c5dae4c5dae4
+c5dae4cdd5dec5dae4c5dae4c5dae4c5dae4c5dae4cdd5ded2dee6c5dae4d2dee6
+d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+cdd5dec5dae4cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6
+c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d9e6ead2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6aec4d0a0b09f
+7e9882597c75597c75547443597c75597c75bacdd99fb0bba5c4d7c1d4e2d2dee6
+d2dee6d2dee6b0cbdcaec4d0b8c3c6c5dae4d2dee6c5dae4d2dee6d2dee6dfe1e6
+d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead9e6ea
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6cdd5dedfe1e6dfe1e6cdd5de
+d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6
+dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6
+dfe1e6d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6
+d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6dfe1e6
+d2dee6d2dee6d2dee6d2dee6dfe1e6d4dcd0cdd5dec0cbb8afc0aba3b7a48b9882
+9ea88e8b90807c90538ea0897f97536b86738ea0898ea0598b988294afa19ea9b4
+a0b09f9fb0bba0b09f9fb0bba3b7a4a0b09fafc0ab9fb0bba0b09f92a88d81a089
+bacdd9bacdd9a0b09f7d9082657c44778746757b2d657c447787468c98536f8f52
+496032344d1e3d5f256f8f5281a0896b85456b85457f9753a0b09fa1b170afbf77
+b0b8a3a1b170afc0aba1b170a4bb7eafbf7792a88d92a88d9ea88eafb09e8ea089
+8c985392a88da4bb7e92a88da0b09fb8c3c6c1c4c7cdd5ded2dee6d2dee6d9e6ea
+d2dee6d2dee6d2dee6dfe1e6d2dee6cdd5dec1d4e2c0cbb8b0cbdca0b09f92a88d
+767b478b90558c98539a9178767b47627444857d67767b47767b4777874687886d
+86874a8b905575704d68752b5e74294b693349601f5e7429576b334960323f4e1e
+576b335f7b2a49601f44362324261c342d1f3336428b9055c0b197c0b19787886d
+8b919f9ea9b4757c71667c74637471576a627a91a8666c5e627d998b988254605f
+6374714b68653f4e326374717787467c90537787467d90828b90557c9053757b2d
+697c2b5e74294960324b69336183457787728b9882b0b8a38ea089aeb0bdafb9bc
+c0cbb8cccdcc94afa163747156603a576b33576b33567f3a47581f49601f657c44
+547443354c313d5f256f8f5281a089aec4d0cdd5ded2dee6a3b8bcafb9bcd2dee6
+d2dee6dfe1e6d2dee6cdd5ded2dee6cdd5decccdccd2dee6d2dee6cdd5dec1d4e2
+aec4d0b8c3c6afb9bcafc0abafc0aba0b09f94afa1a0b09fa4bfb5c1d4e2c0cbb8
+c1d4e2bacdd9c1d4e2aeb0bdd9e6eabacdd9a3b8bcc1d4e29fb0bbaec4d09fb0bb
+7d908292a8b67d90828da0b692a8b6778772547443576b3349601f657c447d9082
+94afa18a99abafc0abc1c4c7b0cbdc8a99ab8b9882547443597c7596b7aba3b8bc
+afb9bcc5dae4aec4d08ea0897787467c9053708f317f97537c90535474433f4e1e
+c5dae4c1d4e2cdd5decdd5dec5dae4c5dae4c5dae4c5dae4cdd5ded2dee6c5dae4
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6
+d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d9e6ea
+c5dae4d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea
+d2dee6d2dee6d2dee6d9e6eac5dae4d9e6ead9e6ead2dee6d9e6ead2dee6d2dee6
+d9e6ead9e6eac5dae4d2dee6c5dae4d9e6ead2dee6d9e6ead2dee6c5dae4d2dee6
+d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6b8c3c6c1d4e2cdd5de9fb0bb9fb0bb
+94afa15474434b68654b69334b68656b867394afb99fb0bbb0cbdcc1d4e2dfe1e6
+d2dee6d2dee6cdd5dec1c4c7bacdd9cccdccd2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead9e6ead2dee6d9e6ea
+d9e6ead9e6ead9e6ead2dee6dfe1e6dfe1e6d9e6eadfe1e6d2dee6d2dee6d2dee6
+d2dee6dfe1e6d2dee6d9e6ead2dee6d9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6
+dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6
+dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6cdd5de
+d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6d2dee6
+dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6aec4d0afc0aba3b7a481a089
+92a88da1b1708b9080a0b09f81a0897e98828ea089afb09e92a88dbacdd9a3b7a4
+afc0aba4bfb5c1c4c7a0b09fa0b09f92a8b6b8c3c6a3b8bc94afa1afb9bc81a089
+a0b09fbacdd99ea88e8b98828b90557c9053697c2b4b6933627444767b475e7429
+3d5f25354c314b69335474435474286b8545627444719753afc0aba3b7a4a4bb7e
+9fa8578c985395af7a8ea0899fa857a0b09f8c985392a75992a7599ea88e7c9053
+8b9882a1b170a4bb7e92a7598ea089a3b7a4b8c3c6cdd5decdd5decccdccc5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d4dcd0d2dee6cdd5decdd5de
+8b98828b98828c98538b908095885c86874a857d67857d67757c714c502675704d
+767b4775704d8b9080767b47496032547443576b333f4e32576b334b681e49601f
+49601f576b333a4423342d1f24261c342d1f2b3322576b3395885cafb09e9a9178
+757c71666c5e626e8c627d998a99ab92a8b6aec4d094afb996b7aba3b8bc778772
+7d9082496032637471666c5e7787468c9853767b477f9753657c445e74295e7429
+656c26475832496032496032576a62a3b7a48b9882a4bfb5a3b8bc8b9882576a62
+8b9882c0cbb8afc0ab6b86735474286b85456b85454b69333d5f253c58223d5f25
+4b69334b6933597c7581a089b2d2e0cdd5decccdcc9da1ab92a8b6c1d4e2d2dee6
+d2dee6dfe1e6cccdcccdd5dec1c4c7b8c3c6c1c4c7c1d4e2cdd5debacdd9b8c3c6
+a3b7a4a0b09f92a88d8ea089a0b09fafc0ab96b7aba0b09fbacdd9c1d4e2b8c3c6
+afb9bca4bfb5b8c3c6c5dae4dfe1e6cdd5dec1d4e2afb9bcb8c3c6bacdd992a8b6
+81a089a4bfb5a4bfb5a4bfb5bacdd97d90826183456b8545657c446b867392a88d
+a0b09f7d90827d9082afb9bca3b8bc92a8b6667c744b69335e742970908194afa1
+a4bfb5c5dae4afb9bc7d9082627444576b336b85457c9053666b3b3f4e1e496032
+cdd5dec5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4cdd5ded2dee6
+c1d4e2d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6
+d9e6eac5dae4d9e6ead9e6ead2dee6d2dee6c5dae4d9e6ead2dee6d2dee6d2dee6
+d2dee6d2dee6d9e6ead2dee6d9e6ead9e6eac5dae4d9e6ead2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6b8c3c6aec4d0c5dae494afa18da0b6
+81a0896084713d573b354c31496032667c7470908194afb9a3b8bcafb9bcd2dee6
+d2dee6d2dee6c1d4e2cccdccc1d4e2c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+d9e6ead9e6ead9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6d2dee6d9e6eacdd5dedfe1e6dfe1e6d2dee6d2dee6
+dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6
+d2dee6d2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6d2dee6dfe1e6dfe1e6dfe1e6
+d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6d2dee6
+d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6
+dfe1e6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6
+dfe1e6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d9e6eadfe1e6d2dee6dfe1e6
+d9e6eadfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6b8c1afa3b8bcb8c3c6b8c1af
+a0b09f9ea88e9ea88eb0b8a38ea089b0b8a39ea88ea0b09f8ea0899da1aba0b09f
+a0b09fa3b7a4afc0abb8c3c6a0b09fa3b7a4afc0abafb9bcafc0abafc0ab9da1ab
+7e9882b0b8a394afa1a0b09f7c9053778746576b3347581f4b681e5f7b2a4b6933
+547428496032496032304321657c4492a7598ea089a3b7a4c0cbb8b8c1af92a88d
+8ea059819f598ea05992a88d8ea089a1b1708b988292a7598ea0598c98538ea059
+81a089a1b17092a88d95af7a8ea059a0b09fcdd5decdd5decdd5decdd5ded2dee6
+dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6dcd6d6d2dee6d4dcd0d4dcd0
+cdd5de8ea0898ea0898b98828ea0898b988286874a8c985384888756603a7d9082
+757c71576b3362744487886d778772a0b09f8ea0895474436274443f4e1e475832
+4960325e7429354c313d4f56333522272c1f2b33225658389f9154c0b8a6ada17f
+565838394446383c23333522394446666c5e77877275889b8a99ab7d9082757c71
+657c444b69337787728b9882627444778772767b478b9882778772657c44576b33
+576b33344d1e63747177877294afb9c0cbb89fb0bbb0b8a37d9082657c444b6865
+4b6933709081a0b09f618345657c44719753576b33344d1e4b6933496032475832
+567f3a6f8f52618345709081a4bfb5a3b7a4778772608471a3b8bccdd5dedfe1e6
+d2dee6d2dee6aec4d0cccdccaec4d0afb9bcb8c3c6b8c3c6aec4d0b8c3c692a88d
+8b98828b98828ea0598ea08992a88d8ea089a0b09fa3b8bca4bfb5bacdd9afc0ab
+a3b8bcaec4d0b0cbdccdd5ded2dee6d2dee6bacdd9a3b8bcc1d4e2cdd5dea0b09f
+81a089b0cbdcafb9bc7d90827e98827e9882819f598c98538c98537c90538b9080
+6274446274447090819ea88e7e98828ea08975704d56603a496032567f3a92a8b6
+8da0b692a8b68ea089637471576b334b6933576a1f767b4768752b576b335e7429
+c1d4e2cdd5ded2dee6c1d4e2d2dee6d2dee6c1d4e2d2dee6c5dae4cdd5dec1d4e2
+bacdd9cccdccd2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6
+d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d9e6ea
+d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d9e6ea
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6bacdd992a8b6b2d2e07e9882709081
+9fb0bb6b86733d5f253d573b5474436b867381a0897d98b175889b8da0b6c5dae4
+c1d4e2d4dcd0c1d4e2afb9bcbacdd9b8c3c6cdd5ded2dee6d2dee6dfe1e6d2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d9e6ea
+d2dee6dfe1e6d9e6ead9e6ead2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6d9e6ea
+d2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6dfe1e6dfe1e6
+dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d9e6ead9e6ead9e6ead2dee6
+dfe1e6e0e6e8dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6
+d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5dedfe1e6d2dee6dfe1e6
+d2dee6d2dee6dcd6d6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6
+d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6
+d9e6ead2dee6cccdcccccdccd2dee6d2dee6d2dee6b8c3c6aec4d0b0b8a3b8c3c6
+afc0aba0b09f8ea05992a88d8c985395af7a8ea0898ea05992a88d9ea88eafb09e
+9ea88e9ea88eafb9bcb8c3c6b8c3c6b8c3c6bacdd9cccdccb8c3c6a3b8bc8da0b6
+70908177877295af7a8ea0897c90535e74294b69334b6933697c2b5f7b2a5e7429
+41671b576b334758322f3c224b69336f8f529fb0bbb8c3c6afc0aba0b09fa4bb7e
+a0b09f95af7a8ea0599ea88e95af7a92a7597787468c9853a1b1708ea0899fa056
+92a88d92a88d95af7a7f97537787728ea089bacdd9cccdccd2dee6cdd5ded2dee6
+d2dee6d2dee6dfe1e6dfe1e6d4dcd0d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6
+dfe1e6bacdd9cdd5deb8c1afaba9a69ea88e9a91788b9882778772757c71c0cbb8
+8ea0896374718b9882767b47757c71b8c3c6b0b8a3757c71657c443d5f253c5822
+354c31576b33475832666c5e4e5043262e353335224c5026857d67aea886ada17f
+5f61565f6156394446394446333522262e35262e35342d1f3336423a4423576b33
+576b334960327a91a8a0b09fb0b8a3a0b09f778772657c447e98826b8673667c74
+496065576a62a3b7a4c1d4e2cdd5dedfe1e6cdd5deb8c1af7d90826374713d5f25
+3f4e323d5f25547443657c445474434b69333c58223c58224973233c58223a4423
+3d5f2557737692a88d6b85456f8f526b86736b8545a3b8bcd2dee6d2dee6dfe1e6
+dfe1e6d2dee6aec4d0c1c4c7bacdd9c1c4c7bacdd9b8c3c6afb9bcafc0aba0b09f
+8ea0898ea05992a7598ea0598ea0596b86739ea08aa3b7a4a4bfb5b8c3c6b8c1af
+9ea88ea4bfb5bacdd9b8c1afaec4d0cdd5deafb9bcaec4d08ea08994afa18ea089
+7e9882a4bfb5afc0ab8b98827e98827c90536b85456b852c76872d778746657c44
+54742861834594afa181a08981a0896f8f52697c2b576b3354744381a089709081
+6b8673667c746374716b8545666b3b618345576b33767b4768752b857d67576b33
+c1d4e2c5dae4d2dee6c5dae4c5dae4cdd5ded2dee6c5dae4d2dee6cdd5decdd5de
+bacdd9c1d4e2c1d4e2d2dee6d2dee6c5dae4d2dee6cdd5dec5dae4d2dee6d2dee6
+d2dee6c5dae4d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d2dee6d2dee6
+d2dee6c5dae4d9e6eac5dae4d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d2dee6
+c5dae4d9e6ead2dee6c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ead2dee6
+d2dee6d9e6ead9e6ead9e6ead9e6ead2dee6d9e6ead2dee6d2dee6d9e6ead2dee6
+d9e6ead2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d2dee6c5dae4d9e6ead9e6ea
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c0cbb8afb9bcb2d2e096b7ab709081
+81a0897090815474433c58226274445474437e988281a089819fb7a4bfb5d2dee6
+bacdd9a3b8bcafb9bc8da0b6a3b8bcc5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead9e6ead9e6ea
+d9e6ead2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d9e6eadfe1e6d2dee6d9e6ea
+d2dee6d9e6ead2dee6dfe1e6d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea
+dfe1e6d2dee6d9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6
+d2dee6d9e6ead9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6
+dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6
+d2dee6dfe1e6d9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ea
+d2dee6d9e6eadfe1e6d2dee6d9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6
+dfe1e6d2dee6cdd5debacdd9d2dee6d9e6eacdd5dec0cbb8a3b7a4bacdd9b0b8a3
+92a88d8b988286874a8b90557c90537787727c90537c90538c98538b98828ea089
+8ea0598ea089a0b09fa0b09fcccdccd4dcd0bacdd9aec4d0afc0abafb9bcc0cbb8
+95af7a8ea089a0b09f7c905362744468752b68752b576a1f657c4449601f354c31
+304321354c312f3c223d573b5474436f8f52aec4d0afc0aba0b09f8ea05992a88d
+8ea0899fa85792a759a4bb7e95af7a92a7599ea88e92a7598ea0598c98538ea089
+92a88d8b98826b8545667c74597c7592a88d94afa1b0b8a3b8c3c6d2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6d4dcd0dfe1e6cdd5ded4dcd0d2dee6
+dcd6d6d2dee6dfe1e6d4dcd0cccdccb0b8a3aea8869ea08a8b90809ea9b4c1d4e2
+cdd5deb8c3c6a0b09f857d67666c5e8b98829ea08a7d9082547443666c5e627444
+3f4e32576b33637471757c71394446342d1f2f3c223f4e328b9055aea8869a9178
+767b4787886d5f6156373e4333352233352224261c272c1f2b33223a4423576b33
+6183458ea089cdd5debacdd9cdd5deafb9bc8b9882667c747787729ea9b494afa1
+94afa1afb9bccccdccd2dee6dfe1e6dfe1e6dfe1e6cdd5de8da0b692a88d576a62
+496032576b33576b335474286274444b693347581f657c444b69332f3c222a3438
+3d5f254b6933657c444b69334b681e597c75a4bfb5d2dee6d2dee6d9e6eadfe1e6
+d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6dfe1e6bacdd9aec4d0aec4d0afb9bc
+b8c3c68b98827c905381a08992a88d81a08994afa1a0b09fb0b8a3afc0abafc0ab
+a0b09fa0b09f9ea88e8a99ab8ea0898a99ab94afb981a0898da0b692a88d7e9882
+8ea08994afa19fb0bb94afa1a4bfb581a0896b8545576b33767b47767b47778746
+7f9753709081a4bfb5aec4d0778772576a625e74294b69335474287d9082627444
+657c44637471576b336f8f526274445e7429657c44767b47666b3b576b336b8545
+cdd5dec5dae4d2dee6c5dae4c5dae4cdd5ded2dee6d2dee6c5dae4c5dae4d2dee6
+d9e6eacdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d9e6ead2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d9e6eac5dae4d2dee6d2dee6
+d2dee6c5dae4d2dee6d2dee6c5dae4d9e6eac5dae4d2dee6d2dee6c5dae4d9e6ea
+d2dee6d9e6ead9e6eac5dae4d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ea
+d9e6ead2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6
+d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6b8c3c6a3b8bca4bfb5a4bfb592a8b6
+6f8f5281a089608471547443657c445474437090816886a6b0cbdcc1d4e2b8c3c6
+bacdd9aec4d07d90827e9882aec4d0c1d4e2d2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6d2dee6d9e6eadfe1e6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6
+d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6d9e6ea
+d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6dfe1e6d9e6ead2dee6d2dee6d2dee6
+dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6
+d9e6ead2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dcd6d6dfe1e6
+d2dee6d2dee6d2dee6cdd5dedfe1e6dfe1e6dfe1e6d2dee6dcd6d6d9e6ead2dee6
+d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6d9e6eadfe1e6d9e6ea
+d2dee6dfe1e6cccdccbacdd9c1c4c7d4dcd0d4dcd0b8c1afb0b8a3a3b7a495af7a
+8b98828b905577877277874687886d92a88d7e98826b85456f8f527d90829ea88e
+9ea88e8b98828ea089a3b8bcb8c3c6c1c4c7c1c4c7afc0abb8c3c6a3b8bcc1d4e2
+afc0abb0b8a39ea88e8b9055666b3b5474434758324960326b8545576b33304321
+3c58222f3c22304321547443657c447e9882afc0ab92a88d92a7598ea05992a759
+7f97538ea05992a759a1b1707787466f8f5292a7598ea0597c90538c98537c9053
+8ea0898ea05992a88d7e98826b8673aec4d0a0b09fafc0abafc0abcdd5ded2dee6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5deafb9bcafc0ab
+d4dcd0d2dee6dfe1e6e0e6e8dfe1e6b8c1afafb09e9d9981757c71aeb0bdcdd5de
+dcd6d6d2dee6bacdd99ea08a667c74a0b09fafb9bc9ea88e7787726274445f6156
+767b47666b3b354c31465864373e43333522333642383c235f61569d99819f9154
+667c749da1ab9ea9b44e5043383c23333522342d1f2b33223f4e324b6933627444
+778772aec4d0d4dcd0cdd5decdd5dedfe1e6afb9bc757c717e9882b8c3c6d2dee6
+d2dee6d2dee6e0e6e8dfe1e6cdd5decdd5dedfe1e6d2dee6d4dcd09fb0bb637471
+4b6865354c31344d1e344d1e344d1e344d1e47583247581f2f3c223a4423333522
+354c314b69333d5f25547443576a6292a88da4bfb5c1d4e2d2dee6d2dee6dfe1e6
+d2dee6d2dee6d2dee6d2dee6dcd6d6c1d4e2cccdccbacdd9bacdd9a3b8bcbacdd9
+bacdd9afb9bca0b09fb0b8a39ea88e8ea089b0b8a38ea08992a88d8ea0598ea059
+8b988281a0898b98828ea089a4bfb592a88da0b09fa0b09fb0b8a38b98827c9053
+6b86737787727d98b194afa18ea0897e9882767b47496032576b33556024555824
+778746778772a0b09faeb0bda0b09f757c71576b33576b334b6933576b33767b47
+667c747787466274446b8545767b475e7429657c44778746556024496032576b33
+c5dae4c1d4e2d2dee6cdd5ded2dee6d2dee6cdd5ded2dee6c1d4e2d2dee6d2dee6
+c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d9e6ea
+d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead9e6ea
+d2dee6c5dae4b2d2e0d9e6ead2dee6d2dee6c5dae4d9e6ead9e6eac5dae4d2dee6
+c5dae4d2dee6d2dee6d9e6eac5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ea
+d9e6ead2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead9e6ead2dee6
+d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6d9e6ead2dee6c5dae4
+d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6c1d4e29fb0bb92a8b67090816b8673
+567f3a6b86734b6933567f3a5474434b6933577376819fb79ea9b4aec4d092a88d
+c1d4e2a5c4d770908181a089a5c4d7cdd5dedfe1e6d2dee6dfe1e6d2dee6d2dee6
+d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6e0e6e8d2dee6d9e6ead9e6ea
+d2dee6dfe1e6d2dee6d9e6ead2dee6e0e6e8d2dee6dfe1e6d9e6eadfe1e6d2dee6
+d9e6ead9e6eae0e6e8d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ea
+d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ea
+dfe1e6d9e6eadfe1e6e0e6e8dfe1e6e0e6e8d2dee6dfe1e6dfe1e6dfe1e6dfe1e6
+d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6
+d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6
+d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6cdd5deb8c1afafb9bcbacdd9cdd5deafc0abb0b8a3b0b8a392a88d
+7f97539ea88e9ea88e8ea0598b98828ea0897c90537787468ea059778772a0b09f
+cccdcca0b09f94afa194afa1b8c3c6afc0abc1d4e2b8c3c6afc0abcdd5decdd5de
+afb9bcb8c3c69fb0bb8ea0898b98827787465474433f4e1e576b3347581f475832
+4960324b69335474436b854592a88dc0cbb8b0b8a3819f598ea089a0b09f92a759
+7c90536f8f528c98538c98537c90538c98538c98538c9853657c447f9753778746
+6274446b854592a88d8ea0898ea089a0b09fafb9bcc0cbb8c1d4e2d2dee6dfe1e6
+d2dee6d2dee6dfe1e6d2dee6dfe1e6cdd5dec1c4c7dfe1e6d2dee6afc0ab8b9080
+8ea089b0b8a3c1d4e2d4dcd0dcd6d6c1c4c7cccdccb8c3c69da1abc1c2aeb8c1af
+dcd6d6d4dcd0cdd5decccdccaec4d0cdd5debacdd9c0cbb8b8c3c66374713f4e32
+778772757c71576b335f61564e50434e50435f61565f6156574f2686874aa1b170
+8b9055afb9bcc0b8a663747156603a394446576a623d573b7d90826b854547581f
+637471c0cbb8bacdd9aeb0bdafb9bccdd5de9ea9b492a8b6757c7192a8b6dcd6d6
+dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6c1c4c7b8c3c6cdd5ded4dcd0b8c3c692a88d
+a3b8bc576a624658644b6865657c445474284b69334758322b33222f3c222a3438
+354c314973237090817090817090816f8faea3b8bcc1d4e2c1c4c7cdd5ded2dee6
+d2dee6dfe1e6d2dee6dfe1e6cdd5deb8c1af9fb0bbb8c1afd2dee6bacdd9cdd5de
+cdd5deb8c3c67e98828ea0598ea0898ea0597e988292a75992a88d8ea0896f8f52
+7c9053a4bfb581a0898ea08992a88d9ea88e8ea0898ea089afc0ab8b98826b8545
+6b854561834594afa1a4bfb57e9882627444576b33576b33576b33657c44576b33
+757c7192a8b68a99ab81a089778772666b3b657c4462744456603a62744468752b
+657c44576a625e74297787466274445e74295f7b2a656c26556024576b33576b33
+d2dee6c5dae4d2dee6c1d4e2c5dae4c5dae4cdd5ded2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6
+d2dee6d2dee6b0cbdcc5dae4d2dee6d2dee6d2dee6c5dae4d9e6eac5dae4d9e6ea
+d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6
+d9e6ead9e6ead9e6ead2dee6d2dee6d9e6ead9e6eac5dae4d2dee6d9e6eac5dae4
+d2dee6d9e6ead2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6bacdd99fb0bb96b7ab608471597c75
+6b86735474284b69334b69333d573b3d573b49603281a089a3b8bc94afb9a3b8bc
+c1d4e2afc0ab96b7ab94afb9c1d4e2cdd5decdd5decccdccd2dee6d2dee6d2dee6
+d9e6ead2dee6d2dee6d2dee6d2dee6d9e6eadfe1e6dfe1e6d2dee6d2dee6d2dee6
+d9e6ead9e6ead2dee6d9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6
+d2dee6d9e6eadfe1e6d2dee6dfe1e6dfe1e6d9e6ead2dee6d9e6ead9e6ead2dee6
+d2dee6dfe1e6d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6
+d9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6
+dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6dcd6d6dfe1e6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6dfe1e6d9e6eadfe1e6d2dee6dfe1e6
+d4dcd0c5dae4cdd5deb0b8a3b8c3c6c0cbb8b8c3c6b0b8a3b0b8a3a0b09f8ea059
+7787467e98828b90808b90558b98827d9082657c446183457c90538b9882afb09e
+cccdccc1c2ae8b98828a99ab9fb0bbb8c3c6c1c4c7b8c3c6d2dee6d2dee6c1c4c7
+b8c3c6bacdd9b0b8a38b9882848887767b47576b333a44233f4e32344d1e475832
+47581f7787466f8f526f8f5292a88dafbf77a1b1708c9853a1b170a4bb7e9fa857
+8c985392a7598c98538c985392a88d7f97536b85457c9053767b477c90538ea059
+767b476b85456f8f528b98827787468b9882a0b09fa3b7a4c1d4e2d4dcd0d2dee6
+dfe1e6d2dee6d2dee6dcd6d6dfe1e6d2dee6bacdd9dcd6d6d2dee6b8c3c67d9082
+7090816b86738488877e98828b919f8a99ababa9a6b8c3c6aba9a6aeb0bdb8c3c6
+c0b8a6c1c4c7c1c4c7afb9bcaeb0bd8488878b919f637471757c71576b33637471
+92a88d8b98826b8673576a623d4f565f61564e50433944464e5043766e2d8c9853
+7c90538ea089afb09e7d90824960326374715f6156667c74a0b09f657c445e7429
+5474439ea9b4c1c4c79d9981757c719fb0bbc1c4c79fb0bb9fb0bbcdd5ded4dcd0
+dfe1e6dfe1e6dfe1e6dfe1e6d2dee6cdd5dea0b09fa0b09fb8c3c6bacdd9b8c3c6
+a5c4d792a88d576a627197535f7b2a354c313f4e32354c313c5822496032344d1e
+4b69335773766084714b68654b6933709081a4bfb58da0b6b8c3c6d2dee6d2dee6
+d2dee6cdd5dedfe1e6d2dee6bacdd9c1c4c7aec4d0a0b09fb8c3c6c1d4e2bacdd9
+c0cbb8afc0ab7d90827e98828c98538c98537d90828c985392a88d8c98537e9882
+a3b7a4a0b09f8ea08992a88d8c98537c90537e98828ea05992a88d8c9853778746
+627444819f5992a88da4bfb592a88d666c5e3f4e1e4960326274446b854556603a
+6374718b98827787727d9082667c74576b33697c2b576b33576b33627444627444
+7c9053576b336b8545576b33576b334b69335474435e7429576b33657c44576b33
+c1d4e2d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6
+c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6
+d2dee6a3b8bc92a8b6a5c4d7c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea
+d2dee6c5dae4d9e6eac5dae4d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea
+d9e6ead9e6ead9e6ead9e6ead9e6ead2dee6d9e6ead2dee6d9e6ead2dee6d2dee6
+d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6d2dee6a5c4d792a8b66b8673547443
+567f3a597c754973235474433d573b3d5f254b69336b8673819fb7a3b8bc92a8b6
+b0cbdc8b9882709081a4bfb5a3b8bc8da0b69fb0bbc1d4e2d2dee6d2dee6d9e6ea
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ea
+d2dee6d2dee6dfe1e6d2dee6d9e6ead9e6ead9e6eadfe1e6d9e6ead2dee6dfe1e6
+dfe1e6d9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d9e6ea
+d2dee6dfe1e6d2dee6d9e6ead9e6ead2dee6d9e6eadfe1e6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6
+dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6
+dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6dfe1e6d2dee6
+d9e6ead9e6ead9e6ead2dee6d9e6ead2dee6d9e6ead2dee6dfe1e6d2dee6d4dcd0
+afc0abb8c3c6afc0aba4bfb5b0b8a3a0b09fa3b7a4b0b8a3afb09ea0b09f8b9882
+7c90537d90827c90536b85458b9055666c5e7787727e98827d908281a089b0b8a3
+aeb0bdcfc6b88a99ab94afa1b2d2e0b8c3c6afb9bccdd5decdd5ded2dee6a3b7a4
+8ea089a0b09f8ea08992a88d778746627444576b335474435e74294960323d5f25
+5474287c9053778746778746a1b170a1b1709fa85792a759afbf77a1b1707b9034
+7787467f97537d97367c9053657c44576b336183455e7429657c447787467c9053
+6b85456b8545576b336b85457e988281a0897e9882a0b09fbacdd9cdd5ded2dee6
+dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6c1c4c7cdd5ded4dcd0d2dee6b8c3c6
+a3b8bc8a99ab7787723d4f563a44233944463d4f56465864666c5e6374718b919f
+9d99819a91789d9981757c715f6156666c5e757c717787727787467787468b9882
+c0b197666c5e3944464e5043373e432a3438272c1f342d1f565838767b477c9053
+7787467c90538b90557787466b85457d9082757c717090817d90824b6933576a1f
+49603281a089bacdd992a8b69fb0bbafb9bccdd5ded2dee6dcd6d6dfe1e6dfe1e6
+dfe1e6d9e6eadfe1e6e0e6e8dfe1e6cccdcca0b09f7e98826f8f528ea05992a88d
+81a089778772597c75597c754b69334b69333c582249601f567f3a618345547443
+547443344d1e4b69334b693349732370908192a88d9fb0bbbacdd9b8c3c6a3b8bc
+bacdd9dfe1e6d2dee6d2dee6d2dee6cdd5deb0cbdcafc0abb8c3c6b8c3c6c0cbb8
+bacdd9b8c3c69ea88ea0b09f9ea08ab0b86ca1b1708b98828ea0597f9753778746
+92a88d92a88d7e98828ea0898ea0897c905392a8b6a3b8bca3b7a481a0897c9053
+7c90537c9053618345657c44666b3b576b33354c313c5822657c445e7429597c75
+4b69337787466f8f52afc0ab778772778746627444576b33657c44576b33657c44
+657c445474434758323f4e1e47581f3f4e32475832657c4468752b6b8545666b3b
+c5dae4d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6
+cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d9e6eac5dae4
+d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee692a8b6709081a4bfb5c5dae4d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6
+d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea
+d2dee6d2dee6d9e6ead2dee6d9e6ead9e6ead9e6eac5dae4d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6eadfe1e6d2dee6
+d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6cdd5deaec4d081a0896084714b6865
+567f3a6f8f524b69333f4e3230444d354c31597c756b854570908181a0898da0b6
+81a0896183456b867381a08970908181a089aec4d0d2dee6d9e6ead2dee6dfe1e6
+d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d9e6ea
+dfe1e6d9e6ead2dee6d9e6ead2dee6dfe1e6dfe1e6d2dee6dfe1e6d9e6ead2dee6
+dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d9e6ea
+d9e6eadfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d9e6ea
+dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d9e6ead2dee6
+d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6
+d9e6eadfe1e6d9e6ead2dee6d9e6ead2dee6dfe1e6d9e6eadfe1e6d2dee6d2dee6
+c0cbb8a3b7a49ea08a94afa1c0cbb89ea88ea0b09fafc0ab8ea0598c98538ea059
+7787467c90537787466b85458b90806b8545757c7181a0898ea0897090819da1ab
+b8c1afc0b8a69da1abb8c3c6d2dee6afc0aba3b8bcd2dee6b8c3c6bacdd9b8c1af
+a0b09f8ea0897c90537090816b85457f9753778746657c4449603249601f49601f
+6b85456b8545819f59767b47819f5992a759a1b170a1b170a1b1707f97537f9753
+92a7596f8f527c90535e7429576b33767b476274443d5f255f7b2a5474436b8545
+767b47547443657c447d908281a0897e98827e9882a4bfb5c1d4e2dfe1e6d2dee6
+d2dee6d2dee6dcd6d6dfe1e6d2dee6d4dcd0afb9bc9ea08aafb09ebacdd9cdd5de
+c0cbb8bacdd9a3b7a43f4e32304321576a623d4f562f3c22757c717787727c9053
+9ea88e9ea08a87886d757c716374717e98828b98827c90536f8f528b90559fb0bb
+aeb0bd4e5043443623262e35272c1f342d1f262e35342d1f383c23767b47778746
+86874a8c98537c90537787467f97537090818ea0897f9753576b333a44232f3c22
+3d573b7d9082c1c4c7cdd5decdd5decccdcccccdcccdd5dedfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6cdd5de8b9882618345729e34819f597c9053
+5474287c9053819f597f97534758323f4e1e3c58224b681e54742841671b4b6933
+70908154744341671b4b69333d573b567f3a96b7ab94afa17e98827d9082b8c3c6
+c5dae4d2dee6dfe1e6d4dcd0c1d4e2c1c4c7a3b7a4a4bfb5a4bfb5b0b8a3b8c3c6
+c0cbb8aec4d0a1b170a0b09f8ea059a1b1709ea88e8ea0598ea0897c9053597c75
+6183457e98827c90537e98827f97537d908281a089b0cbdca0b09f8ea0896b8545
+819f597c90537d97365f7b2a62744456603a2f3c223f4e1e6274444b6933547443
+6b8545757c7192a88dcccdcc8ea089627444627444666b3b6274444b6933657c44
+657c445e742949601f4b69333f4e1e344d1e49601f576b33697c2b77874668752b
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6
+d2dee6d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6
+d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d9e6ead2dee6
+d2dee6aec4d0a3b8bcc1d4e2c5dae4d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ea
+d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6
+d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d9e6ead9e6ea
+d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6
+d9e6ead2dee6d2dee6d9e6eadfe1e6d2dee6d2dee6a5c4d794afa1709081608471
+657c446b85455474434960323043213043213d573b4b69336084717197537e9882
+6b8545576b33597c75497323597c7592a88dc5dae4c5dae4b8c3c6c5dae4d9e6ea
+d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea
+d9e6ead2dee6d2dee6d9e6eadfe1e6d2dee6d2dee6dfe1e6d9e6eadfe1e6dfe1e6
+dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6eadfe1e6e0e6e8dfe1e6dfe1e6dfe1e6
+dfe1e6d2dee6d2dee6e0e6e8dfe1e6d2dee6d9e6ead2dee6dfe1e6dfe1e6d2dee6
+d9e6ead2dee6dfe1e6dfe1e6e0e6e8d2dee6e0e6e8dfe1e6d2dee6dfe1e6d2dee6
+d9e6eadfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6
+dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6
+d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6
+d4dcd0a0b09f8ea089a0b09fa0b09fa1b170b0b8a39ea9b48ea0898ea0598ea089
+7787467787466274447c90537d90827787466b86736b8673757c716b86738ea089
+afb09eafb9bca3b8bcbacdd9c5dae4afb9bcafb9bcb8c3c692a88dafb9bcb8c3c6
+a3b8bca0b09f7e9882778746657c446274447c9053576b33496032576b335e7429
+697c2b657c447787467f97538ea0597c90538ea0598ea08992a88d6b85455f7b2a
+92a75992a759778746556024576b338c98537c90538ea0597f97538b9882627444
+6b85457c90538c98536b85458ea089a4bfb5b0cbdcafb9bccdd5ded2dee6dcd6d6
+dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6b8c3c68ea0897c90539d99818ea089
+8ea0898ea0898b9882547443618345778772576a62496032576b33576b33778746
+9fa0569ea88eada17f8b90559d9981778772778772778772778746667c74778772
+757c713944462b3322333642342d1f262e35342d1f2b33223335224c5026778746
+7f97537c90537c90536b852c657c447787467c9053708f31576b333a44232a3438
+3335222f3c22666c5e8b919f9ea08aaeb0bdcccdccdcd6d6dcd6d6dfe1e6dfe1e6
+dfe1e6dfe1e6d9e6eadfe1e6dfe1e6cdd5de81a0897090817c90537197536b8545
+5e74295474437197536183454b6933344d1e3d5f256b85456b8545497323547428
+5474434b693347581f3f4e1e5773764b69335474435474437090817e9882c1d4e2
+d9e6ead2dee6dfe1e6d2dee6c0cbb8c5dae4afc0aba3b7a4c0cbb8c0cbb8afc0ab
+7d90828c9853a0b09f8ea0598b9882a0b09fb0b8a39ea88e9ea88e7787727e9882
+81a08981a0898ea0598ea0897c905381a08992a88d92a8b692a88dafc0ab8b9882
+576b334b69336b854560832a576b33496032304321344d1e576a1f68752b4b6933
+576b33697c2b8b98829ea08a8b9882666b3b576b334960326b85455e7429778746
+7c90537c90534b693347581f3c58223c58224960325e74295e7429767b47666033
+c5dae4cdd5ded2dee6c5dae4cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6c5dae4
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6eac5dae4
+d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6
+d2dee6b0cbdc94afa1aec4d0c1d4e2c5dae4d2dee6d9e6ead9e6eac5dae4d2dee6
+d9e6ead9e6ead2dee6d2dee6c1d4e2c1d4e2d2dee6d2dee6d2dee6d9e6ead9e6ea
+d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d2dee6
+d9e6ead2dee6d2dee6d9e6ead9e6ead9e6ead2dee6dfe1e6d9e6ead2dee6d9e6ea
+d2dee6c1d4e2b8c3c6d2dee6d2dee6d2dee6cdd5dea5c4d781a089608471608471
+567f3a657c44496032354c31304321354c313c58224b6933608471618345547443
+5474436183457e98826f8f5254744370908181a0897d90828a99abd4dcd0d9e6ea
+d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6
+dfe1e6d2dee6d2dee6d9e6ead9e6eadfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6
+d2dee6d9e6eadfe1e6d9e6eadfe1e6d2dee6e0e6e8d2dee6dfe1e6d2dee6dfe1e6
+d9e6ead9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6dfe1e6dfe1e6
+d9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6
+d2dee6d2dee6d9e6ead9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d9e6ead2dee6
+dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6
+dfe1e6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d9e6eacdd5de
+b8c3c692a88d7e988292a88da3b7a4b8c1afb0b8a3a0b09fc0cbb87d90828ea089
+7c90538b90806b86738b98828b9080767b47667c74757c71778772667c748b9882
+afb09ea3b7a4bacdd9bacdd9cccdccbacdd992a8b6a3b7a47e988294afa1b8c3c6
+a0b09fafb9bc92a88d6b86735f7b2a627444666c5e4960325474286f8f525e7429
+3a4423576b33757c71819f598ea059819f597f975395af7a95af7a7c90538ea059
+a1b1708c9853778746576b3349603268752b7c90537787466f8f527f9753778746
+657c448c98538ea0597e98828b988292a88db8c3c6b8c3c6b8c1afcdd5ded2dee6
+d2dee6dcd6d6dfe1e6d2dee6d2dee6dfe1e6cdd5deb0b8a38ea0597c9053697c2b
+7787467787465e74296b85456b852c576b3349601f3f4e323f4e32475832627444
+7787469a91789fa8579d99819a91788b98828ea08994afa1afb9bca3b7a4a0b09f
+9d9981373e43272c1f333522262e35342d1f272c1f3336423335224c5026767b47
+6b852c697c2b6b852c6b852c6b852c708f3160832a6b852c576a1f47581f3a4423
+4758323043212a34382f3c2256603a576b33848887ada17fc0b8a6c1c4c7cdd5de
+dfe1e6dfe1e6d4dcd0dfe1e6d4dcd0cccdcc92a88d95af7a7090816b85454b681e
+47581f618345618345576b333f4e1e3a44234b6933547428697c2b4b693341671b
+49601f3c5822576b334960323a4423344d1e4b6933547428618345709081bacdd9
+dfe1e6d2dee6cdd5deb8c3c6a3b7a4bacdd9bacdd9aec4d08ea08992a88d819f59
+7f97537787468b9882a0b09f7d9082a0b09fc0cbb8aeb0bd8b98827e988294afa1
+92a8b67787726b852c7f97538b988281a08995af7a8ea0897787727e98826b8545
+576b33344d1e4b69335f7b2a708f31657c44576b336274446b854568752b47581f
+627444778746778746697c2b6b854568752b66603347581f7787466b8545697c2b
+657c446b85454758323f4e1e4960324b6933657c444b69335e74295560243a4423
+d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea
+d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6aec4d0b0cbdc
+a3b8bca3b8bc709081a0b09fbacdd9c5dae4d9e6ead2dee6d2dee6d2dee6d9e6ea
+d2dee6d9e6ead2dee6c1d4e2aec4d0aec4d0d2dee6d9e6ead2dee6d9e6ead2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6
+d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6
+d2dee6c5dae49da1abbacdd9c1d4e2bacdd9aec4d0a4bfb5a5c4d7608471597c75
+6183456183454b69333d5f253043213d573b3d573b3d573b3d573b4b693341671b
+3c5822657c447090815474434b6933547443709081709081afc0abd2dee6d2dee6
+d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d9e6ea
+d2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead9e6ead9e6ea
+dfe1e6d9e6ead2dee6d9e6eadfe1e6dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6
+d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d2dee6d9e6ea
+dfe1e6dfe1e6e0e6e8d2dee6d9e6eadfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6
+d2dee6dfe1e6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6
+d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6
+dfe1e6d9e6eadfe1e6dfe1e6d4dcd0d2dee6d2dee6cdd5decdd5decdd5deb8c3c6
+b8c3c6a0b09f7e98828ea08994afa195af7a92a88db8c1afcccdcc8b98828b9882
+8ea0897c90539da1ab7d908281a0898ea0897787467c90537787466f8f528b9080
+b8c1afb0b8a38b919f9fb0bbbacdd9c1c4c7cdd5deaec4d08b98829ea9b49fb0bb
+b8c3c6a4bfb592a88d8b9882667c74576b3354605f354c314b6933576b33496032
+5474286b85457d90827c90536183457c90538ea08995af7a95af7a7787468b9882
+778746697c2b6b85455e7429576b337c90537787466b8545767b476b8673778746
+7c90536183457c905392a88d9ea9b48ea0899ea88eafc0abcdd5dedcd6d6d2dee6
+cccdccafb9bccdd5dedfe1e6dfe1e6d2dee6dfe1e6cdd5dea3b7a487886d8ea089
+8b9882778746657c446b85456183455f7b2a656c265560243f4e324c5026565838
+87886d9a91789d99819d99818b90808488879ea08aaeb0bdafb9bcafb9bc9fb0bb
+757c71394446333522262e352b33223944463944463f4e324e50434e5043778746
+627444576b33576b33697c2b657c446b852c76872d6b852c5e74295e7429576b33
+657c4447583239444630444d576b33767b478b90558b9080857d678488879ea9b4
+cdd5dedfe1e6dfe1e6cccdccc1c2aea0b09f6183456f8f526b852c6b8545344d1e
+3d5f254960325560243a4423383c233f4e1e6b854568752b6660332f3c224b681e
+49601f3f4e323f4e32373e43354c31354c314973235474436b867392a88dc1d4e2
+d4dcd0cdd5dec1c4c7a3b8bcb8c3c6d4dcd0c1d4e2a3b8bc92a88d94afa192a88d
+94afa196b7ab92a88d81a08992a88d9ea9b49fb0bb8b98827787726b854592a88d
+a4bfb57d90826f8f5281a08996b7ab92a88d81a0897787466374715f7b2a5e7429
+4b681e547428576b335f7b2a6b8545708f316f8f527787466b8545767b47576b33
+757c71778746778746767b47697c2b8c9853767b4747581f6274448b90337c9053
+7c90535f7b2a5f7b2a657c44657c44656c266274445e7429576b334b6933555824
+c5dae4cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6d9e6eabacdd97e9882
+94afa181a0897e9882a3b8bcbacdd9d4dcd0d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6aec4d094afa1c1d4e2d2dee6d2dee6d2dee6d2dee6d9e6ea
+d9e6ead2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead9e6ead2dee6d2dee6
+dfe1e6d2dee6d9e6ead2dee6d2dee6d9e6eadfe1e6d2dee6d9e6ead9e6ead9e6ea
+d2dee6d2dee6a3b8bcafb9bcb8c3c6a4bfb59fb0bb96b7ab92a8b66f8f523d573b
+576b336183453d5f254b6933354c313f4e32354c313043213f4e323d573b4b6865
+5474435474434b69335474433c586f60847194afa1c5dae4d2dee6d2dee6d2dee6
+dfe1e6d2dee6d2dee6d2dee6dfe1e6d9e6ead2dee6d9e6ead9e6ead2dee6d2dee6
+d2dee6dfe1e6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d9e6ead9e6ead9e6ead2dee6
+d9e6ead9e6ead2dee6dfe1e6d2dee6e0e6e8dfe1e6dfe1e6d2dee6dfe1e6d9e6ea
+dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6d2dee6d9e6eadfe1e6d2dee6dfe1e6
+d9e6ead2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6
+d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6
+dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6ea
+d2dee6d4dcd0d9e6eadfe1e6dfe1e6dfe1e6cdd5deafb9bcaeb0bdcdd5dec1d4e2
+b8c3c6a3b7a4a3b7a492a88d9ea08a9ea88e9ea88eb0b8a3a0b09f8ea0597c9053
+8b988262744492a8b6afb9bc8b988292a88d7787727e98828ea0897787728b9882
+aba9a6b8c3c69fb0bb7d90829fb0bbbacdd9cdd5deafb9bc7e988294afa18b9080
+9ea88eafc0ab8ea089657c44667c74576b333f4e3247581f657c44344d1e576b33
+7c90537c90537d97367c9053819f5995af7aa0b09fa3b7a4a3b7a492a88d7c9053
+618345657c44576b336b8545697c2b697c2b5f7b2a7c90537f97536b8545778746
+6b85456b85458b98828ea0898ea0898ea05994afa1afc0abd9e6eadfe1e6dfe1e6
+dfe1e6d2dee6cdd5ded2dee6dfe1e6dfe1e6dfe1e6d4dcd0cdd5deb0b8a3b8c1af
+b0b8a37c90537d90827c9053778772557f225f7b2a5474434960326374718b9882
+a0b09f9ea08a95885c857d67afb09e8b9080afb09eb8c1afc1c4c7666c5e54605f
+56603a3a4423333522342d1f3d4f56848887b8c1afaeb0bd848887574f26767b47
+7787468ea0898b98824960325f7b2a6b852c5f7b2a4b681e4b681e6b852c547428
+6274445773763f4e32576a626b854577874687886d86874a9a917884888787886d
+afc0abd2dee6d4dcd0cccdcc9ea9b48c98536b852c76872d6b852c7c9053597c75
+618345496065344d1e3c582249601f6b852c49732368752b3a44233a4423547428
+5f7b2a4b681e5f7b2a3d4f56304321637471497323497323709081b0cbdcb8c3c6
+bacdd9bacdd9c0cbb8b8c3c6bacdd9c1d4e2b8c1afafb9bcbacdd9b8c3c6a3b7a4
+c0cbb894afb970908192a88d81a0898b9882a3b8bc8488877787726274447c9053
+afc0aba3b8bc94afa1a3b7a492a88d7e988292a88d92a88d7d9082576b33657c44
+5e742960832a41671b3d5f25576a1f576b335f7b2a697c2b657c447e98827d9082
+666b3b697c2b77874687886d767b47867c4c766e2d666b3b656c26767b478c9853
+76872d77874660832a778746767b47657c44778746657c4455602449601f657c44
+d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6
+d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6b0cbdc
+7d98b1608471709081a5c4d7a3b8bcbacdd9d2dee6d2dee6d2dee6d9e6eadfe1e6
+dfe1e6dfe1e6d9e6eac1d4e294afa1c5dae4d2dee6d2dee6d9e6ead2dee6d9e6ea
+d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead9e6ea
+d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6
+dfe1e6d9e6eabacdd99fb0bb94afa18a99ab94afb9a4bfb581a089608471496065
+5474434b69334960323d573b3d573b3d5f25354c31344d1e3d5f25496032709081
+94afb9597c754960323d573b5d83a4a3b8bcc1d4e2d2dee6d9e6eadfe1e6d2dee6
+d2dee6d9e6eadfe1e6d9e6ead2dee6d2dee6d9e6ead2dee6dfe1e6d9e6ead9e6ea
+d9e6ead9e6eadfe1e6c1d4e2d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6dfe1e6
+dfe1e6d2dee6dfe1e6dfe1e6d2dee6d9e6ead2dee6d9e6ead9e6eadfe1e6d2dee6
+dfe1e6d2dee6dfe1e6d2dee6d2dee6d9e6eadfe1e6d2dee6dfe1e6dfe1e6d2dee6
+dfe1e6dfe1e6d9e6ead9e6eadfe1e6dfe1e6e0e6e8d9e6ead2dee6dfe1e6d9e6ea
+d9e6eadfe1e6d9e6ead9e6ead2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6
+dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6d9e6eadfe1e6d2dee6dfe1e6d2dee6
+e0e6e8dfe1e6d9e6eacdd5decccdccbacdd9c0cbb8b8c1afc1c4c7cdd5deb8c3c6
+b8c1af92a88da0b09f8ea089a0b09fa3b7a4b0b8a3afb09e92a88d8ea0598ea089
+92a88d7787729ea88ea3b8bc8a99ab8b988287886d8b98827e98827787727d9082
+9ea88eaeb0bd9ea9b47d908281a089b8c1afc1c4c7b8c3c6afb9bc92a8b68b9882
+9ea08a8ea0899ea88e8b98827d90827e9882576b33576b334960323335223f4e32
+5e742961834560832a7c90538c985392a88da1b17092a88db0b8a38ea059778746
+5e74295e74295e7429697c2b5e74296b852c6b85457c90537c90537c9053778746
+7c90536b85455f7b2a7c9053819f5992a88db8c3c6cdd5dedcd6d6d2dee6d9e6ea
+dcd6d6cdd5dec1c4c7cccdccdcd6d6d2dee6d4dcd0dfe1e6d2dee6dfe1e6cdd5de
+c0cbb89ea08a94afa19ea88e6b8673576b337d90828ea0897d9082b8c3c692a8b6
+afb09eaba9a68b9080857d679d99818b908087886d87886d9da1ab5f61565f6156
+56603a767b4756603a373e43757c71b8c3c6bacdd9aeb0bd7787725f615668752b
+767b477d90826374714960325f7b2a576b33576a1f3d5f255e74295e74293f4e32
+4b693395af7a87886d6274447787467787468b908095885c767b4756603a3d4f56
+4e50435f61566374716374716274446b852c697c2b55602447583281a089afc0ab
+6b8673354c314960325f7b2a6b852c708f3176872d68752b4c5026344d1e4b6933
+4960323d573b547443567f3a597c75657c443d573b4b686554744381a08992a88d
+9ea88eafb9bcb8c3c6a4bfb5b8c3c6bacdd9aec4d0a4bfb5c0cbb8a3b8bcafb9bc
+aec4d0afb9bc92a8b692a8b69ea88e92a8b68b98828ea0897e9882666b3b657c44
+657c448b988292a88d7e988281a0898ea08992a88d92a88d778772576b336b8545
+697c2b6274445e74295f7b2a5e7429576b3360832a6b85455e742981a08981a089
+6183455f7b2a60832a7e988287886d77874668752b7c9053778746757b2d68752b
+8c985376872d7b90348c9853627444666b3b7c9053778746767b47657c446b8545
+d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6
+dfe1e6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6c5dae4c0cbb8
+96b7ab94afa170908196b7ab9fb0bbbacdd9c1d4e2d2dee6d2dee6d9e6ead2dee6
+d9e6ead2dee6dfe1e6cccdccaec4d0aec4d0d2dee6d9e6ead9e6ead9e6ead9e6ea
+d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6dfe1e6
+d2dee6d2dee6d2dee696b7ab71975381a08981a089a4bfb57090816b8673618345
+657c44547443576b33354c313f4e324b693354744362744454744354744392a88d
+6b86736b8673567f3a5474437a91a8a4bfb5c1d4e2d9e6ead2dee6d2dee6cdd5de
+d2dee6d2dee6d9e6eadfe1e6d9e6eadfe1e6dfe1e6d2dee6d2dee6d9e6ead9e6ea
+d2dee6d2dee6d2dee6cccdccd2dee6d2dee6dfe1e6d9e6ead9e6ead9e6ead2dee6
+d9e6ead9e6ead2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d9e6ea
+d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6ea
+d9e6ead2dee6d2dee6e0e6e8d2dee6d9e6ead9e6eae0e6e8dfe1e6d9e6ead2dee6
+dfe1e6d2dee6d2dee6e0e6e8d9e6ead2dee6dfe1e6dfe1e6d2dee6d9e6eadfe1e6
+dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6d4dcd0
+d9e6eadfe1e6d4dcd0b8c3c6afb9bccccdccc0cbb8c1d4e2afc0abb8c1afc0cbb8
+b8c1af8ea089a0b09f9ea88e9ea08aa3b7a4b8c1afa0b09fa1b1708ea0898ea089
+8ea0897e98829ea08aafb9bc9ea9b48b98828c98537d90827090817d90829da1ab
+8b98829fb0bba0b09f7d90828b9882aec4d0b8c3c6b8c3c6afb9bc8b98828b9882
+8b98827c90538b98827c9053657c447787464960324758322f3c222e3c44383c23
+3f4e32697c2b576b336183457f97537e98827c905392a7599fa857778746778746
+6274447c9053778746657c4468752b7787466b852c5e74297c905376872d767b47
+657c444b6933657c447d90828ea0597f9753afc0abc5dae4dfe1e6dcd6d6d2dee6
+dcd6d6d4dcd0c1c4c79d9981c0b8a6cdd5dedfe1e6d2dee6dfe1e6dfe1e6d4dcd0
+d2dee6cdd5dec0cbb8b8c3c6a0b09f576a62afc0abc0cbb86b86738b90808b9080
+84888787886d75704d56603a75704d86874a75704d666033857d67767b47565838
+5f6156757c718b908054605f7d90829ea9b49da1ab8488874e4425666033867c4c
+5658384c5026496032697c2b5f7b2a5e742949601f576a1f576a1f47581f3a4423
+333522496032767b477787467b90348c98538c98539a9178778746666b3b4b6933
+3f4e1e4758325e74295f7b2a6b852c656c263a4423383c233f4e1e7f97538b9882
+7787466f8f526183454b681e6b85455e74295e7429778746556024657c444b681e
+4b681e3f4e1e576a624b69335474433c58224960324b6933608471819f597f9753
+8b9882c1cd99c1d4e2afc0aba3b7a4afb9bca0b09fafb9bc92a88d92a88da3b8bc
+8ea0899fb0bba0b09f9ea88e8ea0897d9082576a62666b3b657c447c9053767b47
+7f97538b98827c90537e98826f8f52778772778772637471657c446b8545657c44
+7c905377874668752b5e74295e742949601f6274444960323c582260832a618345
+576b33576b33555824627444767b478b9080666b3b7787467c9053767b4768752b
+757b2d7787468ea0598ea059767b4768752b8b9055778746767b478c9853778746
+d2dee6cdd5ded2dee6cdd5dec5dae4d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6
+d2dee6c5dae4d2dee6d9e6eac5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ea
+d2dee6d2dee6dfe1e6d2dee6d9e6ead9e6ead2dee6d2dee6cdd5dec1d4e294afa1
+7e98827e988270908192a88da0b09fd2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea
+d2dee6d2dee6d2dee6c5dae4b8c3c6afb9bcd2dee6dfe1e6d2dee6d9e6ead2dee6
+d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6
+d9e6ead9e6ead2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6
+dfe1e6d2dee6c1d4e2a5c4d76b8673567f3a81a0897090816b8673597c756b8545
+6f8f526b85455474435474434b69333f4e323f4e325474286183456084717e9882
+7090816f8f52618345597c7581a089c1d4e2d2dee6d2dee6dfe1e6d2dee6cccdcc
+d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead9e6ead9e6eadfe1e6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ea
+dfe1e6d2dee6d9e6ead9e6ead9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6
+dfe1e6d2dee6d9e6ead9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6
+dfe1e6dfe1e6dfe1e6d9e6eae0e6e8d2dee6d2dee6d9e6eadfe1e6d2dee6dfe1e6
+d9e6eadfe1e6dfe1e6d2dee6e0e6e8d2dee6d9e6eadfe1e6d9e6ead2dee6dfe1e6
+d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d4dcd0d9e6ead2dee6
+dfe1e6d9e6ead4dcd0d2dee6d2dee6cdd5dec1c4c7c1c4c7a0b09fafb9bc9ea9b4
+b0b8a38b90808ea0898b98828ea089afb09eafc0ababa9a69fa0569ea88e8ea089
+8b98828b98828ea089a0b09f8ea089757c719ea88e7d908277877294afa17e9882
+9da1abafb09e9ea9b49ea9b47e9882afb9bc9fb0bbc1c4c7b0b8a39ea08a92a759
+8ea0897c90537c9053657c4456603a6b8545657c44576b332f3c223335222a3438
+3a44238ea0598c98537c90538ea0597c90536b85458c98538c98538c98358ea059
+7c90537f97537c9053757b2d68752b666b3b767b47556024778746697c2b657c44
+576b3356603a576b337f97536f8f527c9053afc0abbacdd9cccdcccdd5ded2dee6
+d9e6eadcd6d6bacdd99ea08a9d99819ea88eafb09ec1c4c7cdd5ded4dcd0d2dee6
+dcd6d6dcd6d6d4dcd0d2dee6b0b8a3778772c1c4c78b919f576a627d90828b9080
+848887857d674c50264e5043565838666b3b56583866603374643e8b9055757c71
+757c718b919f9fb0bb7d9082afb9bc9ea9b4757c71666c5e6374715658389a9178
+574f26475832657c446b852c5f7b2a778746576a1f656c26576a1f576a1f47581f
+344d1e3043216274447c90537c90538b90558c98538b9055767b4776872d708f31
+6b852c6b852c7d97365f7b2a697c2b4b69332f3c22344d1e4b69337b903476872d
+7c9053657c44697c2b354c313f4e1e3f4e1e5e74293f4e1e49601f76872d547428
+556024333522383c233043213c5822576b334b6933576b336b85456b85457d9736
+8c9853a3b7a492a88d92a88da4bfb5aec4d0a0b09f8b98828ea05981a08981a089
+7090818b98828b98827e98827787727d90828b98824960327f97537c90537c9053
+778746819f597e98827787726b86737e98827e9882778772627444778746778746
+7b90347c9053697c2b555824576a1f5e742947581f475832657c446b8545657c44
+576b33576b33576b334e5043666b3b8c9853576b335e74295e7429778746778746
+8b905586874a757b2d86874a767b4775704d666b3b556024657c447b90349e9853
+d2dee6c5dae4cdd5ded2dee6d2dee6d9e6ead2dee6c5dae4d2dee6c5dae4d2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6
+d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ead2dee6a4bfb5bacdd9a4bfb5
+6f8f526183456084717090817e9882aec4d0cdd5deb8c3c6d2dee6d9e6eadfe1e6
+dfe1e6bacdd99ea9b4aec4d0b8c3c6a4bfb5bacdd9cdd5ded2dee6dfe1e6dfe1e6
+d9e6ead2dee6dfe1e6d9e6ead9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d2dee6
+dfe1e6d2dee6d9e6ead9e6ead9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6
+d9e6eadfe1e6c0cbb8a4bfb596b7ab6084716f8f52567f3a6b86736f8f52618345
+4973234b69334960323c58222e3c442f3c224b69334b69334b693341671b709081
+618345567f3a60847181a0898da0b6afc0ab9ea9b4b8c1afd2dee6c1d4e2b8c3c6
+c1d4e2d2dee6d9e6eadfe1e6d2dee6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6d9e6ead9e6eadfe1e6d9e6eadfe1e6d9e6ead9e6ead2dee6
+dfe1e6dfe1e6dfe1e6d2dee6d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6ea
+dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6
+d9e6ead2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6e0e6e8d9e6ead2dee6
+dfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6d2dee6dfe1e6dfe1e6d9e6ead2dee6
+d9e6ead9e6eadfe1e6dfe1e6d2dee6bacdd9cccdccc0cbb8afb9bcafc0ab92a759
+8b98827c90538b90559fa0568ea089afb09e9ea88e8c98538b98828ea0598b9882
+7787467787468ea089afb09e7d90826b86738b908087886d7787729fb0bba0b09f
+afb09ea0b09fb8c3c69ea88e8a99ab9da1ab7a91a892a8b6b0b8a39ea88e9ea88e
+7e98827c9053496032627444576a1f657c44576b33576b33354c314758322a3438
+3a44236f8f52657c44576b3392a7597c90536274447787467787467b90347c9053
+6b852c819f598ea0598c98538b90336274446274448c98537c9053767b47778746
+7c9053778746657c44657c445e74295474437d9082bacdd9afb9bca0b09fbacdd9
+d4dcd0cdd5ded4dcd0b0b8a387886d778746767b477787469d99819ea9b4b8c3c6
+cdd5ded4dcd0dfe1e6dfe1e6afb9bca4bfb5b8c3c68488878da0b69fb0bb8da0b6
+9ea88e8ea089565838394446565838666c5e475832666c5e75704d87886d87886d
+aba9a6afb9bc9ea9b48488877d908275889b757c71576a6254605f604f2a867c4c
+565838757c715e7429697c2b76872d697c2b5e74295e742949601f576b33547428
+54742854742849601f7c90538b90558b90809e98537c90538b90337c90537b9034
+6b8545576b33576a1f5e7429656c26344d1e344d1e697c2b5f7b2a7b9034697c2b
+76872d5e74295f7b2a576a1f576a1f49601f49601f47581f6183455f7b2a49601f
+3f4e1e2f3c222f3c223f4e32576b3341671b5e7429708f318ea05992a75992a759
+697c2b7f975394afa1b8c3c6aec4d0b0cbdc92a88d8ea08992a88d5474436f8f52
+94afa1a3b8bc7e98827d908295af7aa3b8bc92a88d657c447c90536b85457c9053
+6b86736f8f52afc0abb0cbdc92a88dafc0ab778772778772576b33767b47627444
+5f7b2a5f7b2a5e7429475832576b33697c2b5e74294960325e74294b681e5e7429
+576b33627444576a1f4758323c5822778746576b33576b335e7429657c44656c26
+697c2b8b90558b9055757b2d62744477874686874a767b47767b47778746757b2d
+cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d9e6eac5dae4d2dee6
+d9e6eac5dae4d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6
+d2dee6dfe1e6d4dcd0dfe1e6d4dcd0d9e6ead4dcd0c1d4e2afb9bca3b7a4aec4d0
+70908141671b4b6933608471819fb7a4bfb5a4bfb5b0cbdccdd5ded2dee6dfe1e6
+dfe1e6d4dcd0a3b8bc7e98828a99ab8da0b69fb0bbcdd5dedfe1e6d2dee6dfe1e6
+d2dee6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6
+d9e6ead9e6eadfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6d9e6ead9e6ead2dee6
+d9e6ead2dee6c5dae494afa1a5c4d781a0896183454b6933547443597c75547443
+5f7b2a3d573b4758323d573b2b33222a34384960324b6933354c31344d1e4b6933
+41671b3c58223d5f25657c446084716f8f526b86738da0b6b8c3c6b8c3c69ea9b4
+9fb0bbc1d4e2d2dee6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6d9e6ea
+d9e6ead2dee6d2dee6d2dee6d9e6ead9e6eadfe1e6dfe1e6dfe1e6dfe1e6dfe1e6
+d9e6eadfe1e6d9e6ead9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6
+d9e6ead9e6ead9e6ead9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6
+dfe1e6d9e6eadfe1e6dfe1e6d9e6ead9e6ead9e6eadfe1e6dfe1e6d2dee6e0e6e8
+d2dee6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d2dee6d9e6ea
+dfe1e6d2dee6e0e6e8d9e6eadfe1e6e0e6e8dfe1e6dfe1e6d4dcd0dfe1e6e0e6e8
+d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d4dcd0c0cbb8b0b8a38ea08992a759
+8ea0899fa85792a7598c98539d9981a1b1708ea0898c98537787468b90806f8f52
+6b86737e988294afa1afb9bc9ea88e7787467e98827787467d908292a88d92a8b6
+a3b7a49ea08abacdd9a0b09fa0b09f81a089657c447d90828ea0898ea0898ea089
+a1b1707d9082576b336274446274445e7429576a1f4758324758324758322b3322
+3a4423627444657c446f8f527c90537787467c905368752b76872d76872d778746
+6b852c697c2b7787467b90348ea0598ea0598c98537c90537787467c90537f9753
+657c44767b477c90534b6933657c447f97537d9082a0b09fa0b09fa0b09fb8c1af
+cdd5ded2dee6dfe1e6d4dcd08ea0897c90537787466b85457787468b9055778772
+7787728b908092a8b69ea88eb8c3c6cccdcccdd5dedcd6d6cdd5dedcd6d6c1c2ae
+cccdccafb09ea0b09f9da1ab9da1ab757c714e504384888787886d9a91788b9080
+87886d9ea08a8b9080c1c2aeaeb0bd8b919f757c7163747154605f4e504375704d
+666c5e7787466b85455f7b2a6b852c5e74295e7429656c263f4e1e3f4e32496032
+47581f5f7b2a60832a8ea0598c98538ea0598b90557787467787465e742960832a
+576a1f47581f49601f5e7429547428576a1f47581f5f7b2a697c2b60832a557f22
+547428557f226b852c576b3368752b344d1e3c58225e7429576b33304321576a1f
+576b3347581f576a1f54742849601f6183457d90827f975395af7ab0b8a39fa056
+697c2b778746a0b09fc0cbb8b0cbdca4bfb57e98827e988281a0897090817c9053
+81a08992a8b694afa1c1d4e2c1d4e2bacdd9a3b8bc8ea089778772778746767b47
+767b477d9082a3b8bc9ea88e7e9882a4bb7e8b98827d90826b8545667c745e7429
+62744455602468752b697c2b7787466b85455f7b2a4b69334b69334b69335e7429
+576b33576b33576b335474435f7b2a576b335474436183455e74295e74295f7b2a
+657c44767b4776872d56603a556024627444767b47767b4786874a867c4c767b47
+c1d4e2d2dee6cdd5ded2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6
+d9e6eadfe1e6d2dee6d9e6ead9e6ead2dee6c0cbb892a8b692a88d96b7ab92a88d
+5474433d5f253c586f41671b709081a3b8bc94afb992a8b6c1d4e2d4dcd0d4dcd0
+d9e6ead9e6eac5dae4a4bfb594afa1b2d2e0d4dcd0d2dee6d9e6eadfe1e6dfe1e6
+d2dee6d2dee6dfe1e6d2dee6d9e6eadfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6ea
+d2dee6e0e6e8d2dee6e0e6e8dfe1e6d9e6ead9e6ead2dee6d2dee6dfe1e6d9e6ea
+d9e6eadfe1e6d2dee694afa16b867381a0896f8f526183455474434b6933547443
+4b69333d573b3c58223d573b2f3c22344d1e567f3a4b6933354c31354c3141671b
+3d5f254b6865496065496032608471819f5960847170908194afa1bacdd9a0b09f
+a0b09fcdd5ded9e6eadfe1e6d2dee6d2dee6dfe1e6d9e6ead2dee6dfe1e6d2dee6
+d9e6ead2dee6dfe1e6d9e6ead9e6ead2dee6d9e6eadfe1e6dfe1e6d9e6ead9e6ea
+d9e6ead9e6ead9e6ead2dee6d9e6eae0e6e8d9e6eadfe1e6d9e6eadfe1e6d2dee6
+dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6dfe1e6d9e6ea
+dfe1e6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6e0e6e8
+dfe1e6d9e6ead2dee6dfe1e6dfe1e6dfe1e6d2dee6e0e6e8dfe1e6d9e6ead2dee6
+dfe1e6dfe1e6d2dee6dfe1e6d9e6ead2dee6dfe1e6e0e6e8dfe1e6d9e6eadfe1e6
+d2dee6d4dcd0e0e6e8dfe1e6dfe1e6d2dee6d2dee6c0cbb89ea88e9ea08aa0b09f
+92a88d95af7a92a88d8ea0598b98828b98829ea08a9ea88e7e98828b90556b8673
+77874692a88da0b09fa3b7a494afa17787728b98828b98828c98538ea0899da1ab
+a0b09f8b9882afb9bcb8c3c6afb9bc9ea9b4667c747e98829ea88e8ea0598b9080
+77874649603249603247581f4960326274444960323a4423576b33576b333f4e1e
+576b337787469fa8578c9853657c445474437c90537787468c98538c98538ea059
+7f97536f8f527787468c98538e9f3b8c98537787466f8f528b90557787466b8545
+7b90347e98826b85456b8545657c446f8f5294afa1a0b09fa3b8bcafb9bccdd5de
+dfe1e6d4dcd0dcd6d6dfe1e6b8c1af92a88d7787727787727787468b988286874a
+627444697c2b778746576b33637471757c71757c71afb9bccccdccdcd6d6cccdcc
+cdd5dec1c4c7cccdcccccdcc8a99ab4e50433d573b757c718b908087886d857d67
+87886dada17faeb0bdc1c2aeaba9a675704d54605f54605f4436234e504366592c
+565838666b3b6b852c76872d697c2b4960323a4423354c312b332233352247581f
+4b69335f7b2a6f8f528b90558b90559d998186874a697c2b656c2649601f5f7b2a
+576a1f697c2b576a1f5e74295e7429697c2b3c582249601f49601f697c2b576a1f
+5474285f7b2a49601f3c58225e74293c5822576b3360832a4c50262b33223c5822
+3d5f2560832a6b8545618345657c4481a089b8c1afa3b7a4a4bb7e7d908268752b
+657c448ea059819f5981a08992a88d81a08981a08992a88d92a88d81a0897e9882
+92a88d94afa16b8673aec4d0a3b8bcafc0abb8c3c67d90826b8545627444547428
+576b33657c447787727787728b90808c98537c9053778746697c2b7c90537d9082
+7c9053767b477787465f7b2a5f7b2a697c2b5e742955602447581f3043213f4e1e
+49732349601f49601f5f7b2a6f8f52576b33576b334b6933496032496032496032
+4b681e68752b556024666b3b556024576b3347581f556024666b3b95885c8b9055
+cccdccc1d4e2d2dee6cdd5ded2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d2dee6d2dee6d9e6ea
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6afb9bc81a0896084717090816b8673
+4973233d573b3d4f563d4f5660847196b7ab7090817e9882c1d4e2cdd5dedfe1e6
+d2dee6dfe1e6bacdd9a0b09fa5c4d7b8c3c6d2dee6cdd5ded2dee6dfe1e6dfe1e6
+e0e6e8dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6d9e6eadfe1e6d9e6eadfe1e6d9e6eadfe1e6d9e6eae0e6e8d2dee6d4dcd0
+d9e6ead2dee6d2dee6afc0ab7787726f8f526b8545567f3a5474435474434b6933
+41671b3d573b3d5f253d5f253043214b6933547443567f3a3f4e32354c31344d59
+6b86733d5f253d573b657c4470908181a0896b867381a08970908192a88d81a089
+92a88dc1d4e2d2dee6d2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d9e6eadfe1e6
+cdd5ded9e6eacdd5ded9e6ead9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6
+d2dee6d9e6ead9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d2dee6
+dfe1e6dfe1e6d2dee6d9e6eadfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6dfe1e6
+d2dee6d9e6eae0e6e8d9e6eadfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6d9e6ea
+d9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6
+d9e6ead9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d2dee6dfe1e6
+dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6c0cbb8a3b7a4afc0abb0b8a3
+a0b09f8ea0899ea08a7d90827787469d9981a1b1708ea0898ea0897c90537e9882
+8ea089a0b09fa0b09f8a99aba0b09f77877294afa1aba9a695af7a9ea08aa0b09f
+b0b8a392a8b6b8c1afc1c4c7b8c3c692a8b677877292a88d95af7a8b98827c9053
+666c5e4758324e50434960322e3c44475832354c31304321556024627444767b47
+8c98537c90537c9053767b477c905386874a8c98538ea0598ea0599fa8579ea88e
+7c90535f7b2a576b3368752b7c90537787468c98537197538ea0598ea059819f59
+92a7597f97537d90828c98537c90537787728ea0898b9882bacdd9afb9bcbacdd9
+d2dee6cdd5deb8c1afcdd5ded4dcd0c0cbb8a3b7a49ea88e87886d7c905387886d
+7c9053778746778746657c44666b3b394446354c31637471626e8c9da1ab8b919f
+9da1ab9d99819da1abc0b8a68b90803f4e32373e437787729da1ab9ea88e8a99ab
+9d9981aba9a6aba9a6c0b8a69a9178666c5e5f61564e4425383c234e4425565838
+574f26666b3b68752b5e74293f4e1e3335222b3322272c1f272c1f2f3c22496032
+697c2b3f4e1e697c2b8b90559d99818c985368752b576a1f41671b4b681e6b852c
+76872d708f316b852c5e74294b681e5e74295f7b2a5f7b2a5f7b2a6b852c4b681e
+4b681e6b852c4b681e3d5f25547428576b33344d1e54742860832a5474284b681e
+3c58225474436b85457197536f8f52a1b170a3b7a48c98538b9033697c2b547428
+7b90347197537d97367787465f7b2a6183456f8f527090817f9753819f5981a089
+a3b7a4aec4d092a88da3b8bc7d90827e98828b98827c90536374714b6933697c2b
+68752b657c447c90538ea089a0b09f7787725e7429576a1f4b6933657c4492a759
+8ea059778746547428496032576b3368752b576b3355602447581f354c313a4423
+3d5f254960323c58225f7b2a567f3a56603a4960325560244b69333f4e1e4c5026
+475832556024556024627444576b33666033576b33576b3368752b778746767b47
+c1d4e2bacdd9d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6
+dfe1e6d2dee6dfe1e6dfe1e6d9e6ead2dee6b2d2e081a0896b86734973234b6865
+3d573b354c313c586f576a625474436183454b686581a089b0cbdcc5dae4dfe1e6
+d4dcd0d2dee6bacdd981a0899fb0bbc1d4e2bacdd97d98b1b0cbdcdfe1e6d2dee6
+dfe1e6d9e6eadfe1e6dfe1e6d2dee6dfe1e6d9e6eadfe1e6d2dee6d2dee6dfe1e6
+d9e6eadfe1e6d2dee6dfe1e6d9e6ead2dee6dfe1e6d2dee6e0e6e8dfe1e6cdd5de
+d4dcd0d9e6eadcd6d6c5dae481a0896f8f52618345547443547443547443547443
+4960323d573b3043213d573b3d5f25567f3a576b333d5f255474283d573b354c31
+6084716084716183456f8f526f8f52608471618345576a6270908192a88d6f8f52
+6f8f52b0cbdcbacdd9dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6ead9e6eadfe1e6
+cdd5ded2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d9e6ead2dee6dfe1e6dfe1e6
+dfe1e6d2dee6dfe1e6e0e6e8e0e6e8d9e6eadfe1e6d9e6ead9e6eadfe1e6d9e6ea
+d2dee6dfe1e6dfe1e6d9e6ead9e6ead2dee6e0e6e8dfe1e6d9e6ead9e6eadfe1e6
+d9e6eadfe1e6d2dee6dfe1e6d9e6ead2dee6e0e6e8d2dee6d9e6ead4dcd0dfe1e6
+e0e6e8d2dee6e0e6e8d9e6ead9e6eadfe1e6dfe1e6e0e6e8d4dcd0dfe1e6dfe1e6
+d2dee6dfe1e6d2dee6d9e6eadfe1e6d9e6eadfe1e6d2dee6e0e6e8d9e6eadfe1e6
+d2dee6e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6cdd5dec0cbb8a4bfb5afb9bc
+a3b7a492a88d8ea0897787467d90829ea08a8ea0599e98538b98828ea0898b9882
+8b9080aba9a6aba9a68b988292a88d9ea88ea0b09f9ea08ab8c1afa0b09f8ea089
+8b98828b9882a4bfb5b8c3c6b0b8a3a0b09f92a8b69ea88ea0b09f9ea08a7e9882
+7d90826b8673576a62657c4447583249603249603247583247581f41671b7c9053
+8c98538ea0597b90347c90539fa857b1b0699fa8577c90537c9053aea8868ea059
+76872d5f7b2a5e74298c98537c90537c90537c9053a1b1707b90348b90559ea88e
+92a88d7c90536b86738ea0598b98828c985392a88d8ea0898ea089bacdd9d4dcd0
+d2dee6c5dae4a0b09f8ea089c0cbb8d2dee6c0cbb8a3b7a48b98828ea0597d9082
+9ea88e8b98827d90828b9882576b334758326374717787724658648ea0899da1ab
+8488878488878b908075704d6274444c5026574f26666c5e857d67848887848887
+afb09eafb09e9ea9b4b8c1afaba9a68a99ab757c71373e434e504375704d74643e
+4c502655602468752b75704d4c5026342d1f342d1f272c1f272c1f383c2347581f
+68752b3a442368752ba1b170aea8868b905568752b576b3347581f54742847581f
+68752b5f7b2a708f317b903468752b697c2b76872d60832a6b852c76872d697c2b
+60832a6b85455474284b681e3a4423383c233043214973235e74296b852c5e7429
+49601f657c44475832567f3a92a75992a7599fa8578ea0598c98536b852c6b8545
+60832a618345547428576b33547428819f599ea88e92a88d7c90537f975381a089
+81a08992a8b69ea9b48b9882667c746b86736b8545767b47778746697c2b7c9053
+778746657c446f8f52a3b7a4afc0ab8b90806b85457c90536b86735e74295e7429
+8c98538b90555e74294b693354742862744447581f3a44233a44234960323c5822
+3f4e324960324960323d5f254b69334758324758324758324960323c582249601f
+576b334c5026496032666b3b55582456583855582475704d778746666b3b666b3b
+afb9bccdd5ded2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d9e6ea
+d2dee6d9e6ead9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ea
+d2dee6d2dee6d2dee6d2dee6d4dcd0d9e6ead4dcd0a3b8bc597c75597c754b6933
+354c31354c3157737649732354744349732360847181a0899fb0bbd2dee6dcd6d6
+c1d4e2afb9bcb8c3c68da0b69ea88e9da1ab8b9882afb9bcc5dae4d2dee6dfe1e6
+dfe1e6d2dee6d2dee6d9e6eadfe1e6d9e6ead2dee6dfe1e6dfe1e6dfe1e6dfe1e6
+d2dee6d9e6ead9e6eadfe1e6d9e6eae0e6e8d9e6eadfe1e6dfe1e6dfe1e6d2dee6
+b8c3c6cdd5deb8c3c6c0cbb892a8b66b86737197534b69334960324b69334b6933
+3d573b344d1e2e3c443f4e324b69336183456f8f524b69333d5f254b6933547443
+81a08981a0896183456183454973236084715474434b6933709081709081567f3a
+6084718ea089bacdd9d2dee6d2dee6dfe1e6dfe1e6d9e6ead2dee6d9e6eadfe1e6
+d2dee6d2dee6dfe1e6dfe1e6d9e6ead9e6ead9e6eadfe1e6e0e6e8d9e6ead9e6ea
+e0e6e8dfe1e6d9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6
+e0e6e8d2dee6e0e6e8d9e6eadfe1e6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d9e6ea
+d2dee6d2dee6e0e6e8d2dee6dfe1e6e0e6e8d9e6eae0e6e8dfe1e6e0e6e8dfe1e6
+e0e6e8dfe1e6dfe1e6e0e6e8e0e6e8d9e6ead9e6eadfe1e6dfe1e6dfe1e6dfe1e6
+e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8d4dcd0e0e6e8dfe1e6e0e6e8dfe1e6e0e6e8
+d9e6eadfe1e6dfe1e6d9e6eae0e6e8dfe1e6dfe1e6d9e6eac0cbb8b0b8a3afb9bc
+b8c1afafb9bc8ea0897f97537c90538b98828b908077874687886d9ea88e9ea88e
+94afa19ea88ea1b1708b90557787468ea0898b9882aba9a69ea88e9da1ab7d9082
+a0b09f8b98828ea089a0b09f9da1abafb9bca0b09f92a88d8ea0899ea88e8b9882
+7e988281a08992a88d7d9082597c754b68654b6933344d1e4758325f7b2a7b9034
+7c90538ea0598c98538ea05992a759b0b86c8ea0597f97538c98538b9033778746
+697c2b7c90538c98538ea0597d9736778772657c448ea0595f7b2a5e74297c9053
+8b98827e98828b98828c98538c98537f97538ea0898ea08995af7ab0b8a3cdd5de
+d4dcd0d9e6eab8c1af8b98827d90829ea88eb0b8a3c0cbb8b0b8a39ea08a9d9981
+92a7597c9053a0b09fafb09e7787728ea0899fb0bb9da1ab6b86737d9082757c71
+767b47857d679a9178767b475658384c50264e5043565838857d67afb09eb8c1af
+c1c4c7c1c4c7aeb0bdaba9a6757c714e4425333522373e43666c5e95885c95885c
+666b3b68752b68752b3f4e1e3f4e323a44233a44233335223a4423666b3b697c2b
+8b90558b98829fa056aea8869d9981666b3b5560244b681e3f4e1e576a1f576a1f
+5560246b85458ea0597f97535f7b2a697c2b60832a5f7b2a6b852c76872d708f31
+6b8545547443657c443c58224b681e5f7b2a49601f47581f4b69334b681e4b681e
+6b852c547428344d1e547443819f597787466b852c7b903492a7598ea0598c9835
+68752b4b6933627444576b33657c447c9053afb9bc7c9053627444667c747e9882
+576b337090817e988254744354605f5474435474437b90346b854576872d778746
+627444576b3394afa1bacdd9afb9bc7d90827787466f8f527f97536b852c60832a
+7787468b9055576b335e74297787466b85454b681e56603a354c3147581f496032
+49601f4b693347581f54742847581f3f4e1e4960324c502647581f3c58223d5f25
+557f2249603247581f55602447581f627444767b47556024666b3b7787466b8545
+aec4d0c5dae4d2dee6c1d4e2cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6
+d9e6ead9e6ead9e6ead2dee6d2dee6c1d4e2cdd5dec5dae4a3b8bc6b8673547443
+3d5f25354c31354c313d573b3d5f25597c7560847196b7abc1d4e2dfe1e6dfe1e6
+bacdd9b8c3c6c0b8a69da1ab8b9882667c7494afb9c1d4e2d9e6eadfe1e6d9e6ea
+dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d9e6ead9e6ead2dee6dfe1e6dfe1e6
+d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6ead2dee6
+9fb0bbb8c1afafb9bcc1d4e2a3b7a45474436b86734b69334b6933657c443d5f25
+354c314758322f3c222b33222f3c223f4e324b69334b69333043213d573b4b6933
+6f8f52719753719753618345567f3a4b693341671b547443567f3a567f3a567f3a
+70908192a88dbacdd9d2dee6d9e6eadfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6
+dfe1e6d9e6ead9e6eadfe1e6d2dee6d9e6ead9e6ead9e6ead2dee6dfe1e6dfe1e6
+d9e6eadfe1e6d9e6eae0e6e8dfe1e6d9e6eadfe1e6dfe1e6d2dee6dfe1e6dfe1e6
+dfe1e6d2dee6dfe1e6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6d9e6eae0e6e8
+dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6d9e6eae0e6e8
+e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d9e6ead9e6eadfe1e6d2dee6e0e6e8
+dfe1e6d2dee6e0e6e8e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8
+dfe1e6d9e6eae0dfc6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8cccdccafb9bccccdcc
+c1c4c7afb9bc9ea88e7d90827787468ea0897d90827787468b9882afb9bcafb9bc
+a0b09fa1b1709ea88e8c98537787467d90828b9882b8c1afa0b09fa0b09f9d9981
+afb9bcafb09e7d9082afb9bc8b90807e98828ea0898b98828ea0899ea88e8ea089
+8b9882a3b7a492a88d7e98826f8f52576a62597c7547583256603a7787469ea88e
+8c985386874a7b90349fa8578b90559fa8577787467f97538ea059767b47576b33
+5f7b2a76872d8b9055656c265e7429496032576b337787725f7b2a657c446f8f52
+657c447f97537c90537f97538b90806f8f528b98827d9082a0b09fa3b7a4c1d4e2
+d4dcd0dfe1e6cccdcc8b98827c90538b90558b98828c98538ea0899ea88e9ea88e
+8c9853778746a3b7a4b8c1af7d9082576a62667c748b98829ea9b47d9082778772
+5f6156867c4c867c4c77874675704d576a625f61568b9080afb9bcc1c4c7cccdcc
+cdd5dec0b8a68b98825f61564e4425373e433336426b867387886dada17f95885c
+767b47757b2d5658384e504375889b7d9082848887848887657c4486874a86874a
+9e98539e98539a91789e985386874a666b3b576b3349601f49601f4b681e5e7429
+3f4e3263747194afa192a88d7f9753576a1f5f7b2a708f316b852c6b852c5f7b2a
+576a1f3c58226183454b69333a44233a44232f3c2247581f4b693354742849601f
+4b681e5e742947581f49601f7d97367b903477874676872d7b90347b90347b9034
+778746a1b170b0b86c8b905568752b6b8545637471576b334960324b6933608471
+597c757e988281a0898b98824960326084717d90827787466b85457787466b8545
+657c4470908192a8b6c0cbb88b919f767b477c9053627444618345697c2b708f31
+7c90539e98535e7429576b335e74295f7b2a5f7b2a496032496032344d1e3f4e1e
+576b333c58224758323d5f253c58223f4e324758323f4e323a4423344d1e3c5822
+5f7b2a576b3349601f55602455602456603a666033666b3b66603356603a666033
+aec4d0cdd5dec1d4e2cccdcccdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6dfe1e6
+d2dee6d2dee6d2dee6dfe1e6dfe1e69fb0bb94afa1bacdd9c5dae4a4bfb5709081
+5474433d573b344d593d573b3c586f6b8673587ca094afb9c5dae4dfe1e6d2dee6
+d2dee69fb0bbafb09e9ea88e8ea0898ea0898b919fb8c3c6d2dee6dfe1e6d2dee6
+d9e6ead9e6eadfe1e6d9e6ead2dee6dfe1e6d2dee6dfe1e6dfe1e6d9e6eae0e6e8
+e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8d2dee6dfe1e6d4dcd0c1d4e2
+bacdd98b988294afa19fb0bb96b7ab657c446b8545567f3a547443576b333c5822
+3d573b2b33222f3c22262e352a34382f3c22354c31344d1e354c31354c31709081
+576a62547443567f3a4b69333d573b30444d354c313d5f254b6933547443567f3a
+719753709081afb9bcd2dee6d2dee6d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6ea
+dfe1e6dfe1e6d2dee6d9e6eae0e6e8d9e6eadfe1e6d9e6eadfe1e6d9e6ead2dee6
+dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d9e6ea
+dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6d9e6eadfe1e6d9e6ea
+d9e6eadfe1e6d9e6eadfe1e6d4dcd0d9e6ead9e6ead9e6ead9e6eadfe1e6dfe1e6
+dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d2dee6e0e6e8e0e6e8d4dcd0
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8e0e6e8dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6cdd5deafb9bccccdcc
+b8c3c6cccdccb0b8a37d90829ea08a9ea88e7d90827c90538b98829ea08aa0b09f
+9ea08a9ea08a92a88d8b90806b85457787467c905387886d8ea089aeb0bda3b7a4
+9ea08ac1c2aea0b09fa0b09f7d908292a88da0b09f9ea88e9ea08aafb09ea0b09f
+8b988294afa17d90827d90827d90825474436374713f4e322f3c22666c5e8ea059
+9fa857a1b1708c983592a75986874a7c90536b85457c90537c9053627444556024
+576a1f778746767b476b854568752b627444627444657c44778746567f3a657c44
+7c9053667c7492a88d7c90537787726274447d908281a08981a089b0b8a3c0cbb8
+d4dcd0dfe1e6d4dcd0cccdcca0b09f8b9882afb09e7c90537b90348c98538c9853
+7787468b905587886d8b90558ea059767b477c90538ea0599ea88e7c9053778746
+767b4786874a87886d857d678b9080aba9a6b0b8a3c1c4c7cccdccc0b8a68a99ab
+848887757c718b919f7787724e50433a44234658649ea08a9ea08ac0b1979fa056
+76872d767b475558244e504354605f84888784888754605f565838778746778746
+9a9178778746857d67767b47666b3b87886d778772576b33576b33547443767b47
+576a624960327c9053709081a3b7a47e98828ea0597787464b681e5e742960832a
+6f8f525f7b2a576b334b681e3c5822475832697c2b7f975376872d697c2b4b681e
+576b33697c2b576a1f3c58226f8f527787467b90347d97367b90347b90348c9835
+92a7597c90538b90558c9853656c26656c26556024576b33576b33719753819f59
+92a88d7d9082757c717090816274447e98828ea0897e9882767b474b69338b9080
+afc0abbacdd9afc0abb0b8a3667c74666b3b778746657c44656c26697c2b76872d
+8c9853778746576b33576b33576b3349601f49601f3f4e1e576a1f576b33576b33
+475832344d1e47581f4960324960323c58224960323f4e1e344d1e3f4e32496032
+4960324c5026576b33576b33666b3b496032556024666b3b666b3b475832565838
+a4bfb5afb9bcaec4d0bacdd9cdd5ded2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6
+d2dee6dfe1e6d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6
+dfe1e6d2dee6dfe1e6d2dee6d2dee6a4bfb56084717e988296b7ab94afa1618345
+4973234973234973234b686554744381a08992a8b692a8b6c0cbb8d2dee6d2dee6
+d9e6ead2dee6aba9a68488879fb0bb8da0b692a8b6d2dee6d2dee6d2dee6d2dee6
+dfe1e6d2dee6d9e6eadfe1e6dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6dfe1e6
+d2dee6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6d4dcd0afb9bc
+b0b8a37090816b86737d90827e9882657c44657c44547443657c446b8545496032
+354c312b33222f3c22272c1f3335223f4e323d573b304321304321344d594b6933
+354c31304321576a62475832344d1e3043213043214b6865547443547443567f3a
+567f3a608471b8c3c6b8c3c6cdd5ded2dee6d2dee6d9e6ead9e6ead9e6ead2dee6
+dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d9e6ead9e6ead9e6eadfe1e6e0e6e8e0e6e8
+e0e6e8dfe1e6d9e6eadfe1e6d9e6eadfe1e6d9e6ead9e6eadfe1e6d9e6ead9e6ea
+dfe1e6d9e6ead9e6eadfe1e6d2dee6d9e6ead2dee6dfe1e6d2dee6dfe1e6d9e6ea
+d9e6ead2dee6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d9e6ead2dee6e0e6e8
+e0e6e8e0e6e8d9e6ead9e6eadfe1e6d9e6eadfe1e6d4dcd0dfe1e6dfe1e6dfe1e6
+d2dee6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8ebeae7
+dfe1e6dfe1e6e0e6e8cdd5ded4dcd0d4dcd0dfe1e6dfe1e6dcd6d6afb09ec1d4e2
+c1c2aec1d4e29ea88e8b9882b0b8a39ea88eafb09e9e98538b98829ea88e8c9853
+92a7599fa0568ea0899ea88e8b98827c90537787468b90808b9882b0b8a3c1c2ae
+8b9882ada17fb8c1af9fb0bb8b988292a88d7d9082a0b09f8b98829ea88e8ea089
+7787726b86737d90827787724b6933475832637471576a62304321496032778746
+8c98537787468c98538ea83e8b90338c98537f97537b90346b852c5e74296b8545
+697c2b5f7b2a68752b8c98538c985376872d576b33576b33666b3b77874686874a
+7787466b85457d90827f9753778772576b33576a6281a089a3b7a4afc0ab92a88d
+c1c4c7dfe1e6dfe1e6e0e6e8c0cbb8c0cbb8c1c4c78b9033576b33697c2b76872d
+76872d778746656c265e74296b85456b8545697c2b68752b7787465e7429697c2b
+819f598ea0598b90809e985386874aafb09ec0b8a69ea9b48b919f9da1ab9d9981
+9a9178aba9a6c0b8a68b90805f615687886d8b905595885c857d6795885c9e9853
+76872d757b2d576b3354605f757c71637471342d1f383c23666b3b87886d8c9853
+95885c8b90809ea88e757c718b9882a0b09fa0b09f8b98828b988292a8b6b0b8a3
+666c5e4960326f8f527d9082a0b09fcdd5deb8c3c6757c713a44233d5f25697c2b
+5f7b2a4b681e576a1f4b6933576a1f7c90538b903392a7597c90538c98538c9853
+8c98538e9f3b76872d5e74297d97367c90538c98537b90347b90347b9034697c2b
+757b2d5e742968752b576a1f496032576b333f4e323f4e326b85458ea089a3b7a4
+a0b09f8b98826274447090816274444b6933576a626b8673697c2b5e74298ea089
+c0cbb8afc0ab9da1ab8488877c9053576b33576b33767b47666b3b5e7429576b33
+697c2b767b476274444b69334b69335560243f4e323c5822576a1f5e7429657c44
+5560244b69335e74293f4e1e496032576b3356603a576b334960324c502647581f
+56603a55582455602486874a55602447581f627444666b3b666b3b666033565838
+a5c4d792a8b69ea9b4bacdd9c5dae4cdd5ded2dee6cdd5decdd5decdd5ded2dee6
+d2dee6d2dee6d2dee6d9e6ead2dee6d9e6eadfe1e6d2dee6d9e6ead9e6eadfe1e6
+d2dee6dfe1e6d4dcd0dfe1e6d2dee6bacdd996b7ab608471608471719753719753
+5474435474433d5f253d5f254b6865709081618345597c757e9882bacdd99fb0bb
+b8c3c6d2dee6c0cbb88ea08992a88d8b98829ea9b4cdd5dedcd6d6bacdd9b8c3c6
+d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6
+dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d9e6eadcd6d6d2dee6dfe1e6d4dcd0a3b8bc
+92a88d7e98826183456183457090816b86735474286183454b69336f8f524b6933
+3c58223043212e3c44272c1f2e3c44547443344d1e3d573b354c31354c31475832
+3d5f253f4e1e3944463c58223d5f253043212e3c4449603254605f496032547443
+4b6933667c7494afb99fb0bbafb9bccdd5ded2dee6dfe1e6d2dee6dfe1e6dfe1e6
+d9e6ead9e6ead9e6eadfe1e6dfe1e6dfe1e6dfe1e6d9e6eae0e6e8e0e6e8d2dee6
+d9e6ead9e6eadfe1e6d9e6eae0e6e8d9e6eae0e6e8d2dee6d9e6ead9e6ead9e6ea
+dfe1e6dfe1e6dfe1e6d9e6ead9e6ead9e6eadfe1e6dfe1e6e0e6e8d2dee6d9e6ea
+d2dee6dfe1e6d9e6ead9e6ead2dee6dfe1e6d9e6eadfe1e6d4dcd0dfe1e6d9e6ea
+dfe1e6d2dee6dfe1e6d4dcd0dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d4dcd0dfe1e6
+d4dcd0d9e6eadfe1e6d2dee6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6ebeae7dfe1e6
+ebeae7dfe1e6dcd6d6cccdccd4dcd0cdd5decdd5dedcd6d6c0cbb8c1c4c7c1c4c7
+b0b8a3afb09ec1c2aec0b8a6cccdccc0b8a6c1c2ae8b90558ea089afb09e9ea08a
+9ea88e9ea88e9fa0569ea08a87886d7787467c90537f975387886dc0b8a6afb9bc
+9d99818b9080a0b09fafb09e92a88da3b8bc8ea0899ea88e9ea88e92a88d7e9882
+6b85457d90827d9082667c744b69336b86737f97537e9882547443576b3356603a
+8c98537b90347787466b85455e74297c905368752b6f8f526b85457787468c9853
+656c26576b337787468c98538c9853666b3b778746767b4762744484888792a88d
+8b98828ea08981a08987886d778746627444576b337787729ea9b4a3b7a48b9080
+94afa1d4dcd0d2dee6dfe1e6cccdcccdd5dec0cbb8778772767b478c9853778746
+757b2d778746697c2b5e7429767b4786874a767b47556024697c2b6b852c6b852c
+8b90558b90559e98538b988295885c9ea08a9ea08aada17fada17fc0b197aba9a6
+9d9981ada17fada17f857d6787886d9a91789da1abc1c2aec1c2aeaba9a68b9033
+7b9034778746697c2b63747175889b666c5e4e44255f61568c9853aea8869e9853
+8b90559ea08a92a88d848887b0b8a3b8c3c68a99ab9ea9b4b8c1afb8c3c6cccdcc
+7d9082576b33767b4768752b5f615654605f4e50433a44232b33224758325e7429
+657c443c58226b85455f7b2a7787468ea0598c985376872d76872d80a03b8ea059
+91af499fa8578e9f3b8c98538e9f3b7b903460832a697c2b6b852c7d9736697c2b
+576a1f697c2b778746576b3349601f4b69335e7429767b476b85457f97538b9055
+8ea0598ea0597e98827e98826b86736183457197536b86736b85456183456f8f52
+8b90807e988292a88da4bfb57d90826b8545576b3362744487886d697c2b5e7429
+697c2b5558246660333a44233f4e323a44234b6933656c266274444b681e5e7429
+496032666b3b4b69334758323a44232f3c22354c31657c44666033576b33576b33
+8b903387872c6b8545778746656c26576a1f666033666b3b666033576b33576b33
+bacdd9b0b8a3a0b09fcccdccd2dee6cdd5decdd5dec1c4c7c1d4e2d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6
+dfe1e6d2dee6dfe1e6d2dee6d4dcd0afb9bc94afa181a089608471567f3a547443
+4b69333d5f253d573b3d5f254b6933608471567f3a60847196b7ab94afb98b9882
+8ea089a0b09fafc0ab7d9082627444778772aeb0bdb8c3c69fb0bbb8c3c6d2dee6
+d2dee6d9e6ead9e6eadfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ead9e6ea
+d9e6eadfe1e6dfe1e6dfe1e6d9e6eadfe1e6d4dcd0cccdccd9e6ead2dee6b8c3c6
+7e9882719753657c444b69334b69334b6933657c44618345547428657c44576b33
+4b69332f3c22394446272c1f3a44234b6933354c313d573b3f4e324960324b6933
+4b69333d5f253f4e1e344d1e3d5f252f3c22354c31608471618345567f3a618345
+5474434b69337d98b194afa18ea089cdd5ded9e6eadfe1e6d9e6eadfe1e6dfe1e6
+d2dee6dfe1e6d9e6ead9e6eadfe1e6dfe1e6d2dee6dfe1e6d9e6eae0e6e8dfe1e6
+d9e6eadfe1e6dfe1e6e0e6e8dfe1e6d9e6eae0e6e8dfe1e6d9e6eadfe1e6d9e6ea
+d9e6eadfe1e6dfe1e6d9e6eadfe1e6d9e6ead9e6eadfe1e6d9e6eae0e6e8d9e6ea
+e0e6e8d9e6eae0e6e8dfe1e6e0e6e8d2dee6d9e6eadfe1e6dfe1e6dfe1e6d9e6ea
+dfe1e6d2dee6dfe1e6d4dcd0dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6d9e6eae0e6e8
+dfe1e6d2dee6e0e6e8dfe1e6d9e6eadfe1e6e0e6e8e0dfc6ebeae7e0e6e8ebeae7
+ebeae7dcd6d6c1c4c7c1c4c7cdd5dec1c4c7b8c1afb8c1afaeb0bdcccdcccccdcc
+9ea88eaba9a6c1c2aecccdccc1c4c7afb9bccdd5deada17fb0b8a3c1c2aeaea886
+9ea88eb1b0699ea08a8c985387886d6183457e98828ea0596b85459ea88eb8c1af
+9ea08aa0b09fa0b09f9da1ab9da1aba0b09f92a88d8b9882a0b09f9fb0bb8b9882
+7d90828ea089a0b09f7787724b686592a759667c746274444b69333c58226b8545
+8ea05968752b68752b697c2b4b681e7c9053576b33697c2b7b9034697c2b8c9853
+697c2b657c44697c2b7c9053778746757b2d778746767b47767b47666b3b7d9082
+7c90537787726b8545627444627444576b33657c447787467e9882bacdd9afb09e
+a3b7a4cdd5dedcd6d6d9e6eac1c2ae8b98828ea08968752b8c98539ea08a5e7429
+7787467787467c90537b90346b852c8b90558c9853767b47757b2d77874668752b
+77874686874a9f91548b905595885c87886daea886aba9a6aba9a6aba9a69d9981
+ada17fafb09ec1c2aec0b197c1c2aec0b8a6cccdcccccdcce0dfc6afb09e87872c
+7787467787465e74299d99819ea88e87886d75704d9d99819fa0569ea08a767b47
+8b9055aba9a68ea0898b9882afc0abb8c1af9da1abcccdcccdd5decccdccdcd6d6
+b8c3c68b98826b85455e74293f4e1e3a44233a4423333522272c1f2b33222f3c22
+576b33344d1e627444a0b09f8ea0598c98538e9f3b8c98538b90338ea0599fa857
+9fa8578ea0598c98538c98357787465e7429576a1f7b90347f97537d973676872d
+697c2b7b90348ea059697c2b6b852c76872d7c90537787467787467c90538ea089
+7c90539ea88e95af7a657c44657c444b69334b6933709081666b3b6183457c9053
+8c98536b86738b988294afa1667c745e742949601f576b33576b338b9055627444
+576b333f4e324758323f4e1e2f3c22576b33657c44778746656c26657c44556024
+3f4e3247583249601f4758325e74293a442362744492a75986874a767b47576b33
+6b85458b903368752b627444767b4768752b55602462744468752b857d67666033
+a4bfb5a3b8bca3b8bca3b8bcc1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6dfe1e6
+d2dee6dfe1e6d2dee6d2dee6d9e6ead9e6ead9e6ead2dee6d2dee6dfe1e6dfe1e6
+d2dee6dfe1e6d2dee6dfe1e6dfe1e6bacdd992a8b681a089719753497323597c75
+3d5f25344d592e3c443d573b567f3a54744354744381a08996b7ab7a91a8819fb7
+bacdd97787728b9882657c44576b33637471757c71757c71b8c3c6c1d4e2afb9bc
+cdd5ded2dee6dfe1e6d2dee6d9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6d2dee6
+d2dee6dfe1e6d2dee6dfe1e6dfe1e6e0e6e8cdd5deb8c3c6c1c4c7d2dee6afc0ab
+7e9882597c755474434960324b69334b69333d5f25576b333d573b4b69334b6933
+496032344d1e272c1f272c1f3d4f565e7429496032344d1e354c313c58225e7429
+567f3a5f7b2a567f3a3d573b3c5822547443497323618345597c75497323567f3a
+4b69334b6933597c7570908181a089cdd5ded2dee6d9e6eae0e6e8d9e6ead9e6ea
+e0e6e8d9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d9e6ea
+dfe1e6d9e6ead9e6ead9e6ead9e6ead9e6eadfe1e6d9e6ead9e6eae0e6e8d2dee6
+dfe1e6d9e6ead9e6eadfe1e6dfe1e6d2dee6dfe1e6d9e6eadfe1e6e0e6e8d2dee6
+d9e6eadfe1e6e0e6e8d4dcd0dfe1e6d9e6eadfe1e6d9e6ead9e6eadfe1e6dfe1e6
+d9e6eadfe1e6cdd5decdd5dedfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6
+d4dcd0dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6ebeae7dfe1e6dfe1e6
+ebeae7d4dcd0cccdccc0cbb8c0cbb8c1d4e2afb09eaba9a6afb09eb0b8a3c1c4c7
+aea886a0b09fb0b8a3afb09e9ea08ac0b197b0b8a39ea88ec1c2aecccdccc0b8a6
+c0b8a6afb09eb0b8a38b98828c98537787468b98827d90828b98828b9882b0b8a3
+afb09eafb09eafb9bc9d99819ea88ea3b7a48b9882b0b8a3a3b7a4a0b09f8b9882
+92a88d81a08994afa18ea089576a62657c44475832576b333c5822657c448ea059
+8ea0597c90537c90537c9053656c26576b33556024657c448c98537f97538b9055
+556024767b47697c2b697c2b697c2b62744468752b666b3b8c98538b90559ea08a
+8ea05987886d767b47767b47627444657c447c9053657c447d9082c0cbb8bacdd9
+c1c4c7cdd5dedfe1e6dfe1e6d4dcd0afb09e767b4776872d7c9053697c2b75704d
+576b33697c2b757b2d7b9034767b479e98538c98538b9033767b47757b2d76872d
+656c26767b478b90558b9055857d6787886d87886dc0b8a6c0b197c1c2aeafb09e
+9a9178ada17faeb0bdcccdcccccdccafb9bcc1c4c7cdd5dec0cbb89d99819fa857
+9fa0569fa8579ea88eb8c1afc1c2aeafb09eb1b069ada17f857d679a91788b9080
+778772afb09e9ea88e8b9080cccdccafb9bcaba9a6b8c3c6dcd6d6dfe1e6d2dee6
+aeb0bd8b9080556024576b3349601f2f3c223f4e32383c23333522272c1f2b3322
+5e7429576b337f97539fa0568c985387872c8ea05992a7598c98538e9f3b8c9835
+a1af4e9fa8578e9f3b8e9f3b7d97367b9034697c2b8ea0598c98538c983576872d
+76872d76872d76872d6b85457787466b852c68752b6b854577874676872d7c9053
+7c90538c98539ea88e7f97536274443d5f255474435e742949601f547443576b33
+7787466b85457c9053667c74657c446274444960323c5822496032666b3b767b47
+556024555824576b33576b33666b3b576b33576b3356603a496032656c2649601f
+344d1e47581f576b333c58224b6933576b33576b33778746847144576a1f576b33
+666033576a1f657c446b852c778746767b47697c2b62744468752b6660334c5026
+a0b09f92a88d94afb98da0b6b0cbdccdd5ded2dee6cdd5decdd5ded2dee6dfe1e6
+d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6
+dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6b0cbdc709081709081567f3a4b6933
+3f4e323043213043213043213d5f253c5822344d593d573b81a089afb9bcc0cbb8
+bacdd992a88d6b85456274446b867377877275889b84888792a8b6709081aec4d0
+d2dee6dfe1e6dfe1e6dfe1e6d9e6ead2dee6d9e6ead2dee6d9e6eadfe1e6dfe1e6
+d9e6eadfe1e6e0e6e8dfe1e6d9e6eadfe1e6d2dee6a4bfb59fb0bbd2dee6bacdd9
+81a0896f8f525474433d573b496032354c3130444d547443547428657c444b6933
+4960323d573b2b33222b33223a4423657c44657c444960324b69334b6933697c2b
+5474283c58225474284b6933497323697c2b60832a567f3a49601f576b335f7b2a
+4758324960324b693370908181a089cdd5ded4dcd0dfe1e6d9e6ead9e6eadfe1e6
+d2dee6e0e6e8dfe1e6d9e6eae0e6e8dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d9e6eae0e6e8dfe1e6d9e6eae0e6e8d9e6ea
+e0e6e8d9e6ead9e6eadfe1e6d2dee6e0e6e8d9e6eadfe1e6d2dee6e0e6e8dfe1e6
+d9e6eadfe1e6d9e6eae0e6e8dfe1e6d2dee6e0e6e8dfe1e6dfe1e6d2dee6e0e6e8
+d2dee6e0e6e8dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8ebeae7dfe1e6ebeae7ebeae7dfe1e6
+ebeae7dfe1e6dcd6d6c1c2aec0b8a6afb09e8ea089b0b8a3afb09eb0b8a3c1c2ae
+afb09eb1b069aba9a6c1c2aeafb09eaba9a69d9981c1c4c7cfc6b8d3cea2cccdcc
+b8c1af9d99819ea88e7787467787468b9882a0b09f8b98828b98828b98829ea88e
+aea886b0b8a3bacdd9afb09eafb09eaba9a69ea08aa3b8bc9ea08a8ea089848887
+667c746b8545667c746b8545627444666b3b47581f576a1f3043214758326f8f52
+7d97367c90538b90338ea0598ea05968752b68752b68752b7787468c9853697c2b
+4b681e757b2d68752b767b47576b337c90537c9053778746767b479ea88ecccdcc
+afb09e8c98538c9853778746778746576b337d90828c98538ea059b0b8a3cdd5de
+e0dfc6dfe1e6d4dcd0e0e6e8d4dcd0d4dcd0b0b8a37787467787467c90538c9853
+666b3b75704d76872d697c2b576a1f68752b778746656c26666b3b666b3b767b47
+68752b767b47857d678b905587886daba9a687886d9a9178c1c4c7c0b8a6aba9a6
+8b9882b2a856b0b8a3cccdccdcd6d6dcd6d6cfc6b8c1c2aeada17f9d9981afb09e
+b1b069c0b197c0b8a6c3c17ac1c2aec0b1979d9981867c4c757c71c0b8a6b8c1af
+c0b8a6afb9bcaba9a6778772dcd6d6c0cbb8aeb0bd8b9882c1c4c7dcd6d6dfe1e6
+aba9a68b98825e74297787465e74295560243f4e1e3f4e1e333522333522304321
+60832a92a7598ea0599fa8578c98538b90338c98539e98537b90347b90348c9853
+7c905376872d7c905376872d8c985376872d7b90347b90347d97368ea0597b9034
+7b903476872d5e7429697c2b5e7429576b33576b336b852c77874676872d8c9853
+7787467c90539ea88e7f9753767b475e7429708f317b9034576b33697c2b778746
+8b90556b85456b852c778746819f59778772576b3349601f576a1f56603a778746
+778746767b47697c2b657c4477874649601f576b33697c2b496032697c2b576b33
+4b681e6b85457b9034778746697c2b767b475e742968752b75704d666b3b697c2b
+576b333f4e1e5558244b69336b852c8b90338c9853656c26666c5e778746666033
+a0b09f7e98826f8f527a91a8aec4d0cdd5decccdccbacdd9d2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6
+dfe1e6d2dee6c5dae4cccdccd2dee6cdd5deb0cbdc92a88d7090814b68654b6933
+5474433d573b354c314b686541671b3d5f253043215773769ea88e8ea089778772
+7e988294afa17d9082576a62667c749da1ab9fb0bb94afa1556c847d9082c1d4e2
+dfe1e6dfe1e6d2dee6d9e6ead9e6ead9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6
+dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d9e6ead2dee6afc0ab757c71a0b09fc0cbb8
+7e9882657c444b69333d573b576b333c5822496032547443547443475832547443
+4b69334758322f3c222b33222e3c445f7b2a4b69335474435e742949601f5f7b2a
+4b69332f3c224758323c5822576b335f7b2a5f7b2a567f3a4b69333c5822657c44
+3d5f253c582241671b657c448da0b6cccdccb8c3c6cdd5ded2dee6d9e6eae0e6e8
+e0e6e8d9e6eae0e6e8dfe1e6d9e6ead2dee6dfe1e6e0e6e8e0e6e8d9e6ead9e6ea
+d9e6ead9e6ead9e6ead9e6eae0e6e8dfe1e6d9e6eae0e6e8dfe1e6dfe1e6dfe1e6
+d9e6eadfe1e6d2dee6e0e6e8dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d9e6ead9e6ea
+d9e6eae0e6e8d2dee6dfe1e6e0e6e8e0e6e8d2dee6d2dee6e0e6e8e0e6e8dfe1e6
+d9e6eadfe1e6d2dee6dfe1e6d9e6eadfe1e6d9e6ead2dee6dfe1e6e0e6e8d2dee6
+e0e6e8dfe1e6ebeae7ebeae7dfe1e6ebeae7dfe1e6ebeae7ebeae7ebeae7ebeae7
+ebeae7e0e6e8cdd5deb8c1afb8c1af9ea08aa0b09f9ea88e9ea88eaba9a6c0b197
+c0cbb8c1c2aec0b8a6cfc6b8b0b8a3afb09e9d9981c1c4c7cccdccc1c2aec0b8a6
+afb09e9ea88e9e98537787728ea0598b988287886d8c98537787727787469ea88e
+9ea08ac1c2aeaeb0bd9d99818b98829ea88e8b988292a8b69ea88e8ea0897c9053
+56603a496032576a62657c44576b3349601f576a1f576b332f3c2256603a7b9034
+8ea0597787467787467b90347c90538c98537787467787467b90347c9053576a1f
+56583868752b627444656c26757b2d8c985386874a697c2b576b33afb09ec1c2ae
+afb09e87886d7787468b98827787466f8f529ea88eafb09e8c98538b9882cccdcc
+d4dcd0dcd6d6dfe1e6dfe1e6dfe1e6dcd6d6c1c2aea1b170b0b8a3b0b8a39ea88e
+8b90558b98828b90338b9055666b3b867c4c77874668752b68752b86874a767b47
+576b338c9853757c71767b478ea0899ea08a8b9080857d67aba9a6cccdcca1b170
+9d99818b90558b9882c1c2aedcd6d6dfe1e6dcd6d6c0b8a6aea8869ea08a95885c
+867c4cada17faea886c0b197c4a979ada17f95885c666b3b8b9882afb9bccfc6b8
+c1c4c7c1c2ae9ea08a87886dcdd5dedfe1e6c1d4e29ea9b4bacdd9dfe1e6dcd6d6
+b0b8a37c9053697c2b60832a697c2b6274443f4e1e656c263a4423383c233f4e1e
+77874676872d8c98358ea0599fa85792a7599fa8578b90337c90537d9736697c2b
+4b681e555824556024576a1f697c2b68752b697c2b7b903492a759757b2d76872d
+6b852c5e7429556024657c44576b334b681e49601f7787467c90539fa8578ea089
+7787465474437b9034819f597787464b681e60832a6b854586874a76872d7f9753
+8b9055778746778746697c2b6f8f526b8545697c2b556024627444556024778746
+7c9053767b47666b3b656c2676872d7c90538e9f3b92a7598ea0597b9034778746
+697c2b757b2d576a1f666b3b757b2d76872d8ea0598c983586874a86874a767b47
+576b33576a1f5e7429555824767b47576b3376872d5560244c50265f6156576b33
+92a88d70908160847157737681a089b8c3c6afb9bcaec4d0cdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6
+dfe1e6d9e6eaa4bfb58b9882c5dae4cccdccc0cbb8a4bfb57e98825474434b6933
+3d573b2e3c44344d1e4973233d5f253c586f6b8673afb9bcbacdd97d90824b6933
+597c7581a0896b86734b69333f4e323d573b576a625474437197b4b8c3c6d2dee6
+d2dee6dfe1e6dfe1e6dfe1e6d2dee6d9e6eae0e6e8dfe1e6dfe1e6d9e6eadfe1e6
+dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6c5dae47d908260847192a88d
+81a089657c44567f3a3d5f253d573b354c3162744460832a6183455474433d5f25
+5474433f4e322a34382b33222f3c225f7b2a657c444b69334b69334b6933496032
+4758323043213d573b4b69336183455474284973234b69334b69334b69336f8f52
+4b6933547428618345547443aec4d0b8c3c68da0b69fb0bbcdd5dedfe1e6dfe1e6
+dfe1e6d9e6eadfe1e6dfe1e6e0e6e8d2dee6d2dee6dfe1e6dfe1e6dfe1e6e0e6e8
+dfe1e6dfe1e6d2dee6dfe1e6d9e6ead9e6ead9e6eadfe1e6e0e6e8e0e6e8d2dee6
+e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6d9e6eae0e6e8d9e6eae0e6e8dfe1e6e0e6e8
+e0e6e8dfe1e6e0e6e8d4dcd0dfe1e6dfe1e6e0e6e8d9e6ead9e6ead2dee6dfe1e6
+dfe1e6cdd5ded4dcd0d2dee6dfe1e6dfe1e6d4dcd0e0e6e8d9e6ead2dee6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6ebeae7dfe1e6ebeae7
+dfe1e6e0dfc6dcd6d6cccdccb8c1afb0b8a3afb09ea0b09f8b98829ea08ac1c2ae
+afb09ecccdcccdd5dec1c2aecfc6b8cfc6b8afb09e9ea08ac0b8a6c0b8a6aea886
+afb09e9fa8578b98827c90537c90538b98828b90558b98827787467c90538ea059
+9fa056afb09e9ea88e8ea0898b98828ea0898b988292a8b6a0b09f7d9082657c44
+576b3347581f576b336274444960324758324758325474435e74298b9055a1b170
+a1af4ea1b170b1af4d8ea0598ea0597c90536b852c8b90556b8545757b2d576a1f
+56603a657c447787466274447f97538c985368752b576b336b854587886d9d9981
+8b988286874a9ea88e7c90538ea0897787728b98828b98827c90539ea88eb8c3c6
+afb9bcdcd6d6dfe1e6dfe1e6e0e6e8dfe1e6dcd6d6dcd6d6dfe1e6cdd5dec1c2ae
+8ea089a1b170afb09e8ea0599ea88e9ea88e9fa0567787468b90559a91788c9853
+778772778772576b33627444afc0abc0cbb89ea88eaeb0bd8b9080c0b8a6aba9a6
+8b90557787467787469ea9b4cdd5dedcd6d6cfc6b8afb09ec0b8a6aea886b2a053
+ab9158ada17f9d9981ada17fada17f9a917895885c74643e848887afb9bcaeb0bd
+cfc6b8cfc6b88b9080778772cccdccdcd6d6d4dcd0cfc6b8cccdccdfe1e6cdd5de
+b0b8a37c9053697c2b6f8f52697c2b5e74294b681e697c2b47581f4b681e5e7429
+7f97537b90348c9853a1af4e9fa8577787468ea0597b903476872d8c985368752b
+5e7429576b33576a1f6b852c7d9736708f315f7b2a697c2b76872d76872d76872d
+7787467787465e74295e742947581f49601f6b854576872d7b90348b9055767b47
+9ea88e7f97537c90539fa85792a75976872d576a1f4b681e7787466b85457d9736
+7b90347c90538ea059697c2b5f7b2a6b852c68752b68752b7787467b9034697c2b
+7787467c90538b905577874676872d8c98538b9033a1b1708e9f3b8b90338c9853
+7c90538b9055697c2b657c4468752b68752b77874676872d8b9033767b47766427
+47581f6b852c8b9033778746766e2d56603a666b3b778746666b3b56603a666b3b
+7d90827197536b86734b68656886a68da0b6a3b8bcb8c3c6c1d4e2d2dee6d2dee6
+dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6d4dcd0
+d2dee6d2dee6bacdd981a08994afa194afa194afa1719753618345567f3a41671b
+344d1e3043214b686541671b354c31344d59627d9981a08992a88d667c743d5f25
+576a624b69334960656b86734b68654960324b6933597c7581a0899fb0bbcdd5de
+d2dee6dfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6e0e6e8dfe1e6
+dfe1e6dfe1e6d9e6ead9e6eadfe1e6d2dee6dfe1e6c0cbb87e98826183455f7b2a
+657c44657c44778746576b33576b334b69334b6933576b33496032496032496032
+4b6933344d1e3043212b33223d573b4b69334b6933576b33576b33496032576b33
+4b681e4b681e576b335474283d5f2541671b4b693341671b344d1e4b681e4b6933
+344d1e576b33567f3a6b8673b8c3c681a089667c74afc0abd2dee6dfe1e6dfe1e6
+e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d4dcd0d9e6eadfe1e6e0e6e8dfe1e6
+e0e6e8dfe1e6dfe1e6d9e6eadfe1e6e0e6e8dfe1e6d9e6eadfe1e6dfe1e6dfe1e6
+dfe1e6e0e6e8d9e6eadfe1e6dfe1e6e0e6e8e0e6e8d2dee6d9e6eadfe1e6d9e6ea
+e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d2dee6
+dfe1e6c1c4c7dcd6d6d4dcd0e0e6e8d2dee6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6
+dfe1e6dcd6d6dfe1e6dfe1e6ebeae7dfe1e6ebeae7ebeae7dfe1e6dcd6d6ebeae7
+dfe1e6dfe1e6e0dfc6cccdccb0b8a3b0b8a3c1c2aeb0b8a3c1c2aeafb09ec1c4c7
+c1c2aec0b8a6dcd6d6cfc6b8c1c4c7aea886afb09e9ea08ac0b8a6cccdccb0b8a3
+afb09eafb09ea0b09f9fa0569ea08a9fa8578ea0599fa0568b98828c985392a88d
+9fa056b0b8a39ea88e9ea88e8b90808b9882b0b8a38ea0898b9882778772627444
+4b69333f4e1e4e5043576b33778772767b476b86738b908068752b8b9055a1b170
+7d973692a7598e9f3b8c985376872d697c2b8c9853697c2b5560246274448c9853
+576a1f68752b697c2b49601f7c90536b8545767b476b8545657c44757c71c1c2ae
+a1b1708c98539ea88e8c9853b0b8a39ea08a75704d7c9053767b47a0b09fcccdcc
+cccdccafb09eafb9bccccdccdcd6d6e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8d4dcd0
+c1c2aeb0b8a3afb09eaea886afb09eb0b8a3b0b8a3aea8868b98827c90538ea089
+7787727d90828b908087886dcdd5decccdccc0b8a6c0b8a6c0b8a69ea88eafb09e
+8b90557787728b9882c1c4c7dcd6d6cccdccc0b8a6c0b197c0b8a69d9981c4a979
+ada17f9a917895885cada17f95885c66603375704d75704d75704d666c5e9d9981
+c0b8a69a9178757c71778772bacdd9dfe1e6dcd6d6c1c4c7cccdccd4dcd0c1c2ae
+9ea88e8c98536b852c767b47627444697c2b576a1f576b3347581f47581f7c9053
+9fa8579fa0566b852c7f97537c905376872d9fa8578c985386874a7c90537b9034
+7f975376872d708f31708f316b852c54742860832a5f7b2a547428576b334b681e
+5474286b854576872d68752b697c2b5e74297b9034708f31697c2b8c9853778746
+657c44819f598c98357c90538b903377874676872d76872d86874a697c2b7d9736
+76872d8b9033819f597b90347d9736778746778746656c2668752b6b8545697c2b
+618345757b2d6b852c767b47656c2668752b7f97538c98537c90537b90348ea059
+7f97537f9753657c445e7429778746757b2d767b47697c2b766e2d75704d767b47
+867c4c7787468b90338471448b905566592c5558244c5026574f26565838767b47
+7c90537f97535474434b68655773766886a692a8b6afb9bccdd5ded2dee6d2dee6
+d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5dedfe1e6dfe1e6d2dee6
+dfe1e6d2dee6d2dee6cdd5de92a88d597c755474436b86736b8545618345547443
+41671b567f3a6183453d573b304321354c31496065657c44547443576b337e9882
+92a88d597c75576a62778772576a62597c75597c75709081a3b8bcaec4d0b8c3c6
+bacdd9dfe1e6dfe1e6dfe1e6d2dee6d9e6eadfe1e6d9e6ead2dee6d9e6eadfe1e6
+dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6bacdd992a88d6b8545547443
+547443567f3a576b33576b336b85454b69334758325f7b2a5f7b2a576b333c5822
+4758323d573b3a4423354c316183454b69334b69334b69333d5f253043213d573b
+5474285f7b2a5f7b2a4b681e5474434b69335474433d5f253c5822547443547443
+41671b547443657c448ea0897e9882496032667c74a4bfb5d2dee6dfe1e6dfe1e6
+dfe1e6e0e6e8dfe1e6d2dee6c1c4c7c1d4e2cdd5debacdd9d4dcd0dfe1e6d2dee6
+e0e6e8d9e6eadfe1e6e0e6e8dfe1e6d9e6eadfe1e6d9e6ead9e6ead9e6ead9e6ea
+dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d2dee6e0e6e8e0e6e8d9e6eadfe1e6dfe1e6
+dfe1e6d9e6eae0e6e8dfe1e6dfe1e6d9e6ead9e6ead4dcd0d4dcd0d2dee6cdd5de
+d4dcd0afb9bccccdccd2dee6dfe1e6d2dee6cdd5decdd5ded2dee6d2dee6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6ebeae7dfe1e6dfe1e6dfe1e6
+dcd6d6dcd6d6dcd6d6c1c4c7cfc6b8b0b8a3cfc6b8b8c1afa0b09fc1c2aec1c2ae
+b8c1afb0b8a3cccdccc1c2aea1b1709ea88eb8c1afb0b8a3cfc6b8d3cea2afb09e
+c1c2aed3cea2b0b8a39ea88e9fa0568ea0599ea88e8c98538c98538ea089778746
+778746afb09eafb09e9ea88e7c90539ea88ec0cbb8cdd5de8ea089757c71657c44
+576b333f4e323f4e323f4e326274447787464658645f615692a7599fa8579ea88e
+8ea059b1b0698ea059697c2b5e74297c90537f9753697c2b576b33576a1f7f9753
+7787468c9853697c2b697c2b8c9853697c2b6274447f97536b8545778746afb09e
+b0b8a38ea0597c90538c9853b0b8a39ea88e68752b77874681a089afb09eb8c3c6
+bacdd9afb09e8c98538ea089cccdccdfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6
+e0dfc6cccdcccccdccdcd6d6c1c2aecccdccdcd6d6cccdcc8ea0599ea88e9ea88e
+b0b8a38b9882b0b8a3b8c1afd2dee6cccdccc1c4c7aeb0bdcfc6b8c1c2aeafb09e
+aba9a69ea08a8b9882b0b8a3cfc6b8c0b8a6c0b197c0b1979a917875704db09954
+9d998195885c9d99819e985375704d75704d75704d666b3b8b908095885c9d9981
+757c715f61563a44234e50438488879ea9b4aeb0bdaeb0bdafb9bcdfe1e6b8c3c6
+8ea0598ea0597b903449601f49601f4b681e3f4e1e3f4e1e4b681e6b852c7f9753
+8e9f3b8b903368752b576b335e74296b852c7b903476872d76872d8b90338c9853
+7b90348b9033778746708f31656c2649601f576b333a44232f3c22383c233f4e1e
+576a1f5f7b2a6b854560832a7d9736819f597d97367b90347b90347f97538e9f3b
+7c90537f9753757b2d68752b576a1f75704d7c90537b90347c90535e74297b9034
+7f97538b903376872d6b852c697c2b8c98357c905355602447581f5e74296b8545
+5f7b2a576b337787466b852c767b4768752b5e742976872d7b90347b9034708f31
+819f59708f316b852c54742877874686874a68752b576b334c5026576b33666b3b
+766e2d555824556024757b2d86874a56603a5558244c50264e504366603356603a
+7f97537f9753597c75709081a4bfb594afb9aec4d0a3b8bcd2dee6d2dee6d2dee6
+d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6
+d2dee6cdd5dec0cbb8d2dee6afc0ab6b8673657c44567f3a567f3a6183454b6933
+4b6865618345567f3a3d573b3043212f3c224960325474436b8545709081a0b09f
+a3b7a492a88d6b86737e98826f8f526b8673709081a3b8bcafb9bc9fb0bb92a8b6
+aec4d0d2dee6d4dcd0d9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6d2dee6dfe1e6
+dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d4dcd0d4dcd0afc0ab92a88d6084715e7429
+4b68654b6933496032497323547428344d1e475832778746567f3a4b6933354c31
+354c313043212f3c22354c31576b335474286b8545547428576b33576b333c5822
+576b335f7b2a41671b3c5822344d1e354c314960654758324b69333c58223d573b
+3d5f2561834592a88d81a08954605f3d573b96b7ab92a8b6cdd5ded2dee6d9e6ea
+d9e6eadfe1e6e0e6e8d4dcd0d2dee6c1c4c7c1c4c7cdd5dedfe1e6e0e6e8dfe1e6
+dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d9e6eadfe1e6
+d9e6eadfe1e6dfe1e6dfe1e6e0e6e8e0e6e8dfe1e6d9e6eadfe1e6d2dee6e0e6e8
+dfe1e6dfe1e6e0e6e8dfe1e6d9e6eadfe1e6dfe1e6e0e6e8dfe1e6d9e6eadfe1e6
+d2dee6cdd5deaeb0bdcdd5decdd5dedcd6d6d4dcd0d4dcd0d9e6eadfe1e6dfe1e6
+dfe1e6d2dee6dfe1e6dfe1e6ebeae7dfe1e6dfe1e6dcd6d6ebeae7dfe1e6dfe1e6
+dcd6d6e0e6e8dcd6d6d4dcd0d4dcd0cdd5decccdcccfc6b8cccdccc1c2aecfc6b8
+aba9a6c0b8a6b0b8a39ea08a9fa0569ea08ac1c2aeafb09e9ea88ecccdccc0b8a6
+c0b8a6c1c2aeb1b0698ea0899ea88e9e98538ea0598c98539ea88e9ea08a8b9882
+8b9882b1b069afb09e8ea08987886da0b09fcccdcccdd5deb8c1af94afa1848887
+576b334b69336274446274444960324b681e576a1f7c9053757b2d767b4792a759
+b1b0698ea0596b8545547428656c266b8545697c2b697c2b6b8545556024555824
+697c2b8ea0597c9053657c445e7429657c447787468ea0597c9053657c4487886d
+8ea0897787467c9053576b338c98539d99817c9053657c447787468b98829ea88e
+b8c3c69ea88e819f599fa0568ea089b1b069cfc6b8d8c291dcd6d6dcd6d6e0dfc6
+dcd6d6dcd6d6c1c2aec0cbb8c0b8a6dcd6d6dfe1e6c1c4c79ea88ec0cbb8cdd5de
+cdd5deaba9a6c1c4c7c1c4c7cdd5decfc6b8cccdcccccdcccfc6b8c0b197ada17f
+afb09e9e98539d998195885c9a9178ada17faea8869a917875704d95885c9d9981
+86874a9a91789d998184714475704d867c4c627444767b478b90559a9178857d67
+767b474e5043342d1f342d1f2b3322383c23394446565838857d679ea08a8b9882
+778772576b335474434b6933576a1f5e74295560243c5822697c2b819f599fa857
+8c98536b852c576a1f576a1f5e742976872d76872d76872d68752b697c2b76872d
+697c2b5e7429576a1f5e742976872d47581f344d1e2f3c222b33223f4e1e4b6933
+7b90348ea83e6b852c76872d5e7429708f31697c2b7c9053697c2b6b852c708f31
+8e9f3b8ea059576b33576a1f3f4e1e555824576a1f697c2b6b852c7b90348c9853
+8ea0599fa857697c2b697c2b6b852c77874668752b576b335e74294b693360832a
+576a1f576b337b90347c90538b9055657c4477874686874a657c446b852c5f7b2a
+7c90536f8f526b852c6b8545708f318b9055766e2d576b3356603a576b33627444
+867c4c666b3b86874a9e9853767b47666b3b4c50264e50434e4425574f264c5026
+719753657c444960654960657e988292a8b6afb9bcb8c3c6cdd5dedfe1e6d2dee6
+d2dee6cdd5dedfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6cdd5ded2dee6dfe1e6
+d4dcd0cdd5de8a99aba3b7a4b2d2e0a1b1706084716183454973234b6933496032
+4b6933567f3a567f3a344d1e2a343830444d3d573b547443657c44547443576a62
+70908192a88d778772576b3361834557737663747192a8b677877263747194afb9
+cdd5dedfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d2dee6e0e6e8
+dfe1e6dfe1e6dfe1e6d9e6eadfe1e6cdd5decdd5de9fb0bb8ea089709081547443
+344d1e4758324b69335474434973234973234b69337787465f7b2a496032354c31
+354c313d573b4960323335222a3438354c313f4e1e3f4e1e3d5f255e7429576b33
+496032475832666b3b304321383c233335222f3c222f3c22354c31344d1e344d1e
+597c756f8f526b86734960323d5f25667c747d908292a88dd4dcd0dfe1e6dfe1e6
+dfe1e6d2dee6dfe1e6dfe1e6dfe1e6cdd5ded4dcd0d2dee6dfe1e6d4dcd0dfe1e6
+dfe1e6e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6
+d9e6eadfe1e6d9e6eae0e6e8dfe1e6d9e6eae0e6e8dfe1e6e0e6e8d9e6eae0e6e8
+e0e6e8e0e6e8d9e6eadfe1e6d9e6eae0e6e8dfe1e6dfe1e6dfe1e6d9e6ead4dcd0
+d4dcd0e0dfc6b8c1afcdd5dec1c4c7d4dcd0dfe1e6dfe1e6d9e6eadfe1e6d2dee6
+dcd6d6dfe1e6dfe1e6d2dee6dfe1e6dcd6d6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6
+dcd6d6dfe1e6dfe1e6dfe1e6e0dfc6e0dfc6cfc6b8c1c2aedcd6d6c0b8a69ea08a
+aeb0bdb0b8a38b90558c98537f97538ea089c1c2aec0b8a69d9981cdd5deafb09e
+c0b8a6c1c2aeaea8868c98538ea0898c98538c9853767b478ea0898b90808b9882
+8b90808b90558ea08987886d7d90828ea089c1c4c7dcd6d6cdd5dea0b09f667c74
+56603a576b33778772657c445e7429657c445e74298c985386874a657c447c9053
+8b90338c985360832a576a1f62744468752b627444556024656c2649603256603a
+5f7b2a7b903476872d49601f767b47576b336b86738b98826b8545697c2b8b9055
+a1b1707787465e7429627444657c447787726274447c90537787468c98538ea089
+a3b7a4a0b09fa4bb7e8c98537f97538c985386874a767b479e98538b9882afb09e
+9ea08aaea886aea886b0b8a3afb09eafb09eafb09eaba9a69ea88ec0b8a6b0b8a3
+aba9a68b9882757c71757c71757c7175704d84888787886d87886d87886d95885c
+95885c9a91788b9882ada17fc0b197c0b197aba9a69d998195885c84714495885c
+9a9178ada17f87886d666b3b5f6156767b47757c7187886d857d679d99819a9178
+56603a4c50263335222b3322272c1f342d1f2b3322333642333642333522373e43
+3a44233f4e1e344d1e49601f5f7b2a60832a697c2b5f7b2a697c2b7b90348e9f3b
+7c90535f7b2a60832a76872d6b852c757b2d5e74296b852c697c2b6b852c656c26
+47581f3c58225e7429576a1f757b2d656c26656c2647581f30432149601f576a1f
+7b90347f97538c98538e9f3b7c9053697c2b7c90538c98536b852c5e7429697c2b
+8c983587872c576a1f657c445e742968752b5e74296b85458b90337f9753767b47
+86874a767b477787467787468c98537b9034757b2d576a1f6274445e742949601f
+5474286b852c71975376872d8b90338c98538c9853576a1f55602468752b4b681e
+697c2b6b8545556024496032354c3147581f576a1f656c26767b476b85457c9053
+86874a766e2d77874656603a68752b4c50264e44255658384c50265f6156555824
+6b86734b69333d573b3d573b4b68655374998da0b6bacdd9cdd5decdd5dedcd6d6
+d2dee6dfe1e6d2dee6cdd5ded2dee6dfe1e6d2dee6c1d4e2cdd5decdd5ded2dee6
+dfe1e6cdd5dea3b8bc7e988292a88d94afa16183455474433d573b354c313d5f25
+567f3a5474434b693341671b354c313d573b567f3a6084716f8f525474434b6865
+576b33627444597c755f7b2a5474433d573b4b6865637471597c75597c75b8c3c6
+dfe1e6d2dee6cdd5dedfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6
+d2dee6dfe1e6dfe1e6dfe1e6d2dee6c0cbb892a88db8c1af92a88d7197536f8f52
+61834554744361834581a0896f8f526b85456183456b8545547443475832354c31
+354c31344d1e3c58222b33222f3c223043214960324b69333f4e32547428547428
+344d1e2a34383a44233a4423262e352b33222b3322354c313f4e1e4b6933547428
+576b334b69333f4e32304321667c747c90536b8673a3b7a4e0e6e8dfe1e6d2dee6
+e0e6e8dcd6d6cdd5ded4dcd0d4dcd0bacdd9cccdccd2dee6cdd5dedcd6d6d2dee6
+dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6d9e6eae0e6e8
+dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6d2dee6dfe1e6e0e6e8dfe1e6dfe1e6
+dfe1e6e0e6e8e0e6e8d9e6eadfe1e6dfe1e6e0e6e8dfe1e6e0e6e8d4dcd0dfe1e6
+d2dee6cccdccc1c4c7c1c4c7cdd5dedfe1e6dfe1e6dfe1e6d4dcd0dfe1e6dfe1e6
+d4dcd0cccdccd4dcd0dfe1e6dfe1e6ebeae7dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6d4dcd0c1c4c7c1c4c7b8c1af9ea08a
+afc0ab9d99817e98828b905577874687886daba9a6c0cbb88b9882cfc6b8aea886
+c1c2aecccdccb8c1af8ea0597c90538b9882778746657c448c985392a88d8b9055
+8ea0898ea0898b98828ea0598b98828ea0899ea88ec1c4c7c0cbb88ea0898b9080
+7787464758323f4e32576b33657c447787468b90557787468ea0598b90336b8545
+7d97368c98538c985376872d6b852c5e7429576b33576a1f556024555824697c2b
+49601f576b334b681e56603a627444576b3347581f666b3b7c90537787467c9053
+8ea0898c98537787467e98827787467d90827f97537c90537b90347c905376872d
+9d9981a1b170c0cbb89ea88e77874680a03b7787466274447b903476872d86874a
+7c90538b90558ea059afb09e92a88d87886d8b98828ea0898b9882afb09eaba9a6
+75704d666b3b656c26555824373e434e504366592c75704d75704d857d67857d67
+8b90809a91789d9981b0b8a3aea8869d99819d9981867c4c75704d857d6795885c
+9e98539a91788471448b9882637471565838565838767b479d99819ea08a9ea08a
+5658383f4e32475832383c232b33223335222f3c22333522272c1f333522304321
+47581f5e742955602460832a5f7b2a5e742960832a60832a708f318c98537b9034
+576b335f7b2a697c2b697c2b7787465e7429556024576b33697c2b666b3b47581f
+2f3c222f3c22656c267d973676872d697c2b47581f344d1e3f4e1e55602460832a
+7787468e9f3b92a7597d97367b90345e74298b903368752b576a1f6b852c697c2b
+757b2d556024344d1e5f7b2a76872d86874a6b85457b90347c90535e74294b6933
+656c26656c267787468b90337c905386874a767b47697c2b4b681e4b6933576b33
+49601f4973237c90538c9853697c2b6b85458c9853576b335e7429547428576b33
+6b854549601f49601f47581f5558244b69335e74297d97368c98539fa8578c9853
+778746666b3b766e2d576b33666033666b3b77874668752b666033767b47555824
+6f8f524b69333d5f7a4b6865819fb7576a627d98b1afb9bcbacdd9cdd5decdd5de
+d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6dfe1e6afb9bc9fb0bbafb9bcd2dee6
+d2dee6dcd6d6c0cbb87090816f8f52719753567f3a4960324b69333d5f253d573b
+4973233d5f25354c3130444d3d573b4b69337197536b85454973233d5f2541671b
+547443597c75567f3a576b33597c757090817d90828da0b6aec4d08da0b69fb0bb
+cccdcc9fb0bbb8c3c6dfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6c0cbb88ea089618345618345567f3a567f3a
+6084714b6933657c447e9882819f594973236b8545567f3a4b69333d5f25354c31
+3043214960322f3c222e3c444960326b85455f7b2a41671b3c58224b681e627444
+344d1e3043213d5f254b69333d5f25344d1e3c58224b69335f7b2a6183454b6933
+3d5f25496032304321354c3181a0896f8f528ea089c5dae4d4dcd0dfe1e6d9e6ea
+d9e6eadfe1e6cccdccb8c3c6cdd5dec1c4c7afb9bcc1c4c7cdd5dedfe1e6cccdcc
+d9e6eae0e6e8d9e6eadfe1e6d9e6eadfe1e6e0e6e8e0e6e8dfe1e6e0e6e8d9e6ea
+dfe1e6e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6d9e6eae0e6e8e0e6e8
+dfe1e6dfe1e6dfe1e6e0e6e8d9e6ead9e6eadfe1e6dfe1e6dfe1e6d2dee6dfe1e6
+d2dee6d4dcd0a3b7a4bacdd9cccdcccdd5decccdcccccdccdfe1e6cdd5dedfe1e6
+d2dee6cdd5dedfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6ebeae7dfe1e6ebeae7dcd6d6cccdccd3cea2c1c4c7b8c1af9ea88e
+afb09e767b478c9853778746757c7187886d8b9080aea886aba9a6c0b8a6aea886
+b0b8a3c1c2aeaea8868c9853657c447c90537787468b98828b90808b98827c9053
+a0b09fa1b1708b98828b98828b98828ea08987886d7787729ea88e92a88d7c9053
+7c9053576b333043214c5026576b3392a7598ea83e7b90347787468c9853778746
+819f5992a75992a7598e9f3b7f97538ea05976872d697c2b657c447c905368752b
+576b33576a1f56603a3f4e1e5e74295f7b2a6274447d90828ea0597c9053778746
+8ea08992a7597787466f8f52a0b09fa3b7a48b98827f97537c90537c9053697c2b
+7c90538b90558ea059aea8868c985387872c76872d7787468c98537d97368b9033
+5f7b2a697c2b62744463747156603a576b3347581f576b33496065475832565838
+304321576b33666b3b576b33383c233a442347583256603a56603a767b479d9981
+b8c1afafb9bcaeb0bdc0b8a6c0b1979a9178a4895475704d66592c9f9154ada17f
+ab915875704d5658387d908254605f757c71757c71767b47767b474e442575704d
+5558243a442356603a3a44232f3c223a4423475832304321344d1e49601f4b681e
+5e742976872d656c265f7b2a5e74295f7b2a5f7b2a6b852c80a03b8e9f3b697c2b
+576a1f5e74295e7429697c2b757b2d656c2655602447581f7c905368752b757b2d
+3f4e1e47581f68752b8ea0598c983568752b47581f5e7429697c2b8b903376872d
+576a1f5e7429657c445e74297d97367b903476872d6b852c7b9034697c2b556024
+766e2d55602449601f6f8f527d97368c98355e74297b90346b852c77874660832a
+576a1f576b3377874676872d7787465f7b2a5e74297787465e74295f7b2a3f4e1e
+3f4e1e5f7b2a6b8545576b33547428657c44657c44657c44576a1f5f7b2a576a1f
+576a1f55602468752b92a759757b2d4b681e7787467b903476872d68752b76872d
+86874a767b47666b3b556024576a1f697c2b86874a8b903368752b767b47766e2d
+4b69334b69334b686557737694afb97090816b86737e98828a99abb8c3c6cdd5de
+dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6d9e6eac5dae4bacdd9bacdd9d4dcd0
+dfe1e6d2dee6aec4d081a0897090814b6933597c75567f3a4b686541671b4b6933
+4b69333043212f3c22304321496032567f3a7197536183454b68653d5f253d573b
+4b6933567f3a6183454b69335773769ea9b4b8c3c692a8b692a88d7d98b17e9882
+75889b9fb0bbcdd5dedfe1e6d4dcd0d2dee6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6
+d9e6eadfe1e6dfe1e6d9e6ead9e6ead4dcd081a089667c745474434b69335f7b2a
+4b6933576b33547428547443547443547443657c444960324960324b6933354c31
+3d573b354c312b33222a34383a4423547428576b334b6933657c4454742860832a
+6b85455f7b2a60832a557f2241671b41671b6b854560832a49601f344d1e3f4e32
+3f4e323c58225474435f7b2a6f8f5260832a92a88dd4dcd0cdd5deb8c3c6dfe1e6
+e0e6e8d9e6ead2dee6aeb0bd9ea9b4b8c3c6afb9bcb8c3c6cdd5ded2dee6bacdd9
+dfe1e6d2dee6dfe1e6dfe1e6dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6
+dfe1e6e0e6e8d9e6eae0e6e8e0e6e8d4dcd0e0e6e8dfe1e6dfe1e6e0e6e8e0e6e8
+e0e6e8e0e6e8d4dcd0dfe1e6dfe1e6d4dcd0e0e6e8dfe1e6dfe1e6dfe1e6d2dee6
+b8c1afa3b7a49ea88ea0b09f92a88d92a8b6b8c3c6d2dee6dfe1e6dfe1e6d4dcd0
+dcd6d6cdd5ded2dee6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6ebeae7dfe1e6e0dfc6
+ebeae7dfe1e6e0dfc6dfe1e6dfe1e6dcd6d6cfc6b8cccdccc1c2aeafb09ec0b8a6
+b0b8a37787728b9882778746767b4786874a8b98829ea08aa0b09fb0b86cb0b8a3
+b1b069b8c1afb0b8a38b9882767b477787467787469ea88e7787728b9882778746
+6274449ea08a9fa0569ea08aa1b1707e98827f97537787467c9053778746778746
+7787465560243f4e323f4e1e3f4e328c98537b90348b90338b90557787468b9033
+8e9f3b8c98538c9853778746576a1f576b336274447b903476872d68752b576a1f
+576a1f4758323a4423666b3b627444697c2b767b477d90828b9882697c2b778746
+92a88d7d90825f7b2a6274449ea88e8ea0899ea88e7c90538c98538b98828b9055
+7c9053697c2b7787467b90348c98357b90346b852c6274447d97367b90347b9034
+8b903380a03b697c2b49601f3f4e325e7429576a1f576b337787463f4e32475832
+3f4e1e576b33778746867c4c4e442556603a637471565838757c718b9882afb9bc
+dcd6d6cfc6b8afb9bcafb09e9ea08a9a917886874a867c4c9a91789a9178ab9158
+95885c565838333642383c234e5043757c71857d6795885c75704d4e5043475832
+5558243f4e1e47581f576a1f344d1e4758324b69332b33223f4e1e697c2b6b852c
+757b2d7d9736697c2b4b681e697c2b6b852c708f317b90348c985386874a68752b
+55602468752b68752b6b852c6b852c6b852c55602455602476872d76872d68752b
+55602468752b68752b5e7429757b2d76872d697c2b7d97368e9f3b7b90348b9033
+556024344d1e576b335f7b2a7c9053757b2d757b2d5e7429576a1f697c2b576b33
+576a1f656c265e74296b852c76872d697c2b6b852c7c90538b90337b903468752b
+68752b576b336b852c7787467c90536b85455e7429697c2b6b85454b6933496032
+3c58224b6933547428657c445f7b2a5e74295e7429657c445f7b2a5f7b2a576b33
+475832496032697c2b697c2b697c2b576b333f4e32576a1f576a1f68752b778746
+697c2b656c26767b477787467c905368752b7787468b905576872d86874a778746
+4658644b6933597c757090817d98b17e98825773767e988294afa1cccdccd2dee6
+d2dee6cdd5ded2dee6d2dee6dfe1e6d2dee6cdd5deb8c3c6afc0abbacdd9d2dee6
+dcd6d6dfe1e6bacdd992a88d719753567f3a567f3a547443344d1e30444d2e3c44
+354c31354c313d573b5474436183456f8f52567f3a3d5f253d5f253d4f563d573b
+667c746f8f525474433d573b6b867394afa19fb0bb667c74577376577376576a62
+81a089d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d4dcd0e0e6e8dfe1e6
+dfe1e6dfe1e6d2dee6dfe1e6d2dee6d4dcd081a0895f7b2a496032547443547443
+576b33627444618345657c444b693347581f6b85456183456274443d5f253f4e32
+3944462f3c222f3c2230432130432160832a77874649601f41671b576b334b6933
+4b681e496032576b33497323576b335474284b69333f4e1e3f4e323043212f3c22
+3043214960326b8545708f316f8f524b693392a88dbacdd98b919fc1c4c7e0e6e8
+d2dee6e0e6e8d4dcd0cdd5deb8c3c6c0cbb89ea9b4cccdcccccdccc0cbb8afb9bc
+c0cbb8d2dee6e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6d9e6eae0e6e8e0e6e8
+dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6e0e6e8d9e6eadfe1e6dfe1e6dfe1e6
+e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6c0cbb8
+8a99ab6b86736374718b90807e98828da0b6d4dcd0dfe1e6dfe1e6dcd6d6cccdcc
+cccdcccccdccdcd6d6dfe1e6d2dee6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6cccdccb8c1afcfc6b8cccdccafb09ec1c2ae
+b0b8a38b988292a88da0b09f8c98538b98828c9853afb09ea1b1709ea08ac0b8a6
+afb09ea0b09fb1b0697f97537787467d90827c9053757c71757c717d9082627444
+657c449ea08ac1c2ae9d99819ea08a767b478c98537c90538ea0598b90558c9853
+778746767b476b8545576a1f4c50267b90348ea0598ea0598ea05992a7598ea059
+7b90348c9853757b2d5e7429576b33576b334b681e657c447787468b9033757b2d
+5560243043213f4e1e656c26697c2b77874668752b4c5026667c745f7b2a778746
+95af7a8b90558b90557c90539d9981576a627787727787468b90558b9882b0b8a3
+95af7a8ea0897c905376872d7b903487872c5e74294b681e697c2b7b9034708f31
+76872d6b852c6b852c6b852c576a1f7787467b90347b90347e9882666c5e767b47
+778772767b4786874a778746767b47757c71848887666c5eaba9a6aba9a6aeb0bd
+dcd6d6cccdccc0b8a69da1ab95885c95885c847144666033867c4c95885c867c4c
+74643e767b474e5043333522666c5e8b90808b98829a9178767b474e44253a4423
+666b3b576b3347581f656c2647583256603a47581f4c50263f4e1e576b33697c2b
+757b2d8c983576872d5e7429656c266b852c7b90348e9f3b8c98538b903386874a
+767b47766e2d86874a9e98537c90535e742949601f49601f5e7429656c2649601f
+47581f60832a7b90346b852c76872d76872d697c2b8b90338e9f3b7b9034778746
+47581f41671b557f2249732376872d697c2b68752b47583247581f47581f4b681e
+6274448b90556b852c576a1f6b852c76872d708f3176872d7b9034697c2b576a1f
+5f7b2a5f7b2a54742860832a6b852c5f7b2a6b85455f7b2a5f7b2a4973234b681e
+3f4e1e4b681e6b8545697c2b697c2b7b9034778746656c266274446b8545576b33
+49601f657c447b90348471444758325560243a442355602449601f5e7429576a1f
+68752b697c2b757b2d697c2b697c2b697c2b867c4c767b478b90338b9055757b2d
+3d4f56567f3a4b686575889b597c75608471597c7592a88dc1d4e2d2dee6d2dee6
+dcd6d6dfe1e6d2dee6cdd5ded4dcd0d4dcd0bacdd97e988257737692a8b6cdd5de
+dfe1e6cdd5ded4dcd081a0896f8f52618345567f3a5474433d5f25344d1e30444d
+2f3c2230444d576b33567f3a6183454b6933354c31354c313d573b3c582230444d
+354c31567f3a576b33354c313f4e3249606554605f4960653d573b6b8673aec4d0
+cdd5dedfe1e6dfe1e6d2dee6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6
+e0e6e8d2dee6dfe1e6cdd5decdd5deb8c1afa3b8bc6b85454b6933657c443c5822
+354c31576b335e7429576b33496032496032576a1f7787465f7b2a5e7429344d1e
+2f3c222f3c223c58225474435f7b2a5f7b2a708f31576b334960323f4e1e354c31
+3f4e32344d1e576b334960323f4e32344d1e304321373e43344d1e2b3322354c31
+576b336183455f7b2a6b8545576b334960327d9082576a62757c71cdd5dedfe1e6
+c1c4c7dcd6d6dfe1e6dfe1e6b8c1afb8c3c6afc0abc1d4e2d2dee6b8c3c6afc0ab
+b8c3c6cdd5ded9e6eadfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6
+e0e6e8e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d9e6eae0e6e8
+dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d4dcd0
+d4dcd09ea88e7d90829ea9b48ea089c0cbb8d2dee6dfe1e6d2dee6d4dcd0bacdd9
+c1c4c7bacdd9d4dcd0cdd5dedcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6
+ebeae7dfe1e6dfe1e6dcd6d6e0dfc6cccdccc0b8a6afc0abdcd6d6afb09eb0b8a3
+c1c2ae9ea88eb0b8a38ea0898b90808ea0599ea88e9d99818ea0598c9853afb09e
+b8c1afaba9a68c98538b90558b9080767b478ea089778746657c447787726b8545
+6b8673b0b8a3b8c1af9ea08a9d99818b988286874a8b90338c98538ea0598c9853
+86874a77874668752b576b335560247787468e9f3b80a03b8c98358c98538ea059
+9fa8578ea0595e7429576a1f5f7b2a76872d556024576b33576a1f7c90538c9853
+576a1f496032576b33657c44767b478b9055697c2b5560247c90537c90537c9053
+7787467787728c98538b98828b9882757c718b90807c90538c98537c90538b9882
+b0b8a3cccdccc1c2ae80a03b8c98357f97536b852c697c2b47581f5f7b2a697c2b
+7787466b852c778746778746657c446274445560247787468b90807c9053afb09e
+afb09e8b905586874a95885c8c9853757c71565838637471c1c2aeaeb0bd9da1ab
+afb9bc84888775704d75704d75704d767b47867c4c565838767b4775704d847144
+8471449a91789f9154565838767b4787886d9d998187886d857d67565838383c23
+555824576a1f49601f5e7429576a1f767b47576a1f4c50263f4e1e555824656c26
+656c2668752b697c2b576a1f47581f4b681e7d97368ea83ea1af4e8c985387872c
+8b905586874a86874a8ea059757b2d60832a576b33576a1f47581f697c2b5e7429
+5f7b2a76872d708f3176872d8c9835697c2b778746697c2b697c2b47581f3a4423
+49601f656c2680a03b708f316b8545778746576a1f4b681e576b3349601f4c5026
+3f4e1e47581f9d99816b85457b90347787467b90347b90347b903476872d576a1f
+5f7b2a6b852c5f7b2a5f7b2a5474285f7b2a5e74294973235f7b2a4b693349601f
+4b681e576b336b85458c9853778746767b4768752b576b33576a1f576b335f7b2a
+4b681e4b681e7787465e74293f4e1e304321576a1f767b47496032344d1e666b3b
+62744455602455582468752b576b3375704d666b3b666b3b7787467c9053778746
+496032657c44496065597c75547443608471a3b8bcc0cbb8d2dee6d2dee6dcd6d6
+d2dee6cdd5dedfe1e6dcd6d6cdd5decccdccaec4d092a88d709081a4bfb5aec4d0
+c0cbb8cdd5decdd5de81a0896f8f52719753567f3a41671b344d593c58222f3c22
+2f3c22354c313d5f255474435474433c5822304321304321547443547443496032
+4b68655773764b69334b68653f4e323d5f25496065608471709081a4bfb5afb9bc
+cdd5dedfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6
+dfe1e6d4dcd0c0cbb8c5dae4afc0abc1d4e292a88d6f8f5241671b5474433d5f25
+3d573b3c58224b69334b69333d5f254758324960327c90536b8545657c44354c31
+2f3c22354c31475832344d1e3c58224b6933556024666b3b3f4e322b3322344d1e
+4c50263f4e1e56603a3a44233a44232f3c223043212f3c224b69334b69335f7b2a
+41671b547428567f3a5474284960324b69333d5f253d4f56aeb0bdd9e6eac0cbb8
+c1d4e2c0cbb8cccdccd2dee6c1c2ae9ea9b4c0cbb8cccdccb8c3c692a88da3b7a4
+a3b8bccccdccdcd6d6d9e6eadfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6e0e6e8
+dfe1e6e0e6e8e0e6e8e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6
+e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d9e6ead2dee6dfe1e6dfe1e6
+d4dcd0afc0ab8ea089bacdd9cdd5dec1c4c7d2dee6dcd6d6d2dee6cdd5decdd5de
+afb09eaeb0bdb8c1afcccdccdfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6
+dcd6d6dfe1e6ebeae7dfe1e6dcd6d6d4dcd0d4dcd0d4dcd0cccdcc9da1abcfc6b8
+c1c2ae8b919f9ea08aafc0ab8b98829ea88eb0b8a386874a8c98537787729ea08a
+afb09e9d99818ea0597d90829ea88e8b908087886d576b336b86736274448b9080
+87886d9ea88ec0b8a69ea88e778746778746757c717c9053767b477787467c9053
+8b905577874668752b576b333f4e1e6b85458c98537b90347b903476872d8c9853
+7b90348c98537b903476872d7787467b90345e74295e7429757b2d8ea0598b9033
+7787465558245558244b6933576a1f7787467787467787468ea0898c98536f8f52
+7c90538b98828b9055a1b1707787727c90537787467c90537c90538c98537e9882
+8ea089cdd5decccdcca1b1708c98539ea88e6b8545576a1f344d1e5f7b2a5e7429
+76872d60832a5e74298b98828c985387886d4758327787729ea88e8b98829e9853
+9ea88eada17f8b905586874a75704d666c5e5f6156757c719ea88e75704d565838
+5f61565f6156757c719d99819a91788b9080aea8868b9080867c4c74643e766e2d
+75704d75704d9a91789d99819ea08ac0b8a6ada17f757c7174643e74643e383c23
+3a44234758324b681e54742860832a7d973676872d576a1f7b903477874668752b
+656c2647581f656c2655602447581f68752b6b852c8ea059a1af4ea1a73c8c9853
+b2a053757b2d8c985376872d55602476872d47581f55582447581f556024697c2b
+76872d76872d7b903468752b76872d60832a68752b5e7429576b332f3c22344d1e
+576a1f576a1f6b852c7d9736656c2654742847581f3f4e1e3c58225560243a4423
+30432147581f4b681e576a1f576a1f576b3377874676872d6b852c656c2649601f
+5e7429576a1f4b681e4b681e4b681e49601f49601f344d1e60832a54742849601f
+4b681e5e7429576b33656c26757b2d778746767b47576b335474283d5f254b6933
+4b681e567f3a547428547428496032344d1e49601f576a1f49601f47581f47581f
+556024576a1f55602462744449601f55602447581f556024697c2b657c44576a1f
+7c90533d5f253d573b4b68656f8f526b86738da0b6cccdccd2dee6cdd5ded2dee6
+d2dee6d2dee6cdd5decccdccc1c4c7b8c3c681a089597c756b867394afb9afb9bc
+bacdd9b0b8a3c5dae481a0896084715474435474434b69333c58223d573b304321
+354c31354c3141671b4b69334b69334960324960324960654b6933496032354c31
+7787727e9882667c747e98826084716084717d98b192a8b6819fb792a8b6afb9bc
+bacdd9cccdccd2dee6dfe1e6d4dcd0d2dee6dfe1e6dfe1e6d4dcd0dfe1e6d2dee6
+dfe1e6dfe1e6afc0abb8c3c69ea9b48ea0897e9882657c446183455474433d5f25
+344d1e4758324b6933657c44657c443d5f255e74296b854560832a4b6933354c31
+2f3c223d5f25496032354c313f4e32354c312f3c222f3c22354c312b33222b3322
+2a34382f3c22344d1e4b69335474285f7b2a5e74295f7b2a60832a5f7b2a557f22
+49601f4b69336183453d573b354c313d573b354c31607590bacdd9afb9bc8ea089
+cdd5deb8c3c6a0b09fcdd5dea3b7a47d9082afb9bc9ea88e81a0898ea08981a089
+7d908292a8b6d2dee6dfe1e6e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8d4dcd0
+e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6ebeae7dfe1e6e0e6e8
+dfe1e6e0e6e8e0e6e8d9e6ead9e6ead9e6eacdd5decccdcccccdccd4dcd0dfe1e6
+cccdcca0b09f6b86739ea9b4afb9bcafc0abcccdccd4dcd0dfe1e6d4dcd0cccdcc
+8b90809ea9b4aeb0bdcdd5ded2dee6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6cccdccb0b8a3c1c4c7
+afb09e9ea08a9ea9b49ea08a9ea88e8b98828b98827c9053767b477787468b9882
+87886db1b0698b98827c9053a4bb7e8ea0896b8673576a628b9882657c44757c71
+9ea08a9ea08ab8c1af9a9178767b474960327787468b9882778772627444778746
+7d9082627444576b33627444576a1f7787465e74297c90537c905376872d76872d
+7c90537f97538b90338c98537b9034697c2b68752b767b478b903386874a76872d
+77874668752b697c2b757b2d344d1e657c4460832a7c9053a1b1708b905576872d
+81a089778746778772afc0ab9ea88e7c90537f97537e98828b9882a1b170b0b8a3
+8ea059afc0abcccdccc1c2aeafb09eb8c1af657c44344d1e656c266b852c557f22
+6f8f527f9753657c44778746b8c3c6b8c1af8488879d99817787728b9882767b47
+767b478b905584714486874a766e2d56603a5f61565f61565658384e50434e5043
+666c5e9da1abaeb0bdc0b8a6aba9a6afb09ec1c2ae9a9178867c4c66592c74643e
+84714486874a767b47aea886afb09eafb09eada17faea8868b9055767b474e4425
+333522354c31576a1f344d1e49601f5f7b2a76872d6b852c7b90348c9835708f31
+76872d757b2d576a1f576a1f68752b7b90347b90349fa8578ea05987872c8c9853
+8b9055757b2d8b903376872d49603247581f3043214c50264c5026576a1f5f7b2a
+697c2b7b90348ea83e8ea05980a03b7f97538c9853697c2b47581f3f4e1e49601f
+60832a6b85456b85455e74293a44233f4e1e49601f344d1e556024576a1f2f3c22
+3a44234b681e576a1f576b3355602449601f576a1f576a1f55582449601f5e7429
+697c2b657c44576b336274445e7429576a1f3c582254742876872d547428576a1f
+618345576a1f3a4423657c44618345767b47576a1f49601f4b69334b6933547428
+5f7b2a576a1f5f7b2a5e74294b693349732376872d656c26576b33576a1f778746
+7787467c90537c90536b8545576b33656c2647583268752b656c26555824766e2d
+7c90534758324960326b86736f8f527197537d9082afb9bccdd5decdd5dedcd6d6
+dfe1e6cdd5decdd5deb8c3c6a3b8bcb8c1afa3b7a46183457d9082a0b09fcccdcc
+b8c3c68da0b6afc0abafc0ab7197535474434b69335474434b6933354c3130444d
+354c313d573b618345547443354c313043213d573b547443344d1e3d573b3d5f25
+577376496032597c756f8f52496032608471819fb77a91a87a91a8aec4d0a3b8bc
+7d9082aeb0bddfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6e0e6e8dfe1e6
+d2dee6dfe1e6cccdcc9fb0bbc0cbb87e98827787466183456f8f52567f3a5f7b2a
+567f3a496032576b335e742947581f47581f697c2b7c9053567f3a4b6933497323
+576b335f7b2a4b69333f4e1e4758323f4e1e496032556024576b3347581f3f4e1e
+344d1e2f3c223f4e3247581f4b69334b681e547428576b33567f3a4960323c5822
+4758323f4e322f3c222f3c222e3c443043218a99abafc0aba3b7a47d908292a88d
+d2dee6d2dee6b8c3c67d90827e98826b86737787727090816f8f526b8673667c74
+666c5eafb9bcd4dcd0e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6
+dfe1e6e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6e0e6e8e0e6e8
+e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6d2dee6c1c4c79ea9b48ea089bacdd9
+d2dee6a0b09f92a88da0b09f9ea08a81a0899da1abafb9bcafb9bcbacdd9cdd5de
+b8c1afb8c1afb8c1afcccdccdfe1e6cdd5decdd5dedfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6e0dfc6dcd6d6dcd6d6d4dcd0cccdcc
+a0b09f9ea88ec1c4c7c1c4c79ea88e7c90536274447787727787466b854587886d
+9ea88ec1c2aeafb09e8ea0899ea08a92a88d7c90537d9082778772576a62657c44
+8b9882c1c2aeb0b8a38b9882697c2b576b334758327787468b98827e98827c9053
+8ea0898b98829ea88e6b85456b85457c90538ea0598c98538ea0598c983576872d
+7b90346b852c7c905376872d8b90557c90535e74296b852c778746656c2668752b
+6b8545757b2d8c9853778746576a1f666b3b657c44767b476b86737787468ea059
+7f97537c90538ea089b8c1afafbf777c90539ea88ec0cbb8a3b7a4a0b09f9ea08a
+afc0abb8c1afc1c4c7c1c4c7a0b09f9fa857778746547443657c4476872d7b9034
+95af7a92a88d627444657c44cccdccc0cbb89ea08a7787723f4e32767b47857d67
+867c4c867c4c555824766e2d66592c47583266592c574f265f6156666c5e8b9882
+c1c4c7cccdcccccdcccfc6b8aba9a6aba9a69d99819a91789a9178766e2d75704d
+9a91789f915486874a9e9853afb09e9e9853ada17fc0b8a69e985375704d4c5026
+3a4423383c234e44253f4e1e383c2347581f5f7b2a76872d76872d76872d60832a
+76872d7d973676872d76872d7b90347b90348c98359fa85776872d6b852c8e9f3b
+8b9033867c4c76872d68752b6b852c47581f4b681e5e742955602433352247581f
+76872d76872d80a03b8e9f3b92a75980a03b8c9853697c2b4c502649601f49601f
+6b852c5e742947581f47581f3043213c582247581f2f3c223f4e1e3f4e1e344d1e
+3a44233c5822547428576b337b90345e74295e74297b9034576b3347581f547428
+4b681e7d9736778746547428576b3360832a6f8f526b852c80a03b5e74294b681e
+49601f4b6933576a1f5e7429576b335e74294960324b681e49601f344d1e3d5f25
+4b681e656c265e74296b852c8c985360832a5560243f4e1e3f4e1e4b681e656c26
+766e2d68752b867c4c86874a68752b767b476660335560245e742956603a627444
+597c753d5f25547443657c44819f597f97537090817a91a8afb9bccdd5ded2dee6
+dfe1e6cdd5dec1d4e2a3b7a49ea88e92a88d95af7a92a88d95af7ab8c3c6b0b8a3
+b8c3c6b0cbdc81a0896b86736b8673567f3a497323618345497323354c31354c31
+2f3c222e3c44567f3a497323354c313d573b344d1e5474434b69334960654b6933
+567f3a6183456183455474434b6933778772a3b8bc81a089667c747e9882667c74
+7d9082c1d4e2d2dee6dfe1e6d2dee6dfe1e6dfe1e6e0e6e8e0e6e8d4dcd0dfe1e6
+dfe1e6dfe1e6c0cbb892a8b6a3b7a481a0896b85455f7b2a618345547428618345
+567f3a6b8545627444627444657c44767b478b90557787465f7b2a4b6933627444
+54742860832a496032576b335f7b2a5f7b2a5f7b2a60832a547428627444547428
+576b3354742860832a5f7b2a4b681e496032496032304321354c31344d1e304321
+2f3c22333522272c1f2b33222b33223c586f92a88d7090817787468b9882c0cbb8
+cdd5decccdccc5dae4a3b8bc81a0897c90537090817e988292a88d92a88d94afa1
+9ea88ea3b8bcc1c4c7d4dcd0dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6e0e6e8e0e6e8
+e0e6e8d4dcd0dfe1e6e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6
+d9e6eadfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d4dcd0cdd5dec1c2ae81a089778772
+afc0abafb9bca0b09f92a88d81a08981a089667c747e9882c0b8a6cdd5dec0cbb8
+cdd5deafb9bcbacdd9d2dee6d2dee6afb9bccdd5dedfe1e6dfe1e6dfe1e6e0e6e8
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6d4dcd0afb9bc
+9da1ab9ea08aafb9bcb8c1af9ea88e8b98826b86736b8545666b3b7787727c9053
+7d90829d99819ea88e8b90809ea88e8b908087886d8c9853778772667c74627444
+778772afb09e9ea08a8b9882757c71576b33576b3349601f576b336374716b8545
+8b90558c9853a0b09f87886d7787727f97539fa8578e9f3b8ea0598b9033697c2b
+6b852c697c2b6b852c7c90537b903476872d5e742968752b767b47666033555824
+5e7429657c44697c2b767b47475832383c234758325e74296f8f527c90536f8f52
+5474437f97538b9882afc0ab9ea88e657c448b9080b8c1afa0b09f8ea089afc0ab
+afc0abb0b8a3afb09ec0b1979d99817c90538c98355e7429576b334b69336b8545
+a0b09f7c90535f7b2a778746b0b8a3b8c1af9ea08a666b3b7c90538ea0599fa056
+8b905587886d666b3b666033574f263a442356603a857d6787886da0b09fcccdcc
+d4dcd0dcd6d6cdd5decdd5dec0b8a69d99819ea08a857d67767b4775704d9f9154
+9ea08ab1b0698c985386874a778746867c4c9e9853ada17f9a917886874a68752b
+5e7429576a1f3a4423556024576a1f4b681e6b852c7b90347b90347b90347b9034
+7b903476872d6b852c7d973676872d76872d8b90339fa0568b90336b85457d9736
+7b903486874a5e742949601f7b9034697c2b6b852c4c50262f3c222b33225e7429
+757b2d4c50267c90536b852c6b852c7197328ea0597d9736708f315f7b2a60832a
+80a03b697c2b3c582260832a76872d49601f344d1e3043212f3c222f3c222f3c22
+3f4e1e30432149601f4973236b852c5e74295f7b2a5e74295474285474285e7429
+557f225f7b2a708f31697c2b4b681e5e7429708f31708f31697c2b576b33778746
+5e742949601f6b85457787465e74295f7b2a497323576a1f8c9853656c263f4e32
+697c2b656c263f4e1e49601f68752b76872d556024666b3b697c2b68752b666033
+666b3b666033576b3368752b576a1f47581f576b33627444576a1f5560243a4423
+4b69334b69335474436084716f8f52608471608471597c758da0b6c1d4e2cdd5de
+dcd6d6cccdccc1c4c795af7aa0b09f9fa05695af7a8c98536b867392a88d7e9882
+92a88d94afa194afa1567f3a4b693361834560847141671b567f3a344d1e2e3c44
+2a34382f3c225474433d5f253d573b3d5f25567f3a657c4461834541671b3d5f25
+4960326b85454b69334b693354744354744354605f5474434b68653d5f25627d99
+b8c3c6c1c4c7d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6
+d2dee6dfe1e6b8c3c67197536b867394afa17e98825474436b85455f7b2a576b33
+547428657c444b69334b693356603a4b6933627444697c2b7787465f7b2a496032
+778746567f3a4b69334960324b69335e7429496032496032354c312f3c222f3c22
+3335223f4e324b69335474285e74293d5f253f4e1e3043212f3c22304321383c23
+262e35262e352b33222a34383d573b637471597c75567f3a657c448ea089bacdd9
+a0b09fa3b7a4d4dcd0cccdccbacdd992a88d7787728ea0898ea0898ea0898ea089
+a0b09f9da1abb8c3c6d2dee6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6
+e0e6e8d4dcd0e0e6e8e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8
+dfe1e6e0e6e8d4dcd0dfe1e6dfe1e6dfe1e6dfe1e6cdd5decccdcc778746667c74
+657c448ea0898ea089657c4462744441671b5474438ea089cdd5dec0cbb8a3b7a4
+afc0abc0b8a6cdd5decdd5dec0b8a6b0b8a3dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6
+dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dcd6d6cccdccafb9bc
+8ea0898ea0899ea9b4b0b8a39fa8578c98538b9882618345576a62627444767b47
+657c44697c2b778772afb09e9ea88e8b98829da1ab87886d757c71576a62667c74
+a0b09f9da1ab9ea08a8b98827c90536274446274445558245e7429475832496032
+767b476b8545767b477787468b9055a1b1709fa85786874a8c98358ea0598b9033
+778746576b33656c267787467b90346b852c778746576a1f576b333f4e32576b33
+7787465e742968752b576a1f3a4423383c235658384c50265e7429778746667c74
+6b854577874677874695af7a7c90536274446b854592a88d8b90807d90829ea88e
+b8c3c6b0b8a392a88d8b903386874a68752b6b852c5e74293f4e1e3f4e323a4423
+627444697c2b576b335e7429697c2b7c90537b903486874a7c905376872d86874a
+9e9853666b3b766e2d666c5e66603354605f6b8673b0b8a3afb9bccccdccdcd6d6
+dfe1e6dfe1e6dfe1e6dcd6d6c1c2ae9d9981666b3b666b3b86874a767b479f9154
+9a91789e9853697c2b7787468b90559e98539a91789e98538b90556b85456b8545
+5f7b2a6b852c7b90347d97366b852c6b852c7b9034719732708f318c98358c9835
+76872d76872d708f3176872d708f317b90348e9f3b8c98538c985376872d76872d
+68752b757b2d76872d5f7b2a708f315e74295560242b3322272c1f2f3c22576a1f
+3d5f25576a1f6b852c7b903460832a6b852c708f317f9753719732708f31719732
+80a03b7d97366b852c80a03b80a03b708f313f4e1e304321344d1e304321344d1e
+344d1e49601f55602441671b5e7429697c2b697c2b8c985376872d6b852c708f31
+7d973676872d7d97365e74294973235f7b2a76872d6b8545576a1f60832a697c2b
+7b90346b85455e7429576b336b854541671b5f7b2a6b852c8b903366592c3a4423
+475832576a1f576a1f77874668752b666b3b666b3b556024867c4c5560244c5026
+3f4e324c5026475832576b33576b333f4e1e49603249601f576b3347581f3a4423
+3d573b496032547443597c754960323d5f255474433d5f7a8da0b6cdd5decccdcc
+cccdccc1c4c7a0b09fa0b09f92a88d8ea0597f97536f8f526f8f526f8f527c9053
+657c446b867396b7ab6b86733d5f2541671b608471547443567f3a4b6933304321
+2b33222a34383f4e322a34382e3c445474436b8545657c44567f3a576b33475832
+30444d3f4e323d5f256274444b69334b69333d573b3f4e323d4f564b6865608471
+8b919fbacdd9dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d9e6ead9e6ead2dee6dfe1e6
+dfe1e6e0dfc6b2d2e081a0896b85456274447f9753657c44567f3a547428567f3a
+657c4441671b3c5822576b33344d1e3a4423627444496032657c444b6933344d1e
+6274445f7b2a576b333d5f254b6933576b33344d1e2b33222b3322262e35342d1f
+272c1f2b33224758322f3c223a4423383c23475832475832354c312a3438272c1f
+2b33222b33222f3c22304321354c314b6933547443567f3a6b8673afc0aba0b09f
+7d908292a88da0b09fb8c3c692a88d92a88d6f8f526f8f526b86736b8673608471
+6b867381a089bacdd9d4dcd0d2dee6e0e6e8dfe1e6ebeae7e0e6e8e0e6e8e0e6e8
+dcd6d6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8d2dee6e0e6e8dfe1e6dfe1e6
+dfe1e6e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8e0dfc6d4dcd0aec4d0afc0ab92a88d
+4b6933576b338b9080576b334b69336b85457d90828ea089afc0ab92a88d9ea9b4
+8b9882a3b7a4a3b7a49ea08a8da0b6cccdccdfe1e6d2dee6dfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6cdd5dec1c2ae
+7d90828b90809ea88ea1b1709ea88e95af7a8ea0897c9053627444627444576b33
+767b4768752b6660338b9882afb09e8b988292a88d6b8673657c44757c71afc0ab
+b8c1afafb09e9d99819ea08aa0b09f6b85454960322f3c22475832344d1e304321
+7787468ea0598c98537b903455602486874a7b90347c90538ea059757b2d7f9753
+8b903368752b5e7429697c2b778746697c2b76872d6b8545656c263f4e1e56603a
+68752b666b3b778746666b3b4c50264c50264960322f3c226274448b9055778746
+8b90808c985377874692a88d9ea88e7e98827c90538ea0597c90537c90538ea089
+afc0abc1c2ae87886d8b90335e7429656c26767b47576b334960323f4e1e2f3c22
+56603a5f7b2a5f7b2a3a44234758325e7429757b2d7b9034697c2b6b852c6b852c
+8b9055767b47666b3b767b47767b47778772aba9a6c1c4c7cccdccdcd6d6d2dee6
+dfe1e6dfe1e6dcd6d6d4dcd0cfc6b8847144666b3b75704d86874a95885c9fa056
+7c90536b852c68752b757b2d7787469a9178666b3b8b9055757b2d757b2d5f7b2a
+49601f5f7b2a5f7b2a76872d7b90347b90347d9736708f3176872d697c2b5e7429
+76872d7197328c98357b90346b852c76872d7f97538c98358c985376872d76872d
+8ea059778746576a1f6b852c60832a4b681e3f4e1e383c23272c1f55602449601f
+49601f49601f7787468c9853697c2b547428497323557f227197326b852c497323
+5f7b2a60832a6b852c7b9034697c2b708f315f7b2a5474283f4e1e3043214b681e
+576a1f47581f4b681e576a1f708f316b85456b852c8e9f3b5e7429576b33497323
+708f317b90345f7b2a49601f47581f6183457197325e7429576b33657c44778746
+7f97537f97535474285f7b2a697c2b5e74297f975376872d6b8545565838576a1f
+556024767b47576b33697c2b697c2b5560245e7429767b4755582456603a496032
+47581f565838556024657c448c98535560244c50265f7b2a778746656c264c5026
+3d573b3f4e32657c44597c754960323c586f344d594b686592a8b6c1d4e29fb0bb
+9fb0bbafc0ab8ea059a1b1708ea0597c90537197534b6933778772819f596f8f52
+6b86735474437c9053597c753d5f25567f3a547443567f3a618345576a62354c31
+3d573b2f3c222f3c222f3c22344d1e6b8545567f3a3d573b4b69335474433f4e32
+2f3c223944464758326274444960653d5f253d573b4b6865597c757a91a896b7ab
+bacdd9d4dcd0dfe1e6d9e6eadfe1e6d2dee6d4dcd0e0e6e8e0e6e8dfe1e6dfe1e6
+dfe1e6dfe1e6c1d4e27197536183454b6933567f3a6b85455f7b2a576b334b6933
+576b333d5f253d5f25576b33344d1e304321618345344d1e5f7b2a5e7429627444
+657c443d5f25304321344d1e567f3a496032354c31272c1f262e352b33222b3322
+272c1f2f3c22383c232f3c222b33223043213d5f254960323f4e1e344d1e3f4e1e
+3d573b2f3c22354c313f4e323043213d5f254b69336b86738b9882709081667c74
+a3b7a494afa16b8673819f5981a089819f59576b334b69336084716b8545557f22
+6183458ea089afc0abc0cbb8b8c3c6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8
+dfe1e6d4dcd0e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8e0e6e8d9e6eadfe1e6e0e6e8
+dfe1e6e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6cdd5dedfe1e6c0cbb8b8c3c6a0b09f
+a3b7a47e98828b98826274447787727e988296b7abc1c4c7b8c1af92a88d8b9882
+6b85457e98827e98828ea089afc0abd2dee6d4dcd0cccdccdfe1e6dfe1e6dfe1e6
+e0e6e8d4dcd0dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6c1c4c7b0b8a3
+7e98827d9082afb09e92a88d9fa0568ea08987886d7c90536b8545627444627444
+657c44767b47627444757c71b0b8a37787728b98828b9080666c5e8ea089d4dcd0
+c1c4c79da1ab8b9882b0b8a39ea88e87886d576b332f3c224b6933304321344d1e
+6b85458c98538b90337c905368752b6b85458c9853819f597f9753576b337c9053
+8c98538b903368752b68752b8b905576872d867c4c778746556024555824475832
+4c5026656c267787463f4e1e47581f75704d547443475832757c71afb09e8ea059
+657c44657c4477874695af7aa1b1708b98828ea0598b98827787466f8f528ea089
+92a88d8b9882757c717c9053576a1f6274446b8545576a1f5474284b6933344d1e
+778746576b333f4e1e49601f344d1e49601f5e74295e74296b852c6b852c6b8545
+7787467c90538b9080757c71767b47848887c1c4c7cccdccdcd6d6d2dee6dcd6d6
+dfe1e6d4dcd0cccdccb0b8a3b0b8a39d99819e985368752b8c98538b90338b9033
+76872d5f7b2a68752b767b47767b47666033666b3b9e98537c905376872d5f7b2a
+5f7b2a5e74296b852c6b852c708f3176872d76872d708f3176872d7b90347b9034
+7d97368c9835708f316b852c708f31697c2b7b90348c983576872d7787468b9033
+7b903476872d68752b657c4449601f47581f5560243a44233f4e1e576a1f697c2b
+697c2b77874668752b697c2b697c2b76872d6f8f52547428557f226b852c5f7b2a
+41671b557f2260832a5e74295e7429719732697c2b5e742955602430432149601f
+576b335474283d5f254b681e5f7b2a7b903476872d576b334b681e3c58223c5822
+49601f6b852c7b90344b681e47581f47581f5e7429576a1f497323708f317d9736
+92a75960832a5f7b2a5f7b2a576a1f76872d7b9034656c265e742949603249601f
+627444656c264c502656603a49603247581f5474285e74292f3c223f4e3249601f
+4b681e576b3362744477874677874668752b5e74296b852c6b8545656c26556024
+4960653d5f25657c446f8f52567f3a3d5f254b69334b68656b86738ea0897e9882
+6b86737e98827e98828ea0597f97537f97538c98536f8f526f8f5292a88d8c9853
+6f8f525f7b2a567f3a4960324b69334b686541671b567f3a41671b3d5f254b6933
+567f3a344d1e2e3c445474436f8f526f8f52657c443d5f25576b334b69333c5822
+3f4e323d573b657c445474433d573b4960655773767d9082aec4d0c1d4e2c1c4c7
+d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6
+dfe1e6dfe1e6cdd5de81a089567f3a5474436b85456f8f52567f3a4b69336b8545
+5474434b6933547443567f3a4b6933576b336183455474286b8545576b33496032
+60832a6b854541671b3d5f25576b334758323f4e323043212b3322304321496032
+4960324960324973234b681e4973234973234960323d5f25547428567f3a547428
+3c58222f3c222b33222f3c223d573b3d5f25657c443c58224b69336f8f52778772
+c5dae4c5dae481a089567f3a6b85456b867341671b3c58224b69334b693360832a
+8b98829ea9b4c0cbb8a0b09f9ea88ecdd5dedfe1e6e0e6e8e0e6e8e0e6e8e0e6e8
+d4dcd0dfe1e6dfe1e6e0e6e8e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6
+e0e6e8dfe1e6dfe1e6d4dcd0dfe1e6cdd5dec1d4e2cdd5ded2dee6c0cbb89da1ab
+a3b7a47d90826274446b854581a089819f5992a88dc1d4e2c5dae49ea88e94afa1
+8b90807d908294afa1a3b8bccccdccc0cbb8c1c4c7cdd5ded2dee6dfe1e6dfe1e6
+dfe1e6e0e6e8e0e6e8e0e6e8dfe1e6d4dcd0d9e6eadcd6d6d4dcd0cfc6b8afc0ab
+9ea88e9ea08ac1c2ae9ea88ea1b1709ea88e8b9882767b47778746767b477c9053
+657c44767b47627444757c71c1c2ae8b98827d9082778772576a629ea9b4cccdcc
+c1c4c7b8c3c69d99819ea88e8b9080819f59778746657c446274444b6933767b47
+7c90538b98826274447787468c98538b9882b0b8a38ea0598c985377874680a03b
+8c985368752b7c90538b90557b903486874a778746576a1f5560243f4e1e56603a
+555824576a1f767b4747581f556024576a1f6b86737c9053627444c0b1979d9981
+666b3b7787466b85458ea0598c98537c90538ea0597d90826b8545657c447d9082
+8b9882657c444960326f8f525e74296274447787467787465f7b2a576b33708f31
+6b852c576a1f3a442349601f556024576a1f5474285f7b2a5f7b2a76872d656c26
+6274448ea0898b98829d998187886d8a99abafb9bccccdccdcd6d6dcd6d6d2dee6
+dcd6d6afb09e9ea88e767b478ea0599d99818c98538b90558ea05977874676872d
+6b852c76872d76872d757b2d6660334c5026666b3b9fa8578c98537b903476872d
+76872d76872d6b852c697c2b708f317b90347b9034708f31708f317d973680a03b
+76872d6b852c7b90347b903468752b656c2676872d7b9034697c2b7b9034778746
+656c2668752b576a1f4c50263043213a4423656c26767b47576b33657c447d9736
+8b90337787466274445f7b2a6b852c7d973661834541671b41671b557f22576a1f
+3d5f2549601f49601f4b681e3f4e1e4b681e68752b5e7429576a1f4c50263f4e1e
+5f7b2a6b852c60832a6b852c76872d5e74294b681e3f4e1e4b681e697c2b576b33
+576a1f576a1f68752b68752b5e7429576a1f7d97367d9736708f3180a03b719732
+7b903460832a60832a6b854549601f41671b6b8545576b33657c4447581f49601f
+4b69333f4e323a4423354c313043213f4e1e5e7429576b333f4e1e4b681e5f7b2a
+77874677874668752b778746778746576b334b681e5560245560244758323f4e32
+4960325474437e98827f97536b86735474434b686541671b618345709081657c44
+567f3a6183457f97538ea0598c9853819f597c90538ea0597f97536f8f526f8f52
+657c446084716183453c58224b69333d5f254b6865567f3a5474433d573b547443
+3d5f252e3c442f3c227787466b8545618345567f3a3d5f25475832304321496032
+4960325474436183454960323d5f253d5f7a7e98829fb0bbc5dae4afc0ab9ea9b4
+cdd5dedfe1e6dfe1e6d4dcd0dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6d2dee6
+dfe1e6d2dee6d4dcd095af7a5474434b6933547443576b335f7b2a5474285f7b2a
+3d5f254b69335e74295f7b2a3d5f254758324758325e7429576b335474285f7b2a
+547428576b334b69334973234b693349603256603a3043213a44234b69334b6933
+49601f576b334b693349601f496032576b3347581f3a44233a44233a44232e3c44
+2b33222a34382f3c223043214973236f8f523d5f253a44234b69337c905392a88d
+afc0abb8c1afc1d4e2819f595f7b2a576a625474434b6865608471618345567f3a
+54744377877292a88d8ea089afc0abd4dcd0d2dee6e0e6e8dfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8
+e0e6e8dfe1e6d4dcd0cdd5dedcd6d6dfe1e6c0cbb8a0b09fc1c2aecccdccafc0ab
+c0cbb8a4bb7e7c90536b8673819f596b86737d9082b8c1afd4dcd07d9082778772
+7787469ea88e8b9882b8c3c6b8c3c69ea9b4aba9a6cdd5dedfe1e6dfe1e6dfe1e6
+dfe1e6dfe1e6d4dcd0e0e6e8dfe1e6d4dcd0cdd5decdd5decccdccb0b8a3afb09e
+afbf77afc0abc1c2aeb0b8a3afc0ab7f97537c90537787727f97537787468b9055
+767b477c90537d90828b9882b8c1afafb09e8ea0898b98826274448b9080aba9a6
+8b919fafb9bc9ea08a8b908087886d8ea059767b477090817d90828ea089757c71
+8b90808b988292a88d92a7598b98829fa056a1b17092a75992a7598c98537c9053
+7b90345474287f97538b90337787467f97538b903355582468752b767b4768752b
+77874668752b666b3b555824576b33475832576b337c90537c90539a91789f9154
+87886d6274446183456b85457787467787467c90537c9053819f59778746657c44
+576b336b8545547443656c26496032576b33576b336b85453f4e32576b337b9034
+7d97366b852c4b681e30432147581f3f4e1e3f4e1e55602468752b697c2b6f8f52
+6b86739ea88e8ea0898488878b90808b9080848887bacdd9dfe1e6dfe1e6dcd6d6
+c1c4c7757c718b90557d97367b9034708f3176872d76872d708f3176872d6b852c
+697c2b6b852c76872d68752b555824565838657c44aea8868c98538c98538c9835
+76872d8c98358c98357b9034708f31697c2b5f7b2a697c2b7b90348b90338c9835
+76872d76872d77874676872d6b852c49601f7b903476872d576a1f6b852c697c2b
+757b2d7c90535560242f3c22344d1e3f4e1e344d1e3f4e1e47581f697c2b5e7429
+7c905368752b47583249601f3d5f25576a1f3f4e1e3c5822557f2260832a60832a
+47581f3c58223f4e1e3f4e1e344d1e5e7429576a1f3f4e1e3a44234c502676872d
+708f315e7429697c2b47581f68752b76872d576a1f3a44233f4e1e627444576a1f
+576b334b681e3f4e1e656c2668752b49601f7d97365f7b2a708f31719732708f31
+4b693341671b54742860832a4b6933344d1e344d1e3043213f4e1e47581f3d5f25
+3f4e1e47581f3f4e1e344d1e344d1e3f4e1e4758323f4e1e4c5026697c2b5e7429
+5f7b2a656c26576a1f68752b656c26666b3b5e742955602447581f3a4423383c23
+4b6933547443576b336f8f524960323d4f56547443657c445e74296b86734b6865
+3d573b576b336b85458c9853819f598ea0597197537f9753719753618345547443
+4b69335474434b69334b6933497323567f3a567f3a657c445474434b6933497323
+5474432f3c223f4e326f8f527197535f7b2a7787466b85454b6933354c313c5822
+4b6933547428657c443d573b3d5f25496032667c749fb0bba3b8bc7d98b19ea9b4
+d2dee6d9e6ead2dee6d4dcd0d2dee6d2dee6d2dee6dfe1e6d2dee6d4dcd0dfe1e6
+dfe1e6dfe1e6b8c3c6a0b09f567f3a5f7b2a4b69335474435474433d5f255e7429
+567f3a547443547428547443344d1e3043213f4e3256603a666b3b475832657c44
+5f7b2a4b69333f4e32576b335474434960324960323f4e1e49601f5e7429354c31
+2f3c222f3c223a44233f4e323043212b3322373e433043213f4e32354c31272c1f
+272c1f2b33223043213c58225474286183453f4e324b69336b8673719753819f59
+7c9053a0b09fc1d4e292a88d4b69334b69335474436084716183456183454b6933
+3f4e326b86738b9882819f59b8c3c6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6cdd5de
+cdd5ded4dcd0d4dcd0e0e6e8e0e6e8dfe1e6e0e6e8e0dfc6e0e6e8d9e6eadfe1e6
+dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6e0e6e8d4dcd0b0b8a37787728ea089a0b09f
+a0b09f7e98826f8f526274446f8f527f975392a7598b988292a88d778772657c44
+8b98828b98828ea089c0cbb89ea88e8b90809ea88ecdd5dedcd6d6dfe1e6d2dee6
+dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6e0dfc6cccdccb0b8a3cccdcc
+c1c4c7c1c2aeafc0ab92a88db0b8a38ea0898b9882778772767b478c98538c9853
+7f97537d908277874686874a8b98829d9981aba9a68b98828488878ea089afb09e
+9ea08aaba9a6b8c1af9fa0567d9082767b4754742847581f5474436b8545627444
+95af7a8ea0897787467787468ea0899fa8578ea05977874686874a77874676872d
+4b6933657c448b90336b852c5e74297787466b8545778746778746767b47778746
+68752b656c2655582456603a767b47475832475832657c44656c2686874ab1b069
+9ea88e6274447c9053697c2b6b8545576b33667c748ea0898ea089657c446f8f52
+627444767b476b854547581f3f4e1e3043213f4e32657c444758324960327f9753
+6b852c576a1f3f4e1e3a44232f3c222f3c22304321576a1f5f7b2a576a1f757c71
+9ea88e8ea0899ea88eada17f87886d8b98825f61569ea08acccdccdcd6d6dcd6d6
+857d6756603a8ea0598c9853576a1f6b852c6b852c76872d76872d5f7b2a5e7429
+5e7429697c2b6b852c576b334c502676872d7c90538c98538c98537b903476872d
+697c2b5e74298c983576872d76872d697c2b5560244b681e697c2b5560245f7b2a
+7d97366b852c76872d8b903376872d576a1f656c265560243f4e1e666b3b757b2d
+8c983576872d304321342d1f3f4e1e576a1f497323576b33576a1f666033697c2b
+656c26656c2649601f4b681e3c582241671b344d1e3c58223c58224b681e5f7b2a
+5560244c502649601f3c5822576a1f76872d6b852c3a44232f3c223043215f7b2a
+576a1f4c50263f4e1e3a4423383c233f4e3247581f4c50263f4e1e7b9034697c2b
+3f4e1e3a44232f3c2247581f3f4e1e3f4e1e60832a6b852c557f2241671b3d5f25
+49601f547428697c2b576b33576a1f3f4e1e354c31344d1e3c582249601f3c5822
+49601f344d1e4b6933576a1f47581f627444496032304321475832576a1f697c2b
+68752b68752b56603a757b2d757b2d76872d556024576a1f76872d556024383c23
+6f8f52608471547428657c443d573b304321547443547443627444657c44618345
+6183456b85458b98828c98537f97537f97536b852c657c44547428567f3a547428
+567f3a6183453d5f253d5f254b69334b6933567f3a6183454b69333c5822304321
+3d573b4b69336f8f526b85457197325474284b6933657c444960323d573b3d5f25
+394446475832576b334758324b69334b69334b6865667c747090817e9882bacdd9
+cdd5ded4dcd0aeb0bd9fb0bbcdd5ded4dcd0d4dcd0dfe1e6d4dcd0b8c3c6d2dee6
+dfe1e6d4dcd0a0b09f7787726183454b69335e7429576b333f4e1e496032576b33
+5474433d5f253c58225474433d5f2541671b5e74295e74296274446274445e7429
+6183454b693356603a47581f4b6933344d1e354c31304321627444576b33344d1e
+383c234b693347581f344d1e4b681e3a44232b33223f4e1e383c23342d1f272c1f
+2b33223c582254744341671b4b69334b69333d5f256f8f526183456b85456f8f52
+6f8f52657c4470908181a0896b8545618345497323657c447f9753547443618345
+547443657c447d908294afa1a4bfb5d2dee6dcd6d6dcd6d6d9e6eadfe1e6cdd5de
+cccdcccdd5ded4dcd0e0e6e8e0e6e8dfe1e6d4dcd0e0e6e8dfe1e6dfe1e6e0e6e8
+dfe1e6dfe1e6d4dcd0cdd5dedcd6d6dfe1e6e0e6e8c1d4e26f8f525474437c9053
+7f97536b85455f7b2a47581f5474286183456f8f526b85456f8f527c90536b8673
+8b90558ea0898ea0598ea089667c74667c749ea9b4d2dee6dfe1e6dfe1e6d4dcd0
+dfe1e6dfe1e6dfe1e6d2dee6d4dcd0cdd5decdd5decccdcccccdcccdd5decccdcc
+b8c1afafb09ea3b7a49ea88e7787468c98537e98827c90537c90537e9882778746
+8b9055657c44657c447787468ea0898ea059afb09ea0b09f8ea0897d90829da1ab
+9ea9b49da1ab8b98829ea08a8ea0897c9053657c4456603a3f4e32547443778772
+7c90537c90537787467c9053819f598ea0598b9033697c2b757b2d697c2b697c2b
+49601f54742860832a697c2b657c44576a1f76872d76872d576a1f68752b576b33
+576b33576a1f657c447b903477874686874a757b2d757b2d697c2b8b9055aea886
+8b98825e74296b8545576b3347583247581f657c446b8545657c445e7429627444
+576b33496032547443576b333d573b354c3170908195af7a4b693349603276872d
+5e74293a4423333522272c1f272c1f344d1e4c50263f4e1e5f7b2a60832a8ea089
+a3b7a47d90829ea88e8ea0899a91788b905554605f666c5e767b479a9178666c5e
+4e4425857d67b0b86c8ea05968752b5e74297d973676872d6b852c5e74295e7429
+5e74295e7429576a1f4c50264c50266b852c7c90539e9853767b47576a1f5e7429
+697c2b5e74297d97367b9034708f31757b2d55582447581f4c5026342d1f2f3c22
+556024576a1f5e742976872d76872d3f4e1e4c5026333522272c1f3f4e1e6b8545
+8c98357b9034767b472f3c22272c1f3a44233a4423555824576b33576a1f49601f
+697c2b576b335e74293d5f25576b333f4e1e344d1e344d1e304321344d1e47581f
+344d1e4c502649601f41671b5f7b2a576a1f5e742949601f344d1e778746555824
+3f4e1e3f4e1e344d1e4b681e344d1e3c5822547428576a1f656c2668752b656c26
+556024576a1f3a4423576a1f3043213043214973235f7b2a3d5f254758323d5f25
+47581f41671b4b681e5658384758324c50262f3c2230432149601f49601f497323
+697c2b55602447581f6183455560243f4e3249601f497323496032496032778746
+576b33576b33354c31576b33656c2668752b576a1f576a1f666033656c26666033
+618345657c44618345547443354c313944463d5f25657c44778746819f598ea059
+819f5992a7597b90347787466b85457c9053697c2b778746496032657c44618345
+5f7b2a6183455474435474434b69333d5f25567f3a567f3a3d5f253d4f562f3c22
+3f4e32547443657c44557f226f8f525474284960323d5f25354c314758323f4e32
+2f3c222f3c224758324758324b69333d5f253d5f255773767e98827d98b1cccdcc
+a3b7a48488875773767d90828da0b6afb9bcdfe1e6d2dee6bacdd9a3b7a4a3b7a4
+d4dcd0cdd5dec0cbb881a089657c444b69335f7b2a5474434960323043213a4423
+547443344d1e3c58224960323f4e1e627444557f226b8545496032576b335f7b2a
+3c5822344d1e2b3322304321576b333d5f25354c313f4e32576b3355602456603a
+576b3355602462744449601f49732349601f4758323944462b33222b33223c5822
+4b69334b69334b6933344d1e3f4e324b69334b69336f8f5241671b567f3a719753
+819f597e98826183456f8f526183456f8f525474435474435474285e74296f8f52
+6f8f525474437f975392a88d95af7aa4bfb5c0cbb8d4dcd0dfe1e6dfe1e6cccdcc
+c1c4c7cccdccdcd6d6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6
+dfe1e6d4dcd0c1c4c7cdd5decdd5ded4dcd0d4dcd0d2dee6c1d4e2618345657c44
+47581f657c44657c445f7b2a657c446f8f527787468b98828ea0898ea0896b8545
+7f97537787467787726f8f52567f3a7e9882afc0abd4dcd0dfe1e6dfe1e6e0e6e8
+dfe1e6dfe1e6dfe1e6dfe1e6cccdccc0b8a6c1c2aeb0b8a3cdd5dee0dfc6c1c2ae
+9ea88ea1b1708ea0598b98827c90538c9853657c448b98828ea0597f9753778746
+7c90537787467787467f97537787468b98829ea9b49ea88eafb09e6b8545778772
+8ea0899ea08a857d678c985387886d6b85455f7b2a49601f3f4e1e354c31475832
+576b337f975392a88da1af4e819f599fa0567c90537787467c90538c9853697c2b
+556024576b33576b335e7429697c2b576b3368752b8b9033576b3356603a656c26
+627444656c268b903377874668752b8ea05987872c7b90348b90338c98538b9055
+857d675e7429778746576b33576a62475832627444627444618345576b33496032
+3d5f25344d1e576b336b85453c58224e5043b0b8a3c1c4c7576b3349601f6b852c
+5e742947581f3f4e1e2f3c222b3322657c44576b3349601f5e74297c9053a0b09f
+8ea0597d90827c90537787468b98828c98537787468ea05986874a556024555824
+68752bafb09e9fa857a0a03a7b903476872d76872d697c2b76872d557f22576a1f
+5474285f7b2a5560243335223f4e1e697c2b8b90558b90557787468b98828b9033
+5e74293f4e1e576a1f6b852c708f3176872d555824342d1f272c1f24261c342d1f
+3335223f4e1e4c50264c50264c50263a4423333522383c23272c1f2b3322656c26
+778746757b2d4b681e383c23342d1f24261c3335223f4e1e47581f49601f5e7429
+49601f3d5f2549732349601f41671b344d1e3043213043213c58223c58223f4e1e
+4c502649601f3f4e1e47581f3c582247581f5e7429576a1f3d5f25697c2b576b33
+576a1f7b9034557f227b90346b852c697c2b7b903476872d556024656c26666b3b
+3a442347581f33352247581f344d1e4973235f7b2a576b33344d1e3a442347581f
+4b693349601f49601f47581f383c23383c232f3c222f3c22344d1e344d1e354c31
+576b33496032496032666b3b4b681e3c58223c58223f4e1e657c443f4e1e3d5f25
+4b69333f4e1e344d1e4758324960324c50264e504375704d767b47556024656c26
+6183456b85457c9053657c443d573b3f4e325474437197537f97536f8f527c9053
+7f97537c9053567f3a657c446b85457c90537f97537f9753547443576b336f8f52
+567f3a3c58224973234b69333d5f253d573b547443547443344d1e354c312f3c22
+2a3438344d1e3d5f25576b33547443618345567f3a5474283d573b3f4e322f3c22
+373e432b33223f4e324b69334b69334758323d573b4b6865547443667c748ea089
+577376576b33576a62a4bfb594afa18b9882b8c3c6cdd5de92a88d8ea0897e9882
+b8c1afb8c1af94afa1afc0ab7f97535474434b69336183455474283f4e32304321
+3d5f25576b33627444496032344d1e3c58226b85456b85454758323f4e1e56603a
+344d1e3d573b2a34383a442362744449601f3f4e322f3c22304321354c313f4e32
+666c5e8b90557787463f4e1e4960323a4423383c23333642272c1f304321547428
+60832a4960322f3c222b3322576b334b69336183456f8f52567f3a6f8f52819f59
+6f8f52608471afc0ab92a88d7f97536b85456183456274444b6933547428819f59
+7f97536f8f52819f596f8f526b8673a0b09fcdd5dedfe1e6dfe1e6d4dcd0dfe1e6
+cdd5decdd5ded4dcd0dfe1e6e0e6e8d4dcd0dcd6d6d4dcd0dfe1e6d4dcd0dfe1e6
+dcd6d6bacdd9b8c3c6b8c3c6b8c1afa0b09fd4dcd0dfe1e6d4dcd0a0b09f92a88d
+547443576b336274448ea0896b8545819f596b85457c9053a3b7a4afc0ab8ea089
+7c9053657c44657c44657c446183458b9882b8c3c6dfe1e6dfe1e6dcd6d6d2dee6
+e0e6e8dfe1e6d2dee6dfe1e6d4dcd0cccdcccdd5dedcd6d6cccdcccccdccc1c2ae
+9ea88e8b98829ea88e8ea0898ea0597c9053657c447c90538c98537c90537c9053
+7787467c90537c90537c90537787468b9882778772a0b09fafb09e8b98827c9053
+7d90828b9882657c447787727c90537787465474434b69334960324758324b6933
+4b69335f7b2a7f97538c98537b90348e9f3b7b903476872d7c9053657c44576b33
+697c2b4b693349603247581f49603249601f555824657c44697c2b6183455e7429
+555824576b33778746757b2d68752b8ea0598b90338b90338e9f3b8c98539fa056
+7b90345e74296b85455e74296274443f4e326f8f52627444657c44547443657c44
+709081576b334960325f7b2a5474286274449ea88e87886d576a1f49601f60832a
+6b852c76872d557f2247581f3a44237c9053547443576b3376872d7b90348b9882
+b0b8a3b8c1af87886d87886d8c98538b905586874a757b2d86874a778746778746
+8ea0599fa8578ea0598c98537d97367b90347c905376872d76872d697c2b5f7b2a
+5e74296b852c656c26383c233a4423656c267787468b90558b9055aea886b1b069
+8b9055766e2d4c5026576a1f76872d76872d556024342d1f272c1f272c1f342d1f
+383c235558243f4e1e272c1f24261c272c1f342d1f333522272c1f3f4e1e656c26
+47581f3f4e1e3a4423333522342d1f272c1f383c23666b3b56603a576a1f5f7b2a
+55602441671b49601f5e742949601f344d1e304321344d1e49601f344d1e47581f
+30432147581f5f7b2a708f31576a1f3043215f7b2a6b852c76872d6b852c5e7429
+576a1f76872d76872d697c2b7b903480a03b6b852c68752b656c265558244c5026
+4c502649601f383c232f3c22576a1f60832a4b681e3d5f253043213a44234c5026
+657c445e74293f4e323f4e1e3a44233335222b3322344d1e2f3c22342d1f2f3c22
+304321304321354c313a44233d5f253d5f254b6933354c31567f3a3f4e32496032
+6b852c657c44576a1f4c50264758323f4e323f4e323a4423354c31576b33475832
+7c90536f8f52819f59657c44496032354c315474436f8f526b8545618345547443
+6b85456f8f52576b33496032657c448c9853819f596f8f524b69333d5f256f8f52
+6183454b69334b693360832a3d5f25354c314b693341671b496032354c312b3322
+2f3c223f4e32354c31304321576b33567f3a3d5f254b69334b6933576b333c5822
+3f4e32344d1e5474435f7b2a4960323043213c5822496065597c75547443496032
+3d4f564b6933597c7594afa16084716374717d9082a3b7a47f9753819f597c9053
+6b8545a0b09f8b988261834581a089576b334b69336b85455f7b2a576b33576b33
+3f4e1e3f4e323c5822344d1e5474435e74295f7b2a3f4e1e2a34382b33222f3c22
+3944464c50262b3322354c314b69336b85454960323f4e1e47581f344d1e333522
+2f3c2256603a857d67383c23333522272c1f272c1f272c1f354c315f7b2a60832a
+557f22344d1e262e352b33224960326f8f52708f317197326b8545547443618345
+567f3a657c4492a88d95af7a6f8f52547428657c44547443547443618345618345
+5f7b2a5773765474434b693394afa1d2dee6dfe1e6dfe1e6dcd6d6cccdcccdd5de
+c1c4c7cccdcccdd5decccdccdfe1e6dfe1e6cdd5ded4dcd0dfe1e6dfe1e6dfe1e6
+cdd5ded4dcd0b8c1afafb9bcc0cbb8b8c3c6afb09ec1c4c7d2dee6bacdd99ea88e
+608471576b33657c446f8f526f8f526f8f526f8f52618345819f598b98827c9053
+7787464b69334b69335474435474437d9082c0cbb8d4dcd0dcd6d6cdd5dedfe1e6
+dfe1e6dcd6d6dfe1e6d4dcd0cdd5dec1c4c7cdd5ded4dcd0cfc6b8afc0abb0b8a3
+9ea88e8c98539ea88e8b9080afc0ab8b9882778746657c44767b47778746778746
+7c90537b90347c90537c9053767b477c90537d9082c1c2aec1c2aea0b09f8b9882
+637471767b47767b47778746767b4754744349601f3f4e1e576b33344d1e47581f
+56603a567f3a7c9053697c2b567f3a8c9853697c2b76872d76872d576a1f576b33
+6b852c47581f3f4e323d5f253f4e1e4758323c582249601f697c2b7b90348c9853
+68752b55582476872d697c2b5560248c98537b90347b90347c90538b90338ea059
+8e9f3b778746576b335e74296b85457787466b8673778772576b335e7429576b33
+567f3a597c75344d1e3c5822576b336b8545697c2b6b852c576a1f5e74295e7429
+49601f6b852c76872d49601f3d573b6f8f525e74296b852c71973276872d7f9753
+c1c2aec0cbb8a1b1708ea08986874a767b47757b2d76872d8c98355e742976872d
+8c98358c98537b903476872d576a1f576a1f55602486874a8b9033697c2b656c26
+6b852c76872d656c26574f262f3c223f4e1e767b47867c4c86874a767b479d9981
+aea886b1b0699d998195885c767b47556024576b333a4423333642342d1f342d1f
+342d1f333522383c23272c1f272c1f24261c272c1f24261c24261c2b33223f4e1e
+4e5043333522272c1f24261c342d1f383c233f4e1e9d998186874a666b3b3f4e1e
+3f4e1e4b681e5f7b2a576a1f47581f3c58223a44234b681e4b681e5f7b2a4b681e
+49601f4b681e80a03b7b90345e74294b681e697c2b7b90347d97366b852c5e7429
+5474285f7b2a60832a5e742980a03b91af495f7b2a556024576b33576b333f4e1e
+576a1f383c2347581f3a4423344d1e47581f3f4e3247581f344d1e3f4e1e304321
+4b6933657c445e74294b681e4e4425383c233043213f4e1e3f4e1e2f3c222f3c22
+3a44233a4423475832496032354c313043213d573b344d1e354c313a44233f4e1e
+344d1e4b69333a44233a4423344d1e3a4423383c232f3c223f4e1e475832475832
+7c90536f8f52719753657c447c90536b8545657c44778746657c44618345496032
+5e7429657c444758324758327787467f97538c98537f97536183454b6933547428
+61834541671b4b6933567f3a4973234960325474434b69333d573b304321262e35
+3d573b5474433d5f25547443547443657c444b69333d5f255474434b69334b681e
+5e7429576b336b8545657c443f4e32304321344d1e3d5f253d5f254960323d573b
+576b337e98827090818ea0894b6933576b336b85457e98826b8545547443657c44
+6b8673657c448ea0897c90536b854541671b4960326b8545618345557f226b8545
+41671b3f4e32475832576b33354c31354c313f4e322f3c22272c1f2a34382b3322
+272c1f2b33222f3c22475832576a1f6b85455f7b2a4960324960323f4e1e2b3322
+333522383c234c5026272c1f262e35272c1f272c1f2b33225f7b2a618345657c44
+3c58222b3322262e352f3c223d5f25708f31567f3a5f7b2a5f7b2a547428496032
+6183454b69337197537197536f8f526f8f52567f3a618345708f316b85456b8545
+7d9082657c44496032577376a4bfb5cdd5dedfe1e6d2dee6cdd5decccdccb8c3c6
+c1c4c7b8c3c6afc0abd2dee6d2dee6dfe1e6cdd5ded2dee6dfe1e6d2dee6d4dcd0
+dcd6d6dfe1e6c1c4c7afb9bcbacdd9bacdd995af7a8b9882b8c1afc0cbb8afc0ab
+7e98826b86737c90536f8f52708f317787467c90534973234b69336b85456b8545
+657c44657c44547443475832576a62a0b09fcdd5deafb9bcc0b8a6cccdccd2dee6
+dfe1e6d4dcd0dcd6d6cdd5decccdccc1c2aec1c4c7c0cbb8b8c1af9ea88ea4bb7e
+9ea88e8ea059a1b1708b9080a3b7a4a0b09f8ea0897c90537c90537c90538b9055
+77874668752b7787467b90346b85457d90827c9053a0b09fcfc6b8b0b8a38ea059
+496032667c748b9882778746576b334b69333c582247581f657c443d5f2547581f
+4758325f7b2a7197534b681e5e74296b85455f7b2a819f597d9736697c2b657c44
+76872d4b681e475832344d1e47581f4758325e74295474287f97538ea0598c9853
+76872d767b476b85454c502649601f657c44697c2b697c2b7b903476872d8b9055
+8c98357b9034708f316b852c697c2b8c98538b98828b9882576b336274445f7b2a
+5e7429576b33344d1e304321496032497323697c2b767b4792a88da3b7a48c9853
+49601f576b337c90535f7b2a657c4492a7596f8f526b8545708f316b85458b9882
+9ea08a9ea08a8b90558b90558b90337c905376872d757b2d5e74295e74295e7429
+5e74297f97536b852c6b852c6b852c8c9853778772757b2d77874668752b556024
+697c2b757b2d4e4425383c234e44254c50269ea08a656c2666592c565838565838
+74643e87886d87886d9a91789fa056767b474960323f4e1e2f3c222b3322333522
+342d1f272c1f24261c24261c24261c24261c1e241b24261c24261c272c1f2b3322
+4c5026342d1f24261c272c1f24261c342d1f4c50268b9033757b2d4c50262f3c22
+344d1e4b681e5e74296b852c47581f49601f656c265f7b2a576a1f576a1f60832a
+47581f576a1f6b852c697c2b7b90347d9736697c2b576b336b852c7b90347b9034
+708f317b90346b852c76872d708f3176872d76872d708f31576a1f55602468752b
+656c26383c23344d1e49601f4960325560243f4e322f3c222f3c22304321576a1f
+8c9835697c2b68752b5560244c502654742841671b3f4e1e3f4e1e304321304321
+3a4423333522383c234c50263a44233043212f3c22272c1f2f3c222b33222f3c22
+344d1e3f4e322f3c223f4e32627444576b33342d1f2b33223f4e1e3a44233f4e1e
+657c446b85457c90535474436f8f527c90534960325474434b6933576b33496032
+576b333d5f253d5f253f4e326b85457c90536f8f52657c44567f3a5f7b2a5f7b2a
+6b8545567f3a567f3a4b69335474433d5f256183454b6933354c31354c31304321
+3043215474434b69333d5f253d5f25344d1e4b69333d5f25497323475832576b33
+3d5f254b6933627444576b33354c313f4e323d573b4758323c5822354c314b6933
+567f3a709081709081719753576b337090817c90537197535f7b2a627444719753
+7197536f8f525f7b2a657c44567f3a576b3347583247581f618345657c44697c2b
+4b693347581f576b333d5f25344d1e304321344d1e3f4e322f3c22354c312b3322
+262e353a442347581f4960326183455f7b2a4960322f3c222b3322262e35272c1f
+333642383c232f3c222b33222f3c222f3c22496032657c446b852c60832a49601f
+2f3c222b332230432141671b60832a6f8f5260832a6183456f8f526f8f526b8673
+6f8f52657c447f97537197326b8545708f31719753719732567f3a567f3a4b6933
+5474434b6933567f3a667c74a4bfb5afc0abb8c3c6b0b8a3c5dae4b8c3c68ea089
+a0b09f8b9882afb09ecdd5decccdccb8c3c6b8c3c6c0cbb8cccdccdcd6d6d2dee6
+c0cbb8d4dcd0c0cbb8a4bb7ea0b09fb8c3c6c0cbb86b85456b8673778772b0b8a3
+b0b8a3757c717b90347c90536183455f7b2a657c444b6933618345618345657c44
+3f4e323f4e3239444630432154605f667c747e9882757c71a3b8bcd4dcd0dfe1e6
+d2dee6cccdccd4dcd0b0b8a3b0b8a3b0b86c8b98828b9882afc0aba4bb7e8ea089
+95af7aa1b1708c98537c90539ea88e92a88d92a88d7c90538b90557787468b9055
+7787467787468b9882778746757c717c90538b9882b0b8a3cccdccb0b8a38b9882
+666b3b757c71aea8869d99816274443f4e1e4960325e74297c905368752b3d5f25
+3f4e32576b3356603a3d573b5e74295f7b2a6b85457b9034657c445e7429657c44
+708f31576b335e74292f3c223a442349601f576b33556024697c2b68752b576a1f
+68752b6b852c7787465560243f4e1e576b335e74295e74295f7b2a5f7b2a7b9034
+7f97537b90347b90347d97367f97535f7b2a77874677877256603a475832555824
+4b6933576b3349601f49601f5e74294960326b85457e9882a0b09fb0b8a38b9882
+4960323043214c5026576b334b69337787467d973677874677874656603a3f4e32
+2f3c224c502668752b8c98538b903386874a87872c76872d68752b778746766e2d
+76872d8c98537b903476872d7787468ea059aea8869fa85786874a656c26666033
+574f26383c23333522333522767b47767b4795885c666b3b666033383c23383c23
+3a44236660334c502686874a7c90535e742947581f556024344d1e333522342d1f
+383c23342d1f24261c24261c24261c24261c24261c24261c24261c272c1f2b3322
+2b332224261c24261c24261c24261c2b332256603a666b3b766e2d383c23342d1f
+342d1f3335223f4e1e778746344d1e344d1e3f4e1e4b681e576a1f4b681e5f7b2a
+5e74295e74297d9736697c2b68752b68752b47581f4b681e6b852c708f318ea83e
+8c98358e9f3b76872d8e9f3b5f7b2a6b852c5e7429697c2b6b852c7d97367b9034
+7b90345560243c582241671b47581f3f4e1e3f4e1e3c582249601f3d5f25497323
+708f318c9853697c2b47581f3a44233f4e1e3f4e1e2f3c22383c233a44233f4e32
+2f3c222f3c224c502647583256603a2f3c222b3322272c1f2a34382f3c222b3322
+3c58223d5f25304321333522475832666b3b333522342d1f2f3c222b33222b3322
+576b336f8f52778746576a625f7b2a6f8f52576b334960324960324b69333d5f25
+3f4e32354c313d573b4960325e74296b854560832a576b33354c31618345567f3a
+4960325f7b2a6183453d5f253d573b54742849732341671b354c313043212f3c22
+304321344d1e4b69333c58224b69334b6933657c445474284b6933354c31344d1e
+4b6933475832576b33576b334758322f3c223043213043213043214b6933567f3a
+6b8545657c443d573b4b69336f8f527f97537f97536f8f526f8f526b85458c9853
+7c905360832a567f3a5474435e74294b69334960323f4e1e4b681e576b33778746
+576b33344d1e3c58224b6933576b335474435474282f3c222f3c223a44232b3322
+262e353f4e32576b335e7429547428567f3a3d5f252f3c22272c1f272c1f2b3322
+3a44232f3c222f3c224758325e74296b852c80a03b708f316b8545557f22576b33
+3c58223c58224973235f7b2a719753708f316b8545497323618345719732719753
+6183456f8f52819f595f7b2a4b6933657c447197536f8f526f8f52657c44657c44
+597c756f8f526183455474436b86738ea0896b86739ea88ed4dcd0cdd5deb0b8a3
+8b98827e9882b8c3c6c1d4e2e0dfc6c1c4c7afb9bcafc0abcccdccdfe1e6dcd6d6
+9ea9b4a0b09fa3b7a48ea089778746a3b7a4b8c3c67c90535474433d5f25657c44
+7e98827787467f97536b852c6183455474433d5f25657c446183455e7429547443
+4758323a44232f3c223f4e32576a624b69334b6865637471afc0abd2dee6cdd5de
+c1c2aeafb9bcb8c1afa0b09f7d9082767b478b9882afc0abb8c1afb0b8a39ea88e
+7d9082b0b8a3a1b1707c90536b85458ea0596b85456b8545657c44778746778746
+657c4477874686874a7c90537787467e9882a3b7a4a3b7a4c0cbb8c1c4c78ea089
+4b6933666b3b637471b0b8a387886d666b3b576b335e74295f7b2a697c2b47581f
+54744347583249601f47581f627444657c446b8545576a1f697c2b576b33556024
+60832a68752b697c2b47581f5558243f4e1e4e44253a4423556024475832778746
+7b90348c98537b9034778746304321576b33576a1f4b681e497323576a1f6b8545
+778746697c2b60832a60832a708f3176872d7f97537c905347581f3a4423383c23
+2f3c223043213f4e1e576a1f5474284b681e7e988292a88d95af7a7b9034697c2b
+5560243f4e1e4b681e576a1f56603a576b335e742949601f3a44232b3322272c1f
+2f3c22576b3377874676872d7b903487872c68752b757b2d87872c8c98538c9853
+8b9033767b475e742968752b778746a1b1709fa056a1b1709e985376872d766427
+66592c4436233335223335224e4425666b3b74643e666c5e666b3b666033475832
+3a442347581f3f4e1e666b3b68752b3f4e1e2b33222f3c223f4e1e3a4423333522
+66592c565838342d1f24261c24261c24261c24261c24261c24261c24261c342d1f
+272c1f24261c272c1f24261c24261c272c1f383c23383c233f4e1e3a44232f3c22
+272c1f2b33223f4e1e5560243a442347581f344d1e576a1f76872d6b852c576a1f
+5e7429708f31719732557f22708f316b852c576a1f708f317197327d9736708f31
+8e9f3b7d973676872d697c2b76872d697c2b576a1f697c2b8c98357b903476872d
+7b90347b903454742849732354742855582447581f4b681e4b681e41671b60832a
+6b852c76872d5e7429778746657c44576b332f3c22272c1f3335222f3c22333522
+2b3322344d1e3a44235f61569d99813a4423342d1f272c1f2f3c223c58222f3c22
+3c5822344d1e3a4423333522354c31576b332f3c223335222b3322272c1f2b3322
+4758326b8545547443475832657c44547443576a623a4423576a625474433f4e32
+354c31304321354c313c58224b6933657c447787464960322f3c223d4f564b6933
+4b6933657c446183454960324960323d5f25496032497323354c312a34382f3c22
+4b68654b6933304321344d1e4b69333d5f254b6933618345567f3a344d1e2f3c22
+3a44233043214758324758323f4e322f3c22354c313043214b6933547443576a62
+3d573b3f4e32475832547443657c446f8f527197536b85455f7b2a77874692a759
+819f596b85455474434b69333c5822344d1e5474283d5f25576b334973235e7429
+6183453d5f253f4e1e2f3c223335223a4423344d1e2b33222f3c225f7b2a3c5822
+2f3c224973236b8545708f316b8545496032354c31496032354c31344d1e49601f
+4960324b69333f4e1e576b337c90537d97368c98535e74293c582241671b4b6933
+497323497323618345557f2260832a6b8545708f31557f226f8f526f8f52708f31
+557f226b8545819f596b852c6b85455f7b2a496032576b335474437c90537b9034
+819f596f8f52567f3a3d5f254960326084718ea089c0cbb8c1d4e2d9e6ead4dcd0
+afc0abb0b8a3afb9bccccdccd2dee6cccdccafc0abc1c4c7d2dee6dfe1e6e0e6e8
+c0cbb88ea0898ea08977877270908192a88d8ea089819f595474434b6933344d1e
+657c446274447c90536b854560832a4b681e496032354c314960324b6933576b33
+3043212f3c223944463a44233f4e323f4e323d573b8b9882bacdd9dcd6d6cdd5de
+afb09ea3b7a48b98827787467c90536b86737f9753a0b09f8ea089afc0ab8ea089
+87886da0b09f95af7a8c98537787467c9053697c2b778746697c2b6b8545576b33
+68752b657c4477874668752b6b85458b9882b8c3c6b0b8a3b8c1afafb09e9ea88e
+576b33475832475832afb09e86874a7787466f8f526b854560832a657c44475832
+3a44233f4e1e3f4e1e5e7429576b33576b335e7429576b33618345576a1f4b6933
+5e7429576b33656c264c50264960322f3c222b3322333522576b334758327b9034
+4b681e60832a656c2677874655602447581f3f4e1e556024576a1f496032767b47
+7787465e74295474285f7b2a6b852c5f7b2a7c90538c98357b9034576a1f4b681e
+656c264b681e5474286b852c7b90347d97367d97368ea0598ea0597d97366b852c
+6b852c5560243a44233a44233f4e325474283d5f2547581f5e7429304321342d1f
+3335225560248c985376872d6b852c68752b6b852c697c2b7b90347d97368c9835
+8ea059b1b0697c9053656c267b9034a1b170778746778746697c2b8c9835666b3b
+4e4425443623342d1f383c234e504387886d767b47666b3b4c50264c502675704d
+4758324c50264c50263335223a44232b33222f3c222f3c223a4423767b47666033
+4c50265558244e4425342d1f24261c24261c24261c24261c24261c272c1f342d1f
+342d1f342d1f44362324261c24261c24261c342d1f2b3322272c1f2f3c222b3322
+2f3c2230432141671b576a1f4b681e5e7429576a1f8ea83e8e9f3b76872d60832a
+5e7429697c2b576a1f4b681e4b681e4b681e6b852c7b90348c98356b852c8c9835
+7c9053757b2d6b85456b852c697c2b3f4e1e576a1f576a1f7b90348ea83e76872d
+697c2b8c983576872d5f7b2a76872d7b90348b90337b90346b852c5f7b2a5e7429
+5f7b2a6b852c60832a7b9034697c2b576b335560242f3c22333522272c1f272c1f
+2b33224b681e576b333f4e1e576b334758322f3c22304321344d1e3f4e1e383c23
+2f3c222f3c22304321344d1e354c31656c263f4e1e2f3c22344d1e344d1e304321
+4960326b86734b69333d573b6183456b854554744347583256603a576b33475832
+30444d3d573b576a62576b336b8545576b33657c444758324758323d5f254b6933
+567f3a547443567f3a41671b4b69336183456b867341671b354c312f3c222f3c22
+344d1e4b69333d5f25657c445474284b69333c58225474434b681e4b69333d5f25
+354c313a44233f4e3256603a4960323043215474434b69334b69333f4e1e304321
+304321576a62618345576b33496032547443819f596f8f527787468ea0598ea059
+7b90345f7b2a4b6933344d1e4b69334758324b681e3d5f255474286183456b852c
+6b85454973234b69334960322b3322262e35354c313f4e32304321618345497323
+576b3360832a60832a60832a5f7b2a49603247581f3043213f4e1e3c5822576b33
+3f4e1e547443697c2b576a1f76872d7b9034708f314b681e4758324b69333d5f25
+3d5f254973236f8f526b854560832a497323657c446183456b852c60832a567f3a
+41671b5474287787465f7b2a6b85456b852c344d1e4960656084716183455f7b2a
+6183457c9053576b33354c31354c31547443a3b7a4c0cbb8c1c4c7c1c4c7c1c4c7
+a0b09f8b98829ea9b4c1c4c7b8c1afbacdd9c1c4c7cdd5ded4dcd0dfe1e6dfe1e6
+cdd5de9ea88e7d90827f975392a88db8c1af757c717c90535474435f7b2a547428
+3d5f25394446867c4c6b85456183455e74294b6933627444657c444b6933475832
+3c58222f3c222f3c222f3c22354c31496032667c74aeb0bdb8c3c6afb9bcaba9a6
+a0b09fa3b7a47f97536374716183456f8f526f8f527c9053757c7195af7a92a88d
+92a75992a7597f97537c90536f8f527787466b85456b85457c90537c9053576b33
+5e7429576b337787466b8545657c448ea089a3b7a4a0b09f9ea9b49ea88eb0b8a3
+757c71475832354c31afb09e8b9055767b476b85457f975360832a576b335f7b2a
+3f4e1e3335223335222f3c224c5026767b4747581f576b335e742949601f4b6933
+6b85454b69336274443f4e1e4c50264c50262b33223335224c502656603a618345
+4b681e54742847581f5560243f4e1e576b334758323f4e1e4c50263f4e1e475832
+666b3b3f4e1e49601f576a1f4b681e5e74297c90536b852c76872d76872d708f31
+6b852c7b9034708f31697c2b7b90347b90346b852c6b852c697c2b7b903476872d
+5f7b2a344d1e2f3c222b3322383c23304321576a1f60832a697c2b3f4e1e272c1f
+2b332249601f86874a68752b5e74297b90346b852c76872d7b903476872d76872d
+7d97368e9f3b92a7597d97367b90347b90345560243f4e1e576b337787464e4425
+4e44254e3d22342d1f4e3d2287886d9e98539ea08a86874a666b3b4c5026383c23
+383c233a44234e4425342d1f383c232f3c223a44233043212b3322576b339d9981
+86874a4e4425383c2324261c24261c24261c342d1f24261c24261c24261c24261c
+272c1f383c23443623272c1f24261c272c1f272c1f2b3322333522344d1e304321
+3f4e1e4b681e708f3160832a49601f576a1f4b681e6b852c8e9f3b757b2d68752b
+76872d68752b556024576a1f576a1f41671b6b852c697c2b7b90345f7b2a708f31
+576a1f49601f656c266b852c6b852c55602476872d55602454742860832a6b852c
+4b681e49601f697c2b7b90347d9736757b2d68752b767b47576b3349601f47581f
+68752b77874668752b697c2b47581f5f7b2a4b6933354c312f3c222f3c222b3322
+344d1e5e7429576a1f3f4e1e657c448ea0593c5822496032304321333522333522
+2f3c223043212b3322344d1e3d5f25767b47666b3b3043213c582247581f304321
+4b6933567f3a4b69333f4e32576b33657c445f7b2a627444496032496032496032
+3f4e1e496032778746657c44657c44627444697c2b56603a547428618345618345
+6f8f52567f3a497323547443497323576b33567f3a4b6933344d1e2e3c442a3438
+333522496065576b3341671b4b69333d5f253d5f253d5f254b69334b6933344d1e
+3f4e322f3c22383c23475832657c445474286274443d5f253f4e1e30444d304321
+344d1e41671b4b69334b69334b69336b8545819f596f8f525f7b2a7f975392a759
+7f97536b852c576b33497323576b333c5822576b3349601f657c446f8f526b852c
+6b8545576b335f7b2a3043213d573b304321304321576b3360832a5474285f7b2a
+41671b49601f5e74296183456f8f52496032354c313043212f3c222f3c222f3c22
+2b33223a4423354c31354c313f4e32547428708f31567f3a5f7b2a3d573b304321
+3c58224b693341671b3d5f253d5f2560832a567f3a5f7b2a618345819f597b9034
+567f3a4b6933547428576a1f6b8545576b33657c44547428618345567f3a657c44
+4b6933576b33547443354c31354c3170908192a88d92a8b6afc0ab92a88d8ea089
+92a88d94afa19ea88ebacdd9b0b8a3b8c1afb0b8a3afb9bcb8c1afb8c3c6cdd5de
+d4dcd0a3b7a47d90827c90538ea089a3b7a47e98823d573b3d5f255f7b2a567f3a
+657c44657c447c90537c90536b85454b69336b8673597c755474434758323c5822
+4960322f3c22262e353f4e326274447d90829fb0bba3b7a49ea88e8ea0897d9082
+7f97537787727c90536b86736f8f527c90537d908292a88d7c90537d90827c9053
+8ea0598c98536f8f527c9053778746547443576b337787468c98537787465e7429
+62744449732377874676872d6b85458b98828ea0597d90828ea0598b98828b9882
+657c444758323a44238b98828b90805e74296b8545697c2b6b85455e7429657c44
+354c31272c1f342d1f2f3c222f3c223f4e1e344d1e576b334b693349601f6b852c
+7787465560244b681e3f4e1e3f4e1e3a44232b3322333522383c233f4e1e49601f
+5560244b6933576b33383c233a442347581f3a44233a44233c58223f4e32778746
+766e2d383c233f4e1e4973235e7429547443697c2b708f31557f22697c2b708f31
+7b903460832a697c2b576a1f5e74296b852c6b852c576a1f5f7b2a6b852c7b9034
+5f7b2a47581f3043213335222b3322576b3377874668752b55602468752b47581f
+41671b68752b7b9034697c2b6b852c656c2668752b80a03b7b903476872d7b9034
+7d97366b852c7b9034757b2d49601f5e74293f4e1e33352255602474643e4e3d22
+74643e74643e272c1f383c23666033766e2d857d67767b47666033666b3b383c23
+3335222b3322333522272c1f2b3322383c233a44233043213a44233335223f4e1e
+4e44253f4e1e574f264436231c1e1924261c24261c24261c24261c24261c24261c
+1c1e19342d1f333522342d1f333522333522272c1f272c1f2b33222b33222b3322
+304321344d1e4b681e49601f30432149601f5f7b2a76872d6b852c697c2b697c2b
+68752b556024556024576a1f4b681e49601f5e742947581f576a1f5e7429656c26
+49601f3d5f255e742976872d7d9736708f3192a7595e7429697c2b5f7b2a708f31
+3d5f2549601f7b90346b852c7b903476872d77874676872d68752b5e74296b852c
+68752b76872d76872d49601f576b333f4e1e6b85454b681e344d1e3a44233f4e1e
+49601f344d1e4b69333f4e1e576b337787466660333f4e1e2b33222b33222b3322
+304321354c31344d1e3043213043214b6933556024344d1e41671b3c58222f3c22
+576b335474435474434960326274446b8545657c44576b335474434b6933547443
+4b6933576b33778746627444657c44576b334960325560245e74296b8545708f31
+567f3a6b8545618345567f3a3d5f25354c31547443576b33344d1e2f3c222f3c22
+2f3c22344d1e567f3a4960324658644960323d5f25475832657c444b6933354c31
+3043213043213336422a34384b6933576b3349601f344d1e304321354c314b6933
+5474434b69334b69335474434b6933657c44708f31708f3154742860832a7d9736
+719753708f316183456b852c708f314973235f7b2a547428576b33708f316b8545
+4b693349601f4b681e344d1e2f3c22262e35344d1e4758325e74295474436b852c
+6183453c58224b681e54742849601f2f3c223335223335222b33222b3322304321
+2b3322272c1f3335222b33223a44233043216b8545576b33344d1e496032496032
+3c58226b85453d5f254b69333d5f255474437f97533c582249601f496032576b33
+576b335474284b69333d5f2547581f3f4e1e4b69336f8f525f7b2a3d5f256f8f52
+6183453d573b3d573b3c58223d5f25597c758b98828ea089a0b09f7f9753657c44
+6b86736b86737e98828ea0899ea88e95af7aa0b09f8ea0899ea88e8b9080a0b09f
+cccdcc95af7a8ea0596f8f52667c74afc0abb0b8a34960323d5f25576b33496032
+657c447d97367b9034778746576b334b6933576b33496032567f3a547443475832
+354c312f3c22304321304321657c446374716374717090816b85457787728ea089
+6f8f527787466f8f526b85456183453d5f25778772a4bb7e819f596b85456b8545
+7f97537f97538ea0596f8f52657c4454742841671b657c446b8545697c2b5e7429
+5f7b2a5474284b6933697c2b6b85457787466b8545576b337c9053819f598ea059
+6374717787464e50439ea08a8ea0593f4e1e3c58224b6933697c2b576b334b681e
+47581f2b3322272c1f3a4423272c1f272c1f3a442368752b556024496032697c2b
+6274443a44232f3c223a44233f4e1e3f4e1e47581f697c2b576a1f5560245e7429
+49601f344d1e576a1f383c232b33223a4423383c23383c233f4e1e3f4e1e767b47
+767b47333522344d1e576a1f47581f576b3376872d60832a5e74296b852c5e7429
+5e74295e7429576a1f5e7429576a1f5e74295f7b2a697c2b7d97366b852c576a1f
+5e7429557f22576a1f2f3c222f3c22344d1e47581f4b681e5f7b2a656c26697c2b
+6b852c76872d76872d68752b708f313c582249601f6b852c7b90348c98357b9034
+8c983576872d7b9034576a1f3a442347581f3a44232f3c2256603a74643e574f26
+74643e4e3d22342d1f342d1f4e5043666033666033666b3b4e50435658383a4423
+2b3322333522333522272c1f2b33222b3322383c23344d1e304321342d1f496032
+383c233a44233f4e323a44232f3c223a44232b3322342d1f1c1e1924261c24261c
+24261c24261c342d1f333522333522333522383c23272c1f24261c2b3322304321
+3f4e1e2f3c22333522344d1e4b681e708f31708f318b903376872d697c2b47581f
+4c502655582447581f4b681e576a1f5f7b2a47581f47581f54742876872d47581f
+3f4e1e41671b4b681e656c2649601f49601f697c2b60832a80a03b697c2b5e7429
+697c2b8c98358b90338b905576872d7f975376872d697c2b6b852c767b474b681e
+68752b697c2b708f31697c2b576a1f49603262744447581f3d5f253a44233d5f25
+41671b5474283d5f25304321304321576b335f61562b33222b33222f3c22333522
+2b33223335222f3c223f4e1e3043213a4423354c31344d1e49601f49601f304321
+576b334b69337c90537c90537f97537f9753576b335e74296f8f52618345496032
+3f4e32657c446274443c5822576b334960323f4e324b69337197536f8f52618345
+41671b4b69337197536f8f523c58224b6933354c313c58224973233d5f25344d1e
+3d573b4b69336b852c4973233043213c5822354c313c58225474435f7b2a304321
+3043213f4e322f3c2256603a697c2b657c44576b334758323f4e324758325f7b2a
+576b333d5f254b69335474435474436f8f526b85456f8f525f7b2a5f7b2a6f8f52
+7197326f8f525f7b2a60832a5474284b69335f7b2a618345576b33657c445f7b2a
+4b681e6274445474433f4e1e3043213043214758324b6933576b334b69335e7429
+657c44354c315474285474284960324758322b3322373e43262e35333522394446
+3335223335223f4e32304321354c312f3c224758324960323a4423304321475832
+47581f567f3a3f4e1e547443344d1e4973237f97533d5f253f4e1e4b69334b681e
+4b69335f7b2a41671b4b69333c58222b3322304321547443618345547443576b33
+4973233d573b3043213d573b41671b6b867392a88d8ea08971975396b7ab92a88d
+5474437e9882a3b7a492a88d95af7a95af7a8b988292a75992a88d92a7598b9882
+81a089757c716f8f525474435f7b2a7e9882a0b09f7d9082657c443f4e32304321
+576b33547443657c446b852c567f3a576b333d5f25496032657c444b69332f3c22
+2b33223043212f3c223f4e326274444b6933547443657c44657c446f8f527d9082
+6183456f8f526f8f52547428547428576b334960326b86737c9053557f226b852c
+708f318c98537c9053657c445f7b2a6274444b681e5f7b2a7c9053778746547443
+5e74295e74294b69336b8545657c44627444576a1f576b337c90537787466b8545
+56603a8ea059767b4787886dada17f4960323f4e323f4e1e4b6933576a1f576a1f
+47581f3043212f3c22344d1e2b3322272c1f2b332249603247581f657c445e7429
+47581f3043212f3c222f3c223f4e1e576a1f7f975376872d576a1f5e7429697c2b
+4758323a4423576a1f3f4e1e383c233a44232f3c223a44233a442330432156603a
+867c4c383c233a44233f4e1e2f3c225f7b2a6b852c5e742960832a576a1f697c2b
+6b852c6b852c576a1f5f7b2a6b852c6b852c5f7b2a5f7b2a76872d656c263a4423
+49601f5f7b2a5f7b2a3a442333352230432147581f6b852c76872d576a1f5e7429
+7d973676872d576a1f5e742960832a5e74294b681e5f7b2a7b90348e9f3b7b9034
+8c983576872d8b90336b852c49601f2f3c222b33222f3c22767b4774643e66592c
+74643e443623342d1f272c1f342d1f373e43383c23555824666b3b4c50263a4423
+383c232f3c223a44233a4423383c23272c1f2b3322344d1e4c50262b33223f4e1e
+47581f383c233a44233f4e1e47581f576a1f76872d656c264e4425342d1f342d1f
+24261c24261c342d1f342d1f342d1f342d1f383c233a4423383c233a44233f4e1e
+3f4e1e3f4e1e2f3c222f3c225474286b852c8c983576872d5e7429576a1f3f4e1e
+574f2655602447581f68752b47581f41671b5f7b2a76872d697c2b4b681e344d1e
+3c58223f4e1e3f4e1e4b681e3043212b33223f4e1e6b852c8ea83e76872d76872d
+8b90338e9f3b8c98538c98356b852c68752b6b852c5f7b2a68752b697c2b555824
+4b6933576a1f697c2b697c2b576b3349603247581f3f4e1e47581f5f7b2a557f22
+5474285f7b2a41671b49601f3d5f255474438c9853344d1e3f4e1e304321304321
+2b33222f3c22344d1e3f4e322f3c222f3c223a4423304321344d1e2f3c223f4e1e
+8c98537787467c9053657c446f8f527f97535474435f7b2a618345547443496032
+3f4e326b85456f8f524b6933657c446b85455474286b85457c90536b852c6b8545
+5474284973235f7b2a6183454b69334b69333d5f25344d593d573b3d5f253d573b
+3d573b497323547443567f3a4960325474434960323043213f4e1e496032304321
+354c31354c313a4423576b336274443f4e322f3c223043213043213d5f253d5f25
+3f4e32496032597c756b85453c58223f4e326b85457197535474286f8f526b8545
+7b90346b8545547443557f226b85454b69333f4e32657c446b852c5e7429627444
+778746496032344d1e49601f576b33657c446b852c4b69335e742968752b576a1f
+4960324b69334b69334758323a44232f3c22272c1f333522333522383c232b3322
+383c235f6156666b3b5558243043212f3c222f3c223d5f253d5f25344d1e496032
+5f7b2a5f7b2a3c58223c58224b6933557f22657c444b69336274444b6933576b33
+6b85455e74294b69333d5f253c5822344d1e3d573b4973236b85456f8f526f8f52
+547443354c312e3c44354c314b6865597c75576a6260832a6b85458ea08992a88d
+8c98537e98826f8f527787467e98827f97537c9053819f597c905392a88d81a089
+7f97534960323f4e32576b336183456b85459ea88eafc0ab7e98823c5822576b33
+4b69333f4e326b8545778746657c44576b33344d1e354c31576b333f4e32354c31
+354c312f3c223d5f25567f3a657c44496032496032657c446b86738ea0897f9753
+7197537c90535f7b2a4b69335474433c58225474285e7429657c445474286b8545
+8c98537c90537787466b8545576b33576b334b69335e742960832a657c443f4e1e
+576b3347581f475832657c44576a1f56603a6274445e7429657c445e74295f7b2a
+47583275704daea8868b9882c0b1974b681e47581f475832576b334b681e5e7429
+5f7b2a576b33576b3355602447581f304321344d1e344d1e47581f708f314b6933
+2f3c2230432147581f4b6933778746778746697c2b767b47656c267787464c5026
+2f3c223f4e3256603a6660333335222b33223043212f3c224c50263f4e1e556024
+767b473a4423344d1e344d1e30432154742854742876872d6b852c576a1f6b852c
+708f317b90345474286b852c6b852c6b852c76872d6b852c697c2b5560243f4e1e
+5560245f7b2a60832a47581f2f3c22344d1e3c582249601f3f4e1e344d1e556024
+5e7429557f226b852c708f317d9736708f3176872d7b903480a03b7d97365f7b2a
+5e7429757b2d5e74295e74294b681e3a44234e4425304321697c2b574f26766427
+604f2a33352224261c342d1f342d1f3335224e4425565838666b3b4e4425383c23
+383c233335223f4e1e49601f383c233335222b332241671b697c2b3a44235e7429
+49601f4436234c5026576b33556024697c2b76872d76872d8c985376872d68752b
+333522342d1f342d1f342d1f383c233335224e3d223043213a4423576a1f4b681e
+3c5822576a1f4b681e3c5822576a1f6b852c5f7b2a6b852c697c2b5e7429556024
+697c2b7b90345e742954742847581f49601f4b681e6b852c3f4e1e49601f3c5822
+49732347581f344d1e5f7b2a5f7b2a5f7b2a68752b7b903480a03b76872d708f31
+7b90348c98357c90537d973676872d697c2b76872d5f7b2a5e7429576a1f4b681e
+697c2b5e74295f7b2a68752b576a1f4c502647581f41671b497323576a1f6b852c
+55602447581f49601f557f2241671b576b3362744454742841671b3f4e323f4e1e
+2f3c223d5f254b681e3043212b33223335223043213f4e1e4758322f3c22333522
+92a759778746576b335474437f9753778746657c44657c445474434b6933496032
+657c447c90537197536b85455f7b2a71975361834560832a6f8f5260832a60832a
+6f8f525f7b2a567f3a3d573b496032547443304321304321304321354c312e3c44
+344d1e61834549732354744341671b4973235474434b69333c58223d573b304321
+3a4423373e43373e434c50263f4e1e344d1e344d1e4b69334b69335474433d5f25
+3d5f25576b33657c44657c44344d1e344d1e7787467d97365f7b2a4b69335f7b2a
+819f596b8545547428547428618345344d1e3c58225f7b2a5f7b2a49601f576b33
+6b85455e7429576b336b85453f4e1e547443576b334960324c5026657c444c5026
+2f3c223a44232f3c22272c1f272c1f272c1f24261c24261c342d1f2f3c224e5043
+56603a627444767b4749601f5e7429557f225f7b2a6b854560832a547428567f3a
+7f97535f7b2a41671b3c58224b69335f7b2a3c58223c58226b854576872d547428
+7787467c90535f7b2a497323567f3a708f31719753557f22567f3a6b8545657c44
+3d5f253043212f3c222b3322354c314960324b69336f8f527197536183456b8545
+8c98537e9882567f3a61834592a88d5f7b2a6f8f526f8f5292a88d7e98828ea089
+b8c3c69ea88e667c743d573b5474437090818b98828ea0596b86733c58224b6933
+3f4e1e475832547428567f3a41671b4b693349603230432156603a3f4e1e576b33
+4b693341671b4b693354744349732349603254744392a88d7d908292a88d7c9053
+576b33547428618345567f3a4b69334b681e4b681e4960324b681e496032627444
+7c90537b90347b9034657c44576b33576b33576b335560246274445e7429576b33
+49601f47583247581f576b333c58223f4e1e576b33576b337787467787467e9882
+576b334b69339fa857aea886b1b0694758323f4e1e344d1e3d5f2549601f3c5822
+55602449601f819f5992a7597d97366b852c576a1f4b681e6b854576872d47581f
+344d1e5e74295e74295f7b2a5f7b2a6b85454b681e47583249601f6b85453c5822
+344d1e344d1e383c2347581f2f3c222f3c222f3c223335223f4e322f3c22475832
+6b85454c50262f3c222f3c223043213c5822344d1e4b681e557f2276872d7b9034
+76872d7b90346b852c697c2b60832a708f3176872d5f7b2a757b2d3a442347581f
+697c2b6b852c6b852c576a1f2f3c223f4e1e55602447581f344d1e2f3c222b3322
+2b33223f4e1e5e742976872d76872d6b852c708f317d97367b90347d9736576a1f
+344d1e47581f656c2654742847581f5560243f4e1e383c236660336660334e4425
+443623342d1f342d1f262e35333522333522383c23383c233f4e324c5026383c23
+3a44233a4423656c2655602449601f3043213a4423576b335f7b2a3a442349601f
+5558243f4e1e766e2d9e985386874a8b903386874a8c98538c98538b90338c9835
+697c2b656c264c50263a44234e44253335222b3322383c232f3c22576a1f5e7429
+3f4e1e497323697c2b576a1f576a1f60832a5e74296b852c76872d697c2b6b852c
+7b90346b852c49601f49601f5f7b2a5e7429656c2649601f3f4e1e30432141671b
+3c5822576a1f6b852c6b852c6b852c697c2b76872d8c9835708f316b852c7b9034
+92a759697c2b6b852c7f97537b90347787465f7b2a5e742949601f5e742949601f
+49601f547428697c2b60832a60832a547428576a1f76872d697c2b576a1f555824
+344d1e3c582241671b4b681e4c50262f3c223f4e32475832344d1e3d5f253d5f25
+3d5f253d5f253d5f253a44232f3c222b332256603a56603a383c232f3c222f3c22
+819f59657c44576b33576b338ea05992a759819f59657c44576b33576b33354c31
+3d5f255474437f97534b69334b69336b854560832a567f3a618345567f3a618345
+60832a6b85454b69333d5f25547443567f3a3d573b3d5f25373e432f3c222b3322
+3043216b85454b69334b693360832a4b69334b681e4b69335474285474433d573b
+2f3c222b33222f3c223944462b33223d5f25576b334758323a44233f4e32496032
+6183455474433f4e324b69335474435f7b2a6f8f5260832a6b85455f7b2a6b8545
+7f97536b85456183454b681e657c445560244b6933547428576b334b69333f4e1e
+6b854568752b47581f4758322f3c22576b3349603256603a3a4423354c313a4423
+2b33223043213c5822342d1f272c1f272c1f272c1f272c1f272c1f3335224e5043
+3a44233f4e32657c446b852c60832a5e74295f7b2a60832a547428576b3349601f
+657c446b85456f8f524b681e6f8f5260832a3c5822344d1e3c58224973237b9034
+7f97535e74295f7b2a61834561834580a03b6b8545557f223d5f253d5f25354c31
+3d5f254b68653043212a34382b3322354c314b6933597c75618345567f3a618345
+7c9053657c444b69336084717197536f8f527f97536b85457197536f8f524b6933
+6b86737c9053576b33576b337e988295af7a6b8545657c445f7b2a576b335f7b2a
+4b6933576b3360832a7787464b69333f4e323f4e32304321344d1e304321496032
+4960324960324960324960323c58223f4e326f8f527c9053657c44618345657c44
+4758323f4e326274446b85454b693354742854742849601f4b681e4b681e627444
+3f4e1e56603a5f7b2a6f8f525f7b2a657c444b69333f4e1e47583249601f657c44
+3c58223c58223f4e1e576b334b6933475832576b33576b336f8f526b852c627444
+5e74294b6933778746c0b197c0b1974758323a44233f4e1e627444576b3349601f
+3a44233043214b681e7787467c90537d97367d97367f97538c98537b90344b681e
+576b33547428475832697c2b576b336b8545576b333f4e1e496032576b3347581f
+47581f344d1e2f3c223f4e1e383c232b33222f3c22272c1f3043212f3c2247581f
+767b475658382f3c2230432130432147581f4b681e5e742976872d708f31708f31
+7d97366b852c708f3176872d6b852c708f316b852c60832a76872d47581f344d1e
+576a1f49601f697c2b576a1f383c2349601f576a1f5558243f4e1e3a4423272c1f
+272c1f30432149601f5e74293f4e1e5e7429576a1f76872d6b852c697c2b5e7429
+4b681e344d1e4c502668752b5e74294c50262f3c222b3322333522383c23333522
+443623342d1f342d1f24261c2b33223a4423555824333522383c233a4423333522
+3335224e442556603a6b852c5e74293f4e1e344d1e697c2b697c2b576a1f6b852c
+76872d76872d7b90347b90348b903380a03b7b90348b90338b90336b852c6b852c
+a1af4e9fa8578b90558b90558b90557664273a4423383c233a442368752b576a1f
+5f7b2a6b852c6b852c68752b576a1f60832a576a1f3c5822697c2b6b852c708f31
+5e74294b681e344d1e4b681e708f316b852c4b681e576a1f3f4e1e3f4e1e3c5822
+3f4e1e5474287b9034576a1f697c2b76872d7b90348ea0597f97537b90345e7429
+5474285f7b2a557f22697c2b697c2b6b852c6b852c76872d656c2649601f49601f
+5f7b2a697c2b55602449601f697c2b6b852c7b90344b6933556024708f31576a1f
+344d1e3043213d5f254b681e4b681e3f4e1e3335223a44233a4423304321344d1e
+344d1e4758323a4423383c232f3c222f3c223a44232f3c22383c233a44232b3322
+7e9882627444354c316274448c98538ea0598c98534b69333c5822344d59354c31
+354c313f4e324b6865354c31304321567f3a6b8545547428567f3a3c58223d5f25
+41671b567f3a49601f475832708f316b85453d573b3043212f3c22272c1f2a3438
+2f3c2261834560832a4b69333f4e324960324960323d5f25576b33576b333d5f25
+496032666b3b627444475832475832657c443d5f252f3c222a34382f3c223c5822
+6374713f4e322f3c223d573b6b8545708f3192a7597f975392a75992a759819f59
+7d97366b852c576b334960323f4e1e3a44234b69334960323c58224960323c5822
+656c266b854547581f3f4e1e3043212f3c223043213c58222f3c22576b33354c31
+2f3c224c5026576b333f4e3224261c272c1f342d1f24261c24261c24261c272c1f
+272c1f3a44235e74293f4e1e47581f344d1e3f4e1e6b852c76872d4b681e354c31
+5e7429697c2b656c2649601f7c90536183454b6933344d1e576b336b8545778746
+5f7b2a5f7b2a60832a708f31576b3349603247583241671b41671b3043213d573b
+41671b41671b2f3c222f3c222b3322344d594b69334b69334973235f7b2a6b8545
+5474436f8f524b69335474436183456b8673819f596b85456183456f8f52567f3a
+3c58224b6933657c445e7429627444547443576b336f8f525f7b2a41671b5f7b2a
+49601f5f7b2a618345657c443d5f25304321354c3147581f5474434b69333d573b
+496032354c31304321354c313c5822354c314960325474435474434960323d5f25
+344d1e344d1e496032547428576a1f41671b496032344d1e4758323f4e1e496032
+56603a4758327787727c9053657c445f7b2a47581f3a44233f4e1e5e7429576b33
+3c58224758323f4e1e4758326274445e74296274445e7429767b475f7b2a4b681e
+657c44475832576b339a9178c0b8a6666b3b3043214c5026697c2b76872d557f22
+47581f3f4e1e49601f49601f7b9034819f598c983576872d6b852c757b2d697c2b
+76872d576b333043214758325558243f4e1e3f4e1e2f3c223a44233f4e1e3f4e1e
+47581f3335222b3322383c233f4e1e3043212f3c223a442347581f55602447581f
+86874a4c50262f3c22344d1e344d1e2f3c224c502655602449601f656c26708f31
+5f7b2a4b681e49601f697c2b697c2b7b9034697c2b68752b76872d76872d68752b
+5560243f4e1e60832a697c2b68752b697c2b697c2b49601f3043212f3c222b3322
+383c23272c1f3a4423383c233a44233f4e1e3f4e1e6b852c5e7429576a1f5e7429
+656c263f4e1e383c23383c234436233335222f3c22555824576b33565838383c23
+443623342d1f342d1f24261c3a4423697c2b4c5026342d1f342d1f333522333522
+342d1f2b33224c502677874649601f3043215e74297197327b90348ea0595e7429
+5f7b2a7787465f7b2a576a1f5f7b2a76872d6b852c8c985376872d6b852c7b9034
+95af7a8b9033697c2b9fa0569fa8578e9f3ba0a03a76872d6b852c708f3160832a
+6b852c6b852c557f2260832a60832a76872d576a1f49601f47581f576a1f5e7429
+47581f3f4e1e3f4e1e49601f576a1f47581f576a1f76872d49601f576a1f6b852c
+6b852c697c2b7b90347b90348c9853aeb84e92a7598c98356b852c5e74297c9053
+4b681e5f7b2a547428697c2b576a1f576a1f5e74294b681e576a1f76872d697c2b
+576b333a4423383c233f4e325f7b2a76872d697c2b656c2647581f3f4e1e304321
+2f3c223335223a4423497323576b33344d1e2b33223a44233a4423304321304321
+2f3c222f3c222b33222f3c22272c1f3a4423383c232b33222b33223a4423272c1f
+5474434758323043216b854592a7597f97536b8545475832354c31304321354c31
+30444d3043213043213043214b69334b69336f8f526183454973234b6933657c44
+5474286b85457c9053567f3a697c2b6183453c5822354c313d573b2f3c222a3438
+3043215474434b6933344d1e3043213d573b3f4e323043213043213d5f25496032
+4b69336b85457c9053697c2b5f7b2a5f7b2a3f4e32354c31344d1e3f4e323d573b
+344d1e2f3c222e3c443d5f256b85455f7b2a6183456b85457c905380a03b92a759
+819f597b9034547428576b33354c312b33223d5f253d5f253043213c58225e7429
+68752b6b8545576a1f657c444758322b33222f3c224b69334c50263f4e322f3c22
+2b33223a44233335222b332224261c24261c24261c342d1f24261c24261c262e35
+383c234758324960322f3c222f3c224b6933344d1e4b693347581f49601f4b6933
+6b8545576b333c58226b85457d97364b681e6b85455f7b2a5e742954742849601f
+6b852c4973235e742949601f3d5f255f7b2a496032547443344d1e354c313d5f25
+3d573b3d573b3043212a34383043213d573b354c31344d1e4b6933567f3a4b6933
+4b69335474433f4e32657c445474286b85455474285e74295474436b85454b6933
+304321344d1e56603a30432147581f4960323d5f254973236b8545576b333c5822
+4b69336b85455474285e7429576b333c58223043213f4e1e5474284b6933547443
+47581f304321344d1e3d5f254b69333c58223f4e323f4e1e496032354c313a4423
+4b69334b69333d5f256f8f52697c2b576b33344d1e304321344d1e4758323f4e1e
+5f7b2a7c9053667c747f97536f8f525474434b69333c58224758324b69335e7429
+49601f475832344d1e3a4423496032657c44656c26576b337b9034657c44547428
+49601f47581f576b33767b47cfc6b87787464c50266b85457f975376872d7d9736
+5f7b2a54742860832a5e74297b90347d97368c98358c9853708f318b90337b9034
+7b903449601f344d1e3335223043213a44232f3c22333522344d1e3c5822344d1e
+3f4e1e2b3322272c1f2f3c224c50263f4e1e3f4e1e656c266b852c49601f627444
+8c9853767b47344d1e47581f3f4e1e2f3c222f3c222f3c222f3c223a442349601f
+3a4423383c232f3c222f3c22576a1f697c2b49601f47581f8b903376872d757b2d
+383c233f4e1e76872d76872d76872d6b852c76872d68752b3a44233043212f3c22
+47581f272c1f272c1f2b33224b681e3a44232b33225560245f7b2a576a1f5e7429
+576a1f555824333522342d1f272c1f3a4423656c26778746767b47666b3b66592c
+4e3d224e3d22443623383c23627444697c2b3f4e1e3a442366603356603a333522
+342d1f3a4423556024656c26344d1e47581f76872d7b903476872d8b90337b9034
+697c2b4b681e5f7b2a576a1f6b852c5f7b2a5e742976872d8b90338c98536b852c
+576b337b90347d97367b90348b90338c983592a7598c9835697c2b697c2b697c2b
+76872d697c2b5f7b2a6b852c6b852c76872d697c2b47581f3c58223c58223f4e1e
+47581f3f4e1e47581f344d1e3c58223f4e1e76872d7b903476872d697c2b76872d
+8b903376872d8b90338e9f3b8b903376872d8e9f3b697c2b708f316b852c576a1f
+49601f576a1f3d5f25576b3349601f697c2b576a1f576a1f576a1f54742876872d
+576a1f3a4423383c233a44235e7429576a1f5e74293f4e322f3c223f4e1e2b3322
+2f3c222f3c222f3c22344d1e3c58223c58223043212f3c225658383f4e1e3f4e1e
+304321304321272c1f2b33222f3c222f3c22333522383c23333522383c233a4423
+3d573b3f4e32354c31657c448c985392a7597c90534960323d573b304321354c31
+304321354c313043213f4e32567f3a708f31708f31657c44557f22567f3a4b6933
+5474286f8f526f8f526b85457c90536f8f525f7b2a5474433f4e32262e35333522
+2a34383335222f3c22373e434960323f4e1e3d573b3f4e323d573b4b6933496032
+3c58224960324b69335560243f4e323a4423344d1e3c58224b69334b69333c5822
+354c314b693349732361834580a03b6f8f525f7b2a77874692a7597c90535f7b2a
+7f97536b85454960323c58223f4e1e2a34382f3c223f4e323043213a44234b6933
+3f4e1e47581f62744447581f3c58224758323043212f3c223335222b332224261c
+1e241b342d1f262e3524261c272c1f24261c1c1e1924261c24261c272c1f24261c
+3335224c50264b6933576a1f47581f3a44233f4e322f3c223a4423576b3376872d
+5e74293d5f25344d1e5e74298ea05949732360832a6b85457b90346b852c60832a
+5e7429657c444b681e4960325474286b8545557f224973234b6933344d1e2f3c22
+354c312f3c223043212f3c22354c31354c31354c313d5f253d573b4b6933547428
+4b69333c5822354c31475832657c44497323547443567f3a5f7b2a5f7b2a49601f
+354c312f3c223f4e1e3f4e1e49601f5474284b681e576b336b852c4b693347581f
+4b681e547428778746567f3a557f225474283c5822354c313043213043214b6933
+657c445560243f4e323c58224b6933354c31344d1e354c313a44233a44233f4e32
+3d573b4b69335f7b2a4b693349603249732354742849601f4b681e49601f576b33
+576b336274446183456b86737c9053497323557f224960324b693349601f657c44
+47581f3f4e1e3f4e1e3f4e1e47581f6b85457c90535e74296b8545576b33697c2b
+4b69333f4e1e576b33767b47cfc6b868752b576b3368752b6b85457b90347d9736
+7b90347b903480a03b7c90538ea0598c98357d973676872d7b90348c98538b9033
+77874647581f3a44233f4e1e47581f3c58223a44232f3c223f4e1e3f4e1e49601f
+49601f2f3c22272c1f3043213f4e1e47581f697c2b76872d68752b47581f496032
+8b905595885c3f4e1e5e742949601f49601f2b33222b33222f3c223f4e1e3a4423
+383c232b3322272c1f272c1f576a1f76872d556024576a1f76872d76872d556024
+272c1f3a442368752b6b852c757b2d757b2d757b2d6660333a44232f3c2247581f
+697c2b3335223335222f3c225e74293f4e1e2b33223f4e1e5e74295e742966592c
+5558244c50262f3c224c5026576a1f7c9053a4bb7e9fa8579fa056666033666b3b
+5560245558244c50266b852c5474286274445560246660335658384e4425333522
+342d1f2f3c2247581f576a1f55602476872d697c2b4c5026475832576a1f76872d
+6b852c697c2b708f31557f226b852c5f7b2a697c2b7b903487872c8b9033757b2d
+3f4e1e576a1f5e74295f7b2a5f7b2a6b852c6b852c6b852c6b852c6b852c697c2b
+697c2b557f2276872d8e9f3b8b90336b852c7b903476872d576a1f344d1e304321
+49601f5e742949601f47581f60832a708f317b90347b90347d97367b9034757b2d
+757b2d697c2b757b2d87872c8e9f3b8c9835697c2b576b336b852c54742847581f
+49601f4b681e49601f4b681e4b681e4b681e656c265e74296b852c3d5f253f4e1e
+4b681e697c2b3f4e1e49601f576b333c5822344d1e2f3c222f3c223f4e1e4c5026
+496032344d1e344d1e3f4e1e3f4e323f4e1e3f4e1e3f4e1e7d9082666b3b2f3c22
+2f3c22383c232b33222b33222f3c222b33223a44233f4e1e3335222f3c224e4425
+4960324b6933354c314758328b9080819f596b85454b69333f4e32304321373e43
+3043213d573b3d573b3043214b69336b85457197534b681e41671b3d5f253d573b
+41671b6b85457b9034657c444b6933618345547428354c312f3c222a3438262e35
+3d573b3c5822657c44657c44657c445474433f4e1e2b33223f4e324b6933475832
+344d1e3f4e1e3a44235560243a442339444630432149601f576b333c58223d5f25
+3c5822547443657c444b6933657c448ea0595f7b2a657c4460832a7197535f7b2a
+5f7b2a567f3a576b3349603249601f2b33222f3c22304321354c313a44234b6933
+4960323043213f4e323a44235e74296183454b6933272c1f262e35272c1f24261c
+24261c24261c24261c24261c24261c262e3524261c3335223335222b33223c5822
+344d1e496032576b333f4e1e576a1f5e742947581f47583249601f496032576b33
+47581f3043212f3c22354c31657c4449601f497323557f225f7b2a5474436b852c
+697c2b697c2b49601f5e74295f7b2a5474286b854541671b41671b354c312b3322
+2b33222a3438272c1f262e352b3322304321354c313d5f253d573b344d1e547428
+3d573b3d5f254b6933344d1e4b6933567f3a4b6933657c445474435474433f4e1e
+304321344d1e5f7b2a6b852c576b334960323d5f25557f225f7b2a5f7b2a576b33
+3c582260832a7787465f7b2a618345576b333f4e1e2f3c222b3322304321556024
+49603247581f2b33223335222b33222f3c222b33222f3c22354c31354c313d5f25
+5474286183455474284b693349601f4b69334b681e5f7b2a76872d697c2b49601f
+576a1f697c2b6b85457f9753697c2b6183455f7b2a68752b576b334b6933656c26
+496032304321475832304321475832576a1f6b8545576b335f7b2a555824627444
+47581f47583249601f627444d3cea2ada17f5560245f7b2a697c2b708f31719753
+697c2b5e7429697c2b76872d76872d7c90536b852c757b2d7787469fa0567c9053
+7b90346b852c5f7b2a5f7b2a76872d5e742947581f4c50263f4e1e3f4e1e47581f
+3f4e1e344d1e304321344d1e4b681e5e74297b9034555824576b335e742949601f
+7787468c985347581f5560243c58223043212b3322272c1f272c1f47581f556024
+3f4e1e2b33222b3322342d1f3f4e1e68752b5e742976872d708f31757b2d4e4425
+24261c2b33224e442547581f3f4e1e576a1f3a44233335223335223335225e7429
+6b852c344d1e576a1f576a1f5e7429383c232b3322556024757b2d656c264c5026
+383c23383c234b681e697c2b7b90349fa056afb09ec2b868b1b0699fa85786874a
+76872d76872d76872d656c265e74297787468c9853766e2d666b3b3a4423333522
+333522304321576a1f767b4777874676872d666b3b3f4e1e55582454742876872d
+76872d4b681e697c2b5e7429656c2676872d68752b576a1f7b903476872d6b852c
+5f7b2a5e7429656c264b681e6b852c76872d76872d757b2d697c2b76872d4b681e
+697c2b6b852c8c98357b903476872d6b852c576a1f576a1f4c502649601f76872d
+5f7b2a60832a6b852c80a03b7d9736708f317b90347d97367b90348c98357d9736
+697c2b5560243f4e1e5560246b852c76872d5e74295e74293f4e1e49601f47581f
+3c582241671b49601f68752b47581f4b681e576a1f5e7429757b2d3f4e1e3a4423
+3f4e1e47581f4b681e41671b4b681e68752b4b681e344d1e2f3c22304321333522
+3f4e32344d1e496032344d1e3f4e1e49601f5e742949601f576b339e9853383c23
+2f3c222f3c222f3c223f4e1e2f3c22272c1f2b33223f4e1e383c233335222f3c22
+354c31496032354c313d573b8b90557c90535f7b2a4b6933354c31354c31354c31
+373e43344d1e3d573b3043213d5f256b8545708f31567f3a567f3a567f3a497323
+5474284b69333f4e32496032576b337c9053657c44496032344d1e3d5f253c5822
+6b854560832a7c90535e74294b69335474283c5822354c313c582249601f304321
+354c313f4e32304321354c314960323d5f25576b335f7b2a3d5f25344d1e3d573b
+497323576b335474287c9053819f598ea83e708f315474285f7b2a6b8545657c44
+657c447787463c58224960325474284b69335474284b6933576b334b681e47581f
+3f4e1e2f3c22383c233a442362744460832a47581f354c31272c1f2a3438262e35
+272c1f1e241b24261c24261c3336423a4423262e3556603a5e7429697c2b708f31
+576a1f697c2b76872d6b852c7b90345f7b2a3f4e1e3f4e1e576b3347581f5e7429
+4758322b33222b33224758326274444b69333c58223d5f2549601f49601f5f7b2a
+708f316b852c576b33576a1f4973236b852c6183456f8f524973233c5822304321
+272c1f2b3322272c1f2b3322262e352e3c442f3c22354c313c58223d5f25497323
+496032496032354c31354c314960325f7b2a3d5f256b85455f7b2a5474284b6933
+47583249603247581f60832a76872d6f8f526b85455f7b2a6b85456f8f52547428
+5e74295f7b2a5f7b2a6b8545475832354c31576b334b69333f4e1e4758323f4e1e
+4b681e3a4423272c1f272c1f272c1f4960322f3c22304321344d1e2f3c224b6933
+567f3a4b69334b6933496032344d1e3d5f253f4e1e4b6933657c445f7b2a497323
+4b693360832a6b85456b85455f7b2a6b85457f975368752b6b8545627444576a1f
+354c313f4e1e4758323a4423354c313c5822657c445e7429576b3356603a666b3b
+4758323c58223c582256603aafb09ec0b8a647581f60832a7c90537d97367b9034
+697c2b7787467c90535e74296b85457787465e74294b681e656c2668752b7b9034
+7b90347b9034a0a03a8c98357b90346b852c6b852c4b681e47581f47581f344d1e
+304321576a1f5e7429576b335e74296b852c757b2d47581f3043213a4423496032
+475832b1b0695560243335223f4e1e3f4e1e3043212b3322272c1f272c1f2f3c22
+2b3322342d1f24261c272c1f333522757b2d6b852c708f317b9034697c2b333522
+24261c24261c24261c272c1f342d1f3335223f4e1e272c1f24261c2b33223f4e1e
+49601f344d1e54742841671b576a1f344d1e555824556024766e2d3f4e1e383c23
+383c233f4e1e5e74297787468c98539fa8579fa857aea8869fa0568c985376872d
+8b90337b9034697c2b576a1f6b852c9d9981666033666b3b666033383c23333522
+4e4425555824697c2b656c26867c4c86874a8b9033757b2d6b852c5e74295e7429
+4b681e344d1e4b681e6b852c47581f76872d49601f656c2676872d76872d76872d
+60832a4b681e5f7b2a5e74296b852c80a03b697c2b55602447581f5f7b2a5f7b2a
+6b852c5e74297b9034757b2d5558244b681e4c502649601f3d5f255e7429719732
+8c9835757b2d87872c76872d5e74296b852c7d97367b90347b90345e7429557f22
+708f31576a1f5560244b681e5e7429576a1f7787466b852c5e742947581f3f4e1e
+41671b49601f47581f344d1e2b332247581f697c2b556024304321383c23333522
+383c234c502649601f576a1f576a1f5e742947581f3f4e1e344d1e2f3c222b3322
+2b33222b3322333522383c23344d1e5e742949601f4c5026354c318b988247581f
+3f4e1e3f4e1e3043214960322b3322342d1f2f3c224c50262f3c22342d1f272c1f
+3944464758323f4e324758328c9853657c44547443657c443d573b344d1e354c31
+304321354c31354c313043214b69336b8545708f3161834560832a60832a567f3a
+4b6933344d1e3d573b354c31344d1e657c44657c447c90536183456f8f52567f3a
+708f31557f226183455e74294b69336183455e74294b6933576b335f7b2a3c5822
+3d5f253f4e32304321354c31576b334b69334973234b69333d5f25344d1e4b6933
+4b6933657c4449601f657c448c9853819f596b8545576b336b8545497323547428
+6b8545576b33354c312f3c22547428618345576b335e74296b8545576b3349601f
+576b33576b3356603a5560245558246b854568752b4b69332b3322496032383c23
+272c1f262e35272c1f272c1f2f3c2249601f3043215e74297f975392a759a1b170
+76872d697c2b8b90558b9055576a1f3f4e324b69336b854580a03b6b8545708f31
+3f4e1e2b33223335223043215474284b681e4b69336b85456b85455474285f7b2a
+7197326b85456274448c98536b852c657c44547428708f316b854541671b354c31
+3043213043212f3c222b3322272c1f272c1f262e353043213d5f2541671b4b6933
+3f4e323043213d573b2f3c22344d1e4b6933344d1e4960324b69333c582241671b
+344d1e576b3347581f4b6933576b335474285f7b2a5f7b2a708f3160832a567f3a
+4b6933567f3a5f7b2a5f7b2a47581f3f4e1e5474434960325e74294b681e4b6933
+6274444c5026272c1f2b33223a44234960323f4e322f3c22344d1e4b6933547443
+576b33547428496032344d1e47581f4b693347581f3c58223d5f255e7429547428
+5e74293d5f255e7429576b335e74297f97538ea0597787467c90535e742947581f
+3f4e323a44233043213a442330432149601f4b69334b6933576b33475832565838
+4758324c50263c58223f4e1e9d9981c0b8a6766e2d7787468c98537d9736778746
+8c98537b90347b903449601f576a1f7787465e74296b852c697c2b576b3368752b
+8ea05976872d8b90337b9034a0a03a8b9033757b2d3f4e1e5f7b2a5e74292f3c22
+304321697c2b6b852c49601f5e74296b852c6b852c5e74295e742947581f49601f
+4e5043c1c2ae767b47342d1f3043212f3c223043213a44232b3322272c1f272c1f
+272c1f272c1f24261c24261c272c1f4c502668752b576a1f656c263a4423333522
+272c1f24261c24261c24261c24261c383c23656c26383c2324261c272c1f333522
+344d1e47581f5f7b2a697c2b49601f5f7b2a576b3355582468752b666033656c26
+576a1f697c2b8c983580a03b7b903476872d7b90348c98358c98358b90337d9736
+76872d697c2b49601f3f4e1e627444c0b1979788346660334e4425574f26383c23
+4e44255e74296b852c68752b8b90557787467c90537b90346b852c697c2b5f7b2a
+576a1f60832a5f7b2a6b852c4b681e6b852c5f7b2a697c2b708f3176872d557f22
+6b852c4b681e5f7b2a5e7429576a1f697c2b3f4e1e3a44233f4e1e5f7b2a6b852c
+76872d757b2d76872d778746656c2647581f3f4e1e49601f80a03b8e9f3b778746
+5e7429697c2b76872d76872d80a03b708f315f7b2a5f7b2a6b852c5e7429576a1f
+76872d76872d766e2d68752b68752b576a1f6b852c76872d697c2b4b681e4b681e
+49732347581f4b681e3a44232b33223a442347581f383c23342d1f333522272c1f
+2f3c223a442330432149601f49601f5e74295560243f4e1e697c2b344d1e2b3322
+272c1f3a4423342d1f272c1f344d1e576a1f4b681e4758322b3322576b336b852c
+6b852c6b852c49601f3f4e1e2f3c223335223043213f4e1e333522333522272c1f
+4758324758324658644b69337c9053618345576b334b69333d5f25344d1e354c31
+3f4e32567f3a354c31354c314b6933567f3a5f7b2a61834561834561834541671b
+3d5f253d573b344d1e354c31576b335474434960326b85455e74293c58223f4e32
+627444657c445474435f7b2a54742847581f5474435e74296f8f526183455f7b2a
+657c44344d1e2f3c224b69333d5f253f4e323f4e1e4960322f3c22354c31475832
+3c58226183457b90344b693354742880a03b6f8f52576b336b85455474285e7429
+49601f3c5822576b33344d1e576b335f7b2a5f7b2a697c2b7787465f7b2a6b8545
+76872d7787466b852c86874a76872d778746697c2b55602449601f697c2b49601f
+3d5f252b3322272c1f272c1f2f3c226b852c557f22708f316b852c6b852c778746
+708f31708f317c9053657c445e7429557f225f7b2a7b9034819f59819f5980a03b
+557f222f3c223043217f97537b9034557f22576b33576b3354744341671b496032
+6b85453d5f25344d1e6b8545557f226b852c5e74293c58223c5822344d1e304321
+3043212a34382f3c22272c1f2f3c223043212b33222f3c223c5822344d1e304321
+3a44232f3c222f3c22354c313c58224960323043213c58225e742949603247581f
+3f4e1e3c5822576a1f557f22344d1e5e742960832a5474284b69334b69335f7b2a
+5f7b2a5474435474285e74294b69334b69336274445474284b69337b9034657c44
+5474284b681e3043212f3c224758324b681e576b333d5f25547428496032496032
+3c5822354c31344d1e3c5822576b335f7b2a4b681e3f4e1e4960325f7b2a5e7429
+4b69333d5f255474436b85456b852c8c98537c90536b852c8c9853767b474b6933
+4758323043212f3c22304321344d1e576b335e74294b69333c58223a442356603a
+3a442362744447581f47583287886ddcd6d668752b5e74298c98538c98538ea059
+8c98357c90535e7429576b335e74296b8545708f318b90337c90536b852c697c2b
+9fa05676872d8c98538b90337d9736697c2b8b9033697c2b576a1f3f4e1e2f3c22
+304321576a1f576b335e7429708f316b852c6b852c4973235e742947581f3f4e1e
+3f4e32c0b1979f91543335222f3c223a44232b33222b3322272c1f2b3322333522
+24261c272c1f342d1f272c1f272c1f2f3c225558243f4e1e3a4423383c23555824
+4e4425272c1f1e241b342d1f383c2349601f697c2b3a4423272c1f24261c2f3c22
+333522344d1e5f7b2a547428576a1f708f3176872d76872d697c2b697c2b7b9034
+6b852c7d9736708f3176872d708f31708f316b852c5e74296b852c708f317b9034
+5f7b2a697c2b656c264c5026867c4cafb09e95885c766e2d4436234c502675704d
+556024556024697c2b8b90558b903386874a8b903376872d5560245f7b2a4b681e
+557f2276872d49601f6b852c7d973676872d708f316b852c7b9034708f31697c2b
+76872d6b852c6b852c697c2b576a1f3f4e1e3335222b33222b332247581f697c2b
+76872d6b852c9e98538c985368752b4b681e576a1f76872d7b90347d9736757b2d
+547428576b33697c2b5e74296b852c576a1f576a1f47581f576a1f497323576a1f
+8b90338b9033576a1f576a1f656c2649601f4b681e3c58223f4e1e49601f3c5822
+49601f344d1e3f4e1e47581f3f4e1e3a4423383c23272c1f272c1f3335222f3c22
+344d1e2f3c223a442349601f54742868752b576a1f576a1f5e74293a44232f3c22
+2b3322272c1f272c1f2b33225f7b2a60832a3f4e1e4c5026354c314b6933778746
+708f315474283d5f2560832a576b333f4e1e333522383c23272c1f272c1f342d1f
+4758324b69334960325474435e7429567f3a618345576b33567f3a496032354c31
+354c316183454b69333d5f253d5f254973235474435f7b2a60832a6f8f5241671b
+5474433d5f25618345567f3a5474285474434973236183456b85454758322b3322
+2e3c443c58223d5f254b6933354c313d5f25576b33576b335f7b2a6f8f526b852c
+4b69332f3c223a4423576b334960323f4e322f3c22354c312f3c223043213a4423
+767b477787467f97536b85456f8f52719732557f225474286f8f52576b334b6933
+5e742954744360832a4b681e5f7b2a6b85456b852c6b85456b852c7b90345f7b2a
+547443576a1f5e74297b90348c98537d97367787467c90537c9053697c2b5f7b2a
+4b69333043212b3322272c1f2b33225f7b2a719732557f2260832a49601f3f4e1e
+47581f576b3347581f2f3c2249601f719753708f3180a03b819f595f7b2a5f7b2a
+6b852c41671b3c5822708f3176872d7197325f7b2a3043213f4e1e354c312f3c22
+5474283c582249601f7f97536f8f527b903460832a3f4e1e3d5f25344d1e344d1e
+2a3438272c1f2b3322272c1f3043213043212b33222a3438344d1e3043212b3322
+2f3c223335222f3c223a44234b69335f7b2a3d5f25576b3349732349601f576b33
+5558243d5f255e74296183455474285e74293c58223f4e1e344d1e49603249601f
+3f4e1e3f4e323f4e1e344d1e4b681e5474284b69334b6933657c44708f31576b33
+3c58225f7b2a5e742941671b4b69335f7b2a567f3a4b681e576b334b6933475832
+3a44233a44233043213d5f253d5f25496032697c2b556024354c31576a1f5e7429
+576b333f4e1e47581f576b33576b338c98538c985376872d819f595560243c5822
+4c50262f3c222f3c2230432149601f5e742949601f576b33344d1e2f3c22383c23
+4c5026666b3b666b3b4c502675704de0dfc686874a5f7b2a7c905368752b576a1f
+49601f4b69335474287b90348ea059697c2b656c2677874677874676872d6b852c
+77874676872d778746757b2d76872d697c2b7b90348c98355e74295e74295e7429
+4b681e4c5026697c2b556024657c44576b3377874649601f5e74293f4e1e3a4423
+3a44239a9178aea8864e3d22383c23342d1f2b33222b3322272c1f272c1f333522
+272c1f272c1f24261c272c1f272c1f2b3322383c2347581f47581f342d1f333522
+3a4423342d1f1e241b2b3322383c23697c2b76872d4e44253335222f3c223c5822
+344d1e3f4e1e7b90346b852c76872d576a1f49601f697c2b8c98356b852c6b852c
+708f31708f31708f316b852c6b852c708f316b852c576a1f5e742976872d708f31
+4b681e697c2b887b2c5560249a9178b2a85695885c867c4c66592c3a442366592c
+75704d576a1f697c2b8b90558c98538b90338b905549601f68752b5f7b2a60832a
+6b852c6b852c4b681e49601f49601f47581f7b903476872d5e74297b90346b852c
+8e9f3b708f316b852c49601f2f3c222f3c222b33222b3322272c1f3f4e1e656c26
+76872d757b2d757b2d68752b68752b697c2b697c2b5e742960832a6b852c8e9f3b
+76872d656c263f4e1e55582449601f576a1f47581f5e74295474284b681e4b681e
+47581f5e74294b681e47581f3f4e1e4b681e49601f344d1e2f3c22344d1e3d5f25
+3043213f4e1e4b681e47581f574f263a44232f3c223043212b332249601f3d5f25
+49732349601f3043213a44233c58225558245560243f4e1e47581f30432149601f
+49601f2f3c222f3c222f3c2241671b6b852c49601f47581f304321576a1f767b47
+6b852c576b335e7429708f3141671b47581f333522383c23333522272c1f2b3322
+3f4e3287886d6274443d573b4b6933567f3a6f8f52657c443f4e32496032344d1e
+344d1e547443618345497323567f3a5f7b2a567f3a4b6933708f3180a03b618345
+4960323043213f4e324960324758323d5f25354c315e74296b8545576b33304321
+2f3c224758324973233d5f25354c313d5f25497323576b3349601f4b69333f4e32
+496032496032576b33576a1f3d573b30432130432130432130432130444d354c31
+5f7b2a7f9753819f596b852c7787468c98537787465e7429657c44576b334b681e
+547428697c2b68752b60832a708f317787465e7429496032576b336b8545576a1f
+4960323f4e32547443697c2b7197535e742976872d7d97366b8545557f22576b33
+5e74296b85455474284b69334b69337b903480a03b5f7b2a708f314973233f4e1e
+4b69336b852c5f7b2a3f4e1e6f8f526f8f52708f3160832a657c4460832a719753
+708f316b852c6b852c7197537f97537c90534b681e6183453c58223043212b3322
+3f4e1e49601f618345719732708f317c90537d97366f8f52567f3a3d5f253c5822
+3043212b3322272c1f262e352f3c222b33222f3c22262e35344d1e3c5822304321
+2f3c222f3c22304321344d1e576b33496032344d1e49601f47581f3a4423576b33
+5e74293c58223d5f25576a1f5e7429547428576a1f4b681e3d5f253c58223f4e1e
+304321354c3147581f4960324b69334960323d5f253c58223043215e74294b6933
+4758323f4e1e3f4e1e576b33576b33576b334960323f4e1e2f3c223a44232b3322
+2b33222f3c22354c315474435f7b2a3c5822344d1e576b335e7429576b334b6933
+576b3347581f3c582247581f47581f5e74297787468c98537b90345e74293d5f25
+49601f344d1e47581f5560244b6933576b335e74295f7b2a5e742947581f304321
+56603a4b6933576b334c5026666c5ee0dfc6857d675558246b854549601f576a1f
+3c58225f7b2a708f317b90347b90348ea0598e9f3b8c98537c9053697c2b778746
+697c2b5e7429697c2b697c2b6b852c5e7429576b3376872d76872d7b903476872d
+3a442349601f56603a3a4423576b333d5f25344d1e2b33223f4e32666033565838
+383c2395885cc1c2ae84712f656c262f3c222b33222b3322272c1f2b3322272c1f
+272c1f272c1f272c1f24261c24261c272c1f2f3c223a44232f3c222b332224261c
+24261c24261c24261c272c1f2b3322697c2b76872d5560247787468c98537b9034
+4b681e4b681e76872d697c2b5e7429344d1e3c582276872d5f7b2a47581f547428
+708f317b9034708f3176872d68752b576a1f5f7b2a6b852c60832a5e74295e7429
+55582468752b867c4c8471449fa056ada17f95885c9a9178666b3b604f2a666b3b
+767b47757b2d757b2d8b903386874a8b9055778746656c268b90335560245e7429
+7d97365e7429344d1e3f4e1e304321344d1e576a1f3c58223f4e1e557f22708f31
+708f315f7b2a5f7b2a47581f2f3c222f3c222f3c222f3c22333522556024766e2d
+76872d656c26656c26555824576a1f5e74295f7b2a708f3176872d5f7b2a5f7b2a
+576b3347581f3a44237787465560244c50263f4e1e344d1e3c58225474283f4e1e
+30432149601f5f7b2a497323557f223f4e1e47581f5560243f4e1e47581f344d1e
+3c582247581f5e7429576a1f3a44233043212f3c223a4423304321576a1f5e7429
+6b852c60832a49732349732349601f4973236b852c5e74295e742941671b547428
+3f4e1e3c58224b681e41671b49732360832a4b681e576b33576a1f54742860832a
+5474283a44233f4e1e54742849601f47581f3a442349601f576a1f3d5f25344d1e
+3f4e32576b338b90804b69335474436b85456b8545496032344d1e5474434b6933
+3d573b344d1e4b69336183456183455f7b2a567f3a567f3a60832a6f8f52567f3a
+344d1e30432130444d2b3322383c232f3c222f3c222f3c22373e433335222b3322
+627444657c446183454b69333a4423475832557f225e74294c50262e3c44272c1f
+2f3c223a4423576b33576b334960323c5822344d1e3d5f25354c312b33222f3c22
+3c58227197538ea83e6f8f52576b337d97367c90535e7429344d1e5e7429547443
+4b69335f7b2a5f7b2a576b33708f317197534b69335e7429547428576b333c5822
+2f3c222f3c22576b33697c2b6f8f527b90347787466b852c76872d60832a496032
+4b69334b681e5474286f8f5260832a7b903491af497197326b852c5474283f4e1e
+557f226b852c49732347581f4973235474286b85456b852c497323547428618345
+708f317197325474287197325f7b2a49601f556024576b333d573b2f3c222f3c22
+2a343849601f47581f4b69335f7b2a6b852c708f315474286b8545708f314b6933
+344d1e2b3322272c1f272c1f2b3322272c1f2b33222f3c222f3c22304321304321
+4960323043212f3c222f3c223d5f25576b3349601f4b693347581f344d1e767b47
+576b33344d1e657c4471975360832a5474285474285f7b2a41671b576b33354c31
+2f3c223a44234960325e742960832a4960324758323f4e1e576b335474433f4e1e
+3043213d5f253f4e324960323c5822344d1e49601f576b333335222f3c22383c23
+2b33222b33223f4e1e4b6933475832344d1e344d1e3d5f255474285474285e7429
+49603249603249603249601f3c58226b852c7b90348c98537b90346b852c497323
+5f7b2a5e74296b854568752b697c2b5e74295e74295474287787465f7b2a3f4e1e
+49601f778746576b3375704d666033cfc6b887886d574f263f4e1e3f4e1e3a4423
+4b681e708f31708f317787468c985377874686874a5e74294b681e4b681e576a1f
+5f7b2a7b90347c9053576b33576a1f4b69335e74295e74295e7429576a1f4c5026
+5558243a4423333522272c1f3a442347581f3a4423272c1f2b33223a4423666b3b
+7787469e9853c3c17a9fa0568e9f3b6b852c576a1f47581f3a44232b33222b3322
+2b3322272c1f272c1f24261c24261c24261c24261c272c1f272c1f24261c24261c
+24261c24261c272c1f2f3c223a442368752b757b2d767b47afb09eb0b86c8b9033
+656c26576b335e74295e74295474284b681e5e74296b852c5f7b2a49601f697c2b
+60832a5e7429576a1f60832a76872d76872d708f316b852c60832a47581f4c5026
+556024555824666033666b3b9e9853afb09e9f915486874a84714466592c666033
+766e2d767b47867c4c8c98358b90338b90337d973676872d77874668752b3f4e1e
+49601f697c2b6b852c576b3347581f557f225f7b2a3d5f25576a1f4973237d9736
+5f7b2a49601f3c58222f3c22304321344d1e383c233f4e1e47581f656c26656c26
+757b2d656c265e74293f4e1e556024576a1f5e742954742849601f49601f3c5822
+3a4423576a1f6b852c5560244b681e576a1f3f4e1e3a44235560244b681e3f4e1e
+3043215f7b2a8c9835576a1f557f225e74293f4e1e3a44233a44233c58224b681e
+49601f49601f47581f3a442355602447581f3a44233f4e1e5e74293c582249601f
+49601f47581f47581f3d5f25697c2b76872d656c2649601f4c50263c5822497323
+4b681e576a1f344d1e3c58225474287b903441671b49601f6b852c4b681e5e7429
+49601f2f3c222f3c2249732360832a708f31697c2b49601f68752b60832a4b681e
+567f3a5e74297c9053819f596f8f526b85456f8f52496032344d1e497323567f3a
+41671b4b69336b854560832a5474283d5f255e74295474436b852c719732618345
+4960323043212f3c222a34382a3438354c314960323043212f3c222f3c22344d1e
+6f8f525474283d5f25344d1e354c31344d1e354c313043212f3c223f4e1e3c5822
+5f7b2a6274445f7b2a5f7b2a3c58224b6933496032344d1e344d1e3f4e324b6933
+5f7b2a7c90537b90348c98536b85456b852c547428657c44697c2b4b693349601f
+47581f3d5f25657c444960325e74295e74293f4e1e4b693360832a4b69333c5822
+3c5822272c1f3c58225f7b2a567f3a5f7b2a76872d778746708f314b693347581f
+576b33657c443c58225f7b2a6b852c5f7b2a557f22708f316b852c7197326b852c
+7c90534b69333c582249601f5e742991af4980a03b708f317f975349601f3c5822
+60832a4973233d5f254b681e6183456b852c4973233c582241671b344d1e2b3322
+3043212f3c2230432149601f5f7b2a5f7b2a547428344d1e41671b497323344d1e
+2f3c222f3c222f3c221e241b262e35272c1f272c1f2b3322262e352b33222f3c22
+68752b3043212b33222b3322344d1e49601f344d1e3043213f4e1e76872d8c9835
+68752b49601f6b85457d9736567f3a5474284973235474285f7b2a576a1f2f3c22
+2f3c222b33222f3c223d5f25576b333c58223043213c582249601f3f4e1e3f4e32
+47581f49601f2f3c223335222f3c22344d1e3c5822576b333a4423342d1f24261c
+2f3c224960324b681e3c58223f4e1e49601f4b681e4b681e4b681e5e74295e7429
+3d5f253f4e1e47581f576b33576b33576a1f5f7b2a8c98536b852c6b8545697c2b
+6b85457b90347c9053697c2b7f9753708f31576b33576b335e74294960325e7429
+475832576b33576b33767b4774643ec0b19775704d383c233335223a4423304321
+3f4e1e5f7b2a6b852c767b4776872d47581f47581f344d1e47581f697c2b6b8545
+5f7b2a6b852c5e74295560243f4e1e576a1f5e742947581f556024556024383c23
+4e442568752b3a44233335224c50263c582247581f344d1e2b3322333522333522
+867c4c9d9981c3c17a9fa05676872d76872d47581f708f31697c2b4b681e697c2b
+697c2b3f4e1e342d1f24261c24261c272c1f342d1f342d1f3f4e1e3a44233a4423
+3f4e1e47581f5e742976872d7b9034778746576b3347581f8c98538c9853767b47
+5558243f4e1e576a1f697c2b60832a49601f4b681e47581f49601f2f3c2247581f
+697c2b5f7b2a5f7b2a76872d60832a576a1f76872d6b852c49601f49601f344d1e
+656c264e44254e442566592c86874aaea8869f9154757b2d867c4c766e2d757b2d
+656c26556024697c2b7787467b903476872d708f31708f3176872d556024475832
+3f4e1e7b90348c98355e7429547428708f31708f315f7b2a557f225f7b2a778746
+3f4e1e2b33222b33222b33223a44233f4e1e3a44233f4e1e5558244c502647581f
+68752b576a1f576a1f556024576a1f697c2b697c2b5f7b2a576a1f49601f3f4e1e
+47581f7c90537d97365e7429697c2b576a1f47581f86874a7b9034556024304321
+2f3c223f4e1e49601f47581f576a1f8c9835656c26304321344d1e5e7429547428
+5e74296b852c5560243f4e1e4b681e344d1e3f4e1e49601f5e74293043213f4e1e
+2b33223335223043212f3c222f3c22383c23383c233043213f4e1e3f4e1e497323
+576a1f87872c344d1e3d5f2541671b5474283c58225e742960832a557f225f7b2a
+49601f344d1e3043213c582276872d5f7b2a5f7b2a547428708f315e74295e7429
+6f8f526183456b85457c9053657c445e74297c90536b8545567f3a567f3a567f3a
+567f3a719753618345497323576b335f7b2a4973235474436183456f8f525f7b2a
+4b69332f3c223043212a34382b33222b33223f4e323d573b3d5f255474436b8545
+719732567f3a4b69333043213f4e323043212e3c44354c313f4e32567f3a60832a
+76872d8c98538ea0595f7b2a3c5822344d1e2f3c22394446496032576b33547443
+4758324b69336f8f527d97367787465e74296b8545576b33576a1f47581f496032
+3a44232f3c22576b33656c267787466b854568752b5e742947581f3f4e32344d1e
+4960322b33224960325f7b2a657c44344d1e6274447c905360832a4b6933344d1e
+3f4e323f4e1e3d5f255f7b2a6b852c7b9034547428719732708f317d9736708f31
+4b6933497323708f3160832a7197536f8f524b69334b693360832a4b681e3d5f25
+4b681e41671b3c58226183455f7b2a5f7b2a60832a708f3160832a547428344d1e
+3c58223043213c58224b69335e74293d5f254b681e4b69333c5822344d1e41671b
+3c58223043213043212b33222f3c22272c1f2b3322272c1f272c1f1e241b2f3c22
+56603a3a4423272c1f2f3c223c58224b693349601f475832555824757b2d8b9033
+8b903376872d6b852c7b9034657c446b8545576b334b69333d5f256b852c6b852c
+4b681e344d1e4b681e5474285e7429576b333f4e1e3f4e1e49603247581f2f3c22
+3f4e1e3f4e1e344d1e3a44233a4423344d1e3c58224b69333f4e1e2f3c222f3c22
+49601f5474283f4e1e354c313335223a442347581f576b3354742847581f475832
+3043212f3c222f3c22576a1f8ea0598c9853708f317d97368c98537c90537b9034
+6b852c697c2b8c98537b90346b85456f8f52576a1f576b3349601f3f4e1e475832
+2f3c222f3c224758328b988275704dcfc6b887886d3335222f3c22304321304321
+47581f576b3349601f3f4e1e576a1f576b3349601f3f4e1e5e7429657c447d9736
+6b852c7b90345f7b2a576a1f576a1f77874676872d5558242f3c22555824496032
+3a4423656c2668752b49601f344d1e3043215e7429576b332b33223335222b3322
+33352287886ddecab49fa85776872d5f7b2a49601f6b852c68752b76872d92a759
+8c98536b852c5e74295e7429576a1f68752b778746757b2d87872c76872d697c2b
+7b9034697c2b708f316b852c697c2b757b2d4c5026576a1f76872d8b9055697c2b
+47581f576a1f656c2655602447581f47581f344d1e383c23333522272c1f333522
+49601f5f7b2a6b852c6b852c656c2630432149601f576a1f49601f55602447581f
+3a44233335223335224e4425867c4c95885c778746867c4c757b2d8b905595885c
+867c4c656c2668752b68752b5e7429697c2b5f7b2a76872d76872d76872d8c9853
+7787467b903476872d76872d76872d708f317b9034697c2b60832a6b852c576a1f
+2b3322272c1f272c1f333522333522576a1f666b3b4e442547581f3f4e1e47581f
+576a1f757b2d68752b49601f5e742976872d5e742960832a708f315f7b2a6b852c
+6b852c76872d5e74294b681e49601f3a4423344d1e555824757b2d576a1f3f4e1e
+576a1f6b852c76872d80a03b8ea83e697c2b47581f3f4e1e4c502647581f3a4423
+3f4e1e54742847581f497323576a1f4b681e383c23697c2b3f4e1e2f3c223a4423
+272c1f2f3c223043212f3c22383c23342d1f342d1f3d5f25576a1f576a1f697c2b
+778746697c2b68752b76872d547428576a1f54742876872d7f975354742860832a
+576b33656c263d5f255f7b2a6b854554742841671b5f7b2a60832a708f317b9034
+618345547428657c446b8545657c446b8545567f3a6f8f525f7b2a547443618345
+60832a6f8f526f8f52576b334b69335474433c58223c58223c58223f4e32354c31
+3d5f25354c312b3322262e35272c1f262e352f3c22304321354c314b681e6f8f52
+708f316b85453d5f25344d1e2f3c22272c1f3336423043214758325474435f7b2a
+5e7429657c446b85455474283f4e32354c312f3c222b33222b332230432149601f
+576b3349601f5f7b2a6f8f527f97537b90347b9034697c2b576b333f4e1e304321
+354c312f3c2247581f7787465e7429576b33656c26778746656c26576b33576a1f
+5474282f3c223f4e32496032354c312b33222f3c224758325e74293c5822354c31
+3a4423344d1e4973235e742960832a60832a5474286b852c7d973649601f49601f
+41671b60832a7197535f7b2a719732557f22344d1e3c5822557f2241671b4b681e
+6f8f525f7b2a497323557f2254742860832a6b852c6b852c576b33576a1f304321
+3043213c58223f4e1e3043213f4e1e3d5f256b8545697c2b4b69332f3c22344d1e
+2f3c222b33222b3322344d1e3d5f25344d1e2b33222b3322272c1f272c1f272c1f
+3a4423272c1f2b33222f3c22556024576b333d5f253c582249601f576b33697c2b
+87872c576a1f47581f778746567f3a697c2b3d5f253d5f25576a1f5474285f7b2a
+557f225f7b2a4b681e5e74295e74293c5822344d1e47581f3a442349601f5e7429
+576a1f3d5f253a4423383c233043213f4e1e497323576b334b681e5474283f4e1e
+3043213043212f3c222f3c222b33222b33222f3c2249603247581f383c2347581f
+304321272c1f2b332247581f657c447b90346b85457787467d97368e9f3b8ea059
+7787466b852c7c90535e742960832a697c2b49601f576b3347581f2f3c222b3322
+3a44233043214c5026576b33767b47afb09e95885c3f4e1e33352249601f49601f
+344d1e3043213f4e1e4960325e74295474284960324b681e5e742976872d6b8545
+60832a7b9034576b33576b338c9853576a1f3f4e1e778746383c233a44234c5026
+4b681e66592c5560244c502647581f4b681e5f7b2a3a4423272c1f272c1f272c1f
+333522443623afb09ec2b868697c2b757b2d6b852c5e7429576a1f656c265e7429
+7b9034708f316b852c6b852c76872d7d97368ea0597b90347d97368e9f3b7d9736
+7d97366b852c7b9034757b2d8b90558b90336b852c76872d6b852c5f7b2a5f7b2a
+68752b76872d697c2b3f4e1e55602476872d5e74293043212b33222f3c22304321
+3f4e1e5f7b2a697c2b6b852c5e74292f3c222f3c22344d1e6b852c7d9736697c2b
+4e4425342d1f44362355582474643e666b3b86874a8b90559f915495885c84712f
+757b2d757b2d656c263f4e1e3f4e1e4b681e5f7b2a4b681e7b90348b90338e9f3b
+7b9034697c2b76872d6b852c60832a697c2b5e74294b681e5f7b2a6b852c49601f
+2b3322342d1f3335222f3c224c50265558245560243a44233f4e1e576a1f5e7429
+76872d757b2d4b681e5f7b2a7b90347b9034697c2b76872d5f7b2a697c2b7d9736
+7b90346b852c68752b6b852c8c983568752b55582449601f6b852c576a1f5e7429
+80a03b7d97368c983587872c6b852c697c2b557f226b852c7b903468752b49601f
+49601f4b681e49601f697c2b5f7b2a3a44232b33223a4423304321383c232b3322
+272c1f2f3c222f3c22272c1f272c1f2b33222b332249601f4b681e49601f556024
+576a1f47581f6b852c7d9736708f31557f2260832a60832a5e74296b852c5e7429
+5f7b2a697c2b6b852c708f315f7b2a5474285474284b681e60832a7f9753697c2b
+4b69334b69336183457c9053576b337c90534960324b69335f7b2a4973236b8545
+4973236b8545819f596b852c5474286b85453c5822576b33344d1e2f3c22304321
+576b33354c312f3c222b33222b33222b33223043213f4e3247583247581f7c9053
+60832a5474284960323d573b4758323043212f3c223043213c58224b6933496032
+3043214b681e5e74294960322f3c222b33223043213043212a34383043215f7b2a
+627444576b336b85455f7b2a6b8545778746697c2b708f313d5f2530432147581f
+344d1e475832627444757b2d5e742947583247581f576b33576b335f7b2a4b6933
+3c5822333522342d1f3f4e322f3c22272c1f272c1f2b33224960323f4e1e3f4e1e
+2f3c22576b336b852c3d5f253f4e1e576b333c58225e74296b852c3043213f4e1e
+344d1e3f4e1e344d1e576a1f576b333c582241671b3c58224b69333d5f254b681e
+3c58223f4e1e576b33344d1e496032576b3376872d47583247581f344d1e4b681e
+6b852c49732341671b557f225474283c58223c58223f4e1e304321272c1f304321
+344d1e304321272c1f2f3c2241671b3c5822344d1e304321272c1f2b33222b3322
+2f3c22272c1f272c1f272c1f30432149601f49601f344d1e3f4e1e47581f656c26
+7f9753557f226b852c8c98356b8545576a1f41671b5f7b2a5f7b2a576b3347581f
+5f7b2a60832a576a1f576a1f576a1f576b333f4e1e3a44233f4e1e49601f697c2b
+576a1f344d1e49601f49601f47581f5e74295474283f4e1e3f4e1e344d1e3f4e32
+2f3c22272c1f2b33222b3322272c1f2f3c223a442349601f68752b4c50263f4e1e
+3c582230432130432168752b7787467787466b852c697c2b7c90537787466b852c
+697c2b697c2b7c9053697c2b6274445e7429576b333043213a44232f3c22344d1e
+3a442347581f4960325e7429657c449ea08a9d99812f3c223f4e1e576a1f576a1f
+3d5f2541671b4b681e6b852c4973233c58224b69335f7b2a576b335e7429778746
+708f317c90535560244b681e49601f5560243f4e1e576a1f656c2647581f47581f
+3c58223a44235558244c502668752b576a1f6b852c33352224261c272c1f24261c
+383c23383c239a9178d3cea287872c8c98358c98357b90346b852c76872d697c2b
+7d97365e74294b681e5e742960832a6b852c76872d76872d76872d7b9034708f31
+7b90346b852c708f316b852c76872d76872d5f7b2a7b9034697c2b697c2b5f7b2a
+5e742976872d757b2d4b681e576a1f5e74295e742947581f30432147581f344d1e
+49601f49601f697c2b697c2b5f7b2a576a1f30432149601f697c2b697c2b76872d
+47581f443623383c23604f2a766427867c4c7787469e98538b90558c9853867c4c
+76872d867c4c757b2d3f4e1e383c23576a1f3f4e1e5560247d97367b90348c9835
+76872d5e742960832a5f7b2a6b852c7b90346b852c6b852c60832a60832a576a1f
+344d1e2f3c223a44232f3c222f3c2247581f555824383c23383c234c5026576a1f
+76872d76872d7b90347b90348e9f3b8c9835708f3176872d708f316b852c8ea059
+7f975376872d5558246b852c7f975368752b55582455602468752b80a03b8c9853
+7d97367d97367d97368b903347581f47581f4b681e5f7b2a5e742947581f3c5822
+60832a4b681e4c50263f4e1e383c23342d1f272c1f272c1f344d1e3f4e1e3a4423
+272c1f272c1f2b3322272c1f24261c3335222f3c222f3c223043213a4423576a1f
+5f7b2a5e74297d973676872d5e7429576a1f5f7b2a5f7b2a4b681e61834549601f
+576a1f5474287b90347b903460832a5474285f7b2a576b334b681e5f7b2a6b852c
+4b69334b69336274446b86734960326183454b69334b69336b8545547443567f3a
+4b6933557f22719753719753708f31708f31708f3160832a5474435474434b6933
+576b33304321354c312a34382a3438262e352a34382f3c223043215e7429719753
+719732618345354c313f4e32576b334b69334b6933576b334960323f4e1e47581f
+49603262744449601f4960322f3c222f3c22354c313a44233043213d5f253c5822
+6183455474287d97366b85455f7b2a6b85455f7b2a60832a4b6933354c313a4423
+3f4e324b6933576b33556024576b3347581f556024354c31576b335f7b2a4b681e
+3f4e32262e35272c1f2b33222b33222b3322272c1f2b332247581f6b85455f7b2a
+344d1e49601f5f7b2a576b335474283f4e1e3f4e1e49601f697c2b3043212b3322
+2b33223335223a44235474286b85455f7b2a60832a3c58223d5f255e7429497323
+576a1f80a03b6b852c547428708f3147581f6b852c576a1f68752b5e74297d9736
+547428708f316b852c60832a6b852c5f7b2a344d1e344d1e2f3c222f3c22304321
+41671b3d5f252b3322262e352f3c22354c313043213043213043212b33222f3c22
+4960322b33222b33222f3c223043213f4e1e3c58223f4e1e344d1e656c268e9f3b
+8e9f3b6b852c80a03b80a03b708f316b852c547428497323547428547428547428
+3c5822576b335f7b2a497323344d1e49601f3d5f252f3c222f3c2249601f576b33
+576b3347581f3c58223a44232b33223a4423354c313f4e323043213335222b3322
+272c1f272c1f272c1f272c1f272c1f3a44233a442349601f60832a5e7429496032
+49601f3c58225560247c90538ea0597f975377874649601f6b852c7b903476872d
+6b8545576b33657c445e742947581f5e7429576a1f3f4e1e49601f697c2b47581f
+49601f5e742947581f576a1f86874ac0b8a6b1b0693f4e1e697c2b5f7b2a5e7429
+5474285e74295f7b2a5e74296b854549603247581f5f7b2a49601f547428576a1f
+5e7429556024576a1f697c2b5e742947581f344d1e49601f5474283f4e1e5e7429
+3f4e1e3f4e1e3f4e1e333522666033656c2668752b656c26333522342d1f272c1f
+3335223a44238b9080e0dfc68b90338c98357b90347b90347d9736656c26576a1f
+708f31656c263043213043214b681e697c2b60832a6b852c7b903476872d8b9033
+76872d47581f60832a6b852c68752b656c265f7b2a697c2b6b852c6b852c47581f
+47581f697c2b7b90348c98358c98353f4e1e344d1e47581f272c1f272c1f2f3c22
+2f3c225560246b852c5f7b2a49601f5e74294b681e4b681e6b852c60832a76872d
+68752b68752b666033666b3b86874a9e98538b90558b90559e98539f9154ada17f
+867c4c576a1f867c4c6660333f4e1e5560243c58225f7b2a6b852c7197327d9736
+7b90346b852c6b852c76872d7d9736719732708f3176872d5e74295e74293f4e1e
+383c233335223335223f4e1e3f4e1e576a1f697c2b76872d697c2b5560246b852c
+6b852c68752b656c2676872d8c98357b90346b852c6b852c697c2b576b33496032
+576b33576a1f3a442349732347581f49601f49601f576b3376872d8c985376872d
+7c9053656c26555824757b2d757b2d47581f4c50263a44235560245f7b2a60832a
+68752b3f4e1e383c23342d1f3335222b3322272c1f383c233043212f3c222f3c22
+272c1f2b33222b3322272c1f342d1f272c1f342d1f383c23576a1f2f3c2247581f
+5f7b2a5e742991af495f7b2a4b681e547428576a1f5f7b2a49601f6b852c497323
+576a1f6b8545708f3176872d697c2b5e74295e7429576b3347581f576a1f6b8545
+657c444b6933576b337787724960326183453c58223d5f25657c444b6933547443
+3d5f25567f3a60832a6b85457197536b854560832a5e7429576b335e7429354c31
+3043212f3c224b69333f4e322b3322262e352b33222a34382f3c22496032657c44
+4b6933496032496032344d1e3f4e1e4b69335474435f7b2a6274446b8545657c44
+47581f4973236b8545475832354c31383c232a34382f3c223f4e323c5822496032
+6b85455f7b2a7197536b85454b681e5e74296b85457d97364b69333c5822475832
+383c23576a1f5e742949601f68752b68752b556024383c23656c26657c4449601f
+4960322b3322272c1f272c1f2b33222b3322272c1f272c1f344d1e708f31576b33
+5f7b2a7197535e7429547428344d1e4973234b681e708f317d9736576a1f3f4e1e
+3f4e1e2f3c22576a1f6b852c7197536b852c41671b344d1e576a1f60832a708f31
+80a03b6274443f4e1e576b335f7b2a576b337b903480a03b91af497d9736708f31
+5f7b2a6b852c708f317d973660832a60832a47581f3c58223c58222b3322262e35
+2b3322344d1e304321272c1f262e352b33222b33222f3c222f3c222b3322344d1e
+3f4e1e3043212f3c223043212f3c224b69334b681e5e742949601f5f7b2a8e9f3b
+80a03b708f317d97367d973660832a7b90345f7b2a41671b4b69335f7b2a49601f
+3c58223c58224b681e5f7b2a49603249601f47581f47581f2b33223f4e1e4b681e
+3f4e1e2f3c224c5026344d1e3a442349601f47581f3043212b33222b33222b3322
+272c1f24261c272c1f24261c1e241b2f3c22344d1e3a4423576b335e74293c5822
+344d1e49601f576b3376872d8b90337b90346f8f525e7429697c2b77874676872d
+697c2b475832657c44657c4447581f496032576b3347581f49601f5e7429697c2b
+7c9053757b2d6b852c7b90348b9033aea886c3c17a767b47576a1f3f4e1e576a1f
+49601f49601f4b681e576b335e74294b681e68752b697c2b3f4e1e3c58223c5822
+54742849601f49601f49601f4960323c582249601f7787465f7b2a3f4e1e576b33
+3f4e1e383c233a4423576a1f3f4e1e3335223a4423556024556024656c26766e2d
+5560244c50269e9853d3cea28c98538c983576872d7b90347b903476872d7b9034
+8c983568752b3f4e1e3a4423344d1e4b681e5f7b2a60832a68752b6b852c76872d
+5560245558245474285474286b852c697c2b576a1f5f7b2a697c2b5f7b2a304321
+576a1f60832a6b852c76872d8c9835778746656c2647581f2f3c2224261c342d1f
+2b33223a44235e742949601f3f4e1e3f4e1e49601f5560245e742960832a76872d
+76872d757b2d87872c887b2c86874a9e985386874a8c9853b1b069c3c17aada17f
+9f9154757b2d68752b383c234e44253f4e1e5f7b2a708f31708f31708f31708f31
+6b852c6b852c6b852c7b90347b90345f7b2a3c58225e74295f7b2a5e742947581f
+2f3c222b3322272c1f4c5026697c2b68752b55602468752b708f3176872d76872d
+87872c76872d666b3b5558248c9835757b2d5474285f7b2a557f22576a1f3f4e1e
+60832a47581f2f3c223c5822497323697c2b4b681e5e74295f7b2a697c2b697c2b
+778746576b333f4e1e5560244b681e47581f3f4e1e47581f3f4e1e3c5822547428
+3f4e1e3a4423272c1f2f3c22333522272c1f272c1f3f4e1e697c2b3f4e1e383c23
+2b33222f3c22344d1e344d1e2b33222f3c222b33223335228b90335e74294b681e
+54742854742880a03b6b852c60832a697c2b47581f657c4449601f657c44576b33
+576a1f60832a7787467c90537b9034576b333f4e1e3043213043214b681e547428
+5474433d573b4e50436274444b6933657c444b69334b69335474434b693341671b
+3d573b5474285f7b2a60832a5f7b2a6b852c6b854541671b5474286b852c3d5f25
+5f7b2a5f7b2a6f8f523d5f252b33222b33222a34382b3322262e352f3c22475832
+5f7b2a344d1e3c58223d573b304321354c313d5f25344d1e4960325e74296b8545
+657c446b8545576b33475832383c23342d1f262e352b3322354c31344d1e3c5822
+7b90346b852c6b8545697c2b4b69335e74296183456b852c6b852c47581f3c5822
+4b6933697c2b657c44576b3362744468752b767b47304321576b33576a1f576b33
+4b69332b3322272c1f24261c24261c272c1f262e35272c1f2b3322656c26576b33
+657c4476872d708f315e7429497323657c445e742960832a557f225e7429719732
+8ea83e5e7429576b336b852c5f7b2a557f224973235e7429576a1f6b852c7d9736
+708f31719732697c2b3c5822557f22719732708f314b681e708f3180a03b719732
+80a03b729e3491af4980a03b76872d7b90345f7b2a4973233d5f253043212f3c22
+272c1f2f3c22272c1f2b33222b33222b3322262e352b3322272c1f2f3c222f3c22
+344d1e344d1e3043213043213043215e74293d5f256b852c8e9f3b697c2b8c9835
+8c98357d97366b852c5f7b2a567f3a5e7429576b334b6933576b334b681e3f4e1e
+30432149601f576b334b681e3043213f4e1e2f3c22344d1e2f3c224b6933556024
+3a4423272c1f3a44233f4e1e47581f47581f4758323f4e1e272c1f2f3c2247581f
+2b3322272c1f24261c272c1f272c1f30432147581f47581f5e7429697c2b344d1e
+3f4e1e47581f697c2b7787468ea0598ea83e7c90537787467f97537b90346b8545
+656c263d5f255e7429576a1f3d5f2547581f5f7b2a576b335e74295e7429778746
+8b90335e742968752b86874a576b33ada17fc1c2ae697c2b3f4e1e3c58223f4e1e
+49601f3f4e1e3f4e1e3043215e7429697c2b697c2b6b852c49601f3a44232f3c22
+3d5f254b681e576b334b69333f4e1e47581f5f7b2a5e74293f4e1e383c23333522
+272c1f2b332249601f697c2b3a4423342d1f3f4e1e47581f49601f4c502668752b
+87872c7787468b90339e98538c98358c983576872d76872d7b903476872d8c9835
+7b903447581f3f4e1e47581f656c2676872d76872d49601f3a44235e7429576a1f
+2f3c222f3c222b332247581f76872d697c2b5f7b2a6b852c576a1f68752b47581f
+5f7b2a697c2b5e742976872d87872c7b90347b90347b903468752b383c23272c1f
+24261c272c1f383c23383c23272c1f2f3c223a4423383c2347581f576a1f697c2b
+6b852c87872c867c4c76872d9e98539fa857aea8868c98539e9853c0b197c2b868
+aea8869fa056757b2d383c2333352247581f5e7429719732708f31547428576a1f
+47581f5e7429697c2b5f7b2a576a1f49601f304321576a1f6b852c708f314b681e
+49601f304321344d1e49601f697c2b5e74294e44253a44234b681e6b852c8c9853
+8e9f3b87872c76872d7787467b9034576a1f576a1f4b681e47581f3c58223d5f25
+49601f49601f2f3c224b681e5e74295560245e742949601f576a1f547428708f31
+7b9034576a1f3f4e1e344d1e3f4e1e3f4e1e47581f4b681e3a44232f3c223a4423
+2f3c22383c233a44232f3c222f3c222b3322344d1e3c58225474282f3c223f4e1e
+3f4e1e3f4e1e576a1f41671b41671b697c2b2f3c22304321657c4476872d5f7b2a
+557f22708f317b903476872d68752b547428576a1f6b8545576a1f3f4e1e3d5f25
+5f7b2a697c2b576a1f6b85455e7429576b333f4e1e2f3c2230432147581f576b33
+475832576a624758324960324b6933618345576b33547443576b334960323d573b
+3d5f25618345708f31708f3160832a60832a6b85455474285474435f7b2a6b8545
+61834549732360832a567f3a3c582230444d2b33222b33222f3c22304321497323
+657c444960323f4e323a44232f3c22496032344d1e3c58224758324960323f4e1e
+56603a576b333f4e1e354c312a3438272c1f2a34382b33223d5f253d573b627444
+6f8f528c9853778746697c2b6b854576872d5e74294b681e5e74296b8545576b33
+5f7b2a656c26576a1f576a1f47581f3f4e1e576b333f4e1e576a1f76872d5e7429
+3f4e1e373e431e241b262e3524261c262e35272c1f262e353f4e1e55602447581f
+2f3c2254742876872d54742860832a60832a5e74294b69333d5f255474286b852c
+5f7b2a54742880a03b80a03b6b852c719732729e348ea83e80a03b8e9f3b547428
+60832a7b903476872d4b681e49601f60832a6b852c41671b708f31708f31557f22
+60832a6b852c7d9736729e34729e345f7b2a6b852c7f97536b852c3c5822304321
+3043212f3c222b33222b33222f3c222f3c22272c1f2b33221e241b2b33222f3c22
+344d1e3c5822344d1e2f3c22344d1e4b681e49601f697c2b80a03b80a03ba1a73c
+8e9f3b708f314b681e49601f3c5822354c313a44233f4e1e3a4423344d1e344d1e
+3f4e1e576a1f47581f3f4e1e3f4e1e555824576a1f55602449601f5f7b2a4c5026
+2f3c222b33223a44232f3c222b33222b3322272c1f2b33223043213f4e1e3c5822
+272c1f24261c24261c1e241b272c1f576a1f576b33344d1e576a1f556024344d1e
+3f4e1e576a1f666b3b7787468ea059a1b1707d97368e9f3b7b90345f7b2a5f7b2a
+5f7b2a576b336b852c5e74295f7b2a5f7b2a71973280a03b80a03b7b90347b9034
+76872d77874677874668752b5e7429aea886d3cea268752b5560245f7b2a5e7429
+54742849601f576a1f5e742976872d7c905376872d757b2d3a44232b33222f3c22
+344d1e49601f5f7b2a4b681e47581f47581f556024383c23383c233a4423342d1f
+2f3c223f4e1e5560242f3c223a44233f4e1e2f3c224b681e576a1f5e7429556024
+55582456603a666b3b9fa0569fa05676872d576a1f8c9835708f318b90338b9033
+76872d576a1f68752b697c2ba1af4e8b9033576a1f47581f3f4e1e5e74295f7b2a
+4b681e3f4e1e2f3c223f4e1e68752b697c2b5f7b2a6b852c5f7b2a557f225e7429
+5e74293f4e1e5e7429697c2b697c2b757b2d76872d87872c7d973647581f342d1f
+24261c272c1f272c1f24261c24261c333522272c1f272c1f2f3c223a44234c5026
+666033766427867c4c8b9033c0b8a6b2a8569fa056a1af4e8c98539fa8579fa857
+b1b069b2a05386874a3a44234c5026656c26656c26757b2d76872d3f4e1e47581f
+3043214b681e6b852c5f7b2a3a44233043213f4e1e344d1e383c233a4423344d1e
+344d1e3043212f3c22344d1e5f7b2a576a1f3f4e1e47581f697c2b708f318e9f3b
+7d97368c98357b90347b9034656c2668752b47581f344d1e30432130432149601f
+47581f3f4e1e3a44234b681e5e74295560246b85453f4e1e30432149601f6b8545
+76872d5e742947581f3043213f4e1e304321383c233335222b3322304321272c1f
+2b33222b33223043214c5026344d1e2f3c223043213043215474284b681e4b681e
+49601f3c58223f4e1e4b681e576a1f5f7b2a3f4e1e656c26344d1e4b69337d9736
+5f7b2a60832a71973277874649601f47581f41671b5e7429697c2b55602447581f
+697c2b697c2b344d1e5e74295f7b2a3c58223f4e1e47581f41671b3d5f25547428
+496032547443567f3a547443547443576b334b6933576b33627444547443496032
+41671b708f31567f3a6183456f8f5260832a6b852c5474284b69333d5f25547428
+3c582241671b6183456b852c4973233c582241671b4b69333d5f254973235f7b2a
+5474284960324b693341671b5474285474433d5f25576b333c5822383c232b3322
+3f4e32657c4449603247581f3f4e322f3c22333522304321576b3349601f41671b
+7c9053657c44708f316b852c6b852c627444576b33576b335474285e74294b681e
+5f7b2a5f7b2a5f7b2a49603256603a576b333d5f254b69335f7b2a708f31496032
+49601f4b681e344d1e3a44232b33222b33223a44233043216f8f525e7429657c44
+60832a7787467b90344b69336f8f52627444344d1e344d1e3c58223f4e1e557f22
+719732708f3176872d7d973691af4991af4991af497d9736719732557f225f7b2a
+708f318ea83e708f315e742980a03b7d9736497323497323708f314b681e4b681e
+6b852c708f317d9736719732557f223c58223c58225e74294b681e344d1e344d1e
+344d1e2f3c223043212b3322272c1f1e241b272c1f1e241b272c1f272c1f2b3322
+344d1e344d1e304321344d1e4b681e4b681e41671b557f227b90347b90348e9f3b
+7d97367d97365e7429344d1e304321383c232f3c224b681e344d1e47581f5f7b2a
+576a1f49601f344d1e47581f344d1e3a44233f4e323f4e1e3f4e1e49601f3f4e1e
+3f4e1e47581f47581f2b33223335222f3c222f3c2230432149601f49601f47581f
+2b3322272c1f24261c272c1f47581f60832a3f4e1e2b33223f4e324c5026556024
+6274446b85455e7429778746a1af4e8c98538c98538c98536b85455f7b2a6b852c
+60832a5e742960832a5e7429657c445e7429697c2b7b90347b90347b903476872d
+7b903476872d576a1f697c2b6b852c9ea08ac3c17a76872d68752b49601f41671b
+576a1f576a1f697c2b697c2b5e7429576a1f6b852c576a1f2b33222b3322354c31
+304321344d1e5560243f4e1e47581f3f4e1e2b33223335223335222b33222f3c22
+49601f5e742947581f2f3c22383c233f4e1e3a44233a44233a44233335223f4e1e
+49601f2b33225558249a91789fa05655582447581f6b852c68752b8c98358b9033
+68752b76872d5560248c9853a0a03a87872c697c2b60832a5e74296b852c697c2b
+5e74295e74293f4e1e47581f576a1f576a1f68752b5e74295f7b2a6b852c76872d
+76872d3f4e1e30432147581f6b852c5474285f7b2a7b90347b9034757b2d333522
+24261c24261c24261c24261c272c1f3335223335223335223335223335223a4423
+2f3c224e44259f9035b1b069c0b8a6c2b8689fa8579fa056b1b069b1b069b1b069
+9e98539e9853757b2d55602468752b76872d757b2d5560243a4423333522344d1e
+47581f5f7b2a6b852c76872d3a44233a4423383c232b3322272c1f30432147581f
+47581f272c1f2f3c22576a1f5e74296b852c60832a708f3176872d697c2b76872d
+757b2d7787468b90337b903476872d697c2b47581f3f4e1e49601f47581f3f4e1e
+2f3c22304321304321576a1f2f3c2247581f5e74295e742949601f49601f547428
+47581f3a44232f3c22304321344d1e344d1e2f3c22272c1f2b33223335222b3322
+272c1f272c1f2f3c222b33222f3c224c5026576a1f3a44232f3c222f3c223f4e1e
+3f4e1e2f3c22304321333522344d1e4b681e344d1e3a44233f4e1e8c985380a03b
+7d97366b852c5f7b2a6b852c4b681e5f7b2a4b681e4b681e697c2b6b852c6b8545
+6b852c49601f3d5f254b681e4b6933576a1f49732354742860832a60832a49601f
+547428547443627444657c446274446b8545576a1f6274446b8545697c2b719753
+6f8f52719753708f31567f3a5f7b2a61834560832a60832a567f3a4b681e4b6933
+576b334b6933557f226f8f52567f3a497323567f3a547443567f3a567f3a547428
+576b3349603249601f5f7b2a547428567f3a4b69333c58223043212e3c442b3322
+3a44233043214758324b69334758322f3c223f4e324960325474286274443c5822
+354c31344d1e7c90538c9853697c2b49603249603249601f576b3349603249601f
+576b334b69333f4e1e3043213f4e324c502649601f657c44697c2b49601f5e7429
+697c2b6274444960325e74295f7b2a5f7b2a7d97367b90346b852c6b852c778746
+576b33576b336b852c60832a5f7b2a47581f4b693360832a547428576a1f80a03b
+8ea83e91af498e9f3b91af499eb74c7d973691af49708f3171973280a03b9eb74c
+8ea83e8ea83e8e9f3b708f318ea83e8ea83e7d97366b852c7b90346b852c4b681e
+7b90346b852c5e74295f7b2a54742841671b618345697c2b60832a6183455e7429
+5f7b2a3043212b33221e241b272c1f272c1f272c1f272c1f1e241b2b3322272c1f
+2b3322304321344d1e5f7b2a5f7b2a4b681e60832a6b852c60832a5f7b2a8b9033
+76872d708f315e7429557f224b681e656c26697c2b708f314973235474284b681e
+3c5822344d1e3f4e1e5560243a44233a44233f4e1e49601f49601f3f4e1e576a1f
+5e7429576a1f3f4e1e2b33223a442347581f47581f49601f5560243f4e1e333522
+24261c272c1f2f3c224b681e68752b4960322f3c22272c1f272c1f3335223a4423
+3f4e1e4c50265e74299e98538c98538c98536b852c6b852c5f7b2a6b85457d9736
+6183455e742949601f5f7b2a576b33576b337c9053778746697c2b7b9034697c2b
+6b852c68752b68752b576a1f697c2b86874a9fa056666b3b697c2b576a1f5f7b2a
+576a1f5f7b2a7b90346b852c576a1f3f4e1e576a1f47581f3043213a4423333522
+2b33222b33223a44233a442347581f47581f3c58223f4e1e3f4e1e383c232f3c22
+47581f4b681e47581f2f3c2247581f697c2b47581f576a1f3a4423383c23556024
+4c50262f3c2255602475704d8b905574643e3f4e1e656c2668752b7b90345e7429
+5e742968752b5560247b90348e9f3b76872d6b852c6b852c576a1f576a1f556024
+5560243f4e1e555824383c23383c23304321656c265f7b2a697c2b757b2d8c9835
+757b2d3f4e1e2f3c223f4e1e5f7b2a49601f576a1f6b852c656c26556024272c1f
+272c1f24261c24261c24261c272c1f383c232f3c22304321333522342d1f342d1f
+2b33224c50269e98538c98539fa056c3c17ab1b0698c98538c98539fa857b1b069
+b1af4d8b903368752b5560246b852c60832a697c2b3f4e1e383c233335222f3c22
+3f4e1e60832a6b852c697c2b3a4423383c233335224c50263f4e1e47581f344d1e
+344d1e2b3322344d1e576a1f576b3347581f656c266b852c5f7b2a5e74295e7429
+656c266b852c8c98357b90347b903476872d4973233d5f2549601f344d1e304321
+304321344d1e3c5822556024272c1f3043215f7b2a5e7429576a1f3f4e1e4b681e
+576a1f5e74293f4e1e344d1e49601f47581f344d1e272c1f272c1f342d1f272c1f
+272c1f3335222f3c222b33222b3322344d1e49601f47581f3f4e1e3f4e1e304321
+344d1e383c232b33222f3c223f4e1e344d1e3c582249601f41671b7f97537d9736
+8c98357f975376872d757b2d576b335e7429657c44576b3377874676872d8c9853
+697c2b576a1f496032344d1e3f4e1e3f4e1e6b852c6b852c4973235f7b2a576a1f
+547443496032354c316274446183457787467b903476872d6b85456b85457c9053
+60832a6b85456f8f5260832a5f7b2a567f3a5f7b2a708f316f8f526f8f52778746
+7f97537c905360832a719753547443354c313043213c58223d5f255474433d5f25
+3d5f254960325e74294b6933497323557f224973234960322b33222f3c22342d1f
+262e35342d1f3336423335222b33222f3c22344d1e576b334b681e344d1e304321
+3f4e322f3c22657c447c90535f7b2a6b852c6b852c6b8545344d1e547428557f22
+4b69332f3c22304321333522576a1f697c2b697c2b7f97535e74295e74294b6933
+354c31304321354c31344d1e4b69335e74295f7b2a697c2b6b852c6b852c7d9736
+697c2b7f97536b85454b681e6183455f7b2a7b903471973260832a7197328e9f3b
+80a03b9eb74c91af498ea83e8ea83e7197327d97367d973660832a80a03ba1af4e
+8ea83e80a03b60832a7197328ea83e8ea83e91af496b852c8ea83e7d97367b9034
+91af497b903449732341671b3c58223c58224b681e60832a77874649601f5e7429
+60832a41671b304321272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f
+262e35272c1f2f3c225f7b2a7b90345474285474286b852c5f7b2a49601f7b9034
+697c2b5e7429576a1f7b903476872d8c98357d9736557f22557f22557f22547428
+5e742947581f5e74295f7b2a556024576a1f5e7429576a1f49601f556024576a1f
+68752b576a1f3f4e1e30432147581f49601f49601f576a1f2f3c222f3c222b3322
+2b33223043215e7429576b3347581f2f3c22272c1f24261c272c1f2b332247581f
+47581f5560247c90538c98358ea0598c98537f97536b85455474285e74295f7b2a
+697c2b4b69334960323f4e1e4b681e4b681e576b3360832a5f7b2a5f7b2a6b852c
+68752b576a1f5f7b2a656c264b681e576b339fa0568c983576872d7d9736708f31
+6b852c7b90347d97366b852c68752b49601f5e74295e7429656c2647581f344d1e
+2f3c223f4e1e383c233043212f3c223f4e1e576a1f47581f3a4423383c23304321
+697c2b3f4e1e556024576a1f55582476872d68752b576a1f3043213335223f4e32
+272c1f272c1f47581f5558248b9055b1b069656c2676872d576a1f656c26656c26
+68752b576a1f656c267b903476872d6b852c697c2b576a1f4b681e697c2b6b852c
+555824383c233a44232b33222b33223335224b681e76872d6b852c7b9034b1af4d
+76872d576a1f49601f576a1f3f4e1e3a442347581f47581f3f4e1e3f4e1e342d1f
+44362324261c24261c24261c272c1f333522333522272c1f272c1f272c1f272c1f
+4e44259fa056757b2d86874a8b9055ada17fc3c17a757b2d8b9033a0a03a9fa857
+9fa8579fa056757b2d576a1f4b681e5560244b681e576a1f344d1e2f3c22383c23
+2f3c2247581f4b681e47581f2b33222b3322272c1f3f4e1e3f4e1e47581f304321
+2f3c223a44233a44233f4e1e2f3c223a442349601f697c2b697c2b697c2b656c26
+576a1f76872d8c98357b90347d973676872d547428557f22576a1f3c5822304321
+2f3c222f3c2249601f5e742930432147581f5f7b2a576a1f55602447581f697c2b
+4b681e5f7b2a576a1f49601f41671b3043213a44233043212f3c222b33222b3322
+2b33223335222f3c22272c1f3043213c58223c5822556024576a1f2b33223f4e1e
+344d1e3f4e1e3335223a44234973233c58226b852c6b852c6b852c6b852c7b9034
+8c98537b9034819f597b9034576a1f547428708f318c9853697c2b76872d7d9736
+697c2b697c2b4b681e2f3c223043214b69335e742976872d5e74295e74296b852c
+4758323f4e323f4e32576b336f8f52708f316183456b85455474286f8f526b8545
+708f3161834560832a819f597197326183455474284b6933567f3a547428778746
+92a88d7c90536b8545697c2b3d5f253c58224b69333d573b3043214960325e7429
+4b69333d5f253c58224960325f7b2a576b333a44232a34382b33222a34383f4e32
+344d1e2f3c223a44233f4e322f3c223043213d5f254b69334758323c58223d573b
+5474283f4e1e4758327c90535f7b2a6b852c576b336b852c47581f657c445f7b2a
+576b333f4e325e74293a4423576b336b852c656c26576a1f576b335e74293f4e1e
+3043212f3c223f4e1e3f4e1e41671b60832a6b852c6b852c76872d7b903476872d
+76872d76872d7d97367b9034697c2b7c90537b9034708f31708f3160832a8ea059
+7d97367d9736778746557f22708f3171973260832a557f2249732360832a60832a
+7b903460832a41671b41671b708f318ea83e7d97366b852c8e9f3b7d9736729e34
+7d97365f7b2a497323497323344d1e3c5822344d1e4758325e74293f4e1e56603a
+576a1f576b334973233c58222b33221e241b272c1f272c1f1e241b272c1f2b3322
+2b3322272c1f2b3322344d1e5e7429697c2b7b90347d97366b852c49601f8c9835
+8c9835708f318c98357b903480a03b8e9f3b76872d5f7b2a576a1f60832a719732
+5e74293335224c502641671b556024556024576a1f656c2647581f4c5026576a1f
+656c2647581f3f4e1e4b681e5e742949601f383c23383c232b33222f3c222f3c22
+2f3c222f3c223f4e1e3a4423304321272c1f2b33222b3322304321697c2b76872d
+576b3347581f7787467c905392a7598c98356b852c697c2b576b335474285f7b2a
+6b85455e74293c58223d5f256b8545576a1f708f318c9853697c2b76872d5f7b2a
+4b681e68752b5f7b2a47581f3f4e1e576b339ea08a767b4747581f697c2b7d9736
+6b852c5e742968752b76872d576a1f68752b5e74294b681e3c58224b681e344d1e
+49601f576a1f2f3c223a44232f3c224c50263f4e1e5560243a44232b33222f3c22
+3f4e1e3f4e1e47581f3d5f253a4423555824576b33656c264c5026383c23333522
+2b3322383c2347581f3a4423574f26aea886ada17f574f264c50263a44233a4423
+5560244c502668752b87872c76872d697c2b3f4e1e3a44233f4e1e68752b76872d
+697c2b55602449601f4b681e576a1f68752b76872d697c2b6b852c76872d7b9034
+656c2660832a76872d5560243335223335223f4e1e49601f3c5822344d1e333522
+3a442324261c24261c24261c24261c272c1f383c233a44233f4e1e3f4e1e556024
+afb09e9fa0567b903487872c8c98539e9853b2a8568ea0598c9835a0a03aa0a03a
+9f98359fa8579fa0568b9033656c2647581f47581f47581f49601f49601f76872d
+55602447581f576b334c50263f4e1e3f4e1e3a44234c5026556024576a1f576a1f
+3f4e1e3f4e1e3c582247581f3f4e1e3a442347581f5e742976872d5e742976872d
+76872d697c2b68752b757b2d7b9034557f225e74296b852c76872d4b681e3f4e1e
+2b33222b332247581f6b852c697c2b576a1f5e74295e74293f4e1e47581f49601f
+547428576a1f49601f344d1e47581f3043212b3322383c233c5822344d1e2b3322
+2b3322272c1f3043213f4e1e47581f47581f3043213f4e1e3335223335223a4423
+3a44232b33223f4e1e6b852c5e742949601f76872d576a1f76872d5e74296b852c
+7b90346b852c71973276872d576b335e74297b90348c98538b90335e74295f7b2a
+6b852c8e9f3b7f97535e74294b681e77874668752b697c2b4b681e5f7b2a767b47
+354c31304321354c314b69336f8f52547443657c446f8f525e74296f8f526f8f52
+7d97366b85454b69335f7b2a708f316b852c567f3a4b6933557f22618345719753
+80a03b6b852c7d97367197534b69333d5f25354c313043212e3c44304321576b33
+576b334b69333c58223d573b576b334960322b3322272c1f262e352b3322304321
+3944463d573b576b334b6933496032576b33576b335e7429576b332f3c222f3c22
+5e7429547428344d1e576b33778746697c2b576a1f76872d6b852c6b852c657c44
+3d5f25304321576b33354c31576b3368752b49601f2f3c22627444697c2b5f7b2a
+4b681e4b693347581f60832a6b852c76872d76872d557f22708f316b852c91af49
+92a75992a7599eb74c80a03b9eb74c8ea83e60832a708f316b8545697c2b7f9753
+80a03b7197536b852c54742860832a60832a557f2241671b4b69333c5822576b33
+5f7b2a5e7429547428719732729e34708f316b8545618345708f31708f31719732
+7b90346b852c557f22819f594b69333043213043213a44232f3c22354c312b3322
+3043214960322f3c222f3c22272c1f272c1f262e351e241b272c1f272c1f272c1f
+272c1f2b33222b33222f3c22344d1e5f7b2a7d97368ea83e8e9f3b8c98358e9f3b
+8c98357d97367d97368e9f3b7b90348b9033576a1f47581f3c5822344d1e3f4e1e
+47581f3f4e1e47581f54742849601f47581f4c5026576a1f3f4e1e4c5026576a1f
+697c2b4c50262b3322383c234c5026383c23272c1f272c1f3335222f3c223a4423
+2f3c223335222b3322272c1f342d1f24261c24261c33352247583249601f5e7429
+576a1f697c2b697c2b757b2d8c98536b8545576b3360832a5e74295e74296b8545
+697c2b3d5f253f4e1e3f4e1e5e74296b852c778746708f3160832a708f31556024
+3f4e1e4c5026576a1f3f4e1e475832576b339e98538c98537b90345e74295e7429
+68752b656c266b852c8c983576872d76872d5e74296b852c8c9835708f3176872d
+76872d76872d576a1f49601f3f4e1e766e2d76872d6b852c5560243335223c5822
+4b681e47581f576a1f5e742947581f556024576a1f47581f47581f3f4e1e3a4423
+383c233a4423383c23383c233a442374643eada17f6660333335223a4423576a1f
+68752b556024697c2b87872c556024556024556024333522383c23576a1f708f31
+708f31576a1f6b852c5f7b2a6b852c708f316b852c76872d6b852c5f7b2a6b852c
+576a1f576a1f5e742947581f3a44232b332249601f6b852c576a1f3043212f3c22
+4e4425342d1f24261c24261c272c1f3f4e1e697c2b6b852c87872c8c98359e9853
+9fa8579fa0568b90338c9835a1a73c9e98539fa0569fa0568b90338c98357d9736
+7d97369e98538c985387872c5560243a4423333522383c235560246b852c7d9736
+6b852c68752b576a1f47581f656c267c90537d97367b9034757b2d697c2b5e7429
+3f4e1e2f3c223a44232f3c224758324c502649601f76872d8e9f3b55602449601f
+697c2b5e7429576b33555824576a1f5e742976872d708f315f7b2a49601f304321
+2b33222b33223f4e1e4b681e4b681e5e7429576a1f344d1e3c5822304321304321
+47581f47581f3a44233f4e1e3043212f3c222b33222f3c223335222b33222b3322
+344d1e3c58225f7b2a49601f547428697c2b3f4e1e2b332249601f576a1f3f4e1e
+576a1f5558245e7429656c26697c2b757b2d6b852c666b3b68752b697c2b8c9853
+7b9034697c2b7c90538c98355f7b2a6b852c708f31708f317c9053697c2b47581f
+6b852c7b90346b852c4b681e5f7b2a7b90344b681e656c263f4e1e697c2b7b9034
+3d5f253d5f253d5f254960327f9753576b33657c446f8f52557f22708f31567f3a
+5f7b2a708f315f7b2a5474435474436f8f524973235f7b2a60832a557f22657c44
+60832a60832a7f9753719732557f22496032304321354c313043213d573b304321
+3c582249601f3d5f253043212f3c222f3c223043212e3c443043213f4e1e3c5822
+3f4e1e354c313f4e1e3f4e1e496032354c31383c234960325e74293043213f4e32
+60832a697c2b4b69336b852c7b9034778746576b335e74295e74294b681e475832
+3043213a442356603a3a4423576a1f666b3b4960323f4e1e5e74295e74295f7b2a
+576a1f5f7b2a4b69336b852c6b852c719732719732708f31708f318ea83e8ea83e
+8ea83e8ea83e7d97368ea83e71975371973280a03b80a03b708f31708f317f9753
+71973260832a708f3171973260832a708f3160832a3d5f253f4e1e49601f5e7429
+41671b5e74297b90347d973680a03b719732557f223c5822576a1f7b903460832a
+657c445f7b2a5f7b2a41671b344d1e2b33223043213c58223043212b33222b3322
+2b33223043213a4423272c1f2b33222b33222b33222b3322272c1f272c1f2b3322
+272c1f1e241b272c1f272c1f3043213c5822576a1f708f3180a03b8e9f3b5f7b2a
+697c2b576a1f5f7b2a76872d7b90348c983576872d7b903449601f49601f5e7429
+47581f49601f76872d5f7b2a49601f49601f47581f55602447581f3a44233f4e1e
+47581f3f4e1e333522304321383c232b3322272c1f2b3322342d1f2b3322333522
+2b3322272c1f272c1f24261c272c1f342d1f2b33222b33223a44233a442349601f
+49601f576a1f7b90347b90348c98537b903476872d77874676872d80a03b7d9736
+7787464b681e344d1e49601f576b3360832a576a1f576b333c582249601f47581f
+47581f3a442368752b3a44233f4e1e5f7b2a8c98538c9853697c2b6b852c6b852c
+5f7b2a6b852c76872d6b852c697c2b7b9034697c2b6b852c76872d7b90347b9034
+7d97366b852c76872d757b2d68752b8c98538ea0598c98357b90343f4e1e5f7b2a
+76872d576a1f656c26576a1f4b681e576a1f576a1f656c2668752b49601f68752b
+656c26576a1f4c50264c50264c50263a4423867c4c9f91543a442347581f5e7429
+4b681e68752b8b903376872d3f4e1e5560245560243f4e1e55602468752b76872d
+708f3176872d76872d576a1f4b681e576a1f5f7b2a76872d697c2b5e74295f7b2a
+547428576a1f6b852c68752b4b681e656c26757b2d5e74294c50262b3322272c1f
+272c1f24261c1c1e19342d1f333522697c2b576a1f76872d7b90347b90348c9835
+8b90338c98357787468b90339e98539fa8579f98358c98538c98358e9f3b7b9034
+76872d76872d8c98357b903468752b3a4423383c23656c26757b2d8ea059697c2b
+68752b68752b68752b697c2b6b852c76872d7c9053708f316b852c6b852c5f7b2a
+3f4e1e2b33222b33222b332247581f556024697c2b80a03b757b2d55582447581f
+87872c5e74295e74295e7429576a1f4b681e697c2b5e742949601f2f3c22342d1f
+3335223043212f3c223f4e1e3f4e1e5f7b2a4b681e3d5f2554742849601f49601f
+49601f47581f3f4e1e3f4e1e344d1e3f4e1e3043213043212f3c222b33223c5822
+4b681e3c58223f4e1e3a442355602468752b574f263a44235f7b2a6b852c47581f
+5e742986874a767b4755582468752b576a1f68752b4c50265558247b90348ea059
+8c983576872d7b9034a1af4e6b852c6b852c708f3160832a77874686874a556024
+576b336b852c6b852c5e74295e742949601f49601f697c2b576b334b681e76872d
+41671b3d573b496032475832547443576b336b854560832a4b6933618345618345
+5f7b2a6b852c708f3149601f344d1e4b693349601f4b69334b69333f4e322f3c22
+354c31496032657c446183456183454758322a3438354c313c5822547428496032
+41671b547428567f3a496032354c31344d1e3d5f25344d1e3f4e32354c31304321
+344d1e47581f3d573b344d1e2f3c22342d1f272c1f383c23627444576b334b6933
+5474286b852c4b681e6b852c80a03b7787465f7b2a697c2b576b335e74294b681e
+4758323335222f3c223f4e324c5026576a1f4e44254c50265e742976872d6b8545
+5f7b2a3f4e1e3043213d5f254b681e497323557f22557f22729e3491af4980a03b
+8ea83e80a03b71973291af497197326b852c5f7b2a7b903460832a6f8f5260832a
+60832a80a03b6b852c6f8f524973235f7b2a708f31576a1f47581f576b33304321
+576b33708f316b85455f7b2a5e742976872d5f7b2a708f317197326f8f526b852c
+41671b5474286183454973233d5f25344d1e2f3c222f3c223f4e1e2b33222f3c22
+3a4423344d1e2b33222b3322272c1f272c1f2b33221e241b272c1f272c1f272c1f
+272c1f272c1f272c1f2f3c223f4e1e47581f49601f708f317197325e742949601f
+5e74294b681e697c2b708f3176872d7b9034697c2b76872d6b852c60832a7b9034
+6b852c708f31708f31656c26697c2b68752b55582447581f4c5026576a1f3f4e1e
+2f3c22333522383c233a44233a4423333522272c1f24261c24261c272c1f272c1f
+24261c24261c24261c1e241b272c1f2b332247581f47581f49601f5e7429778746
+76872d76872d8c98538b90338ea0598c98537b903486874a6b852c7f97535f7b2a
+61834547581f47583249601f6b854549601f576a1f4b681e3f4e1e4758323f4e1e
+49601f5e7429697c2b697c2b76872d8b90338b903376872d5e74295e742960832a
+5e74295e7429697c2b5e742987872c7b90347b90348b90338c98357b903476872d
+697c2b76872d76872d8c983586874aa0a03a8b903376872d76872d757b2d7b9034
+8e9f3b8c983576872d6b852c697c2b708f316b852c697c2b576a1f556024556024
+304321656c26697c2b55602468752b574f2675704db1b06968752b697c2b697c2b
+5e7429656c26697c2b68752b3f4e1e3f4e1e556024555824757b2d6b852c76872d
+4b681e76872d76872d60832a6b852c76872d4b681e6b852c708f31697c2b47581f
+3f4e1e4b681e6b852c6b852c8b90337b903476872d555824342d1f272c1f342d1f
+24261c24261c24261c333522383c235e742947581f49601f76872d6b852c76872d
+7b90348b903386874a87872c8b90339fa0568c983568752b8b90338e9f3b8c9835
+68752b576a1f7b90347d973676872d576a1f576a1f576a1f76872d8c983568752b
+576a1f757b2d76872d68752b6b852c76872d7b9034576a1f5e742960832a547428
+2f3c22272c1f2b33222f3c223a442347581f5e742976872d68752b4c50266b852c
+8b903368752b87872c656c265560243f4e1e5474284b681e344d1e2f3c22272c1f
+2b3322576a1f5e7429576a1f49601f5e74294b681e5560243f4e1e4b681e49601f
+3a4423344d1e5560245560245558243a44233f4e1e3f4e1e3f4e1e47581f576a1f
+5e74294b681e5f7b2a76872d6b852c656c265558243a4423697c2b68752b4c5026
+76872d7b9034757b2d757b2d76872d7c9053656c26656c264960327b9034708f31
+7d973676872d7d97367d97367b9034708f31708f31697c2b68752b76872d556024
+344d1e49601f7b9034697c2b5560243f4e1e49601f5f7b2a5e74293f4e1e5f7b2a
+4960323f4e3249603254605f3f4e32496032627444547443344d1e567f3a547443
+547443657c446183454b69335474285f7b2a6274443f4e323d5f254960322f3c22
+3d573b3d5f25344d1e41671b576b332f3c222a34382f3c223c5822567f3a4b6933
+4b69335474434b681e344d1e3c58224758324960323043212f3c222f3c22304321
+54744341671b3f4e1e354c31262e353335222f3c223043214960325e74294b6933
+47581f6b854576872d6b852c5f7b2a5f7b2a5f7b2a6b852c6b852c5e74294b681e
+5f7b2a49601f47581f657c44576b33627444666b3b7787466b852c8e9f3b80a03b
+8ea83e7197326b852c5f7b2a60832a708f31729e34729e3491af4960832a6b852c
+80a03b80a03b91af49819f597197534b681e657c44708f31657c444b681e576a1f
+5474286f8f5260832a5f7b2a41671b708f3171973260832a3c58222f3c222f3c22
+557f225f7b2a6b854549601f496032656c267b90348e9f3b708f317197326b8545
+3c582249601f60832a3d5f253d5f252f3c22262e35272c1f272c1f2b33222b3322
+2b33222b33222b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f2f3c222f3c223d5f25697c2b76872d8e9f3b76872d6b852c697c2b
+5f7b2a5f7b2a6b852c76872d576a1f76872d8c98357b9034576a1f8e9f3b80a03b
+8c9835708f315e7429656c2687872c697c2b5560244c502647581f47581f4c5026
+3f4e1e4c50263a44233335222b3322383c23342d1f272c1f24261c24261c24261c
+1e241b24261c1e241b272c1f272c1f272c1f3a4423576a1f5e7429697c2b697c2b
+87872c7787468e9f3b8c98538e9f3b8ea0598c98538b90338ea0598b90335e7429
+576a1f47581f55602447581f5e7429576b335e74294b681e496032576b334b681e
+697c2b697c2b576b335e74297b90348c98537b9034697c2b47581f576a1f3c5822
+576a1f4b681e3f4e1e49601f68752b5e7429697c2b7b90347f97537b9034576a1f
+5e74295f7b2a7b903492a7598c98358c985376872d6b852c76872d5474288c9835
+8c9835697c2b757b2d7b9034757b2d76872d5f7b2a6b852c5560243f4e1e4c5026
+47581f5560245560243a4423697c2b656c26766e2d9fa8579fa056697c2b697c2b
+4b681e6b852c697c2b6b852c68752b68752b76872db2a8569fa85768752b6b852c
+697c2b697c2b5f7b2a76872d76872d5f7b2a6b852c76872d6b852c76872d383c23
+2f3c22576a1f556024697c2b697c2b757b2d68752b3a4423342d1f272c1f24261c
+24261c24261c24261c342d1f3335224c50263043213f4e1e576a1f6b852c76872d
+708f317d97369f98358b90338b90339f983576872d76872d7b90348c98357b9034
+76872d576a1f76872d697c2b5e742955602468752b576a1f76872d6b852c6b852c
+697c2b697c2b76872d68752b697c2b708f31697c2b47581f47581f5e74294b681e
+304321342d1f333522383c23574f26555824576a1f576a1f697c2b68752b708f31
+8b903387872c87872c6660334c50263f4e1e49601f49601f2f3c222f3c222b3322
+3335225560246b852c576a1f3a4423576a1f576a1f68752b576a1f576a1f576a1f
+656c26576a1f656c265e742987872c47581f47581f708f3160832a49601f344d1e
+6b852c87872c7b90345560244c502668752b757b2d757b2d68752b7d973676872d
+8e9f3b8c9853767b47656c268c98538e9f3b7d9736697c2b7b90347f9753708f31
+7d97366b852c76872d7d97368c98537b90346b85455f7b2a3f4e1e576a1f656c26
+47581f49601f60832a7b90346b852c576a1f60832a76872d697c2b576a1f5e7429
+3d5f253c58224758323f4e32475832657c446f8f52567f3a576b33697c2b547443
+354c3141671b4973234973235f7b2a60832a3c58223043213f4e323043212b3322
+3f4e323d5f2541671b4973233d5f253043212a3438272c1f354c313d5f253c5822
+3a4423354c314b69333d573b3d573b3c58223c58223d5f255f7b2a576b33547428
+6274443a44232a34382f3c222a34382f3c223043214758326274446b852c5e7429
+49601f76872d7d97366b85454973236b852c6b852c697c2b68752b6b8545576a1f
+708f315e74295e742976872d47581f576b335f7b2a778746656c268c985380a03b
+80a03b8ea83e7d9736708f3191af499eb74c80a03b91af498ea83e4b693380a03b
+60832a708f3171973280a03b5e7429697c2b719753708f3141671b60832a708f31
+4b681e7d9736547428708f31708f31708f31708f313d5f25354c31304321547428
+7d97367d97365f7b2a4b681e3d5f2549601f778746708f317b90345e74293d5f25
+344d1e3043216274443c58222f3c222f3c22272c1f272c1f2b33222b33222b3322
+262e352b3322272c1f272c1f2f3c222b33222b33221e241b272c1f2b33221e241b
+2f3c22304321344d1e4b681e576a1f5e74295e74297d97366b852c5474285e7429
+7b90346b852c5f7b2a697c2b5f7b2a708f3176872d76872d7f97538ea059778746
+76872d8b90336b852c766e2d8b903368752b576a1f576a1f576a1f556024576a1f
+47581f47581f383c23383c23272c1f272c1f272c1f1e241b24261c24261c24261c
+1e241b272c1f333522344d1e272c1f24261c272c1f3f4e1e697c2b7d9736aeb84e
+b0b86c9fa857a1af4eb1af4d9fa0568e9f3b8ea0597b90346b852c697c2b47581f
+576b33656c26576b33697c2b767b47656c2649601f49601f5e7429576b3376872d
+7b90345e742947581f657c4476872d76872d778746576b33344d1e5e742947581f
+47581f5558242f3c223a442347581f3f4e1e49601f697c2b7b903476872d697c2b
+4b681e576b3392a7598e9f3b8c98358e9f3b76872d4b681e5f7b2a5560245e7429
+5e74295e74294b681e76872d7b90347b9034697c2b656c26757b2d68752b556024
+555824656c26656c26656c2676872d767b475560248b90559e985368752b5e7429
+557f2254742876872d76872d8c98357d9736aea886b0b86c9fa0566b852c76872d
+697c2b76872d697c2b49601f5f7b2a656c265f7b2a576a1f47581f3f4e1e383c23
+3f4e1e576a1f3f4e1e383c2347581f76872d8c9835555824342d1f342d1f24261c
+342d1f24261c272c1f3335223335224c502647581f68752b5e7429697c2b5e7429
+68752b697c2b7b9034a0a03a8c98358b90336b852c8b90337b90348b90337b9034
+757b2d5560243a4423383c23383c233a4423556024697c2b8b90335e742949601f
+5e74296b852c76872d76872d697c2b8c98355e74293a44232f3c22383c233f4e1e
+4c50262f3c222b3322556024887b2c87872c8b9033757b2d766e2d8b903376872d
+84712f87872c887b2c656c26656c26576a1f4b681e3a44233335223335223a4423
+2f3c223f4e1e656c2655602449601f68752b68752b55602447581f47581f555824
+4b681e76872d697c2b697c2b7b90346b852c60832a76872d8c98355560243a4423
+576a1f68752b4b681e5e74295e7429556024757b2d556024576a1f8c985376872d
+708f317787467787467787467c90538e9f3b7787466b8545778746697c2b778746
+697c2b7c90537d97368c98357b90346b852c708f3177874654742849601f697c2b
+6b852c576a1f4b681e6b852c697c2b697c2b697c2b7b903476872d76872d6b852c
+3d573b354c313c58223f4e323d573b547443708f316f8f525474286b8545657c44
+3d5f254b69334b69336183455f7b2a354c313043213043212a343830444d344d1e
+344d1e4b69334b69335474283d5f253d5f253043212f3c22475832497323567f3a
+3d5f254b681e3c5822354c312b33222b33223043213f4e324b69335f7b2a5f7b2a
+576b333043212f3c22333522304321394446383c233043213a44236b85455e7429
+4b69335e7429697c2b656c26576b3376872d697c2b3f4e1e4758322f3c22496032
+6b8545697c2b697c2b76872d49601f697c2b60832a697c2b697c2b8c9853a1af4e
+8ea83e91af498ea83e8ea83e80a03b708f31557f22708f3141671b3d5f2560832a
+708f31708f316b852c708f31708f316b852c576b3349601f4b69335f7b2a3f4e32
+6183457197323d5f25567f3a497323547428697c2b5f7b2a4b681e4b681e576b33
+7d97366b85454b681e76872d557f2260832a7b90345f7b2a547428496032304321
+2b3322262e35262e35272c1f272c1f262e352f3c22272c1f272c1f272c1f272c1f
+1e241b272c1f272c1f272c1f262e352b3322272c1f272c1f272c1f272c1f272c1f
+2b33222f3c223043217b90347d973676872d60832a76872d7b9034708f3176872d
+5f7b2a5e742949601f47581f5f7b2a708f31708f317b9034a0a03aa1a73c7b9034
+7b9034656c26766e2d76872d87872c556024656c265560243a44233a442347581f
+555824576a1f47581f3a442347581f3f4e1e33352224261c24261c24261c272c1f
+272c1f3c582247581f2f3c2224261c24261c24261c2b332247581f76872d8b9033
+87872c87872c8c98538c98538c98358ea0598c98538b903387872c8b9033697c2b
+697c2b7787465f7b2a6b852c5e74295e74295e74295e74295e7429576a1f5f7b2a
+576b33576b33697c2b5e7429576b33697c2b86874a9e9853656c26556024656c26
+68752b4c5026333522342d1f3a44233a44233f4e1e576b33697c2b5f7b2a5e7429
+47581f5e7429697c2b4b681e76872d7d973649601f49601f60832a4b681e5e7429
+708f316b852c49601f697c2b76872d6b852c697c2b7b9034757b2d697c2b576a1f
+4e44254c502647581f49601f7b90345560243f4e1e576a1f86874a68752b4c5026
+6b852c6b852c68752b5e742968752b76872d7b90348c983576872d76872d76872d
+5e742976872d49601f344d1e4c5026697c2b656c263f4e1e4c5026383c234e4425
+47581f3f4e1e342d1f2b3322383c238b90338ea059576a1f3a442324261c24261c
+24261c2b33223f4e1e767b47656c26766e2d576a1f656c2647581f576a1f576a1f
+757b2d7b90347b90348c9835a1a73c8c983576872d708f3176872d5560244c5026
+3f4e1e3335222b33223a442347581f5f7b2a76872d697c2b76872d697c2b656c26
+656c265e74296b852c76872d6b852c6b852c344d1e272c1f3335222b33222b3322
+383c233f4e1e333522383c23656c269f90359788348b90339788349f98359f9835
+97883468752b87872c8b90335e742949601f4b681e383c232b33223335224c5026
+47581f656c26697c2b76872d576a1f87872c76872d576a1f5e742976872d556024
+3f4e1e576a1f555824576a1f5e7429576a1f7d97368e9f3b76872d76872d304321
+47581f49601f4b681e6b852c7b903449601f656c265560245f7b2a7d97368c9835
+708f317d97366b852c8c98537d97367b903460832a4b681e5f7b2a708f315f7b2a
+6b852c76872d708f317b903476872d5f7b2a5e7429697c2b576b335f7b2a6b852c
+76872d76872d5560243c58225f7b2a60832a5e74295e74297b903476872d708f31
+354c31354c313f4e323043213043214b69336f8f526183454960325e74297c9053
+697c2b6f8f524b681e3c58224960322f3c222e3c442f3c222b33223043214b6933
+4b69334b69333d5f253d5f2549601f4960324b69333d5f25304321344d1e4b681e
+49603249603247581f354c312f3c222f3c22304321354c31354c313f4e32354c31
+3f4e1e49603256603a2f3c223a44235f6156656c266b8545576b336b8545697c2b
+6b854547581f60832a5f7b2a576a1f4b681e5f7b2a3f4e322f3c2249601f576a1f
+3a442347581f76872d7787463f4e1e5f7b2a5f7b2a697c2b7787467b90346b852c
+627444697c2b5f7b2a8ea83e729e3471973271973241671b41671b41671b708f31
+7197325f7b2a3c58224973235f7b2a3d5f25547428576b333f4e1e576a1f304321
+5e742949601f3c5822344d1e3c58223f4e1e4960325e742941671b3c582247581f
+76872d697c2b6b852c49732341671b6b852c7197327d97366b852c6b852c3d5f25
+2f3c222b3322272c1f1e241b1e241b272c1f2f3c222b33221e241b272c1f272c1f
+1e241b272c1f1e241b1e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f
+2b33223a44232f3c2247581f8c9835708f316b852c7b90348c983580a03b6b852c
+5e74295f7b2a5474285f7b2a6b852c6b852c8b90338c985377874686874a76872d
+697c2b656c268b903376872d8c9835656c265560244c50263335224e4425576a1f
+4b681e3c5822576a1f6b852c6b852c5e7429576a1f3a4423383c23333522333522
+47581f5558243a4423272c1f272c1f2b3322272c1f2b332249601f7b90347b9034
+7b90347b90348c98538b9033a0a03a9fa85776872d8ea0598e9f3b7c9053757b2d
+5e74296b8545555824656c265560246b8545697c2b7787465560246274444b681e
+556024556024767b4768752b47581f656c265560249e98539e9853766427778746
+4e4425383c23333522272c1f333522383c234b681e49601f47581f5e74295f7b2a
+3a44233f4e1e344d1e475832666033556024576a1f47581f576a1f5e74295e7429
+76872d49601f47581f6b852c6b852c3a4423697c2b656c26556024666b3b3f4e1e
+3335222f3c222b332249601f6b852c656c26556024657c44697c2b86874a4c5026
+656c266b852c4b681e5560245e742976872d757b2d7b90344b681e5e7429576a1f
+68752b8c9835697c2b5e7429757b2d87872c656c263335222b33222f3c223f4e1e
+656c2647581f3043213043213f4e1e86874a8b9033556024383c2324261c272c1f
+33352275704d9ea88eb1b069aea88684712f656c26697c2b68752b4c50266b852c
+8c98358b90338b90338e9f3ba0a03a8e9f3b8c983576872d68752b3f4e1e2b3322
+2f3c2247581f5e74296b852c708f3176872d76872d76872d76872d5e742949601f
+2f3c2247581f697c2b7b903476872d49601f383c23383c23272c1f2b3322333522
+3a44233f4e1e3043213f4e1e576a1f656c2687872c9f9035a0a03ab1a03d9f9835
+9f9035757b2d757b2d5558243a44235560245560243a4423383c23555824576a1f
+576a1f576a1f8c98358c983568752b697c2b68752b697c2b6b852c697c2b47581f
+344d1e344d1e47581f656c263f4e1e47581f697c2b6b852c5e7429656c2647581f
+76872d49601f3f4e1e3f4e1e5e742949601f3f4e1e4b681e7b90348c9835656c26
+49601f708f31656c266b85457b90347b90346b852c3c58225e74298c9853697c2b
+697c2b708f317d97367d97367b903460832a68752b666b3b3f4e1e47581f656c26
+6b852c576a1f576a1f49601f6b852c708f31697c2b5f7b2a5e7429656c265e7429
+304321354c313f4e323a44233944463d573b60832a567f3a3043214758326f8f52
+557f226b852c618345697c2b4b681e5558243043213043213335224758323f4e32
+354c313f4e32394446354c313c58222f3c223f4e323f4e322f3c22394446344d1e
+3a4423304321304321354c313a44232f3c223f4e323f4e1e4960324b681e576a1f
+4b681e4960324758323a44232f3c22383c23666b3b49601f344d1e5e74297c9053
+49601f4b69335e74293f4e322f3c22475832697c2b354c313f4e1e657c4447581f
+354c31576a1f697c2b3f4e322b3322576b335f7b2a4b681e576a1f576b33576b33
+8c98355f7b2a6b8545729e3460832a6b852c719732557f22557f22729e3480a03b
+76872d819f5947581f7d973680a03b49601f576a1f4973233c58222f3c22497323
+557f223d5f253c582241671b5f7b2a4b681e344d1e3d5f25576b334b681e76872d
+80a03b697c2b7c905360832a557f226b852c557f2249601f5f7b2a7d973660832a
+6b85452f3c223043213043211e241b272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f1e241b272c1f272c1f1e241b2b33221e241b1e241b1e241b272c1f272c1f
+2b33222f3c223a44232f3c225560246b852c49601f5e7429697c2b697c2b5f7b2a
+49601f3c58225e7429557f2276872d7b9034778746666033656c26766e2d86874a
+656c26887b2c8b90338c98537d973668752b5560244c50263f4e1e3a44233f4e1e
+656c26697c2b757b2d87872c7b9034757b2d697c2b697c2b68752b576a1f3f4e1e
+3f4e1e2f3c222b332230432149601f49601f556024757b2d76872d8b903376872d
+8c98358c98358c98358c98539fa8579fa8578c98538ea0598c98355f7b2a697c2b
+778746576a1f68752b697c2b5560245e74295f7b2a778746576b33576b3347581f
+3f4e1e47581f6660333a44234c5026627444576b339a91788c985366592c556024
+656c265558246660333335224e4425574f264c5026344d1e47581f30432147581f
+49601f383c232f3c222f3c223335223f4e1e5e742949601f3f4e1e3c5822576a1f
+5e74295e7429576a1f697c2b5f7b2a3a44233c58223f4e1e3f4e1e47581f47581f
+5560244c50263a4423576a1f656c264b681e47581f576a1f47581f86874a767b47
+555824556024697c2b6b852c6b852c6b852c6b852c76872d5e7429576a1f6b852c
+576a1f76872d6b852c5e742976872d666b3b5558244c502647581f5e74296b852c
+6b852c576a1f3f4e1e576a1f576a1f8b9033757b2d3f4e1e342d1f342d1f2f3c22
+3f4e1e8c9853b0b86cada17fb0b8a3957c2f6b852c76872d555824383c2368752b
+68752b87872c757b2d757b2d757b2d87872c757b2d5e742968752b3f4e1e2f3c22
+47581f6b852c60832a708f31708f3176872d7b903476872d76872d6b852c3f4e1e
+304321697c2b5f7b2a697c2b4c50263a442347581f383c2324261c2b3322304321
+4c50262f3c22344d1e547428576a1f68752b87872c9f98359f9035887b2c757b2d
+76872d5560243a44233f4e1e3a44233a442347581f3a44232b33223f4e1e68752b
+5e74297b90348ea83e8e9f3b8c98357b9034656c2655602449601f697c2b576a1f
+55602476872d76872d556024656c268e9f3b7b9034697c2b5e742947581f4b681e
+4b681e49601f49601f30432149601f5f7b2a576a1f6274446b852c8c9835656c26
+3f4e1e6f8f5276872d708f317f9753697c2b5f7b2a7b90348ea83e7f97536b852c
+60832a7b90347f975380a03b6b852c5f7b2a49601f3f4e1e2f3c22344d1e576a1f
+5e74295f7b2a6b852c6b852c576a1f4b681e5e74294b681e5e742949601f49601f
+304321354c313d4f563043212f3c2230432147581f4758322f3c22304321547443
+719753708f31576b335f7b2a6b85457b9034697c2b757c71627444627444496032
+3a44233335222b3322354c31354c312b3322272c1f262e35272c1f272c1f383c23
+3335222f3c223f4e323f4e322f3c22262e35333522262e352b3322383c232f3c22
+2a34383043214758324758323a44232f3c223d573b3d5f2547583247581f697c2b
+767b47778746697c2b576b3355602476872d76872d5560243f4e323a44233a4423
+3f4e323335222f3c222f3c223335223a442347583247581f497323576b336b8545
+6b852c5f7b2a7197536b852c719732708f31729e34729e34729e3480a03b80a03b
+5e74297b903460832a8e9f3b80a03b7d973676872d5f7b2a3c582247581f7d9736
+708f316b852c60832a5f7b2a6b852c557f223d5f25708f3171973249601f778746
+6b8545697c2b5f7b2a576a1f576a1f54742847581f5474285474285f7b2a60832a
+4b69332f3c222f3c222b332224261c1e241b1e241b24261c24261c1e241b272c1f
+24261c24261c1e241b272c1f1e241b1e241b1e241b272c1f1e241b272c1f272c1f
+2b33223a44236b852c68752b8c98358c9835576a1f47581f47581f49601f304321
+3043212f3c22344d1e47581f576a1f87872c656c26757b2d757b2d9f98359e9853
+9788348b90339f9835b0a83f8b903376872d9f98358b903387872ca0a03a8b9033
+87872c757b2d757b2d97883487872c656c26766e2d656c26766e2d5558244e4425
+3f4e1e4c5026656c2687872c87872c87872c9f9835a1a73cb0a83fa0a03a8c9835
+b2a8568e9f3b8b90338e9f3b8ea059a1a73c8c98538b903376872d697c2b6b8545
+86874a697c2b7b9034697c2b62744468752b6b852c5e74294b681e55602449601f
+656c2649601f344d1e3335223a4423666b3b4c502695885cada17f574f263f4e1e
+5558243a4423383c232f3c224c50265558245560245e7429576a1f333522344d1e
+47581f3043212b332230432147581f304321576a1f344d1e3043213f4e1e5e7429
+708f3154742854742854742849601f3c58224b681e576a1f697c2b5f7b2a5e7429
+697c2b47581f2f3c2255602449601f76872d68752b757b2d5558248b9080c2b868
+555824555824708f317d97365f7b2a6b852c76872d76872d7b903468752b8c9835
+76872d757b2d6b852c47581f6660335558244c50263335222f3c2249601f47581f
+5e74295e7429576a1f697c2b555824656c26757b2d5560243335222b33222f3c22
+3a442386874a8b905576872dc0b197c2b86887872c556024333522342d1f333522
+333522574f26604f2a4e44254c5026383c234e44255e7429708f31556024333522
+2f3c223f4e1e47581f6b852c68752b6b852c5e74296b852c6b852c697c2b4b681e
+47581f6b852c576a1f3f4e1e272c1f272c1f272c1f2b332247581f49601f5e7429
+49601f5560244b681e697c2b49601f5e7429697c2b5e7429576a1f68752b656c26
+757b2d3a4423383c23383c232f3c223a44233f4e1e3a4423383c23576a1f76872d
+7d97368e9f3b7b9034697c2b5e742968752b68752b55602468752b8b903376872d
+8c98358e9f3b8b9033757b2d7d97368c9853656c26697c2b47581f344d1e555824
+68752b697c2b708f31576a1f344d1e3c5822576b335f7b2a5e742976872d86874a
+697c2b7b90347b903476872d60832a76872d60832a708f3192a7598b903360832a
+5f7b2a708f317b903476872d76872d60832a47581f2f3c223c58223d5f255e7429
+76872d697c2b7b903476872d5e7429576a1f576a1f576a1f60832a576a1f49601f
+2f3c223944463f4e1e2f3c224e50433d573b496032475832383c232e3c443f4e1e
+4b69335474283d5f25657c44557f225f7b2a5e742968752b7c905392a7597b9034
+576b3347581f47581f3d5f25354c31304321262e35272c1f3043214b6933496032
+304321333522394446344d1e373e43272c1f272c1f272c1f342d1f2b33223f4e1e
+4b681e697c2b496032475832354c313a442349601f3d5f25304321304321475832
+4960326b854568752b3c58225e74295e7429657c44383c23272c1f2b3322272c1f
+2f3c222b33222a343847583247581f3335222f3c22576b334b681e3f4e1e47581f
+3d5f2549601f497323708f31729e34719732557f226b852c719732708f314b6933
+6b852c8ea83e719732557f2260832a3d5f253d5f25344d1e3043213f4e1e8ea83e
+708f315f7b2a60832a60832a60832a5f7b2a4b681e5e74293d5f255474287d9736
+7b903492a7597197327b90347b90344973233a4423576a1f708f31697c2b576b33
+2f3c222b33223043212a343824261c24261c24261c24261c272c1f24261c272c1f
+272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f2b33222f3c222b3322
+2b33222f3c2255602476872d76872d8b9033697c2b6b852c5e74295560243f4e1e
+2f3c223335223f4e1e47581f66603384712f87872c9e98539f98358b90339fa056
+b1a03dbfb04dbeb751cdb85ebfb04da1a73cb1af4dbeb751cdb85ec2b868beb751
+c2b868bfb04dbfb04dbfb04db1a03db1a03d97883487872c9f9835c0a8459f9835
+a0a03ab2a856bfb04dc1b064d0c074d1b876d1b876d0c074dcc17fdcc17fcdb85e
+c2b8689fa8579fa0568b90337c90538e9f3b8b90558c9853697c2b697c2b697c2b
+6b852c68752b6b852c5f7b2a5e742956603a656c26697c2b656c264960323f4e1e
+49601f5560242f3c22383c23333522383c23383c23565838857d674e44253a4423
+3a44233335223a4423333522383c234c502668752b5e7429555824383c233a4423
+30432149601f3c58224b681e3f4e1e344d1e5e7429344d1e3f4e1e76872d6b852c
+5e7429557f22576a1f49601f3f4e1e4b681e576a1f6b852c556024576a1f3c5822
+49601f556024304321383c233f4e1e576a1f576a1f656c26574f2675704dc2b868
+8b9055556024576a1f576a1f697c2b76872d5f7b2a7b903476872d76872da0a03a
+8e9f3b757b2d76872d556024757b2d7664273f4e1e2b332233352247581f3a4423
+5e7429697c2b697c2b68752b576a1f55602447581f3f4e1e5e74293a44232f3c22
+2f3c227787468c9853697c2b9e9853b2a0538b90554436232b3322272c1f272c1f
+272c1f333522443623443623383c23383c2333352249601f76872d76872d3a4423
+383c233335223335223a4423556024656c26556024576a1f576a1f5560243a4423
+47581f6b852c697c2b576a1f3335222f3c222f3c224b681e708f316b852c60832a
+5f7b2a576a1f47581f47581f3a442330432149601f4b681e49601f5e74295f7b2a
+5e74292f3c222b3322272c1f272c1f383c2347581f576a1f656c2676872d7d9736
+8ea83e8ea83e7b90346b852c7f975376872d4c502647581f6b852c76872d697c2b
+7b9034697c2b8b903368752b576a1f576a1f47581f3f4e1e5558243a4423383c23
+3a442347581f576a1f555824344d1e697c2b6b852c6b852c6b852c7d97367d9736
+60832a6b8545576a1f7b90345f7b2a6b852c5f7b2a7197327d973677874668752b
+5f7b2a6b852c5f7b2a708f31656c265e7429576a1f3c58223c58225e74294b681e
+5e7429697c2b7b90347b90346b852c76872d6b852c5474284973235e7429576a1f
+383c2330444d3d5f25354c31354c313a44234758324758323c5822304321576b33
+60832a497323618345708f315f7b2a3c5822576b336b852c6b852c7787466b852c
+5e74294973235e74294b681e3d5f25304321354c313c5822576b334960322e3c44
+3335223a442347581f49601f4960322f3c22262e35272c1f262e35304321547428
+576b334b6933344d1e3a44232f3c223f4e1e4960323f4e1e3d573b3d5f253c5822
+576b338ea0598ea0596b85454b681e4758322f3c22333522304321496032304321
+4758323335223043215f7b2a47581f2f3c223043213f4e323f4e1e344d1e3f4e1e
+49601f3c58225f7b2a80a03b91af49719732708f317d973680a03b6b852c60832a
+76872d7d9736719732576a1f60832a3c58223d5f25557f223c5822576a1f91af49
+60832a60832a6b852c7d97367b90347d97367197324973235e742976872d80a03b
+5f7b2a5474284973233c58223c58225e74295e7429657c443f4e1e3335222b3322
+3335221e241b262e35342d1f24261c24261c24261c272c1f24261c272c1f272c1f
+272c1f272c1f272c1f2b33222b33223335222f3c223f4e1e3a442355602447581f
+4c5026656c268b90338b903387872c6b852c6b852c757b2d697c2b555824556024
+2f3c222f3c22757b2d8c9835b2a856b2a856b2a856b1b069c1b064d1b876cdb85e
+d0c074d1b876d0c074d0c074d4cb83d4cb83e0c492d4cb83e0c492d4cb83d4cb83
+e3cc97d4cb83e3cc97e3cc97e3cc97dcc17fd4cb83dcc17fd4cb83d0c074dcc17f
+dcc17fe0c492d1b876d1b876d1b876d0c074d0c074c1b064c2b868c1b064c1b064
+b2a8569fa8579e98538b9033767b4768752b6b852c76872d657c445e7429576b33
+627444697c2b657c444b681e576b3368752b576b33576a1f3f4e1e55602449601f
+4c50263f4e32383c23383c232b3322383c23383c2356603a7787463f4e1e333522
+3335223335222b33222b33223335224e44255558245558245560244c5026333522
+272c1f2b332247581f30432130432130432154742830432130432149601f76872d
+6b852c3d5f253c5822344d1e49601f3d5f2541671b4b681e344d1e576a1f47581f
+4b681e4b681e3f4e1e3f4e1e5e7429576a1f68752b5560244c5026373e438b9055
+86874a656c266b852c5e7429697c2b7b903476872d7d9736697c2b757b2d8c9835
+8c9853576a1f697c2b556024666b3b383c23342d1f3a44239f91548b9033555824
+656c26556024697c2b757b2d656c266b852c697c2b68752b8b90334c5026333522
+55582468752b7b903476872d55602476872db2a856766e2d383c233f4e1e576a1f
+3f4e1e342d1f3335224436233335224c50264c502668752b8c983568752b4c5026
+383c232b33224436233335223335222f3c223a4423383c23333522304321333522
+47581f3f4e1e383c23383c233f4e1e3a44234b681e708f316b852c6b852c6b852c
+5e7429697c2b4b681e3f4e1e3f4e1e49601f4b681e697c2b5e74296b852c5f7b2a
+47581f2b33222b33223043214c5026574f26656c2666603376872d8c983587872c
+757b2d76872d697c2b576a1f76872d76872d576a1f697c2b76872d76872d7d9736
+7b903476872d68752b576b33576a1f5f7b2a6b852c6b852c68752b656c26383c23
+2f3c22344d1e6b852c3043214b681e697c2b6b852c60832a60832a8c9835708f31
+7787467b9034708f317c90538e9f3b697c2b5f7b2a6b85457d97366b852c7b9034
+7787467787466b852c6b852c576a1f576a1f5f7b2a49601f30432147581f68752b
+4b681e5e742976872d6b852c697c2b757b2d576a1f3f4e1e344d1e547428656c26
+333642344d1e4b69333d573b3f4e323d573b4960324b69335f7b2a4b69336b8545
+6b852c567f3a657c44708f314758322e3c444b681e6b85454960324b6933547428
+5f7b2a3f4e323d5f25547428547428576b334b681e4960323c5822304321304321
+3c5822557f22708f31708f31547428354c312f3c22373e432f3c22496032576b33
+3f4e1e304321344d1e4758323f4e323d573b304321344d1e344d1e3f4e32627444
+7c9053a1af4e8ea0597b90346b854547581f3f4e1e5e74295f7b2a4b681e5e7429
+576b333f4e1e4b693360832a5f7b2a4b681e3d5f2547581f3f4e323f4e32576b33
+627444576b336b852c71973280a03b91af498ea83e80a03b80a03b729e34618345
+3c5822697c2b719732497323708f314973233f4e1e344d1e5f7b2a7d9736708f31
+576a1f708f31708f3180a03b7b90347b90347197325f7b2a80a03b7b90345e7429
+4b681e3c58223d5f25383c2355602449601f3335222b3322272c1f24261c272c1f
+262e35272c1f1e241b24261c24261c262e35262e352b3322262e352b3322333522
+2f3c223a44233043213a44233a44234e44254c5026666b3b766427757b2d887b2c
+86874a9f9035c1b064c4bf65b1af4d8b903368752b576a1f47581f4c502668752b
+697c2b6b852c76872da1a73cd4cb83d4cb83e0c492e3cc97e3cc97e3cc97e3cc97
+e3cc97e3cc97e3cc97e3cc97e3cc97e3cc97e3cc97e3cc97e3cc97e0c492dcc17f
+dcc17fd0c074cdb85ec2b868c4bf65cdb85ec1b064cdb85ed1b876cdb85ed8c291
+cdb85ecdb85ebfb04dc0a845c0a845c2b868beb751b1af4d9fa056a1a73cb2a856
+b2a8569fa0568c985376872d68752b49601f55602462744447583249603249601f
+576a1f77874647581f47581f5e742947581f6274444758322b3322576b334c5026
+3335223335223335222f3c22344d1e5e74294c50263f4e1e75704d4e44252f3c22
+3043212f3c222b33222f3c223a44237664275558243f4e1e556024555824272c1f
+2b33223335222b3322383c23333522383c23697c2b2f3c222b3322556024697c2b
+5f7b2a304321304321344d1e656c263f4e1e49601f344d1e3f4e1e3c5822344d1e
+344d1e576a1f5e74295e7429656c26556024666033383c23272c1f333522766e2d
+8b9055757b2d76872d47581f47581f556024344d1e47581f47581f68752b76872d
+8471444e44254c5026555824443623272c1f4e44258b905595885c9e9853867c4c
+757b2d68752b76872d76872d76872d7b9034656c26697c2b87872c5558243f4e1e
+576a1f87872c8c9835656c263f4e1e8b90338ea059b0b86c9fa056757b2d68752b
+6660335558244c5026656c2686874aa0a03a8b90338b9033766e2d3a4423574f26
+333522272c1f2b3322383c234c5026383c232b33223a44232b3322272c1f333522
+47581f3043213335222b33224b681e3f4e1e47581f576a1f5e74296b852c6b852c
+6b852c576a1f54742860832a5f7b2a6b852c5e7429697c2b697c2b5f7b2a5f7b2a
+4b681e2f3c225560245e74295e7429766e2d576a1f576a1f8c98358c983576872d
+757b2d576a1f556024697c2b576a1f76872d7d97367b90346b852c656c2676872d
+576a1f68752b576a1f76872d6b852c76872d5f7b2a5f7b2a5f7b2a76872d68752b
+556024383c2347581f4b681e8ea83e5f7b2a4b681e76872d7d97365e74297b9034
+7d9736778746697c2b697c2b6b852c6b852c576a1f5e74296b852c76872d778746
+68752b6b852c657c444b681e4b681e5e742954742849601f3f4e1e2f3c22556024
+5e74296b852c76872d6b852c8b903387872c55582449601f49601f557f2276872d
+2a34383d573b60832a3c58223d5f253d5f253c58225e74295e74295474283c5822
+4b6933657c44557f22576b333f4e1e354c31576b334b693349601f567f3a547428
+5f7b2a4b681e49601f6274443d5f255f7b2a576b3349601f4b69333c5822497323
+76872d76872d80a03b6b852c47581f354c31657c447c9053819f597d9736778746
+5474284960323c58223043212f3c224758324960323f4e32344d1e3f4e1e657c44
+8ea059a1af4e8c98358ea83e80a03b708f31708f316b852c47581f49601f496032
+3043213043214960326b852c708f3149601f354c313f4e1e576a1f47581f475832
+2f3c223f4e1e708f318ea83e91af498ea83e719732729e3480a03b708f31497323
+3c5822557f223d5f25497323708f314b681e304321344d1e49732376872d80a03b
+7d97365f7b2a80a03b7d9736656c264b681e76872d719732697c2b697c2b6b8545
+76872d557f225f7b2a3f4e1e656c2647581f2f3c22262e35272c1f24261c272c1f
+24261c24261c262e35272c1f272c1f342d1f2b33222f3c224e44253a44233f4e32
+574f26556024656c26556024767b478b9055b2a856c1b064b1b069c2a85ecdb85e
+cdb85ed0c074e3cc97d0c074c4bf65757b2d656c26766e2d66592c555824757b2d
+656c2687872c68752b86874a9e9853b2a856e0c492e3cc97e3cc97dcc17fdcc17f
+dcc17fd1b876dcc17fdcc17fdcc17fdcc17fd1b876d1b876d1b876d1b876d0c074
+d0c074bfb04db2a856c1b064b2a856c1b064b1a03db2a053c2b868d0c074cdb85e
+c1b064b2a856bfb04dbfb04db1af4dc2b868bfb04db1b069b1af4db1af4db1b069
+9fa0569fa0568b9033778746757b2d757b2d49601f4b681e344d1e4b69335e7429
+5e74296b852c47581f627444576a1f576b33576a1f576a1f5e74295558242f3c22
+3043215f7b2a5e74293c58223c58223c58223a44233a4423666b3b4c50262f3c22
+383c233a44234c50264c50263a44234e44254c502649601f47581f49601f3c5822
+3c5822344d1e2f3c223a44232f3c223043213f4e1e344d1e304321344d1e576a1f
+5560242f3c222b332247581f3f4e1e333522344d1e3043213c58223f4e1e3a4423
+3a4423576a1f68752b757b2d8b903355602468752b656c2647581f496032767b47
+9fa857757b2d87872c576a1f4c5026344d1e333522383c232f3c22555824656c26
+697c2b574f265558244c5026272c1f4e44258c985395885c9e9853b2a053957c2f
+757b2d757b2d757b2d8b90338b903376872d556024656c268c9835766e2d76872d
+5560248c983587872c766e2d86874a8c98358c98359fa8579fa8578c9853b1b069
+c0b8a6b2a8569fa0569e9853a0a03a9f98359f9035656c26666033342d1f342d1f
+2b3322383c233a4423757b2d656c2649601f55582486874a7787463f4e1e333522
+47581f3f4e1e2f3c22342d1f47581f5560243a44233f4e1e3a44233a442347581f
+3c582249732360832a6b852c6b852c697c2b6b852c7b9034697c2b5e7429697c2b
+3f4e1e2f3c2247581f47581f656c265560245558248c98356b852c47581f3f4e1e
+3a442368752b697c2b576a1f49601f576a1f4b681e76872d5e74296b852c68752b
+4c5026576a1f68752b6b852c76872d5f7b2a68752b6b852c5e7429697c2b697c2b
+3f4e1e33352247581f6b852c7d97368c98537b90347197536b852c76872d7f9753
+76872d697c2b5f7b2a5e74295f7b2a76872d6b852c708f3176872d708f315f7b2a
+6b852c576a1f68752b3f4e1e344d1e41671b5e742949601f47581f4b681e3a4423
+576a1f87872c7b9034576a1f8c9835887b2c47581f5560249f90358b903387872c
+2f3c22354c3141671b354c313d5f25344d1e4b69335f7b2a6f8f525e7429547428
+5e74297c905360832a5474285e74296183457787468c9853657c4477874660832a
+5474284973235f7b2a4b6933344d1e304321344d1e4b69334758323a4423576b33
+7197325f7b2a6b8545576a1f3c58223043213d5f25697c2b7f97537f97537b9034
+576a1f4b681e3d5f253c58222f3c222f3c223a4423354c313f4e3256603a576b33
+76872d92a7598ea0598ea83e92a759708f317b9034708f315f7b2a576b33344d1e
+344d1e3043212f3c22576a1f6b852c4b681e5474285e74296b852c5e7429576b33
+4b69337c90538ea83e80a03b8ea83e719732557f2249732341671b497323497323
+54742860832a708f315f7b2a6b852c708f31344d1e49732376872d5e742980a03b
+576a1f76872d6b852c80a03b5f7b2a344d1e3d5f253c58223f4e1e3a4423344d1e
+4c50263c5822576b332f3c223335223a4423272c1f24261c272c1f24261c272c1f
+272c1f24261c342d1f342d1f2a34383335223335224c5026666b3b766e2d766e2d
+87872c9f90359f9035b2a053c4bf65cdb85ed0c074d1b876d0c074c2b868ccb169
+cdb85ecdb85ed0c074cdb85eb1af4d766e2d574f26555824555824443623574f26
+5558244e44254e4425574f26766e2dc1b064d1b876d1b876dcc17fd1b876d1b876
+d1b876ccb169ccb169c2a85eccb169c0a845c0a153ccb169c0a845c2a85ed0c074
+cdb85ebfb04dbfb04db1af4dbfb04db0a83fbeb751beb751c2b868b1b069b0a83f
+b2a053b1a03db1af4da1a73cb1af4db2a053b2a856c1b064b2a8569fa857b2a856
+9e98539f98358b903377874687872c778746555824576b335e7429656c266b8545
+697c2b55602449601f576a1f47581f4b681e5e74296b852c5e7429576b333f4e1e
+49601f697c2b656c263f4e1e47581f3f4e1e47581f556024656c264c50262b3322
+272c1f2b3322333522383c23304321272c1f2b332249601f3f4e1e576a1f547428
+497323344d1e2f3c222f3c22304321344d1e3a44233043213f4e1e4b681e697c2b
+2f3c22272c1f2f3c224b681e3a44232b33223c58222f3c22333522344d1e344d1e
+47581f47581f383c23574f268c983587872c757b2d76872d87872c68752b87872c
+9e98539e98539f9035656c263a44234c50265560243a4423383c2347581f666033
+555824656c263a44233a442347581f9e98539e98538c98539f91549fa05695885c
+656c26556024757b2d8b90338c9835576a1f555824656c267b903468752b757b2d
+555824a0a03a8c9835a1af4e8e9f3b9e98538c9835a0a03a9f90359fa056aea886
+b1b069b2a8568c98358e9f3b9f98358b903384712f383c23383c232b3322342d1f
+556024757b2d76872d76872d76872d6b852c708f3176872d7b903487872c68752b
+4b681e576a1f576a1f556024344d1e3f4e1e68752b656c263a44233f4e1e697c2b
+5f7b2a6b852c60832a6b852c6b852c76872d5e74295e742949601f3043212f3c22
+2f3c223a44233f4e1e3c58224b681e3f4e1e47581f6b852c556024383c233a4423
+68752b697c2b49601f3f4e1e3f4e1e383c2347581f49601f5f7b2a68752b4c5026
+576a1f6b852c68752b3f4e1e576a1f5e742976872d76872d697c2b556024576a1f
+47581f3a44233f4e1e5e74297d97368c98537d97366b852c6b852c708f317b9034
+697c2b5e74295f7b2a6b852c6b852c5e7429708f3176872d6b852c8c98357d9736
+708f31657c445e74293f4e1e2f3c2249601f47581f344d1e576a1f54742847581f
+656c2697883476872d5e74298e9f3b84712f576a1f87872c9788349f90358b9033
+3944463d573b3d573b3d5f256183454b69334b69334b6933778746729e34708f31
+7b90346b85457b903460832a60832a6b852c7c90538c985392a75992a7598ea059
+708f3160832a6b852c60832a4973233d573b344d1e3f4e323c58223f4e1e618345
+719732557f224973234b69335e74294973233d5f253f4e3255582476872d5e7429
+49601f576b3356603a68752b4758322b3322262e352b33222f3c22344d1e5e7429
+92a7597f9753697c2b7f97537b903476872d7c90535f7b2a5474284b681e4b681e
+5e74295e7429556024697c2b7d97366b852c76872d656c26576a1f576b33547428
+7d9736729e348ea83e719732708f318ea83e557f2241671b547428547428557f22
+708f3160832a5e74293d5f2549732349601f304321576a1f60832a8c98358ea83e
+60832a4b681e41671b8ea83e557f223d5f25557f22557f22344d1e2f3c22354c31
+4b681e344d1e2f3c22262e352b3322272c1f24261c272c1f24261c24261c24261c
+272c1f272c1f272c1f272c1f342d1f3335223335224c5026757b2d9f9035978834
+b1a03db1a03dc0a845c2b868cdb85eb1af4db2a856c0a845c0a845c0a845cdb85e
+cdb85ecdb85ebfb04dbfb04dc4bf65b0a83f8c983587872c55582455582468752b
+656c26656c268b90339f9835bfb04ddcc17fccb169ccb169d1b876b09954887b2c
+ad903dc0a153c2a85ec0a153c0a153c0a153c0a153c0a845ccb169c2a85ec1b064
+c3c17ac2b868b2a856b2a0539f9835b0a83fa0a03ab2a856b1af4db1af4db0a83f
+c1b064b2a856a0a03a9e9853b0a83fa0a03aa0a03ab2a856a1a73c9f98359fa056
+9e98539f91548b9055757b2d757b2d76642747581f656c26576b33697c2b656c26
+576a1f49601f556024556024576a1f4b69334758323f4e1e4c502647581f68752b
+627444556024576a1f3f4e1e55602447581f3f4e1e47581f556024574f26333522
+2b3322272c1f333522383c23304321383c233f4e1e3f4e1e3f4e1e47581f547428
+576a1f5560243f4e1e2f3c2247581f3f4e1e2f3c222b33222f3c2247581f556024
+383c232f3c222f3c223c58223f4e1e342d1f2b3322342d1f272c1f47581f4c5026
+3a44233a44233043215e742976872d7d973676872d68752b49601f757b2d8b9033
+76872d8ea0599e9853887b2c555824656c268b9033766e2d3a44234e3d223a4423
+383c233a4423383c234c50267787468b90559e985387872c87872c9fa0569f9035
+76872d757b2d766e2d5560245558245e742976872d697c2b87872c757b2d9f9835
+8b9055b1b0699fa857a1af4e9f98359fa8579e98539e98539fa056a1a73cb1b069
+9fa056a0a03aa0a03a8e9f3b8c98359f903568752b344d1e576a1f656c26697c2b
+8c98538c9835708f3176872d76872d7b903476872d76872d7d973680a03b76872d
+68752b3f4e1e4b681e576a1f344d1e576a1f5e7429576a1f576a1f576a1f76872d
+708f3176872d60832a5560245e74295e7429576a1f3f4e1e383c233335222f3c22
+3a44233f4e1e3a4423576a1f5e742947581f576a1f68752b47581f3335223f4e1e
+555824576b335560243a44233f4e1e30432149601f49601f47581f47581f556024
+76872d76872d766e2d3a44235560248b90338e9f3b80a03b7d973676872d6b852c
+697c2b576a1f3f4e1e656c26576a1f7b90347b90345f7b2a6b85456b852c708f31
+76872d41671b708f317b9034576a1f5e742976872d76872d68752b6b85457b9034
+7787465f7b2a47581f5f7b2a757b2d5f7b2a49601f3f4e1e4973235474285e7429
+766e2d68752b576a1f697c2b87872c576a1f757b2d9fa857957c2f757b2da1a73c
+354c313f4e323a44233c58224b69333d5f25344d1e304321496032576b33547443
+5e74295f7b2a7b90346b852c6b854560832a6b852c7b90348c985392a7599fa857
+7f9753497323618345547428344d1e4960327c90537f9753657c446b8545576a1f
+7b90347b90344b681e3c58226274444b69334b69333f4e32383c23475832576b33
+4b681e49601f496032475832565838383c23342d1f2a34383043216274449fa056
+9fa8577b903492a7598ea059819f596b852c7b90345e74294b681e5e7429576b33
+6b852c6b852c5e74297787467d97365474284b69332f3c222f3c22354c314b681e
+8c98357d973680a03b71973276872d708f3180a03b7197328e9f3b7d97368ea83e
+80a03b3d5f252b33225f7b2a576b33383c232f3c222f3c22708f3176872da1a73c
+576a1f3c58225e74297b90346b852c5f7b2a708f3160832a41671b3f4e1e304321
+3c58223c58222f3c2224261c272c1f24261c24261c272c1f272c1f342d1f272c1f
+272c1f2b3322342d1f3335222b33223a44234c502655602487872c87872c978834
+b1a03dbfb04dcdb85ec1b064c2a85ebfb04dcdb85ebeb751ae993dae993dc0a845
+ccb169bfb04da1a73ca0a03ab0a83fa1a73c8b903376872d757b2d76872d766e2d
+76872d87872c757b2d9f9035a0a03ac0a8459f9835957c2f84712f66592c766e2d
+9e9853c0a845ccb169ccb169c0a153c0a845c0a845d0c074d0c074d0c074d1b876
+d0c074c1b064c2b868b1af4db1af4db1af4db0a83fb1af4db0a83fb2a856c2a85e
+c2a85eb1a03da0a03a9fa857b1af4da1a73cb2a856b0a83f9fa056b2a8569fa056
+b2a8569e98538b9033767b4768752b4c5026556024656c265e7429697c2b4c5026
+4960325e742956603a5560245e742949601f3a4423344d1e49601f576b33576a1f
+68752b656c265e74295e742947581f555824576a1f49601f3f4e329e985356603a
+272c1f272c1f272c1f33352247581f49601f47581f344d1e49601f5e7429697c2b
+6b852c7d97365e74292f3c2249601f49601f3043212b33222b33223043213f4e1e
+4c5026344d1e2f3c22344d1e47581f272c1f3335222b33222b3322344d1e656c26
+5560243f4e1e68752b656c26656c26656c2676872d8b90336b852c7b9034697c2b
+757b2d7b9034b1b069b2a053766e2d8c98359f983584712f5558244436234e4425
+3335223a4423697c2bb0b86ca0a03a86874ab2a053757b2d8b90338b903387872c
+76642768752b666033333522333522344d1e76872d76872d8c98358b9033a1a73c
+b2a856b1af4db2a0538b90339fa056a0a03a9f98359f98359fa0569f9835a0a03a
+9f9835a0a03a9f98358b9033a0a03ab1a03d76872d6b852c6b852c76872d7b9034
+7b903476872d6b852c708f3176872d7b90347d973676872d6b852c76872d3f4e1e
+576a1f47581f344d1e3d5f2547581f344d1e49601f3f4e1e3c58223f4e1e555824
+68752b576a1f3a44232b33222f3c222f3c223a4423333522272c1f2b3322304321
+3043213a4423272c1f3335224c50263f4e1e556024555824304321344d1e697c2b
+555824656c26383c23272c1f33352247581f576a1f344d1e3a4423383c2349601f
+757b2d47581f4c50262f3c223f4e1e576a1f5560245f7b2a7b90347d97368c9853
+697c2b76872d7b9034708f316b852c7d97367b90347d97368c985360832a6b852c
+5f7b2a3d5f255f7b2a7d9736576a1f49601f60832a697c2b5e74296b852c5e7429
+6b852c576a1f576a1f6b852c68752b60832a76872d576b333f4e1e49601f708f31
+757b2d656c2655602476872d9fa05687872c8b90339f915484712f9f9835a0a03a
+66603356603a3f4e323f4e324b693341671b354c31304321304321304321496032
+61834554742860832a60832a7b90345f7b2a60832a708f317197328c98538ea059
+7f9753497323576b33547443344d1e3a4423576a62757c71697c2b68752b68752b
+8ea0597197326b85454b681e3f4e1e3f4e1e576b33767b476b85458ea05976872d
+576b334b681e47581f383c232b3322333642272c1f2f3c22576b33576a1f7c9053
+b0b86c92a759a1af4e8ea05976872d6b852c5f7b2a6b852c6b852c5e742960832a
+6b85457d97365f7b2a5f7b2a5f7b2a4758323c58223f4e1e3f4e1e576a1f618345
+5f7b2a819f597b9034708f317d973660832a49601f708f31708f3147581f6b8545
+5e74293043212f3c2254742849601f2f3c22272c1f33352276872d8c9835778746
+3d5f25344d1e4b69335e74293f4e1e3a44234c50263c5822344d1e54742849601f
+344d1e657c442b3322272c1f272c1f272c1f24261c24261c24261c24261c272c1f
+272c1f262e352f3c222f3c22383c23555824576a1f6b852c9f9835ae993dbfb04d
+c1b064c0a845bfb04dccb169bfb04dccb169bfb04dc0a845b1a03dae993dcdb85e
+cdb85ecdb85ec4bf65aeb84e8e9f3b757b2d576a1f68752b9f98358e9f3b87872c
+757b2d757b2d9f98358b903387872c76872d656c26656c2668752b68752b8b9033
+9f9835c0a153c0a153c2a85ec0a845c0a153c0a845dcc17fe0c492e3cc97d4cb83
+c1b064d0c074c1b064b1af4db2a053b0a83fb2a053c2a85ebfb04dc1b064bfb04d
+c2a85eb2a856b0a83fc2b868b1af4dbfb04db1af4db1af4db2a8569fa056a0a03a
+9fa056b2a0538ea05987872c656c2668752b757b2d76872d6b852c4b681e304321
+4c502647581f344d1e3f4e1e656c26576b333f4e1e556024697c2b6b852c5e7429
+7787466b852c7787465e74293c58223a44235e7429576b33565838b1b069847144
+342d1f24261c24261c272c1f556024576a1f5e7429576a1f49601f708f3160832a
+6b852c6b852c6b852c47581f3f4e1e576a1f47581f2f3c223a4423656c26656c26
+60832a3f4e1e3a4423344d1e3a44233335222f3c22344d1e3c58224b681e576a1f
+5560245558245e742968752b556024576a1f68752b656c2668752b76872d76872d
+6b852c757b2d9fa0569e985366592c555824656c2676872d4c5026342d1f443623
+383c23666b3bc3c17ac2b8688b903386874a9fa056757b2d8c98539e985387872c
+55582487872c757b2d383c232b33222b33223a442368752b76872d8b90338c9835
+9f98358b903387872c9f9835b1b0699e98538c98359f9835a0a03aa0a03aa0a03a
+8c98359f98359f9835887b2c957c2fae993d766e2d55582447581f576a1f76872d
+7b90346b852c3f4e1e47581f5560245e74296b852c76872d7b9034697c2b47581f
+49601f49601f3f4e1e49601f92a759767b478b90336b852c656c26556024666033
+4c50264e44253f4e1e342d1f272c1f2b3322333522272c1f333522272c1f272c1f
+272c1f272c1f272c1f24261c342d1f24261c272c1f342d1f272c1f576a1f7d9736
+6b852c5558243335223335222b33222f3c2268752b3f4e1e3f4e1e49601f576a1f
+3a44233a44233f4e1e656c2655582447581f47581f697c2b76872d5560245e7429
+6b852c708f315f7b2a576a1f7d973676872d7b90347b90348c98357f97536b852c
+697c2b576a1f5f7b2a76872d55602447581f47581f5e74295e742976872d68752b
+5e74295e742960832a708f315e74298c9835757b2d5e7429697c2b7787466b852c
+76872d87872c576b336b852c8c98539f91549f9835a48a3b8b90339f9035887b2c
+3a44233f4e32394446475832547428567f3a4973234b69334b69334960327b9034
+7197326b854560832a708f316b854547581f5f7b2a6f8f52708f316b852c576a1f
+49601f5f7b2a547428567f3a3d5f254758323c5822344d1e576b335f7b2a80a03b
+708f315f7b2a5f7b2a41671b3d573b3f4e1e4c5026373e4356603a657c44576b33
+657c4449601f3043213f4e1e2f3c223335222f3c222b3322304321767b4792a759
+8ea0597d97368c98538c98538b90337c90536b852c557f2260832a5f7b2a5e7429
+7b90347b9034697c2b576a1f4b69333f4e1e2f3c222e3c44304321344d1e344d1e
+3f4e1e697c2b5e74295e74298e9f3b576a1f3f4e1e7d97364b681e3f4e1e3f4e1e
+556024656c26304321344d1e304321272c1f272c1f2b33223f4e1e767b472f3c22
+3c58223c58224b681e8c9835576a1f272c1f272c1f272c1f2b3322344d1e3a4423
+2b33223a4423272c1f24261c24261c24261c272c1f24261c24261c24261c24261c
+272c1f3335224e442547581f555824757b2d55602487872ca0a03ac0a845cdb85e
+d0c074c2a85ec2a85ed1b876ccb169bfb04dccb169c0a845cdb85eccb169bfb04d
+ccb169d1b876dcc17fcdb85ebfb04d68752b555824556024556024556024383c23
+2f3c225558245560245558243f4e1e4c502649601f656c265e74296b852c87872c
+87872cb1a03dc0a845c0a845b0a83fb1a03db1a03dcdb85ed1b876dcc17fd0c074
+c1b064c2a85ec2a85eb2a0539e9853b2a053c2a85ebfb04dccb169c0a845b2a053
+c2a85ecdb85ec4bf65bfb04db0a83fb1b069bfb04dbfb04dc2b8689fa0569fa056
+a0a03a9fa0568c9853766e2d757b2d757b2d8c98537b903487872c576a1f3a4423
+3f4e1e3f4e1e47581f3f4e1e3a44233f4e1e5f7b2a5f7b2a708f317c90537b9034
+7b9034697c2b5e7429697c2b3f4e1e576a1f778746475832666b3bc1c2aeada17f
+383c23342d1f272c1f272c1f3a442349601f4b681e3c58225e742976872d7d9736
+7197325f7b2a6b852c6b852c5f7b2a5f7b2a49601f47581f47581f656c263a4423
+576a1f576a1f3f4e1e3c582249601f3043213f4e1e3f4e1e576a1f49601f4b681e
+7b903476872d76872d576a1f3f4e1e4c50263a44235560243f4e1e656c2647581f
+576a1f576a1f697c2b8b9033867c4c3a4423574f264c50264e44252b33224c5026
+766e2d9fa857c0b8a69e9853766e2d87872c9f9154656c2687872c87872c87872c
+3f4e1e757b2d656c26333522272c1f3335223a4423383c233f4e1e697c2b8b9033
+8b90338b90339f9835b2a856b2a85687872c757b2d8e9f3b8e9f3b757b2d656c26
+656c26555824766e2d4e4425604f2a977c4f766427656c26383c23383c23576a1f
+555824556024344d1e3a442330432147581f576a1f697c2b6b852c47581f3d5f25
+4b681e576a1f6b852c7c90539fa8579fa85786874a697c2b7b90348e9f3b8c9853
+87872c656c263f4e1e3a4423333522272c1f272c1f272c1f383c2333352224261c
+24261c24261c24261c272c1f24261c24261c24261c24261c272c1f383c23627444
+666b3b383c233043212f3c223043213f4e1e49601f3f4e1e3f4e1e697c2b76872d
+4c50264e3d224e44256660335558243a4423383c235558244c5026383c234c5026
+5f7b2a576a1f4b681e656c2647581f68752b8c98357d97366b852c7c90536b852c
+697c2b68752b68752b576a1f5560244b681e4b681e47581f3f4e1e4b681e5f7b2a
+5e74298c98357d973660832a6b852c80a03b9f98359fa056757b2d87872c68752b
+76872d9e98536b852c697c2b76872d9f98358b90339f9035766e2d847144887b2c
+333522373e433a4423576b337c90534973233d5f25496032496032657c447b9034
+6b85454b681e6b854560832a4b681e4b69334b681e5e74296183454b69335f7b2a
+4b69335f7b2a708f315474433043213043214b6933576b334b69333d573b547428
+54742849601f4b69333f4e32383c232a34382f3c222f3c22373e433a4423576a1f
+576a1f4960323c58223f4e322f3c222f3c22354c313f4e1e576b336b85459fa857
+8c98357b90346b852c7d973676872d8ea0597f975354742849601f4b6933657c44
+6b8545657c447b903461834547583249601f344d1e344d1e3043214b6933333522
+4758324b69334b681e76872d80a03b5474283a44235558246274442f3c222f3c22
+383c232b33222f3c222b3322272c1f272c1f272c1f272c1f272c1f2f3c22272c1f
+576a1f3d5f25697c2b383c232b33222b3322272c1f2b332224261c24261c272c1f
+1e241b24261c24261c272c1f342d1f24261c24261c342d1f24261c272c1f342d1f
+3335224e3d22556024887b2c957c2f87872c84712f978834c0a153cdb85ec0a153
+dcc17fdcc17fdcc17fcdb85edcc17fdcc17fccb169dcc17fdcc17fdcc17fcdb85e
+cdb85edcc17fdcc17fd0c074cdb85e9f98358b9033766e2d47581f3f4e1e2b3322
+333522383c233f4e1e5558243f4e1e47581f49601f3c5822555824556024656c26
+84712fc0a845c0a845c0a845c0a845b2a856b0a83fc2a85eb0a83fb1a03dae993d
+ae993db0a83fc2a85ed1b876c2a85ecdb85ec2a85eb09954c0a153b2a856bfb04d
+d0c074bfb04db0a83fa1a73ca1a73ca1a73cb1af4db2a856b2a856a0a03a8c9853
+8c98538b903387872c7787468b903386874a7b90348b903376872d778746656c26
+49601f3f4e1e3f4e1e383c23333522304321657c445e74296b852c576b335e7429
+697c2b5f7b2a4b681e5e7429547428778746576a1f47581f56603aafb09eb1b069
+4e4425383c232b33223f4e1e68752b5e74295474284b681e697c2b4b681e4b681e
+5e742947581f49601f6b852c7b90347d9736697c2b6b852c68752b47581f576a1f
+49601f5f7b2a47581f4b681e6b852c55582447581f3f4e1e757b2d4c5026556024
+76872d76872d7b903476872d576a1f383c232b33223335223a44233a44233f4e1e
+4b681e576a1f5e7429656c2676872d87872c757b2d656c2668752b757b2d8b9033
+76872dc1b0649fa05687872c76872d8b90337b9034757b2d8b903376872d9f9035
+766e2d55602468752b3f4e1e342d1f383c23383c2349601f576a1f576a1f87872c
+8c98359f98358c98359f98358c983568752b766e2d9788349f983587872c766e2d
+574f26333522443623443623604f2a4e3d22443623333522342d1f342d1f383c23
+3335223a4423557f225e7429576a1f3f4e1e576a1f556024576a1f41671b5f7b2a
+5e7429697c2b76872d576a1f5e74298c98355560243f4e1e576b335e74296b852c
+76872d76872d757b2d68752b576a1f3f4e1e333522272c1f3f4e1e304321342d1f
+24261c24261c272c1f24261c342d1f24261c24261c24261c24261c272c1f333522
+3043213a4423656c263f4e1e3f4e1e47581f4b681e49601f4b681e6b852c656c26
+3a44233335222f3c223f4e1e4e44254e3d224e3d224c50263335223335224c5026
+656c26556024576a1f576a1f556024697c2b7787468b90336b852c6b852c6b852c
+5e74296b852c49601f697c2b6b852c576a1f4b681e4b681e49601f5e74295f7b2a
+697c2b8c98357b90345474285474286b852c8e9f3b9fa0569e98538b9033576a1f
+757b2d9fa056576a1f697c2b86874a8c9853757b2d697c2b68752b9f90359f9035
+333642373e433335223a4423576b335474433d573b3043213043213c58225f7b2a
+6b852c60832a6b852c6b852c5474284b681e4b69337787464b681e3c5822497323
+567f3a3d5f255f7b2a5e74292e3c44262e352f3c222f3c22333522304321496032
+576b334b693347581f3043213a44233c58223d573b3c582247581f4b6933657c44
+576b334b681e3d5f25344d1e344d1e3d5f256b85458ea0597c90537b90346b852c
+697c2b7c90536b852c7f97537b90346b852c76872d697c2b47581f4b681e656c26
+5e74294b69336b852c7b90346183456b852c49603249603249601f47581f2b3322
+576a1f3a4423383c23757b2d697c2b5f7b2a3a4423383c233f4e1e2b33222b3322
+2b33222f3c222f3c221e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f
+2f3c22304321354c312f3c2230432141671b49732341671b2f3c222f3c222f3c22
+272c1f24261c272c1f272c1f272c1f24261c342d1f262e35272c1f272c1f2b3322
+3a442366592c978834b1a03d9f98359f9835c0a845beb751c0a845c0a845bfb04d
+ccb169d1b876dcc17fd1b876cdb85edcc17fdcc17fd1b876dcc17fdcc17fdcc17f
+d0c074d0c074cdb85eb1a03d9f98357b90348b903387872c76872d576a1f576a1f
+697c2b76872d8c9835757b2d5e7429576a1f49601f3a44235558248b9033b2a053
+c1b064c1b064bfb04dc0a845ae993dccb169c0a845c0a845c0a845ccb169c0a845
+b2a053b1a03dc0a153c1b064d1b876c3c17ad1b876d1b876d1b876d1b876c1b064
+b1af4db0a83fb0a83fb0a83fa0a03ab1af4db1b069b1b069b2a856b1af4d8c9853
+76872d8b9033778746767b47757b2d757b2d77874676872d778746757b2d556024
+576b335e74295f7b2a3043213335223f4e1e657c4449601f5f7b2a576a1f5e7429
+68752b47583249601f697c2b576a1f49601f55602476872d5560248b9055c2b868
+77874655602447581f5e7429697c2b6b852c576a1f4b681e76872d6b852c697c2b
+576a1f47581f47581f708f315e74295e74296b852c5e7429576a1f656c2668752b
+304321697c2b68752b576a1f576a1f3a44233f4e1e5560245e7429304321697c2b
+656c26697c2b697c2b55602449601f556024383c23383c234c50262b33223a4423
+576a1f7b90346b852c6b852c757b2d7b90348c98358b903376872d76872d8e9f3b
+8c98539fa0568b903387872c76872d8b90337b903476872d8b90337b903487872c
+87872c555824574f26272c1f342d1f2b33223335225560245560243a4423556024
+757b2d8c9835a0a03a9f98358b90338b9033656c2687872c9f9035757b2d555824
+443623342d1f4436234e3d224436234e3d224e4425443623443623333522333522
+333522556024708f3176872d656c265560243a442347581f5f7b2a60832a697c2b
+4b681e708f3154742860832a6b852c6b852c76872d5e74293f4e1e49601f556024
+697c2b7b90346b852c697c2b5f7b2a6b852c47581f3f4e1e344d1e47581f333522
+342d1f24261c272c1f272c1f272c1f24261c272c1f3335222f3c223f4e1e272c1f
+47581f47581f576a1f5560245560243f4e1e697c2b4b681e757b2d656c26344d1e
+3f4e1e3f4e1e555824697c2b3f4e1e3f4e1e342d1f342d1f4436234e4425766e2d
+766e2d4e44253a44233f4e1e47581f5e74296b852c5f7b2a5f7b2a68752b68752b
+6b852c697c2b576a1f68752b7b9034576b333c582249601f3f4e1e49601f41671b
+576a1f76872d76872d3f4e1e5f7b2a708f3176872d9e985368752b656c26708f31
+49601f697c2b5f7b2a4b681e87872c9fa056757b2d5e74298b9033ab915868752b
+333522373e433a4423354c313f4e1e4b6933344d1e354c3130444d3043214b6933
+708f3160832a6b852c6f8f5271973260832a4b693354742849601f4960326b852c
+567f3a3d5f25576b333c58222b33222b3322262e353335223043213d5f253d5f25
+3c58223d5f255f7b2a576a1f557f225e74293c582249601f5e742947581f4b681e
+4b681e3d5f25496032354c313043213a44233f4e1e666b3b49601f5f7b2a8c9853
+76872d7d973680a03b91af497b903476872d6b852c6f8f527b90347c9053697c2b
+778746697c2b7787468c98538ea059576b3349601f697c2b5474284758322b3322
+4960323a4423576b3356603a3f4e1e5558242f3c223a44233a44232f3c222f3c22
+2b33222b33222f3c222b33222b3322272c1f272c1f24261c24261c24261c2b3322
+2f3c223043212f3c222f3c22344d1e49601f3c582249732341671b344d1e2f3c22
+354c31383c2324261c342d1f262e35272c1f24261c342d1f3335222f3c223a4423
+574f26887b2cae993dbfb04dbfb04dcdb85ecdb85ebfb04dc0a153c0a845ccb169
+ccb169dcc17fdcc17fd1b876cdb85ed1b876dcc17fe3cc97d0c074cdb85ed0c074
+dcc17fe0c492d4cb83b1af4d8c983576872d6b852c5e7429757b2d697c2b6b852c
+757b2d76872d76872d697c2b68752b576a1f2f3c223a4423978834957c2fb09954
+b09954ccb169b1a03d978834ae993dc0a845ccb169ccb169ccb169d1b876ccb169
+ccb169c2a85eccb169d1b876e0c492e0c492dcc17fd1b876d1b876ccb169c1b064
+c0a845c0a845c1b0649e9853b2a053c2b8689fa8579fa8579fa857a0a03a8ea059
+6b852c656c26656c2668752b68752b86874a8b9033757b2d68752b5e7429576a1f
+576b3349601f5e7429576a1f344d1e47581f697c2b49601f5f7b2a5e74297b9034
+5e742947581f47581f76872d7b9034697c2b778746576a1f576b33627444d1b890
+867c4c68752b719732708f31697c2b76872d6b852c47581f5f7b2a68752b76872d
+697c2b6b852c76872d6b852c697c2b757b2d6b852c68752b3f4e1e576a1f49601f
+55582476872d68752b47581f4c50264c5026656c266b852c5e74296b852c6b852c
+5e742949601f656c263043213335223f4e1e2b3322342d1f3a44233335224c5026
+697c2b5e74295f7b2a697c2b5f7b2a76872d6b852c76872d76872d76872d697c2b
+8ea0599f983576872d68752b68752b697c2b757b2d697c2b76872d8b90338c9835
+87872c656c264e4425333522272c1f342d1f342d1f383c23333522333522576a1f
+5558243a4423574f26555824555824757b2d66592c4e4425574f264e3d22342d1f
+342d1f4e3d22443623604f2a443623342d1f574f26272c1f44362344362324261c
+33352255602468752b4c502633352268752b55582455602476872d6b852c60832a
+6b852c6b852c697c2b5560244b681e576a1f76872d5e74295e74295f7b2a5e7429
+5e74296b852c697c2b557f226b852c5f7b2a5f7b2a576a1f344d1e333522342d1f
+272c1f24261c272c1f342d1f342d1f24261c272c1f47581f4c50263f4e1e2f3c22
+2f3c224c5026576a1f3f4e1e5560243f4e1e5474285f7b2a576a1f304321383c23
+2f3c223335223a442355582468752b555824383c234e4425556024766427766427
+574f26333522383c233a4423576a1f47581f68752b5e74296b852c7b90344b681e
+68752b6b852c68752b68752b757b2d4b681e47581f47581f3c582249601f41671b
+547428697c2b6b852c47581f49601f697c2b6b852ca0a03a757b2d576a1f697c2b
+6b852c697c2b697c2b68752b7b9034a0a03a76872d76872d9f915487872c656c26
+2f3c224758325658384b6933576b334b69334b693347581f304321344d1e496032
+5e74296b85455e7429576a1f708f314b681e4b69333c5822475832344d1e5e7429
+5f7b2a4b69335560244b69333043212b3322262e352b3322354c315f7b2a497323
+49601f5f7b2a60832a5e74295f7b2a5e7429576a1f6b852c5e7429576a1f3d5f25
+4b69333f4e32383c23262e352b33223335222b33222b3322333522576b3376872d
+8c9853a1af4e7c905368752b697c2b7d97366b852c576b335e742961834560832a
+697c2b6b852c4b681e68752b8ea059656c2649601f7787463f4e1e383c23383c23
+304321272c1f3a442333352247581f3c58223a44232b3322272c1f272c1f272c1f
+272c1f2b3322272c1f272c1f272c1f262e352b33222b3322272c1f272c1f4e4425
+555824757b2d4c50262b33222b33223335222f3c2249601f4b681e2f3c222f3c22
+344d1e2b3322272c1f2b33222b33223a44232b3322383c233a442347581f555824
+887b2c9f9035c0a845cdb85ecdb85ecdb85ecdb85ec0a845cdb85eccb169ccb169
+dcc17fdcc17fdcc17fdcc17fe0c492e3cc97e0c492e3cc97d0c074b2a856a1af4e
+b0b86ccdb85ed0c074d0c074b0a83f656c2647581f3f4e1e5560243f4e1e2f3c22
+383c23383c233a44233a44232b3322333522333522555824978834957c2fb09954
+a48954957c2f978834ae993dcdb85ebfb04dc0a153c1b064d1b876d1b876d1b876
+dcc17fccb169dcc17fd1b876dcc17fd1b890d1b890d1b890e0c492d1b876d1b890
+d0c074d1b876c1b0649e9853b2a856b1b0699f91548b90339fa056a0a03a8c9853
+7b9034697c2b7b9034757b2d87872c8b90558c985376872d757b2d697c2b576a1f
+55602447581f697c2b68752b6b852c76872d8c98357f97537d9736697c2b778746
+697c2b697c2b47581f697c2b5f7b2a6b852c8b9033576b3347581f627444c0b197
+c4a979757b2d7b90345e742949601f697c2b708f3176872d708f3177874676872d
+7b903476872d697c2b68752b576a1f757b2d576a1f576a1f5558243f4e1e3f4e1e
+68752b576b33697c2b547428657c445e742968752b76872d697c2b6b852c697c2b
+576a1f49601f3f4e1e3a4423333522272c1f272c1f272c1f342d1f2b332247581f
+5558243a4423344d1e4b681e5e742976872d697c2b7d97368c9835557f225e7429
+7b90348b9033576a1f576a1f576a1f5f7b2a6b852c76872d76872d7d97367b9034
+7b90348b9033697c2b3a4423272c1f272c1f24261c24261c24261c342d1f3f4e1e
+55582433352224261c342d1f24261c342d1f4e3d22342d1f342d1f24261c24261c
+4e3d22604f2a604f2a4e3d22342d1f342d1f342d1f24261c383c23333522342d1f
+3335223f4e1e3f4e1e342d1f2b3322656c2668752b5e742976872d708f31697c2b
+5e7429697c2b697c2b383c232b33223a4423697c2b6b852c6b852c576a1f697c2b
+5e7429697c2b697c2b5e7429697c2b576a1f5e74293a4423342d1f272c1f272c1f
+342d1f342d1f2b33224c50263a442324261c24261c342d1f342d1f272c1f342d1f
+2b3322383c234c502647581f5558243a44235474286b852c3f4e1e2b3322383c23
+2b33222b33222b33223335222b3322333522383c234e3d22443623574f263a4423
+4436233335223a44233a44233f4e1e5e74296b852c5e74294b681e5e7429576a1f
+576a1f547428697c2b76872d76872d6b852c41671b344d1e3f4e1e3043213d5f25
+5e7429697c2b5f7b2a47581f2f3c2249601f7b90348b903386874a576a1f3d5f25
+49601f6b852c697c2b697c2b7b90348c9835697c2b8c9853757b2d576a1f3d5f25
+3944463f4e324758324b6933576a1f5f7b2a6f8f52697c2b3d5f253c5822475832
+4b69337b90347d97367787466b852c6183453c5822344d1e344d593043213f4e32
+5f7b2a497323547428547443618345344d1e2b3322262e3533352249732341671b
+4960324b693349601f49601f576a1f5e74293d5f2549601f6b852c7c9053697c2b
+496032383c23383c23342d1f2b33222a3438272c1f3043213f4e3247581f6b852c
+87872c9fa056697c2b55602468752b8b90556b852c3f4e1e576b335e7429576a1f
+68752b6b852c3f4e1e666b3b86874a7787464c502647581f2f3c222b33222b3322
+3f4e1e547428576a1f697c2b5e742947581f4b69333f4e1e3043212b33222b3322
+2b3322272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f272c1f2b3322
+3f4e32656c26344d1e2b3322272c1f342d1f272c1f3f4e1e47581f3f4e1e2f3c22
+2b33222b33222f3c22383c233f4e1e4c50264c5026574f26766e2d656c2684712f
+c0a845bfb04dcdb85ebfb04dcdb85ecdb85eccb169dcc17fcdb85eccb169ccb169
+ccb169c2a85edcc17fe0c492dcc17fe0c492e0c492dcc17fe0c492c2b868a0a03a
+a1a73ca1a73ca0a03a8c98358c983587872c576a1f3f4e1e576a1f3f4e1e3a4423
+3335222f3c223335222b3322383c23576a1f656c268b90339f98359f9835766e2d
+66592c9f9154c2a85edcc17fd0c074d0c074b2a053a48a3bccb169dcc17fe0c492
+dcc17fe0c492e0c492e0c492dcc17fdcc17fe0c492d1b890dcc17fe0c492e0c492
+d8c291d8c291d0c074d1b876c2b868b2a8569e98538b90559f983586874a76872d
+8c98358b90558b90337787468b9033a0a03a86874a778746697c2b76872d76872d
+76872d7b90348c983576872d697c2b76872d697c2b7b903477874668752b6b852c
+697c2b49601f3f4e1e5e742976872d697c2b68752b576a1f344d1e565838aea886
+c0b197867c4c757b2d4b681e3c5822576a1f8c98538e9f3b9fa0569fa8578b9033
+76872d76872d757b2d47581f86874a8ea05976872d6b852c697c2b47581f767b47
+6b852c47581f576a1f576a1f3f4e1e556024344d1e656c26697c2b5e7429576a1f
+557f223c58222f3c22272c1f272c1f24261c24261c3335222f3c224e44254c5026
+3f4e1e3a44233a44233f4e1e576a1f697c2b7d97368c98358c98356b852c6b852c
+4b681e6b852c47581f49601f5e742976872d76872d6b852c697c2b7b90346b852c
+7b90348c983576872d55602424261c24261c24261c24261c24261c272c1f24261c
+272c1f24261c272c1f272c1f24261c342d1f342d1f1e241b24261c24261c24261c
+342d1f66592c84712f4436233335224e4425272c1f342d1f3a4423556024576a1f
+3f4e1e656c264c50262b332249601f6b852c68752b47581f47581f47581f383c23
+3a44235e74295e742949601f3043212b332247581f6b852c697c2b5e74295e7429
+4b681e576a1f547428697c2b60832a47581f4c5026342d1f24261c3335223a4423
+3335223335223a4423555824383c23272c1f24261c272c1f272c1f333522342d1f
+272c1f383c233f4e1e4c5026383c23383c236b852c68752b3a44232f3c222b3322
+24261c272c1f272c1f342d1f272c1f342d1f24261c333522333522443623383c23
+333522272c1f342d1f272c1f344d1e5e742949601f5e74295f7b2a49601f576a1f
+49601f49601f4b681e49601f6b852c6b852c576a1f576a1f5e742947581f3f4e1e
+4973235e74295e742976872d47581f576a1f697c2b7b90348b903360832a547428
+576a1f5e7429697c2b656c266b852c7b903476872d757b2d5560245f7b2a576a1f
+383c233f4e322f3c224960324b6933656c265f7b2a5e7429576b333c5822344d1e
+3d573b60832a7d97367787466b852c7d9736567f3a344d1e3c58223f4e1e3f4e32
+6b852c60832a47583247581f576b333a4423262e352b3322262e353d5f254b6933
+3f4e1e3c58223d5f25557f22576a1f576a1f49601f576b334c5026576a1f68752b
+3f4e1e2f3c222f3c222f3c223043213043213043214b69335f7b2a6b852c76872d
+757b2d86874a76872d68752b87872c8b90338ea0597b9034697c2b496032496032
+697c2b7b9034354c315e74297b90345e7429576b332f3c223043212f3c22333522
+49601f5f7b2a697c2b76872d757b2d697c2b76872d4b681e49601f576b3347581f
+3d5f253a44232b33222f3c222f3c22344d1e2f3c222b3322272c1f342d1f2b3322
+383c23272c1f24261c272c1f272c1f272c1f272c1f383c2347581f2f3c222f3c22
+3f4e1e3f4e1e5560243f4e1e3a4423555824766e2d87872c957c2f9f9035b0a83f
+bfb04dbfb04dae993da0a03ab1a03dc0a845ccb169dcc17fd1b876dcc17fe0c492
+dcc17fccb169dcc17fe3cc97e0c492e0c492e3cc97e3cc97e3cc97e3cc97d0c074
+b0b86ca1a73c7b90347b90348c9835a1a73c8e9f3b8c9835708f316b852c76872d
+76872d6b852c4b681e5f7b2a708f317b90348b903376872d68752b656c265e7429
+8c9835b2a856ada17fd1b890c4a979ccb1699e985384712fb09954dcc17fdcc17f
+ccb169e0c492e3cc97e0c492e0c492dcc17fccb169ccb169ccb169e0c492ccb169
+d1b890d1b890d8c291c4a979c1b064c1b064c2b8689e98538b90339e98537c9053
+7b90348c98358c98538c98357c90538c98538b903376872d5e7429576a1f7d9736
+76872d76872d7b903476872d76872d8c985376872d68752b576b33556024576b33
+5e7429496032344d1e6b852c576a1f76872d757b2d576a1f576a1f576a1f9d9981
+dcd6d69fa056576a1f49601f3c58225f7b2a656c2676872d76872d76872d68752b
+757b2d576a1f68752b5e74297787468b903376872d7b903476872d8c98538b9055
+76872d4c502647581f54742849601f576a1f49603249601f697c2b4b681e3f4e1e
+556024383c23383c23342d1f272c1f333522333522383c232f3c223043213f4e1e
+656c26576a1f576a1f3f4e1e3a4423656c267b90347d97367b9034576a1f656c26
+49601f6b852c576a1f576a1f6b852c76872d6b852c4c50264c502655602449601f
+55602447581f555824443623342d1f333522342d1f342d1f24261c24261c24261c
+24261c24261c24261c342d1f2b332244362324261c24261c24261c24261c24261c
+342d1f95885c847144342d1f3335223a44233f4e1e344d1e576a1f68752b697c2b
+576a1f697c2b47581f4c502676872d697c2b68752b5e74296b852c49601f47581f
+697c2b5f7b2a5e74294b681e2b33222f3c22344d1e697c2b697c2b47581f4b681e
+49601f576a1f5f7b2a5e742968752b3335224e4425333522342d1f333522304321
+333522333522383c23383c23342d1f24261c342d1f24261c24261c272c1f342d1f
+272c1f333522383c23383c233335223335223f4e1e383c23342d1f342d1f2b3322
+342d1f342d1f24261c342d1f342d1f24261c24261c272c1f272c1f2b3322272c1f
+272c1f24261c272c1f272c1f344d1e547428576b335f7b2a576a1f576a1f3f4e1e
+47581f344d1e697c2b49601f3d5f2554742847581f76872d8c98353a44233f4e1e
+4b681e576a1f4b6933556024576a1f49601f576a1f6b852c8c983576872d6b852c
+60832a6b852c697c2b5e7429697c2b7b90347b90345e74295e7429547428697c2b
+3f4e323944463a44235e74296274445e74295474285474285474284973236b8545
+6b852c6b852c80a03b7d973676872d7d97367c9053557f2247581f49603268752b
+77874660832a344d1e2b33223335222b33222b33222e3c4447581f60832a496032
+354c312f3c224758325e7429697c2b5f7b2a6b852c656c264960323f4e322f3c22
+3f4e324758323d573b4960325560243f4e32547443778746697c2b8c98538e9f3b
+8ea0598ea0598e9f3b8b90339fa857a0a03a8b90337b9034697c2b47581f3f4e1e
+47583247581f383c2368752b76872d56603a68752b4b69334b681e3a44232f3c22
+697c2b708f3176872d7b903476872d8b90338c983576872d757b2d3f4e1e49601f
+47581f4b681e3f4e1e49601f5e7429656c2649601f3c5822344d1e344d1e304321
+3f4e1e2f3c22342d1f24261c2b3322272c1f383c2349601f6b852c757b2d76872d
+7b9034576a1f3a4423656c26766e2d9f9035b0a83fbfb04dc0a845c0a845beb751
+bfb04db1a03d8e9f3b8b90338b90339f9035c0a845c0a845ccb169e0c492dcc17f
+d1b876dcc17fdcc17fe3cc97e0c492e3cc97e3cc97d8c291e3cc97e0c492d4cb83
+d4cb83a0a03a6b852c47581f576a1f76872d8b90338c9835697c2b68752b47581f
+3a442347581f5e7429576a1f576a1f3f4e1e76872d76872d656c2676872d76872d
+7b90347b90349e9853b2a856aea886c1b064ad903d957c2fad903de0c492e0c492
+e0c492e0c492d1b890decab4e3cc97ccb169c2a85ec4a979d1b890e0c492d1b890
+e3cc97dcc17fd1b876c1b064c1b064b2a8569fa0568b903386874a76872d8c9853
+697c2b778746697c2b6b852c8b90338c98357b90347787463f4e3247581f757b2d
+576a1f49601f757b2d5e7429576a1f6b8545757b2d627444656c26556024475832
+555824342d1f383c2368752b697c2b5e7429576a1f49601f576a1f496032666033
+cfc6b89f915468752b4b681e576a1f68752b68752b68752b697c2b5e7429656c26
+778746666b3b757b2d7b903476872d7b90345f7b2a68752b778746767b474c5026
+657c447787463f4e1e4e4425555824778746666b3b68752b697c2b3f4e1e2b3322
+3f4e1e4c50263f4e1e47581f272c1f342d1f272c1f272c1f2f3c224c502647581f
+576a1f556024556024383c23272c1f3f4e1e7d97368c983587872c76872d5e7429
+3f4e1e3f4e1e5e7429576a1f68752b76872d5560243a4423383c23383c23333522
+272c1f383c234c5026383c233f4e1e656c263a4423383c23342d1f24261c342d1f
+24261c24261c333522574f264e3d22342d1f24261c24261c24261c342d1f342d1f
+342d1f74643e604f2a342d1f4c50263f4e1e47581f697c2b6b852c697c2b697c2b
+5e7429576a1f68752b5e7429557f225e74296b852c6b852c697c2b6b852c6b852c
+6b852c5e7429556024333522272c1f3335223f4e1e68752b68752b4c5026383c23
+2b33222b33223a442347581f3f4e1e342d1f333522342d1f24261c333522272c1f
+272c1f333522383c23342d1f24261c272c1f333522342d1f272c1f2f3c223f4e1e
+272c1f272c1f272c1f2b3322333522443623443623333522342d1f342d1f342d1f
+4e4425342d1f342d1f4e3d22443623342d1f342d1f272c1f2b3322342d1f272c1f
+272c1f24261c272c1f272c1f2b3322344d1e3c58225474285e742960832a49601f
+49601f55602460832a47581f3f4e1e4b681e556024656c265558243a44233f4e1e
+3f4e1e47581f47581f55602468752b576a1f4c502647581f68752b76872d49601f
+54742876872d6b852c5e74296b852c757b2d5e742949601f3c58225f7b2a656c26
+2b33222a3438383c2356583847581f576b33576b336b8545576b336b852c5f7b2a
+567f3a708f317b90348ea0598c9835778746697c2b6b8545657c44576b33767b47
+757b2d7c905354742841671b3043212b33222f3c2249601f7f975360832a496032
+3043213a44233f4e32576b3386874a666b3b4b693356603a3a44232b33222f3c22
+3043214758322f3c22354c314960323f4e1e3c5822576b3347581f5560247c9053
+7d97367b90348c98538b90338c9853a1a73c8c98357b9034576b33657c443f4e32
+3a44233a44232a3438475832576b332b33222f3c22576a1f4b69333f4e1e49601f
+576a1f697c2b5e74295e74295e74297b90348c983576872d656c2668752b8e9f3b
+76872d697c2b68752b7b90348e9f3b8c9835708f314b681e576a1f5560245e7429
+697c2b5f7b2a3f4e1e3a4423556024304321556024757b2d8b9033beb751a1a73c
+8e9f3b8b9033757b2da0a03ab1a03db0a83fcdb85ebeb751bfb04dc0a845bfb04d
+b0a83fa1a73ca0a03a7b903476872d766e2d84712fc0a153ccb169dcc17fccb169
+dcc17fe0c492dcc17fe0c492e0c492e3cc97decab4decab4e3cc97e0c492c4bf65
+9fa0569f9835697c2b576a1f4c5026576a1f757b2d697c2b6b852c7b9034555824
+3335223335223a442347581f2f3c22383c233a44233f4e1e656c26766e2d576a1f
+576a1f87872c87872c978834d8c291e0c492c4a979c2a85ed1b890e0c492e0c492
+dcc17fe0c492d1b890dcc17fe0c492ccb169ccb169dcc17fccb169dcc17fd1b890
+e0c492d1b876c1b064b2a053d1b890d1b8769e98539fa0568c98537b9034697c2b
+76872d76872d757b2d7787468b90558b903376872d576a1f556024697c2b7d9736
+5e742960832a76872d697c2b697c2b68752b4c50263f4e1e49603247581f2b3322
+2f3c22333522383c234c5026576a1f4960323a442347581f47581f3043214c5026
+87886d9f915468752b76872d5e742968752b6b852c7b90346b852c47581f68752b
+76872d8c98538c98357d97367197327b903477874668752b576b333a4423556024
+6b85458c9853697c2b4b693355602468752b47581f383c233335222b3322272c1f
+333522556024383c2333352224261c24261c24261c383c235558243f4e1e555824
+556024576a1f656c26576a1f383c232f3c22576a1f68752b767b479e985368752b
+3f4e1e3a44235560244c5026555824656c265560245558242f3c2233352224261c
+272c1f2b33224e44254c50263f4e1e68752b5560244c5026333522342d1f3a4423
+33352244362355582466592c4e3d224e3d22342d1f24261c342d1f443623342d1f
+4436234e3d2244362333352266592c3f4e1e5e74296b852c697c2b576a1f576a1f
+47581f5f7b2a576a1f576a1f5474286b852c76872d6b852c697c2b76872d76872d
+697c2b49601f3f4e1e383c23333522333522304321576b333a4423342d1f272c1f
+272c1f272c1f2b33222b3322272c1f24261c272c1f24261c24261c1c1e19342d1f
+24261c24261c333522383c23342d1f342d1f4e44252b33222b33222f3c223a4423
+333522342d1f333522272c1f272c1f342d1f342d1f272c1f272c1f342d1f272c1f
+2b33223335224436234436234e3d22342d1f342d1f3335223a4423666b3b666b3b
+373e434436232f3c222f3c223f4e1e4b681e47581f344d1e49601f576a1f576a1f
+3d5f2549601f5f7b2a576a1f344d1e2f3c225560245560243a44233f4e1e383c23
+5e74297d973676872d7b903455602447581f656c26556024556024576a1f4b681e
+4b681e5560245e7429576a1f5f7b2a656c265e742947581f3c582260832a68752b
+3a44232a34384e5043576b33666b3b68752b7c9053819f595e74294b6933304321
+3f4e325e74297c9053666b3b4b6933778746697c2b75704d47581f475832576a1f
+6b852c7f97534973234b69335474437787467c90538c98357c9053344d1e475832
+496032657c447787468c985386874a556024475832666b3b576b3356603a56603a
+56603a3a4423383c2347583256603a383c234c50265658383a4423556024778746
+8e9f3b7c90537d97368c98357d97368c9835a1a73c8c9835778746666b3b2f3c22
+2f3c223f4e323335223f4e1e697c2b4758326274446183455f7b2a496032475832
+3a4423697c2b6b852c55582455582468752b76872d76872d6b852c76872d8c9853
+8b905586874a9fa0569fa05676872d556024656c26576a1f68752b5560243f4e1e
+3f4e1e5e7429576a1f49601f5e7429576a1f8b90338e9f3b8e9f3bb1af4da0a03a
+a1a73ca0a03a9f9835aeb84eb1af4db1af4db0a83fc0a153bfb04db1a03da1a73c
+b0a83f9f98358c98358b903387872c87872c957c2fc0a845ccb169d1b876ccb169
+e0c492dcc17fccb169dcc17fdcc17fe3cc97decab4e3cc97d8c291c0b8a6b0a83f
+76872d8c98355e74293f4e1e47581f697c2b47581f2f3c2255582476872d576a1f
+3f4e1e2f3c223f4e1e576a1f4b681e383c233335223335223a4423576a1f757b2d
+87872c8b9033b2a053d8c291d1b890dcc17fd1b876d1b890e0c492d1b890e0c492
+e0c492ccb169d1b876ccb169d1b876ccb169c0a845d1b876ccb169d1b876d1b876
+dcc17fc2a85ec0a153d1b876d0c074bfb04d9e98538c98538c98358b90338c9835
+7b903486874a7b903476872d7b90347c90536b852c7787467787467b90348c9835
+5e74296b852c6b852c5e74296b852c576a1f47581f33352247581f5e7429383c23
+2f3c223f4e1e576a1f49732360832a697c2b3f4e1e3f4e1e54742841671b3c5822
+656c2676872d76872d7b903476872d757b2d76872d8c983576872d697c2b697c2b
+8c98358e9f3b7f97537d973676872d656c26556024576a1f4b681e2f3c225e7429
+697c2b68752b618345708f31697c2b8c98357b90343f4e1e2f3c2233352224261c
+2b3322333522272c1f33352224261c272c1f4e44254e4425383c234e4425304321
+383c233f4e1e656c26766e2d3f4e1e342d1f342d1f3f4e32867c4c9a917886874a
+6660334c50264c50264e4425574f26443623383c23333522342d1f24261c24261c
+24261c3335224c5026556024656c26697c2b5560245560243f4e1e383c23556024
+656c26766e2d887b2c604f2a604f2a44362324261c24261c24261c342d1f342d1f
+443623443623342d1f342d1f55582455582447581f555824574f26383c23342d1f
+49601f697c2b4c50263f4e1e656c2647581f656c26556024576a1f6b852c68752b
+4c5026333522272c1f333522272c1f333642383c23383c232b3322272c1f272c1f
+2b3322342d1f24261c24261c24261c24261c272c1f2b33222b3322333522383c23
+383c23342d1f3f4e1e5560244c5026574f26666033383c23342d1f383c234c5026
+333522333522342d1f272c1f272c1f272c1f272c1f272c1f342d1f342d1f333522
+342d1f3335224e442544362333352224261c3335224e442556583886874a87886d
+4e50433a44233a442356603a6b8545576b3349601f3c582247581f5474285e7429
+4b681e49601f5e7429576a1f3a44233a4423656c266b852c5e742947581f3a4423
+3a4423697c2b76872d8c9835757b2d576a1f49601f49601f5e74296b852c576a1f
+5e74294b681e49601f54742876872d7b90347b9034576a1f3d5f25697c2b76872d
+354c312f3c224c502656603a5560243f4e32666033576b33576b333f4e32373e43
+33352256603a778746666b3b666b3b7787464e50433335222f3c223f4e32757c71
+8b90557b90344960324960323d5f25576b337c90537787463f4e1e2b33223f4e32
+383c234c5026574f2656603a5f61564e50432f3c223a44234758324c50263f4e1e
+565838383c233335225658384c50263336422b3322383c23383c23666b3b95885c
+b0a83f8c985392a7599fa0568c98358c98359e985376872d68752b3f4e32383c23
+2f3c224758324e50433a4423666b3b627444767b47576b3347581f3a44233a4423
+383c2368752b5560243f4e1e55602476872d666b3b4c50264c50264c5026555824
+555824766e2d86874a656c26383c233335224e44253a442366592c86874a766e2d
+76872d757b2d4c50264c50265560245560248c98358ea83e8e9f3ba1a73ca0a03a
+a1a73ca1a73cbfb04daeb84eb1af4d9f9835b1a03db1a03dc0a845b1a03da0a03a
+aeb84ea0a03a9f98359f9835a0a03a9f9835bfb04dd0c074cdb85eccb169dcc17f
+e0c492e0c492d1b890d1b890d1b890e0c492dcd6d6e0dfc6e3cc97d4cb83aeb84e
+76872d76872d68752b49601f576a1f5560245560245e74297b9034697c2b5e7429
+60832a5560245e742968752b3f4e1e3f4e1e556024656c2687872ca1a73ca1a73c
+9f9835b1af4dd0c074d0c074d1b876d1b876d1b876ccb169d1b876d1b890d1b876
+d1b876d1b876d1b876ccb169c2a85ec1b064ccb169c2a85eccb169cdb85ed1b876
+ccb169d1b876d0c074e0c492c1b064c1b0649fa0569e98537b90347c90538b9033
+7b903486874a68752b757b2d7b90348c98536b852c757b2d7b90346b852c68752b
+576a1f49601f5f7b2a757b2d757b2d576a1f344d1e2f3c22344d1e47581f2f3c22
+3f4e1e3f4e1e6b852c697c2b697c2b5f7b2a3d5f2547581f49601f49601f5f7b2a
+60832a68752b757b2da1af4e8e9f3b8b9033757b2d656c2677874668752b757b2d
+7787468b90558c98537d973686874a68752b556024778746576a1f3d5f255e7429
+7b90345e74295f7b2a557f22697c2b4b681e6b85455e742955602433352224261c
+24261c272c1f342d1f24261c342d1f2b332247581f5560243f4e1e4e4425383c23
+3335224e44254c50264c50264e44254e4425383c23342d1f4e4425857d6775704d
+66592c383c23383c23333522383c23342d1f333522272c1f272c1f24261c24261c
+272c1f272c1f2f3c22576a1f68752b76872d656c2668752b49601f4c50263f4e1e
+656c268b905574643e66592c4e3d22342d1f24261c24261c342d1f24261c342d1f
+4e3d224e3d22342d1f33352247581f4e4425272c1f342d1f4e3d22443623333522
+3043213f4e1e443623272c1f272c1f272c1f2b3322333522342d1f383c232b3322
+272c1f272c1f24261c272c1f24261c342d1f24261c24261c24261c272c1f272c1f
+333522272c1f24261c342d1f24261c342d1f2f3c2241671b41671b4b681e547428
+49601f49601f47581f576a1f576a1f5560244e44253a4423383c234c5026555824
+333522333522333522342d1f2b3322272c1f342d1f333522333522342d1f342d1f
+443623333522333522272c1f24261c342d1f574f265f6156857d67857d6786874a
+757c7175704d54605f8c9853767b47496032666b3b3f4e1e3c5822576b335e7429
+47581f3c582249601f5e74293043212b33223f4e1e697c2b6b852c708f3176872d
+2f3c22576a1f697c2b697c2b68752b5558243a4423344d1e5e742968752b68752b
+6b852c54742849601f3c58224973238c98357b903468752b3f4e1e5e7429656c26
+3944462e3c443f4e3255582456603a383c2356603a555824496032354c312f3c22
+2f3c2266603368752b56603a6660334c50262f3c22333642342d1f3335224e5043
+3a4423666b3b4960324758324758323f4e32576b33657c443a4423262e35342d1f
+262e35272c1f333522333522333522373e43342d1f272c1f24261c272c1f4c5026
+666b3b4e4425666b3b86874a75704d383c233335223a442366603395885cb2a053
+b2a0539f9035a0a03ab1a03d9e98539788348b90339e9853757b2d556024576b33
+5e74295558243f4e323a44233f4e32383c23333522262e35333522383c23272c1f
+39444686874a68752b56603a4e4425565838383c23342d1f272c1f272c1f333522
+5560248ea0597b903487872c767b474758322f3c22383c234c5026666b3b555824
+66592c383c23333522383c233a44235560248b90338b9033a1a73ca0a03aa0a03a
+9f9835a0a03ab0a83fb1af4db1af4db1a03da1a73cbeb751a0a03a9f9835a0a03a
+a0a03a8b90338e9f3ba1a73cb1af4db1af4dc0a845b1a03dae993da48a3bb09954
+d1b876e0c492e0c492e0c492e0c492e3cc97decab4e0c492d1b890c2b868b0a83f
+8e9f3b8c983576872d76872d6b852c7d97368e9f3b8ea83e6b852c576a1f5e7429
+47581f3a44233f4e1e55582476872d76872d8e9f3ba1a73ca1af4eb0a83fa0a03a
+b0a83fd0c074c2b868ccb169c4bf65cdb85ecdb85ec1b064ccb169d1b876cdb85e
+d0c074d0c074c2b868c1b064bfb04dbeb751bfb04dc1b064bfb04dccb169d1b876
+d1b876dcc17fdcc17fc3c17accb169b1af4da1a73c8c9835697c2b697c2b757b2d
+757b2d76872d68752b757b2d5e742968752b576a1f5e74297c9053656c26555824
+3a44233a442347581f576b33656c264c50265558243f4e1e344d1e2f3c223f4e1e
+3f4e1e49601f49601f565838656c26656c263f4e1e344d1e47581f47581f5e7429
+60832a5474285e74297b90348c98359e98538b9055656c26757b2d656c26767b47
+8b90559fa857778746757b2d656c26767b476b852c6b852c5474284b681e3c5822
+49601f41671b708f317d97366b852c4b681e49601f4c50264c502624261c342d1f
+24261c24261c24261c24261c24261c4436233f4e1e3f4e1e3a4423333522342d1f
+3335223f4e1e656c26576a1f3a44235560245560242f3c22272c1f4e504375704d
+666b3b4c5026333522342d1f342d1f272c1f342d1f24261c272c1f342d1f333522
+342d1f272c1f3a4423555824757b2d76872d68752b5e74295e74294b681e3d5f25
+657c4484714474643e4e3d2244362324261c24261c342d1f342d1f342d1f272c1f
+24261c342d1f272c1f383c233a44233f4e1e383c23272c1f3335224e3d22443623
+342d1f24261c24261c24261c272c1f272c1f24261c24261c24261c24261c24261c
+24261c24261c1e241b24261c1e241b24261c1e241b24261c24261c342d1f272c1f
+272c1f272c1f24261c24261c24261c2f3c2249601f5f7b2a60832a60832a697c2b
+5e7429576a1f3f4e1e49601f49601f47581f4c50264c50263f4e1e4c5026555824
+3a4423383c23383c23383c233335223335223335224e3d224e3d22333522443623
+333522342d1f272c1f272c1f342d1f272c1f857d679a917884888775704d857d67
+757c71778746767b477c90538b9055627444767b475e74293043213c5822556024
+697c2b76872d697c2b5e7429576a1f344d1e4b681e47581f576a1f7b90345f7b2a
+47581f5f7b2a708f318c9853757b2d5560243043213f4e1e3d5f253f4e1e3f4e1e
+556024344d1e3c582249601f49732380a03b8b90336b852c576a1f4b681e3f4e1e
+3335222a34383a44235658384960324b69336b852c6b852c576b33354c31373e43
+2e3c443f4e1e556024576b33666b3b576b33383c232a34383335223335224c5026
+475832576b333f4e1e4758323f4e323a4423576b3368752b383c23262e35342d1f
+272c1f342d1f3336422b33222b3322383c23342d1f262e3524261c24261c4e5043
+666b3b4c50265f615668752b666b3b373e433335224e4425666033867c4ca48954
+978834887b2c87872c957c2f957c2f84712f7664279e98538b9055656c2656603a
+657c44666b3b4c5026666033767b474c50263f4e32272c1f272c1f272c1f272c1f
+272c1f3a4423666b3b3f4e32342d1f272c1f272c1f24261c333522576b33778746
+8b9055767b47767b477787465658382b3322342d1f2b33223335224c50262f3c22
+2b3322272c1f342d1f443623766e2d957c2fb1a03d9f9835b1a03db1a03dc0a845
+9f9835b0a83fb1a03dc2b868b0a83fbfb04db0a83fb1af4db0a83fa0a03aa1af4e
+a0a03a8b9033b0a83fa1a73cb0a83fa0a03a978834978834978834ad903dc0a153
+ab9158ccb169d1b890d8c291d8c291d8c291d1b890d1b890e0c492b1b0698b9033
+7b903468752b49601f697c2b5e742968752b76872d7d9736697c2b47581f47581f
+2f3c2230432149601f8b9033a1a73ca0a03a9f98359f9835b0a83fbeb751b1af4d
+b1af4dc4bf65beb751b1a03dc0a845c1b064b1b069b1af4dbeb751beb751c2b868
+cdb85ec2b868b2a856b2a856c1b064b0b86cb0a83fb2a053c2a85ed1b876cdb85e
+c1b064c2b868c2b868c1b064beb7518ea0598b90339f9154757b2d8c98537b9034
+8b9033656c2676872d68752b576a1f5560244c50263f4e1e576a1f5558243f4e1e
+47581f3c582247581f3f4e1e4b69333a4423383c2347581f656c2647581f383c23
+272c1f4c50263f4e1e30432155602449601f49601f4b681e5e742949601f697c2b
+5f7b2a576a1f697c2b6b852c8b90338c98358ea0598b90559e98538c98538c9853
+8b90337c905376872d8c98537b9034656c26496032576a1f47581f47581f4c5026
+475832344d1e708f316b852c5f7b2a49601f4b681e3f4e1e3a442324261c272c1f
+24261c342d1f272c1f342d1f24261c342d1f333522383c232b3322333522272c1f
+3335223a44234c50265558245560247664274c5026556024333522342d1f4c5026
+5658384e4425272c1f272c1f3a44233f4e1e342d1f272c1f3a442347581f49601f
+383c232b3322344d1e656c269e9853b2a0539f9154556024757b2d7d97367b9034
+55602456583866592c342d1f342d1f24261c1c1e19342d1f24261c24261c24261c
+24261c342d1f24261c333522342d1f333522342d1f272c1f2b33223a44233a4423
+3a44232b332224261c383c2333352224261c24261c342d1f272c1f24261c24261c
+24261c24261c24261c1c1e1924261c24261c24261c24261c2b33225558243f4e1e
+333522383c23272c1f272c1f24261c2b33225e74296b852c6b852c576a1f68752b
+76872d576a1f49601f47581f47581f41671b47581f49601f47581f3f4e1e3a4423
+383c23383c23383c23383c233f4e1e4e4425574f264e4425443623383c234e3d22
+383c23443623383c23342d1f342d1f33352275704d9a917884714456583887886d
+8b90557787468b90556b85458b9033767b47576b33697c2b3f4e1e344d1e68752b
+76872d6b852c6b852c5e7429697c2b576a1f5474283d5f2549601f697c2b556024
+49601f5f7b2a6b852c6b852c656c263f4e1e2f3c2249601f344d1e2f3c222f3c22
+304321344d1e344d1e4b681e697c2b80a03b8b903376872d5f7b2a576a1f2f3c22
+2e3c44272c1f394446555824555824496032576b336b8545576b334b6933354c31
+2f3c224b6933657c444960324c50267787464758323a4423304321475832627444
+767b476b85453d5f254758323f4e1e556024778746657c443f4e1e2b332230444d
+383c233f4e324c5026574f265658383a4423262e352a3438383c233a4423373e43
+4e5043333522373e43604f2a565838333522272c1f383c234c502674643e9f9154
+9fa8578b90339f91548c98359e9853887b2c87872cae993d8b9055576b334c5026
+766e2d4c50264c5026666b3b75704d3a44233f4e3224261c24261c272c1f272c1f
+24261c342d1f4e504333352224261c272c1f24261c24261c383c238b90558b9055
+4c5026342d1f272c1f342d1f272c1f24261c272c1f1e241b1e241b272c1f24261c
+272c1f272c1f342d1f383c2366592c76642787872c957c2f978834978834a48a3b
+887b2c9788349f9035a48a3b9e9853b1a03d9f983587872c9788349f9835a0a03a
+9f98359f9835b0a83fb1af4d9f90359f90359f903595885c9e9853b09954c4a979
+c0a153c4a979ada17fc4a979c4a979b09954aea886b1b069c4a979c1b064b0a83f
+757b2d757b2d76872d47581f3f4e1e556024656c26656c263f4e1e333522383c23
+3f4e1e383c233f4e1e8b9033a1a73ca1a73cb1a03db2a053c1b064b1af4db1af4d
+a1af4ea1a73cb1af4dc0a153b2a856b1af4db2a856c2b868b1b069b2a856b1b069
+c1b064b1b069b0a83f9e9853b2a0539f98358e9f3b8ea059b2a856b1b069b2a856
+bfb04db0b86cb2a053c1b064b1af4da1a73c9e98538b90338c983576872d86874a
+8b90337c90538b903386874a778746656c2647581f475832576b3347581f344d1e
+555824576b33767b47697c2b3a442355582468752b7787467c9053656c262b3322
+4c5026697c2b6b852c576a1f3f4e1e3f4e1e556024627444576a1f576a1f68752b
+576a1f47581f757b2d8b90557b90349e98539fa0568c98538ea0598c98538ea059
+8c98538b903376872d8c9853778746767b47778746666033657c44576a1f47581f
+576b337f97537b90344b681e767b47666b3b5e742976872d383c2324261c24261c
+24261c272c1f24261c24261c272c1f272c1f3335222b33223335223a4423383c23
+2b33222f3c223f4e1e5e742968752b656c263a442355582447581f2b3322342d1f
+333522333522272c1f272c1f5560245e7429576a1f556024656c2668752b68752b
+666033576a1f767b47778746aea886c2b868ada17f9fa8578b9055767b47766e2d
+6660334e44254e3d22443623342d1f24261c24261c342d1f342d1f342d1f24261c
+443623574f264e3d22342d1f4436234e44253335223a4423383c23383c23555824
+576a1f5560244c5026656c26574f26342d1f342d1f383c23443623342d1f24261c
+342d1f24261c24261c24261c24261c24261c24261c24261c272c1f3a4423333522
+3f4e1e383c23272c1f272c1f2b332247581f76872d697c2b68752b555824656c26
+8b9033697c2b5f7b2a576a1f49601f5e74293f4e1e3f4e1e3a4423383c232b3322
+272c1f333522333522383c234c502655602466592c4e4425383c234e4425333522
+333522383c23333522342d1f342d1f3335224e4425666c5e4e5043565838657c44
+697c2b867c4c6b85457787468c98538c985376872d757b2d47581f576a1f778746
+757b2d86874a656c26576a1f3c5822576a1f49601f3c58223d5f254b681e576a1f
+708f31557f226b852c757b2d757b2d47581f344d1e576a1f47581f3f4e1e2f3c22
+383c232f3c223f4e1e576a1f5f7b2a8c98358e9f3b76872d5e742949601f333522
+3a44232e3c442f3c2256603a56603a496032475832547428576b33576b334b6933
+576b335f7b2a6b85456b854568752b657c4468752b657c444960323f4e324b6933
+5e74296b854541671b4b69334b6933627444767b476b8545618345344d1e3f4e1e
+475832576b33666b3b867c4c767b473f4e1e4c50264b6933627444556024475832
+3f4e1e4436233335224e44253a44232e3c442b33222f3c222f3c223f4e3284712f
+8c98357197328c98358c985376872d87872c8c983587872c757b2d55602456603a
+666b3b5658383a44234e4425574f26373e4333352224261c24261c272c1f272c1f
+262e354758325558243a4423262e35272c1f24261c24261c33352277874686874a
+666b3b383c23383c233a442333352224261c24261c24261c24261c272c1f272c1f
+24261c272c1f272c1f3a4423766427766e2da48a3b9f9035a48a3b978834a48a3b
+84712f978834978834957c2f978834ad903d887b2c757b2d887b2c957c2f978834
+97883487872cad903d978834887b2c84712f84714474643e857d6795885ca48954
+a48954977c4fa48954977c4fa48954977c4f977c4f9a9178977c4f9e98539f9035
+867c4c5560244e3d22333522342d1f333522443623574f26333522272c1f272c1f
+5558245560248b90339f903587872c86874a9788349f9035b2a856ae993db2a053
+9f90359f9835b1af4db1a03d9e9853b1b0699fa857b1b0699fa056b0a83fb2a856
+b2a856b2a856a1a73c9f9835b1a03d9f90359f9835b2a856c2a85eb2a856b1a03d
+b1a03db2a856ae993dc0a153b2a053b2a0539fa0568c98538c98538b903386874a
+86874a8b9055697c2b8c98538c98538b90558b9055767b4768752b3f4e1e475832
+86874a627444556024656c2668752b666b3b8b90337787466b852c556024383c23
+6b8545627444697c2b5e74293f4e32576b334c50264c50263a4423666b3b656c26
+383c23333522666033604f2a66592c86874a8ea0598b90337787469fa056778746
+76872d77874686874a8b905568752b576b33666b3b55582462744468752b656c26
+7c9053778746666b3b576b3362744486874a77874677874655582433352224261c
+272c1f3a4423272c1f24261c272c1f272c1f272c1f3335223335223a4423574f26
+47581f49601f49601f656c26656c264c50264c5026383c235560243a4423272c1f
+272c1f342d1f272c1f272c1f5e74294973235e7429697c2b76872d757b2d887b2c
+9fa056b1b0699e9853aea8869e98539fa056ada17fa0a03a86874a4e4425383c23
+4e3d22383c23342d1f272c1f342d1f24261c342d1f24261c24261c24261c24261c
+4e3d2274643e66592c84712f6660334e44254e44254e442533352224261c333522
+4e44253f4e1e556024656c2687872c757b2d555824555824555824574f26333522
+342d1f342d1f333522383c2333352233352233352224261c342d1f272c1f342d1f
+3a44234e44254c5026383c233f4e1e697c2b8b90338b903387872c757b2d757b2d
+9f98358b9033708f31697c2b4b681e576a1f576a1f3a4423304321383c232b3322
+272c1f2b3322272c1f333522333522383c234e4425574f26443623333522333522
+3335223a4423383c23333522383c23383c233f4e325658385f6156767b47666b3b
+657c448b90558c9853697c2b8e9f3b7b90346b852c7b9034767b4747581f697c2b
+8c9853778746576a1f5e74294b681e49601f3a442347581f5474285e7429576a1f
+576a1f697c2b5e74295e742968752b3a44233f4e1e3f4e1e30432149601f68752b
+342d1f272c1f3a442368752b76872d8c98358e9f3b757b2d47581f41671b3f4e1e
+383c233944462f3c223f4e1e47583249601f4b69334b69333d5f25344d1e4b6933
+5474435f7b2a7b90346b8545656c266b852c61834554742847581f49601f68752b
+6b852c708f314b69333f4e1e2e3c442b33222f3c224c5026657c445e74293d5f25
+2f3c222f3c222f3c22666b3b68752b4758324c5026475832383c23383c23373e43
+3a44234c50262e3c442f3c224758322f3c223f4e1e496032354c3147581f778746
+708f31697c2b76872d76872d76872d8b90339e985376872d666b3b3f4e1e4e4425
+3a44233f4e323a44233335222f3c223a44233a44232a34382f3c22333522272c1f
+383c2375704d56603a565838383c233a442333352224261c272c1f3335223a4423
+766e2d77874676872d8c9853666b3b383c23333522342d1f383c23666033383c23
+333522272c1f272c1f3335224e442555602487872c87872c9f98359f90359f9835
+87872c9f98359f9154b0a83f9e9853ae993da0a03a9f98358b90339f98359f9835
+8b90338b90339f9835b0a83f978834978834887b2c977c4f95885c95885cab9158
+ab91589d9981ab9158ada17fada17fa48954ab91589e98539f9154ab9158978834
+766e2d3a4423272c1f272c1f24261c24261c24261c272c1f24261c24261c333522
+757b2d87872c8b9033666b3b4e4425604f2a604f2a766427b099549f90359f9035
+957c2f957c2f97883487872c978834b2a856a0a03a9fa056757b2d9788349e9853
+9788349f98359f90359f9035957c2f978834ad903dc2a85ec0a153ae993da48a3b
+ad903dab9158957c2fa489549f91549f90359e98539f9154767b47867c4c86874a
+8b9055767b4766603356603a767b4786874a778746767b4786874a666033565838
+4c50264c502656603a656c26778746767b478b90337787468b905576872d576b33
+767b47656c2668752b767b47627444565838666b3b666033666b3b5f615666592c
+4c50264c50263f4e1e2b3322666033627444867c4c66603356603a778746778746
+86874a6b8545697c2b767b47666b3b4c5026666b3b4c502656603a778746778746
+778746666033383c23383c233a4423666b3b767b47666b3b3f4e1e342d1f24261c
+272c1f33352224261c24261c342d1f24261c24261c333522555824555824957c2f
+766e2d757b2d766e2d766e2d766e2d766e2d604f2a4e4425574f26443623342d1f
+272c1f272c1f24261c272c1f49601f6b852c697c2b697c2b7b90348b90338c9835
+8b90559fa0569fa0569e9853767b47766e2d86874a757b2d66592c342d1f333522
+342d1f24261c24261c1c1e19342d1f342d1f24261c342d1f24261c24261c24261c
+342d1f604f2a847144977c4f957c2f666033443623443623342d1f342d1f24261c
+383c23556024383c234c5026656c2687872c87872c666033656c26555824333522
+272c1f3a44234c5026383c233a44235558244e44253335223335224c5026555824
+5558247664279f9154887b2c757b2d8c98359f9835a0a03a9f9035a0a03a9f9835
+8b90338c98358e9f3b76872d656c264b681e49601f3043213f4e1e344d1e2f3c22
+2b33222f3c222f3c222f3c223335223335222f3c22383c23333522333522383c23
+3a44233f4e1e3335222b33223f4e1e47581f555824767b478b9055767b477c9053
+9e9853aea8868c98537c90537c9053757b2d697c2b76872d8e9f3b757b2d68752b
+8b903386874a5e7429576a1f76872d576a1f49601f4b681e697c2b5e742968752b
+5e7429576a1f5e7429576a1f656c263a442349601f344d1e2f3c223f4e1e576a1f
+3043212f3c22656c26697c2b76872d8e9f3b7d97366b852c576a1f3c582247581f
+383c23394446354c313f4e323c5822576b335f7b2a4b69333c58223f4e32354c31
+354c314b693376872d5f7b2a5e74296b852c576b333d5f253d573b4c5026475832
+68752b5e74293043212f3c222e3c44272c1f2a34383335223a4423576b333f4e1e
+3043212a34383f4e1e56603a4b6933576b33697c2b5560243f4e32383c23333522
+383c233a44233a4423354c3147581f344d1e4b693368752b49601f576a1f778746
+708f3176872d7d97366b852c8b9033a1a73ca0a03a697c2b576a1f3a4423333522
+3335224758322f3c223f4e32627444576b33767b47576b33475832304321333522
+2f3c225558243f4e1e3f4e1e56603a62744447581f383c232b3322383c23383c23
+383c23697c2b697c2b576a1f3f4e323a4423383c23383c2355582468752b666b3b
+767b47556024383c233a4423383c2347581f76872d76872d8c98357b90348b9033
+8b90339f98359f9835a0a03aa0a03a9f98359f9835a1a73c9f98358c98359f9835
+8b903376872d8b90339f98358c98358b903387872c887b2c887b2c978834a48954
+a48954c4a979d1b890d1b890ccb169d1b890c4a979c0b197d1b890c1b064a0a03a
+757b2d656c2647581f3a44232b3322383c233a4423556024333522272c1f272c1f
+383c234e442566603397883476872d887b2c978834978834b2a0538b90339f9035
+957c2f9788349f90359f903587872cb2a053a0a03aa0a03a87872c87872c9f9035
+9788348b90339f9035957c2f84712f957c2fa48954b09954b09954978834a48a3b
+957c2f957c2f604f2a76642784712f887b2c867c4c767b47757b2d66603366592c
+767b47767b475658384c502675704d867c4c86874a87886d767b47666033383c23
+5658384e50433f4e3268752b8b9055767b477787467664278b9055778746778746
+576a1f767b47767b47666b3b68752b767b47778746574f26574f26383c23333522
+4e4425666b3b383c23272c1f3335223a44233a4423342d1f333522666b3b767b47
+778746757b2d576a1f767b47666033555824666b3b666b3b4c502656603a666b3b
+767b4755602456603a4c50263335223335224e50434c50262f3c2224261c24261c
+24261c24261c24261c272c1f383c23342d1f24261c33352266592c84712f887b2c
+84712f978834887b2c766427887b2c887b2c766427887b2c766427574f264e3d22
+383c23333522272c1f333522656c2676872d5e74295e74297b90347b90347b9034
+87872c8b90338b905586874a6660335558244e44252f3c222b332224261c272c1f
+272c1f24261c24261c24261c24261c342d1f342d1f342d1f24261c24261c342d1f
+342d1f4436234e4425604f2a604f2a574f264436234e442544362324261c272c1f
+3f4e1e56603a3a4423383c2333352255582475704d766e2d656c26766e2d333522
+3a4423656c265560244e4425383c2347581f3a44235558243a4423555824574f26
+666033757b2db2a053b2a856ae993db0a83fa1a73ca0a03aa0a03ab0a83fb0a83f
+a0a03a9f9835a1a73c7b9034576a1f4b681e576a1f3043213f4e1e3c5822304321
+2f3c222f3c222b3322383c23304321383c233a44233043213f4e1e3f4e1e47581f
+576a1f5560243f4e1e3f4e1e576a1f576a1f7787469d99818c985386874a8b9055
+8ea0599fa0569fa0565e74298c98538b9033767b4768752b757b2d8c98538b9033
+68752b5e742968752b7f97537b9034697c2b5e74295e7429576a1f3a4423556024
+76872d697c2b697c2b576a1f49601f656c265f7b2a576a1f3a44233f4e1e757b2d
+3f4e1e3c58225e7429576a1f76872d8c98357d97366b852c49732341671b49601f
+333522373e433043214758324758324b681e4758323f4e323043213043213f4e32
+354c31657c4460832a657c445f7b2a567f3a49603230444d3043213a4423373e43
+657c444b6933344d1e344d1e4758322e3c44342d1f272c1f2a34383c5822344d1e
+304321344d1e49603241671b49601f3f4e1e47583247581f47581f3f4e1e3f4e32
+3043213a44232f3c22383c233a4423383c233f4e325560245e742976872d778746
+7b903476872d76872d767b478b90338c985376872d757b2d68752b576b332f3c22
+2f3c22383c232b33223a4423556024383c23354c3149603241671b3f4e1e3f4e32
+3a4423576a1f576b333a4423344d1e4b681e697c2b576a1f5e7429576a1f5e7429
+697c2b757b2d76872d68752b3f4e32383c233f4e1e4c50264758326660333a4423
+4c50265560243f4e1e3f4e1e4b681e47581f76872d7d97368c98358c98358c9835
+9f98358c9835a0a03aa0a03aa0a03a9f98358b90339f98359f98358b903387872c
+8e9f3b76872d8b90338b90339f9835b1a03db1a03dc0a1539f9035a48954c0a153
+c4a979e0c492ccb169c0b197c4a979d8c291d8c291c3c17ad1b890d1b8768c9835
+656c26576a1f68752b47581f3a442349601f4b681e5560243a44232b33222f3c22
+2f3c222f3c223a442376872d8c98358c98358b90339f90359fa0569f98358e9f3b
+9f98358b9033a1a73c9f98359e98539fa0569fa0569fa8578c98539e9853ae993d
+a0a03aa0a03a9f90358b90339f903587872c86874a9e9853b09954ae993d978834
+ae993dae993d9f9035ad903da48a3b957c2f86874a766e2d5558243a4423383c23
+4c5026383c23333522342d1f333522383c23604f2a333522342d1f272c1f272c1f
+3a4423333522342d1f3f4e1e4e4425555824656c26656c26656c26666b3b4e4425
+574f26766e2d86874a5658384436234e504374643e565838342d1f383c23333522
+272c1f333642342d1f24261c24261c24261c24261c272c1f333522778746778746
+857d6768752b666b3b68752b666b3b56603a767b47767b47666b3b4758324c5026
+6274446660334c502655602455602455602447581f4c5026342d1f342d1f24261c
+1c1e191c1e1924261c24261c342d1f342d1f24261c342d1f383c23604f2a4e4425
+76642776642776642766592c604f2a66592c66592c84712f887b2c766e2d666033
+604f2a333522383c233f4e1e757b2d757b2d556024656c2649601f697c2b86874a
+76872d8b90559e985386874a75704d574f26342d1f24261c24261c24261c342d1f
+24261c342d1f24261c24261c24261c342d1f342d1f342d1f1c1e1924261c24261c
+272c1f342d1f3336424436234436233335224e3d224e3d2244362324261c24261c
+333522333522342d1f24261c24261c342d1f383c23333522342d1f4e4425556024
+76872d86874a766e2d6660333a44234e4425757b2d887b2c4e44254c5026766e2d
+766e2d9fa0569f9154c2a85e9fa056b0a83fb0a83fa0a03a8e9f3ba1a73ca1a73c
+a0a03a8e9f3ba1a73c8e9f3b7d97367b9034697c2b3c582249601f576a1f3a4423
+344d1e2f3c222f3c222f3c22304321304321344d1e344d1e5e7429697c2b6b852c
+76872d76872d68752b68752b8b90339f9035a1a73cb1b069b2a8569e98539fa857
+b2a8569fa857b2a85686874a8c98539fa8577b90347b90345f7b2a68752b8b9033
+708f3168752b68752b757b2d76872d76872d697c2b68752b5558243a442349601f
+76872d5e74295e74295e74295f7b2a708f31656c26576a1f54742849601f3c5822
+3f4e1e3f4e1e576a1f47581f7b90348e9f3b8e9f3b71973276872d4973233d5f25
+333522373e43383c233a44233f4e323f4e1e3a4423373e43373e432f3c22304321
+4b693360832a547428576b335e742941671b354c31304321304321304321475832
+5474283d5f254b69334b69334960322f3c22272c1f262e352a34383d5f253d5f25
+344d1e3d5f253c58223c58223d5f254960323f4e1e47581f576a1f5e7429576b33
+3a44232a34383335222a34383335222b3322272c1f383c23475832576a1f697c2b
+5e7429757b2d656c26555824666b3b757b2d6b852c697c2b5560244b69332f3c22
+3a4423373e432b33224960325560242f3c223f4e1e4b6933475832344d1e3f4e32
+49601f4b681e576a1f556024576a1f697c2b6b852c697c2b5474285f7b2a8b9033
+757b2d767b4784712f7b90346b852c697c2b697c2b47581f576b333f4e1e3f4e1e
+3f4e1e5560243f4e1e344d1e49601f3a4423656c26697c2b8b9033a1a73c8c9835
+8e9f3b76872d87872c9f9835a0a03a9f9835a0a03a9f9835ae993d9f98359f9835
+8e9f3b8b90337b9034757b2d978834887b2ca48a3bc0a845c2a85ec0a153d1b876
+d1b890d1b890c4a979ccb169c4a979d1b890decab4d3cea2c1b0649e985387872c
+6b852c5e74295560245e74294b681e576a1f60832a76872d5e74293f4e1e47581f
+2f3c222b33223f4e1e55602476872d8b903387872c8b9033a0a03aa0a03aa0a03a
+a1a73c9fa056b2a8569f9835a0a03a9fa0569fa056b2a8569fa857b0a83fb2a053
+a1a73cb2a8569f98359f90359f98358b903387872c8b90339e9853b2a0539f9835
+b2a053b1a03d9f9835ae993d9f983587872c757b2d666b3b666b3b555824555824
+666b3b666b3b4c50263a44234e504356603a75704d4e5043383c23443623342d1f
+3f4e1e4c50262f3c2255602475704d656c26656c26556024757b2d656c26576b33
+4c5026666b3b767b47475832383c23574f266660334c5026272c1f383c23333522
+272c1f383c23342d1f1c1e1924261c24261c24261c24261c24261c3a442356603a
+3a442356603a4e44254758324e4425383c234758324e4425333522272c1f2b3322
+4c5026767b4756603a5558244e50433335224c502647581f383c23272c1f24261c
+24261c1c1e1924261c342d1f24261c24261c24261c24261c342d1f443623443623
+4e3d224e44254436234e3d22342d1f443623443623383c234e442566592c66592c
+4e44254e3d224e4425333522574f26604f2a666033767b47666033576b3386874a
+9e98539e98538b90804c50264e5043383c23272c1f24261c342d1f443623342d1f
+24261c24261c342d1f24261c24261c24261c342d1f24261c24261c24261c342d1f
+342d1f24261c333522333522342d1f3335224e3d224e4425342d1f24261c1c1e19
+24261c24261c24261c24261c24261c24261c24261c24261c24261c342d1f74643e
+666b3b574f26443623574f26574f2666592c66592c4e44254e3d22333522766427
+6660339f90359f90359788349fa056a0a03aa0a03a8e9f3b8c9835a0a03aa1a73c
+a0a03a80a03b8ea83ea1a73c8ea83e8e9f3b8c9835576a1f576a1f757b2d3f4e1e
+3f4e1e3f4e1e344d1e344d1e49601f47581f47581f5e74298c98359f9835a1a73c
+b1af4da1a73ca0a03a8c9835a1a73cb1af4db0b86cc4bf65beb751b1b069c2b868
+b2a8569fa0568c98538b90338c98358c985376872d7787465e742949601f656c26
+60832a5e742968752b656c26766e2d76872d68752b6b852c656c2649601f49601f
+4b681e60832a7b9034576a1f576a1f6b852c68752b68752b5f7b2a4b681e3d5f25
+576a1f5558243f4e1e3043215e74298c98358c98358ea83e6b852c5f7b2a557f22
+2f3c223335222e3c442f3c223f4e324960323a44232f3c222f3c22394446496032
+5f7b2a5474284b6933547428567f3a49601f3d573b4758323f4e32354c314b6933
+4b69333d5f254b681e3c58222f3c22262e35272c1f272c1f354c314b69333d5f25
+3d5f254b69334960323c582254742849601f47581f5474284b693349603247581f
+344d1e2f3c222b3322262e35272c1f262e35272c1f2b33222f3c22344d1e5e7429
+6b852c7b90344b681e47581f576a1f757b2d8b9033697c2b556024354c31304321
+47581f3d5f25304321576b33697c2b49601f49601f3f4e1e3f4e32333522272c1f
+4b681e5474285474285e74295e74296b852c6b852c697c2b576a1f49601f576b33
+47581f5558243f4e1e556024656c265e742947581f3a44233a44233f4e1e47581f
+49601f47581f2b3322272c1f333522272c1f383c23556024757b2d8b90338b9033
+76872d5e7429555824757b2d87872c9f9035b1a03db1a03db1a03dae993d9f9835
+9f98358c98358b9033757b2d76872d766e2d766e2dae993db2a053ccb169c4a979
+ccb169d1b890c4a979ccb169ccb169d8c291d1b890decab4d1b890b1af4da1a73c
+7b9034708f315f7b2a557f225e74296b852c6b852c7b90345e742949601f49601f
+3f4e1e344d1e3f4e1e3f4e1e55602455602468752b76872d8b90339f98358c9835
+9f9835b1af4dc1b064b0a83fb2a856c0a845b2a856b2a856b1af4db1b069b1af4d
+c1b064b0b86ca0a03a9e9853b0a83fa0a03aa0a03a9f9835b0a83fc1b064c2a85e
+b2a856b2a856b2a856b2a053a0a03a86874a757b2d757b2d656c2668752b767b47
+767b47656c2647581f4c5026766e2d767b47757b2d778746778746576a1f3a4423
+383c233a44234c502655602462744468752b76872d576b33697c2b62744468752b
+576b33666b3b666b3b556024576b3356603a75704d4c50264e5043333522383c23
+4e4425555824333522342d1f24261c342d1f24261c24261c24261c383c23475832
+3a4423555824383c235558244c5026574f263a44233335222b33222b33222b3322
+3f4e1e5558244c50264c50264c5026342d1f3f4e1e4c502644362324261c1c1e19
+24261c24261c24261c24261c342d1f342d1f24261c342d1f443623604f2a604f2a
+766427766427604f2a604f2a604f2a604f2a574f26766427766427766427604f2a
+4e4425333522342d1f4e44255558246660336660334e4425383c23383c234e4425
+4e5043574f26443623342d1f342d1f24261c1c1e1924261c24261c342d1f342d1f
+24261c342d1f342d1f24261c24261c24261c24261c24261c24261c1c1e19342d1f
+24261c24261c24261c24261c24261c24261c342d1f33352224261c24261c342d1f
+24261c342d1f342d1f24261c24261c24261c24261c24261c24261c24261c272c1f
+272c1f272c1f24261c24261c342d1f272c1f24261c24261c24261c24261c4e3d22
+4e3d22766e2d978834887b2c87872c9f98358e9f3ba0a03a8b9033a1a73ca0a03a
+a0a03aa0a03abeb751b0a83fb0a83f8ea83ea1a73c708f31757b2d87872c6b852c
+576a1f5e74293c582249601f54742887872c76872d8c9835b1af4daeb84ec4bf65
+c4bf65beb751beb751bfb04dbeb751cdb85ec2b868cdb85ec4bf65d0c074d0c074
+b1b069b1af4d9e98539f98359e985376872d76872d697c2b547428697c2b60832a
+5f7b2a576a1f5e7429757b2d87872c574f26556024697c2b68752b55602449601f
+49601f576a1f656c26576a1f576a1f5474285e7429656c265f7b2a3f4e1e47581f
+49601f497323576a1f54742860832a8b90337b90348ea83e708f317d973676872d
+3a4423373e43383c233c58225474283d5f2530432130444d3043214b69335f7b2a
+6b852c557f225474435f7b2a567f3a4b69333d5f254b69333c58223d573b557f22
+4b69333d573b5474283f4e1e2b332224261c342d1f262e353a44233c58223f4e32
+3c582249601f49603247581f576a1f496032344d1e49601f41671b3f4e323c5822
+47581f304321373e43272c1f342d1f2b33222f3c223043213043214b693376872d
+6b852c8b90336b852c576b33576a1f6b852c697c2b576a1f5560243f4e1e3c5822
+5e74295e7429304321556024697c2b576a1f3f4e322b33223335222b3322272c1f
+49601f576a1f5474285e7429576a1f576a1f5e742947581f4c5026344d1e3a4423
+3f4e322b33222b33223a4423383c233f4e1e383c23383c23342d1f272c1f2b3322
+333522272c1f272c1f272c1f272c1f272c1f272c1f3a442349601f3f4e1e555824
+5558243f4e1e3a44234c5026555824766e2d9788349f90359f9035ae993db1a03d
+9f98358b90338b903368752b68752b757b2d978834ae993dc0a153ccb169ccb169
+ccb169ccb169ccb169dcc17fd1b890e0c492d1b890c4a979e0c492d0c0748e9f3b
+76872d8b9033576a1f3f4e1e47581f47581f3a442347581f697c2b497323497323
+4b681e3f4e1e556024576a1f47581f3a44233a44233f4e1e576a1f757b2d8b9033
+76872d9f9035c0a153c4bf65c1b064c2a85ec2a85ec0a153c2a85ec2a85ec1b064
+c1b064c2b868b2a856c2a85eb2a053b2a053a1a73cb2a053b2a053c0a153c0a153
+c2a85ec1b064c1b064c1b064a1af4e8b90338b90558c9853757b2d76872d68752b
+68752b68752b576a1f767b47778746867c4c767b47666b3b766e2d3a44234c5026
+75704d55582447581f4c5026666b3b56603a767b475e7429767b47656c263f4e32
+56603a4758325560245560244758324c50265658384e44255658385560244c5026
+333522383c233a4423272c1f3335224e44255560244c50264e4425697c2b697c2b
+576b33666b3b666b3b767b47666b3b55602468752b666b3b55602447581f344d1e
+576b3368752b3a4423383c234c50264c50263a44232f3c22272c1f1c1e1924261c
+1c1e1924261c24261c342d1f342d1f24261c24261c342d1f574f2666603384712f
+66592c84712f76642766592c84712f766427604f2a766e2d66592c4e44254e3d22
+4e3d22342d1f342d1f383c233f4e1e766e2d6660334e4425272c1f2b3322272c1f
+3335223a4423272c1f24261c24261c342d1f24261c24261c24261c342d1f342d1f
+24261c24261c24261c24261c24261c24261c342d1f1c1e19342d1f1c1e1924261c
+24261c342d1f24261c342d1f24261c342d1f443623443623342d1f1c1e1924261c
+342d1f342d1f342d1f342d1f1c1e1924261c24261c24261c24261c342d1f342d1f
+342d1f24261c24261c342d1f272c1f24261c24261c24261c24261c24261c342d1f
+443623574f2684712f666033766e2d8b903387872c9f983587872c97883487872c
+887b2c87872cbfb04db0a83fb1af4da1a73cb1b069a1a73ca1a73c9fa056a0a03a
+8c98357b9034757b2d68752b576a1f8b9033b0a83f9fa857c4bf65c3c17ac4bf65
+c4bf65c3c17ac4bf65c4bf65c4bf65c4bf65d4cb83c4bf65c4bf65d0c074d0c074
+bfb04d8c98538c98358c98538b90339f98356b852c5560245e7429697c2b576a1f
+5e7429697c2b697c2b576a1f5560245558245560245f7b2a76872d76872d5e7429
+576a1f576b3349601f5e74295560245e742949601f5560245e74293f4e1e3f4e1e
+344d1e697c2b708f31697c2b7d97368c98357b903480a03b8ea83e8ea83e6b852c
+383c23394446383c233d573b4b69333d5f253c58223c58223c5822576b33618345
+6b852c6183455f7b2a4973234960323d5f254b69335474283d5f25354c314b6933
+4973233d5f255474283d573b342d1f262e352b33222a34382f3c223043213d5f25
+47581f3d573b3f4e1e2f3c223f4e323f4e1e3a4423344d1e3f4e1e3f4e1e496032
+3c58223f4e1e344d1e2f3c22373e433043213d5f255f7b2a4b681e60832a778746
+697c2b60832a6b85457197325474285e7429556024344d1e49603241671b576b33
+576a1f576a1f3f4e1e55602486874a576a1f3043213f4e1e2b3322272c1f2b3322
+344d1e3f4e1e3f4e1e55602447581f3f4e1e49601f3a44232b33223335222b3322
+2b33222b3322272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c272c1f
+333522383c23272c1f24261c272c1f272c1f272c1f3043213f4e1e2f3c222b3322
+333522383c233a4423383c233a4423555824555824766427766e2d766e2d978834
+9f98359f903587872c87872c87872c9f9035b1a03dc2a85ec2a85ec4a979ccb169
+c4a979c0a153ccb169d1b890ccb169d1b890d8c291d1b890d1b890d1b876b1af4d
+a0a03a8e9f3b576a1f47581f3a44236b852c47581f2f3c2249601f697c2b49601f
+383c232b33223043213f4e1e3a44232b33222b3322383c23556024556024556024
+656c26757b2d87872cada17fc1b064d1b890c0a153c0a153d1b890ccb169c0b197
+d1b890c0a153c2a85eb2a053c2a85eb2a856b2a053b2a053c0a153c0a153ccb169
+c0a153b2a856c0a153d1b876b2a856a0a03a9e985387872c77874668752b757b2d
+767b47757b2d75704d76872d68752b666b3b5558243f4e3256603a3a44233a4423
+56603a576a1f576b336274443a44233f4e32576b33697c2b697c2b5560242b3322
+666b3b576b33556024556024383c233a44233a44233a4423383c23475832666033
+3335222b33224e4425383c2366592c656c26656c26556024576b3386874a778746
+778746656c26666033666b3b666b3b666033666b3b66603355602447583256603a
+697c2b4c5026565838555824333522383c23383c234e4425342d1f24261c342d1f
+24261c44362324261c1c1e1924261c24261c24261c333522383c2344362366592c
+604f2a76642766592c555824555824574f264e44254436234e3d22333522342d1f
+342d1f272c1f24261c272c1f342d1f574f26555824555824333522342d1f3f4e1e
+556024767b47666033574f2666592c342d1f24261c24261c24261c24261c24261c
+24261c24261c1c1e1924261c1c1e19342d1f342d1f24261c24261c24261c342d1f
+24261c342d1f4436234436234436234436234436234e4425342d1f342d1f1c1e19
+342d1f342d1f342d1f443623342d1f1c1e19342d1f24261c342d1f342d1f4e4425
+66592c443623342d1f604f2a342d1f272c1f342d1f342d1f24261c342d1f66592c
+574f2676872d9f9035887b2c8b90339f98358b90338c98359788349f98359f9835
+9f9835a0a03ab1af4dbfb04dbfb04db0a83fc3c17ac3c17ab1b069c2b868c3c17a
+c2b868a0a03a9f983587872c76872db2a856beb751b0b86cc4bf65d0c074c3c17a
+c2b868c4bf65c4bf65c4bf65c4bf65c4bf65d0c074d0c074c4bf65c4bf65c1b064
+bfb04d9f903587872c8b90338b90338b90338c9835697c2b757b2d757b2d5e7429
+5e7429656c26697c2b4b681e68752b5560245e74295e742976872d76872d6b852c
+778746697c2b49601f4b681e60832a697c2b76872d8b90336b852c49601f2f3c22
+383c2366603368752b6b852c80a03b8e9f3b8e9f3b8ea83e9eb74c8e9f3b697c2b
+383c23373e433335223f4e323d5f253d573b3043213944463043213f4e3249601f
+60832a60832a567f3a5474284b69333d5f254960325474284973234b693341671b
+3d5f253d5f255f7b2a3d5f252f3c222a3438354c313d573b354c313f4e1e547428
+3d5f253c5822344d1e2f3c223335222f3c222f3c222f3c223043213a4423475832
+4758323f4e1e3043212f3c222f3c223043214b6933576b334b69336b85457c9053
+6b852c6b852c5e742976872d5e742960832a5e74294b681e576b33547428547428
+576a1f576b3349601f697c2b7c90535560243f4e1e5f7b2a3043212f3c222b3322
+2f3c22272c1f2b33222f3c223f4e1e3a4423383c23342d1f24261c272c1f1e241b
+24261c24261c24261c24261c24261c24261c24261c24261c24261c272c1f2b3322
+3f4e1e5e74293a4423272c1f272c1f272c1f2b3322344d1e344d1e2b33222f3c22
+333522272c1f342d1f342d1f383c23443623383c23383c23574f26574f2666592c
+9788349f90359f90359f9835a0a03ac0a845b1a03dc0a845c2a85ec0a153c0a153
+c0a153c0a153ccb169d1b876ccb169d1b876d1b890ccb169d1b890d1b890c2b868
+b1b0697b903449601f3f4e1e3f4e1e47581f697c2b5e74295f7b2a697c2b344d1e
+272c1f2b33223043213f4e1e2f3c222f3c223a44233a4423574f26576a1f5e7429
+5e7429697c2b757b2d87872cada17fb2a053ab9158a48954c0a153d1b890d1b890
+d1b876c1b064c4a979c0b197c1b064c0a845ae993dc2a85ec2a85ec2a85ec0a153
+ccb169b2a0539f9154c0a153c1b0649fa05677874668752b697c2b76872d68752b
+68752b576a1f656c26576a1f4c50263f4e1e3a4423383c233a44233f4e1e3a4423
+3a44233a44233f4e32383c233a4423383c23383c233f4e32576b334c50262b3322
+30432147581f576b333a4423383c232f3c223a44234b681e5658383f4e1e49601f
+3c58223f4e1e556024766e2d666033656c2668752b666b3b666b3b666b3b576b33
+68752b576b334c502656603a6660334e50436274443a44234e442549601f666b3b
+666b3b4c5026342d1f2b33223335223f4e1e4e50434e4425383c23342d1f24261c
+1c1e1944362324261c342d1f24261c342d1f24261c24261c342d1f383c23383c23
+333522383c234e44255560245558243f4e1e3a4423383c23574f26333522272c1f
+272c1f24261c24261c24261c272c1f333522383c2375704d5558244c5026767b47
+77874686874a86874a75704d55582444362324261c24261c342d1f24261c342d1f
+1c1e1924261c342d1f24261c342d1f342d1f24261c342d1f24261c24261c342d1f
+342d1f342d1f4436234e3d224e44254436234436234e3d22443623342d1f24261c
+443623443623443623604f2a4e3d22342d1f342d1f342d1f4e4425604f2a84712f
+a48a3b84712f604f2a766e2d4e442566592c76642766592c604f2a4e3d2266592c
+7664279f90359f9035978834b2a053b1af4da0a03aa1a73c9f9835b1af4dbfb04d
+c0a845c2b868c2b868c2a85ec2b868c4bf65d4cb83d4cb83c4bf65c3c17ad4cb83
+d0c074c3c17ac3c17ab1b069b1b069c4bf65d0c074c2b868c3c17ad4cb83d0c074
+d0c074d0c074c4bf65c4bf65c4bf65d0c074d0c074cdb85ec2b868b0a83fb1af4d
+b2a85697883486874a8b90339fa0568c9835a0a03a8e9f3b9fa056766e2d778746
+5e742977874676872d697c2b576a1f4b681e5e74295e742949601f556024697c2b
+5560243a442355582447581f5e742976872d8b90338b903376872d4c5026333522
+2b33223335224c50265e742980a03b80a03b8e9f3b91af499eb74c8e9f3b719732
+383c23373e432f3c223f4e323d5f25354c31304321304321344d1e354c31475832
+6274445474435474285f7b2a4973233d5f254b6933567f3a697c2b547443547428
+4b69334b69334973233d5f25304321304321344d1e3c58224960324b69335f7b2a
+4973234b681e3d5f253043212e3c442b33222e3c442f3c224c502647581f556024
+496032354c31383c232e3c442a34382b3322383c232f3c223f4e1e697c2b7c9053
+708f316b852c5474286b852c5e74295e74295f7b2a576b3349601f576a1f576a1f
+576b3349601f697c2b778746697c2b49601f344d1e4973233c58222f3c222b3322
+3f4e1e2b332247581f383c23344d1e2f3c222b33222b3322272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f24261c24261c24261c272c1f24261c272c1f333522
+3a44234b681e3043212b33222f3c222f3c222f3c223d5f253c58222b33222b3322
+3043212f3c22272c1f342d1f272c1f2b3322342d1f342d1f383c23383c234e3d22
+66592c87872c9f9035b1a03dbfb04dc0a153c0a153c0a153ad903dc0a153b09954
+c0a153c4a979ccb169ccb169ccb169d1b876d1b890ccb169c4a979ccb169c2a85e
+b2a856757b2d576a1f3c5822576a1f697c2b76872d6b852c54742849601f3f4e1e
+3f4e1e3f4e1e49601f4b681e4b681e47581f60832a5f7b2a4c50263f4e1e556024
+757b2d8b90339f9154ada17fada17fb2a05386874a766427a48954c0b197ccb169
+c4a979ccb169c4a979d1b890ccb169b2a856b09954b2a856c0a153ccb169ccb169
+d1b890c2a85eb099549f9154c1b064b2a0538b9033757b2d576a1f656c26576a1f
+576a1f576b33666b3b5560243f4e1e475832344d1e3f4e1e576a1f344d1e3a4423
+383c232f3c223a44233f4e1e47581f3a4423383c233335223335222b33223a4423
+2b33223f4e323a44233335223a44233f4e1e55582447581f47581f344d1e5e7429
+576a1f49601f68752b68752b757b2d7787468b9033697c2b666b3b778746767b47
+778746576b33576b33576b335558243a44234e4425383c234c5026627444666033
+627444556024304321383c233f4e325e7429697c2b697c2b4c5026342d1f24261c
+24261c24261c342d1f342d1f24261c342d1f272c1f272c1f2b33223335222b3322
+272c1f3335223a442347581f55602447581f383c234c50263a4423342d1f24261c
+24261c342d1f24261c24261c3335223335222f3c224758323f4e1e576a1f6b8545
+68752b657c4476872d75704d5558244e3d22342d1f24261c342d1f1c1e1924261c
+24261c24261c24261c24261c24261c342d1f24261c342d1f342d1f1c1e191c1e19
+342d1f604f2a66592c76642774643e4e44254e4425443623342d1f342d1f24261c
+4e3d224e442566592c66592c66592c4e3d2266592c4e4425977c4f957c2f84712f
+9788349f9035a48a3b84712f604f2a4e4425766e2d97883466592c84712f84712f
+6660339e9853b2a053c1b064c2b868c2b868c2b868cdb85ec2b868c4bf65b0a83f
+cdb85ed1b876d1b876d0c074d0c074d0c074c3c17ad4cb83d8c291d0c074d4cb83
+c3c17ad4cb83d4cb83c3c17ad4cb83d0c074c3c17ac3c17ad4cb83d0c074c3c17a
+c4bf65c2b868d0c074cdb85ecdb85ec4bf65cdb85ec2b868d1b876bfb04d9fa056
+b1a03db0a83fa0a03a87872c8c98538b90338c98358c9835a0a03a68752b556024
+576a1f576a1f697c2b576a1f5e742954742860832a576a1f556024497323757b2d
+697c2b656c267b90345e7429697c2b757b2d757b2d76872d87872c576a1f304321
+3043213f4e1e49601f5e7429708f3180a03b80a03b8ea83e91af4980a03b7d9736
+2b33222e3c442f3c223d573b3d573b344d1e354c31354c314b69333d5f25496032
+576b334973235e74294b69335f7b2a4b693349732360832a6b852c6b85457b9034
+5474283c58224b69333d5f25304321354c313d5f25576b33576b33576b33547428
+5f7b2a547428496032344d1e3043213043213f4e323f4e3256603a576b33576a1f
+47581f3f4e1e2f3c22383c23272c1f2b3322272c1f2b3322354c315e74298c9835
+7b90347b90346b852c60832a5e7429697c2b5f7b2a49601f3043213c58224b6933
+576b335560245f7b2a697c2b576b33576b333a4423344d1e3f4e323a4423272c1f
+49601f2f3c224b681e55602449601f4c50262b33222b33222b33222b3322272c1f
+272c1f272c1f272c1f272c1f24261c24261c24261c24261c24261c272c1f272c1f
+272c1f2f3c222b3322272c1f344d1e3d5f253d5f25344d1e3043212f3c222f3c22
+2b33222b332224261c272c1f24261c24261c272c1f272c1f2b33222b3322333522
+4e442566592c87872c9f9035a48a3bae993dae993dc0a153ad903dad903dc0a153
+c0a153c4a979c0a153c0a153c4a979ccb169ccb169d1b876c2a85eb2a8568b9033
+87872c76872d76872d6b852c708f316b852c5f7b2a576a1f5e74294b681e5e7429
+576a1f49601f3043213a44234b681e576a1f697c2b6b852c766e2d656c264c5026
+604f2a87872c9e9853c2a85ec1b064b2a05386874a766427b2a053ccb169d1b890
+c4a979d1b890d8c291c0b197d1b890ccb169c2a85ec0a153c4a979c1b064b09954
+c0b197c4a979c1b064b09954b2a8569fa0568b9055778746778746656c26697c2b
+68752b576b33576a1f576b33656c265e74294b681e576b3368752b576a1f3c5822
+3f4e1e304321475832556024576a1f47581f3a44232b33222f3c222b33222f3c22
+344d1e3a442347581f47581f49601f47581f383c233a44233f4e1e3f4e1e497323
+54742849601f576a1f697c2b76872d86874a778746656c26556024697c2b68752b
+656c26576b3368752b6b852c68752b4758324c50263a4423576b335658382f3c22
+475832697c2b5e742947581f6274444b69335e7429576a1f33352224261c24261c
+24261c272c1f342d1f342d1f272c1f342d1f383c23333522333522272c1f272c1f
+2b3322383c234c50264c50263a44234c50264c50263f4e1e342d1f272c1f333522
+443623342d1f24261c24261c3f4e1e3f4e1e47581f49601f576a1f68752b68752b
+68752b86874a757b2d767b474c50265558246660334e4425443623342d1f342d1f
+24261c24261c24261c24261c342d1f24261c24261c342d1f24261c24261c342d1f
+342d1f604f2a4e3d22604f2a4e3d22443623443623342d1f342d1f443623272c1f
+333522574f26604f2a766427957c2f84712fa48a3b887b2cb2a053b09954977c4f
+a48a3ba48a3ba48a3ba48a3b84712f84712f766e2d957c2f757b2d978834957c2f
+87872c9f9154b2a856c2b868c2b868c2b868c2b868d0c074d1b876d0c074c2a85e
+c4bf65cdb85ed1b876cdb85ec2b868d0c074c4bf65d0c074d4cb83d0c074c2b868
+c4bf65c4bf65d4cb83d4cb83c3c17ad0c074d4cb83d0c074d4cb83d4cb83d4cb83
+d0c074c2b868d0c074c4bf65c2b868cdb85ed0c074c1b064beb751c1b064c2b868
+b0a83fb2a856b0a83f87872c697c2b76872d757b2d68752b8b90336b852c697c2b
+5e74295e7429576a1f697c2b576a1f5474285f7b2a656c26556024576a1f5e7429
+697c2b656c2676872d757b2d555824757b2d87872c656c2687872c76872d5e7429
+697c2b76872d697c2b76872d708f318e9f3b8e9f3b91af49a1a73c8ea83e8e9f3b
+333522373e43304321344d1e3d573b344d1e3d573b3c58225474285474284b6933
+547428576b335474284b69335474284b69335e7429657c446b8545778746778746
+567f3a41671b4b69333c582230444d3043214758324960323f4e3247581f49601f
+5474285f7b2a3d5f25344d1e475832354c313f4e1e3f4e323d573b556024496032
+3f4e1e354c313a44233a44232f3c22262e35272c1f2b3322354c314960327c9053
+8e9f3b7197537b903476872d60832a5e74295e74293d5f253d5f2549601f4b6933
+656c265e742968752b4b6933344d1e47581f2f3c222f3c222f3c22383c23272c1f
+3c5822344d1e49601f547428576a1f41671b2f3c222f3c22304321272c1f272c1f
+272c1f342d1f272c1f24261c24261c342d1f24261c24261c24261c24261c24261c
+2f3c22304321344d1e272c1f2b33222f3c223043212f3c22272c1f272c1f24261c
+272c1f1e241b272c1f24261c24261c272c1f272c1f272c1f24261c272c1f342d1f
+2b3322443623766427887b2c957c2f84712f978834ad903dae993dae993dae993d
+c0a153c0a153ccb169c0a845c0a153ccb169c4a979c2a85ec2a85e9f98358b9033
+a0a03aa1a73ca0a03a8e9f3b8c9835556024344d1e2b332247581f304321333522
+333522342d1f272c1f2b3322272c1f383c23383c2366592c87872c757b2d887b2c
+84712f887b2c84712fa48954b2a053ae993d9f90359f9035b2a053c4a979c0a153
+ccb169c4a979ccb169c4a979c0b197c0a153c4a979c4a979c4a979ccb169ccb169
+c4a979c4a979c4a979c2a85eb2a0539e98539e985387872c77874676872d767b47
+697c2b68752b576a1f576a1f5f7b2a697c2b576a1f5e7429697c2b5e7429697c2b
+3d5f2549601f5e74294b681e5e742947581f3a44232b3322304321344d1e333522
+2b33222b3322576a1f5560244b693349601f3043212f3c223f4e1e3a44233f4e1e
+4b681e49601f576a1f656c26556024666b3b766e2d3f4e1e666b3b55602468752b
+657c44697c2b5e7429778746697c2b5558243f4e1e3f4e1e3f4e1e383c23333522
+3f4e323f4e1e5f7b2a47581f47581f3a44234b681e576a1f3a442324261c24261c
+24261c24261c272c1f24261c24261c342d1f3a44234e4425333522383c23342d1f
+342d1f44362347581f4e44254436234e4425383c23342d1f24261c443623565838
+74643e4e442524261c2b33223f4e1e5e74294b681e5560246b852c76872d757b2d
+7787468b905586874a86874a757b2d757b2d778746757b2d666b3b443623342d1f
+24261c342d1f24261c1c1e191c1e1924261c24261c24261c342d1f1c1e19342d1f
+342d1f443623443623342d1f342d1f443623443623333522342d1f4436234e4425
+3335224e4425766427887b2cc0a845c0a153b09954847144c2a85eae993dc0a153
+ae993dc0a153ae993dae993db099549f90359f9035ae993d9f98359f9835b09954
+9f9035b2a053ccb169c3c17ac2b868d1b876d0c074d1b876cdb85ed1b876d1b876
+c1b064d0c074bfb04dc2b868beb751cdb85ec4bf65c2b868cdb85ec4bf65beb751
+c4bf65c4bf65d4cb83d4cb83d0c074c3c17ac4bf65c3c17ac3c17ac4bf65cdb85e
+d1b876c1b064c2b868c2a85ecdb85ec4bf65c2b868beb751beb751b1af4db1af4d
+b0a83fa0a03aae993d8b9033766e2d757b2d697c2b757b2d68752b656c26656c26
+556024576a1f757b2d8c983576872d76872d576a1f656c2655602476872d576a1f
+576a1f576a1f76872d697c2b556024697c2b7b9034757b2d76872d8e9f3b68752b
+5e7429697c2b656c2660832a708f3180a03b7d97369eb74caeb84e8ea83eb1af4d
+2b3322354c31354c31354c31344d1e354c313c58224b6933567f3a4b69334b6933
+4b69335e7429576b334960324960324b6933657c44627444767b476b85455f7b2a
+4973234b69335474433d5f253f4e32304321354c313f4e323a44232f3c224b6933
+5f7b2a4b681e3c5822344d1e47581f3f4e323a44233a44233f4e1e576a1f47581f
+3f4e1e344d1e3043213f4e322b3322272c1f272c1f2b33222f3c225560246b852c
+8c98536b852c708f31697c2b6b852c5e74294973233d5f2549601f47581f49601f
+576a1f49732347581f49601f344d1e3043212b33222b33222f3c222f3c222b3322
+3f4e1e41671b49601f5f7b2a76872d3c582230432154742847581f2b3322272c1f
+3043212b3322272c1f272c1f262e3524261c24261c24261c272c1f3043212b3322
+3c5822344d1e4973233c58222b3322272c1f272c1f24261c272c1f272c1f1e241b
+24261c24261c24261c24261c24261c24261c24261c24261c24261c272c1f24261c
+2b3322342d1f443623574f26604f2a766427604f2a84712f978834ae993dad903d
+c0a153c0a153c2a85ec0a153c0a845c0a845c0a153c0a845c0a153c0a845b0a83f
+b1a03dc0a845c0a153a0a03a87872c5560243c58223043213c58223f4e1e2f3c22
+2f3c223c582249601f49601f3c5822304321333522443623887b2c766e2d87872c
+ad903db09954957c2f887b2c9f90359f98359f9835ae993dc0a153c0a153c0a153
+c0a153c0a153c0a153c4a979c4a979c4a979c4a979c0a153c4a979c4a979c4a979
+c0a153c0a153b2a053b099549e98539f91549e985387872c767b4768752b576a1f
+656c26576b33576b3368752b697c2b68752b576b3349601f576a1f576a1f6b852c
+576a1f4b681e576a1f4b681e55602447581f3a4423383c233f4e1e47581f2b3322
+24261c383c2347581f3f4e1e55602455602430432130432147581f3f4e1e3a4423
+8c9853757b2d5560245e7429576b334b681e576b33555824666b3b576a1f757b2d
+68752b767b47778746656c26666b3b47581f47581f47581f344d1e3a44232f3c22
+344d1e3a442354742860832a576a1f4b681e4758323f4e1e33352224261c342d1f
+24261c342d1f24261c24261c24261c342d1f2f3c22383c23383c233f4e1e383c23
+333522383c235558245558244e4425333522342d1f272c1f33352266603366592c
+4e5043383c2344362333352247581f47581f49601f5558243f4e1e4c5026555824
+565838576b33666033867c4c8c98539fa0569e985386874a766e2d4e4425383c23
+443623342d1f342d1f342d1f342d1f24261c24261c342d1f342d1f342d1f24261c
+24261c24261c443623342d1f342d1f4436234e44254e4425443623383c23666033
+574f26555824887b2c978834bfb04dc0a153ad903d957c2fc0a153ae993dc0a845
+c0a153c0a153c0a153c0a845c0a8459f9035ae993dae993db1a03dc0a845c2a85e
+b2a856c1b064d0c074c4bf65c1b064d1b876cdb85ecdb85ed0c074cdb85ecdb85e
+bfb04dcdb85ec0a845c1b064beb751c2b868c4bf65bfb04dc4bf65bfb04dbfb04d
+beb751bfb04dc4bf65c2b868c2b868c2b868b1b069c4bf65b0b86cc2b868b1b069
+bfb04dbfb04dbfb04dc2a85ec1b064bfb04db1af4db0a83fb2a053b1af4db0a83f
+a0a03ab0a83fa0a03a8b90337b903476872d757b2d576a1f656c26697c2b68752b
+656c26656c26656c2676872d7b903476872d697c2b697c2b6b852c68752b576a1f
+47581f49601f68752b697c2b5f7b2a76872d7b9034757b2d8c98358c9835576a1f
+47581f6b852c68752b7b90348e9f3ba1a73c8e9f3ba1af4eaeb84ea1a73ca1af4e
+3336423a4423344d1e354c31354c313043213f4e3247581f4b693347581f4b6933
+576b335e74294b69333d5f25475832475832576b33576b33627444657c44576b33
+4b69333c58224b69334960323043212f3c22354c31344d1e354c312f3c22496032
+5474284b681e4b69333f4e1e344d1e354c31344d1e475832656c26576b334b6933
+3f4e1e3f4e323a44233a4423262e352b33222b33222f3c222f3c224758325e7429
+708f3160832a697c2b6b852c697c2b49732349732349601f3c58223f4e1e47581f
+4b69335e742949601f55602447581f344d1e2f3c222b3322333522344d1e3c5822
+4b681e60832a4b681e5f7b2a60832a49601f3d5f256b852c41671b304321344d1e
+4b681e304321272c1f344d1e272c1f24261c24261c24261c49601f4973232f3c22
+344d1e30432141671b557f22344d1e24261c272c1f272c1f1e241b3043212b3322
+272c1f2b3322272c1f24261c24261c24261c24261c24261c24261c272c1f272c1f
+24261c342d1f3335224436234436235560244c5026766e2d87872cad903db09954
+c0a153b09954b09954ae993db1a03dae993dae993d9f9835b1a03dc0a153b1a03d
+ae993db2a053b1a03d87872c68752b6b852c5e74294b681e576a1f576a1f49601f
+556024697c2b5e74295f7b2a5e742949601f3a44232f3c2266603368752b957c2f
+95885cae993d9f98359f9035978834ae993d9f90359f9035ad903db09954ad903d
+ad903da48a3bad903dab9158c4a979c4a979c0a153c0a153c0a153b09954b09954
+9f98359e9853b0995487872c9f90359e985386874a757b2d68752b5e742968752b
+656c26656c26576a1f656c2668752b6b852c5e74295560243f4e1e47581f576a1f
+4b681e49601f49601f47581f47581f5560243f4e1e344d1e3f4e1e344d1e2b3322
+333522272c1f3a442330432147581f3c58222f3c223f4e1e344d1e304321666c5e
+d1b89086874a576b33697c2b576a1f656c26697c2b5560245e7429576a1f656c26
+68752b68752b656c26576b3355602449603247581f576a1f49601f3f4e1e47581f
+55602449601f576a1f557f2241671b3f4e1e304321383c23383c2324261c342d1f
+24261c272c1f342d1f272c1f272c1f272c1f24261c333522333522383c23383c23
+3f4e1e4c502647581f574f26333522342d1f2b33223f4e1e66592c847144666033
+574f263335223335222b332249601f49601f4c5026272c1f272c1f333522333522
+342d1f272c1f333522475832867c4c95885c95885c666b3b68752b576a1f555824
+4c50264e3d224e3d22342d1f342d1f24261c1c1e1924261c342d1f24261c24261c
+342d1f24261c4436233335224e3d22574f26766e2d74643e574f264e4425555824
+757b2d766e2d887b2cad903dad903dc0a153a48a3bc0a153ae993dae993dc0a845
+c0a845c0a845c0a845c0a845c0a845ae993dc0a845b1a03dc0a153b1af4dc0a845
+c1b064c1b064c2b868c2b868d0c074c1b064c2a85ec0a845bfb04dcdb85ec1b064
+b1af4dc0a153c2a85ebfb04dc2b868beb751c4bf65c2b868b1af4db1b069b0a83f
+b2a856bfb04db1a03dc2b868b2a856b1af4d9fa857b1b069b2a856b2a856b0a83f
+b2a856b0a83fb1af4db1a03db1a03db0a83fb1af4db1af4da0a03a9f9835b0a83f
+a0a03ab0a83f9f9835a0a03a8b903387872c76872d757b2d5e74295f7b2a697c2b
+76872d697c2b576a1f5e742976872d7b90347b903476872d76872d76872d576a1f
+3f4e1e576a1f697c2b656c267b90347b90348b903376872d8b90338e9f3b7b9034
+576a1f757b2d757b2d7b90349eb74c9f98358c98358c9835aeb84ea1a73ca0a03a
+2f3c22394446354c313a4423373e43394446354c31344d1e354c312f3c22496032
+4960324b693341671b4b6933344d1e3a4423576b334758324758324b69333d5f25
+4b6933354c3147581f496032344d1e4758323d573b3a4423354c312f3c223d5f25
+576b33497323557f2247581f2f3c222f3c224c5026576b33576b334b693347581f
+3f4e1e3a4423383c23383c23272c1f2a34382f3c222f3c222f3c223c5822576b33
+6b852c708f316b85457b9034697c2b576a1f5f7b2a49732341671b475832344d1e
+4758324b69333f4e1e576a1f576a1f47581f344d1e2b33222f3c223d5f2541671b
+60832a708f31557f22557f22557f22557f2241671b557f2249732341671b497323
+4973232b3322272c1f3d5f25344d1e272c1f342d1f2b3322557f2260832a557f22
+344d1e2f3c2241671b557f22344d1e2f3c22304321344d1e3043213d5f25304321
+30432149601f272c1f24261c24261c24261c24261c24261c24261c24261c272c1f
+24261c272c1f342d1f2b3322333522383c233a4423556024757b2d957c2f9f9035
+978834ae993dae993dae993dae993d9f9835ae993d9f9035978834957c2fae993d
+ae993dae993dae993d9f98358b90339f9035757b2d556024656c263f4e1e3a4423
+3a44235558245558245560243f4e1e49601f3f4e1e3043213a4423556024666033
+7664279f90359f9035ae993d9788349f90359f98359f90359f90359e98539f9035
+87872c9f9035b09954b09954ad903db09954b09954b09954b09954b2a053ae993d
+9f98359f90359f9035766e2d87872c86874a76872d757b2d757b2d697c2b697c2b
+697c2b68752b697c2b757b2d77874668752b757b2d576b3347581f47581f5f7b2a
+576a1f576a1f5f7b2a5e74294b681e5e742968752b5560243f4e1e3a4423344d1e
+3f4e1e272c1f2f3c2249601f4b681e47581f3f4e1e3f4e1e3f4e1e3043218b9080
+d8c291857d67555824576a1f697c2b697c2b5f7b2a6b852c697c2b656c26656c26
+76872d68752b697c2b5f7b2a49601f49601f3f4e1e576b3347581f30432147581f
+576b334b681e4b681e576a1f576a1f5e7429697c2b47581f4e4425272c1f24261c
+24261c342d1f272c1f272c1f24261c24261c24261c342d1f342d1f3335223a4423
+47581f47581f55582433352224261c342d1f33352268752b95885c857d67666b3b
+4436234e3d22443623333522574f26383c23383c23342d1f24261c272c1f24261c
+272c1f272c1f3335224c5026556024656c26555824555824556024576a1f666b3b
+4c5026574f264e4425443623342d1f342d1f342d1f342d1f24261c342d1f342d1f
+443623443623574f264e3d22666b3b84712f957c2f978834766427766427766427
+887b2c887b2c887b2cc0a845bfb04dc0a153ad903dccb169c0a845c0a153ae993d
+cdb85ec0a845b0a83fb0a83fb1a03dc0a845b1a03dc0a845c0a845c2b868b1a03d
+bfb04dcdb85ec1b064c1b064d0c074c1b064c0a845b1a03dc1b064c2b868c2b868
+b1af4db1a03dc1b064b2a053c1b064b1af4db1b069bfb04db1a03da0a03aa0a03a
+b0a83f9f9835978834b2a856a0a03aa1a73c8c98538e9f3b9fa0569f9835a0a03a
+9f98358c9835b0a83fa0a03a9f98358b90339f9835a1a73c8c98358e9f3bb0a83f
+a0a03aa0a03a9f98359f98358c98358b903387872c76872d697c2b60832a76872d
+60832a5e742976872d76872d6b852c76872d8c98358c98357b90348c9835697c2b
+5e742968752b68752b757b2d8b90338b90338c98358c98358b90338e9f3b8b9033
+76872d76872d697c2b87872cb1af4d8c98358b90337b9034a1af4eaeb84eb1af4d
+2b33222f3c223043212f3c223335222f3c223a44233043212f3c222f3c223f4e32
+3d5f253c58223d5f25496032354c3130432156603a49603249601f576b334b6933
+47581f3a44233d573b4758323f4e323a44233a44233043213043212f3c223a4423
+3f4e1e4758324b693341671b3043212b3322333522333642383c233f4e323f4e1e
+3043212f3c222f3c222f3c223335222f3c222b33222f3c22304321304321547428
+6b85456b852c76872d7b903460832a557f225e7429576b3349601f3c58223a4423
+3f4e323f4e1e344d1e4b681e5474284b681e4b681e344d1e3043213c582241671b
+557f22708f316b852c557f22557f2260832a557f22547428557f224973236b852c
+557f22344d1e2f3c2241671b3c58222b33222b3322344d1e708f31557f22719732
+3c5822304321497323557f223d5f2541671b49732341671b344d1e344d1e2f3c22
+344d1e3f4e1e24261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c24261c272c1f24261c342d1f3335223335224e4425656c26766e2d84712f
+978834978834ae993d9f98359f98359f9835ae993d9f9835978834978834b1a03d
+ae993dae993dae993dae993d87872c6660335558243f4e1e3a44233a44232b3322
+3335223a4423383c233335223f4e1e3f4e1e4c50264c502647581f555824556024
+84712f978834a48a3b9f9035a48a3b9788349f9035b1a03db2a053c2a85eb2a053
+9f98359f98359f9035ab9158978834ab9158ad903dab9158ad903dad903d9f9835
+b099549f98359f983576872d7b903487872c757b2d757b2d76872d757b2d68752b
+68752b68752b757b2d68752b68752b757b2d697c2b656c26576a1f49601f576a1f
+576a1f547428697c2b49601f49601f697c2b576a1f68752b47581f4c502647581f
+49601f4c5026383c23576a1f49601f5e74294973233f4e1e3f4e1e5558249ea08a
+ada17f66603347581f47581f47581f576a1f5e7429757b2d68752b576a1f666033
+656c265e74295e7429697c2b5f7b2a5e74294b681e47581f5560242f3c22344d1e
+576a1f5e7429576a1f576a1f47581f576b3349601f2f3c222f3c22342d1f24261c
+342d1f3a4423342d1f33352224261c24261c24261c272c1f342d1f3335223a4423
+4c50263a44234e4425342d1f272c1f272c1f443623666033847144666b3b4e4425
+3335224e3d224e44254e3d22333522342d1f3335222b3322342d1f24261c272c1f
+24261c24261c2b3322574f26556024656c2647581f3f4e1e3a44233a44233f4e1e
+666033666033604f2a443623443623342d1f24261c342d1f342d1f342d1f443623
+4e44254e4425766427666033766e2d887b2c978834ad903d978834957c2f84712f
+ae993d9f9035b1a03dc0a845bfb04dc0a845ae993db1a03dc0a845ae993dc0a845
+c0a845bfb04d9f9835b1a03db1a03db0a83fb0a83fb0a83fc0a845c2b868b2a856
+beb751b2a856c1b064b2a856c2b868b0a83fc2b868b1a03db1af4dbfb04dbfb04d
+b2a856b0a83fc2a85eb2a856b2a856c2b8689fa857b0a83fb2a0538c98358b9033
+9f91549f9835757b2d8b90339f98358e9f3b8b90338b90339e98537b90348c9835
+7b903476872d8e9f3b9f98357b903476872d8c98358c98358c98358c98358e9f3b
+a0a03a8b90338c98359f98358c9835a0a03a8e9f3b8b9033697c2b60832a7d9736
+5f7b2a697c2b5f7b2a76872d6b852c697c2b7b90347b90348c98358c9835a0a03a
+8b903376872d8b9033b0a83fb1af4da0a03aa0a03a9f9835a0a03aa1af4e8c9835
+87872ca0a03a8e9f3ba1a73cb0a83f9f98358ea83e8e9f3ba1af4ea1af4eaeb84e
+2a34382f3c2230444d2f3c223335222e3c443f4e32373e432b33222a3438475832
+3c58223d573b3c58224b6933475832344d1e49601f576b33576b33697c2b4b6933
+3f4e1e2f3c22354c31354c313043212e3c442b3322383c233043213043212e3c44
+342d1f2f3c22304321354c31354c31272c1f272c1f24261c2b33223f4e32344d1e
+394446383c232f3c222a3438342d1f2f3c222f3c222f3c22304321354c3141671b
+6b85457b90346b852c6b852c697c2b5e74295e742947581f354c313043213a4423
+2f3c22272c1f344d1e576a1f4b681e3f4e1e49601f3d5f2549601f47581f344d1e
+49601f5f7b2a6b852c60832a60832a6b852c41671b3c582249732349601f41671b
+4973233c5822344d1e3d5f2541671b3d5f252f3c223c5822557f22557f22719732
+41671b3d5f253d5f25708f3149601f3c58224973233c58222f3c222b3322304321
+3c5822304321272c1f24261c272c1f24261c24261c24261c24261c24261c24261c
+24261c24261c272c1f272c1f24261c272c1f2b3322443623555824666033766427
+766e2d84712f84712f84712f9f9035ad903dae993d9f90359f90359f9035ae993d
+ae993d9f98359f98359f98356b852c4c50263a44233f4e1e4b681e576a1f3f4e1e
+3f4e1e556024576a1f576a1f656c26656c26656c2668752b68752b697c2b757b2d
+887b2c978834ad903dae993da48a3b9f90359f9835bfb04dc1b064ccb169c2a85e
+b2a053b2a053ae993d9f903587872c9788349788349f9154ae993d9f91549f9835
+9e98539f98359f98359f98359f98358b903376872d757b2d76872d76872d778746
+5e7429576a1f666b3b666033576a1f757b2d5e7429656c26556024576a1f556024
+47581f344d1e5560244c502649601f576a1f576a1f5f7b2a68752b556024656c26
+576a1f3f4e1e3a442349601f4b681e4b681e4b681e47581f3a4423565838aea886
+95885c4e44254b681e47581f304321556024697c2b68752b867c4c7c9053556024
+4c502649601f576a1f656c26697c2b68752b576b334b681e656c26576b3347581f
+4b681e576b333a44234e44253f4e1e68752b3f4e1e3a44233a4423333522272c1f
+2f3c223f4e1e3a44233a4423342d1f272c1f24261c272c1f342d1f333522333522
+333522333522272c1f24261c24261c342d1f66592c604f2a604f2a5658383a4423
+383c234436234e3d22383c23272c1f342d1f342d1f2b3322342d1f342d1f24261c
+272c1f24261c383c23383c23383c235560243f4e1e4e4425383c233335223a4423
+555824766e2d66592c604f2a4436234e3d22342d1f342d1f342d1f4436234e4425
+66592c766427957c2f84712f957c2fa48a3bad903d9f9035a48a3b957c2fa48a3b
+b1a03dae993dbfb04dccb169c0a153c0a845b1a03dc0a845c0a845b1a03db0a83f
+9f9835bfb04d9f9835a1a73cb0a83fa0a03ab0a83fa0a03ab0a83fb1af4db0a83f
+8ea0599fa056b2a856c2a85eb2a856a0a03ac2b868a0a03ab2a856b2a856bfb04d
+9f9835b2a856b0a83fae993db2a856b2a8569fa0568b90339f903576872d6b852c
+757b2d757b2d757b2d757b2d697c2b697c2b697c2b5e7429757b2d5e74296b852c
+5e74294b681e757b2d76872d76872d68752b697c2b76872d7b90347b90348c9835
+8c98358b90338c98358e9f3b8e9f3b8e9f3ba0a03a8e9f3b8b90337b90347d9736
+7d97367d973676872d7b9034708f316b852c7d97367b90348c9835a0a03ab0a83f
+b1a03da0a03a9f9835beb751beb751beb751b2a8569fa056b0a83fa1af4e8e9f3b
+76872db0a83f9fa857afbf77b1af4da1a73c8ea83ea1af4ea1af4ea1af4eaeb84e
+373e432f3c222f3c222a34382b3322354c314758323043212b3322354c314b6933
+41671b3d5f253c5822576b3349603249603247583255602456603a666b3b3f4e1e
+2e3c44342d1f2f3c222f3c22383c2324261c262e35342d1f2a3438383c232b3322
+262e35342d1f333522383c23262e3524261c24261c272c1f272c1f2f3c22304321
+3f4e323a44232f3c222f3c222b3322333522354c313043212f3c223043213f4e1e
+5f7b2a7b903476872d576b33496032383c23344d1e3f4e1e3a4423304321475832
+2f3c22333522344d1e576a1f49601f3a44233a44233a44233f4e1e383c23383c23
+2f3c2249732360832a71973271973260832a49732341671b3c58223d5f253c5822
+49732341671b4973233d5f2549732341671b2f3c223d5f2554742849732360832a
+3d5f25497323497323708f313c5822344d1e344d1e344d1e2b33222b3322304321
+344d1e2f3c223a4423272c1f272c1f2b332224261c272c1f24261c24261c24261c
+24261c24261c24261c24261c24261c24261c24261c2b3322383c23383c23383c23
+574f264c50264e4425383c2366592c666033887b2c84714476642784712f84712f
+957c2f87872c8b90338b903376872d5e742949601f4b681e697c2b697c2b576a1f
+576a1f576a1f757b2d757b2d76872d87872c87872c9f9835b1a03d9f903587872c
+9f9035ae993dad903da48a3b9f90359f90359f9035b09954c0a153b2a053b2a053
+b2a856b099549f98359f98359f98358b90338b90338b90339f90359f98359f9035
+9f90358b90338b90339f98358b90338b90338b90339788348b903376872d757b2d
+68752b55602455602466603355602468752b68752b576a1f5560245560243f4e1e
+47581f3f4e1e49601f47581f3a442347581f576a1f4b681e576a1f4b681e656c26
+55602449601f3a4423576a1f4b681e576a1f5e742949601f3f4e1e656c26aea886
+6660334e44255e74293c58223f4e1e556024576a1f3a44235560245560243f4e1e
+3f4e1e3f4e1e4c50265558245560246b852c576a1f4b681e5e742986874a778746
+576a1f4e4425383c23475832383c2355602447581f576a1f5560243a4423383c23
+3a4423383c23383c23383c23272c1f342d1f342d1f333522342d1f333522333522
+342d1f272c1f342d1f24261c24261c3a4423767b475558243f4e1e3a4423555824
+383c23383c232f3c22383c232f3c223f4e1e2b3322342d1f342d1f333522342d1f
+24261c333522443623342d1f383c23574f26383c23383c23342d1f342d1f333522
+3335224e3d2274643e4e44254436234e3d22342d1f342d1f383c23443623555824
+76642787872c957c2f887b2c887b2c957c2f978834b1a03dae993da48a3b9f9835
+b0a83fc0a845c0a845bfb04db0a83fb1a03dae993dc0a845b1a03da0a03a9f9835
+9f9835a0a03a8c9835a0a03aa0a03ab1a03db0a83fb1af4d9f9835b0a83fa1a73c
+a0a03aa0a03aa1a73cb1af4d9f98359f9835b2a856b2a053a1a73c9fa056a0a03a
+8b9033a0a03a9fa0569f98359e98539e98539e9853778746757b2d767b47656c26
+68752b656c26697c2b5e74295474285f7b2a576b334b681e4b693349601f576a1f
+49601f49601f4b681e576a1f68752b576a1f5f7b2a76872d76872d76872d7b9034
+7b90347b90347d973680a03b80a03b8c98358e9f3b8c98357d97367b90347b9034
+8e9f3b7d9736708f317b90348c983576872d7b9034757b2d8c98358e9f3ba1a73c
+b2a8569f9835b1a03dc2b868beb751b2a856b0a83f9fa857aeb84eb1af4d8ea059
+7d9736b1af4db1af4dc2b868a1a73cb1af4db1af4db1af4daeb84ea1a73caeb84e
+2f3c22304321354c31373e432f3c223c58224b69333f4e322f3c224960324b6933
+4b693341671b3c58223d5f253f4e1e354c31383c233a44233a44235658382f3c22
+333522262e352b33223335222a3438272c1f262e35272c1f262e352b3322262e35
+262e352b3322333642333522342d1f24261c262e3524261c272c1f3335222f3c22
+2f3c223a44232f3c222e3c442b33223335223f4e323043213a4423344d1e49601f
+5f7b2a6b8545697c2b4b693347581f383c232f3c223043213a44232f3c223a4423
+3043212b33223f4e1e47581f49601f3a44232f3c222f3c223043212f3c224c5026
+3043213d5f25557f2260832a719732708f31497323557f22497323497323344d1e
+3c582249732341671b41671b4973233d5f252f3c22344d1e41671b557f22708f31
+41671b49732360832a708f313c58223c582241671b4973233d5f25344d1e3d5f25
+3d5f25344d1e3c58222f3c22344d1e383c23342d1f272c1f24261c24261c342d1f
+24261c24261c24261c24261c24261c24261c24261c342d1f272c1f342d1f272c1f
+24261c342d1f272c1f342d1f342d1f342d1f443623383c23443623383c234e4425
+3a44235560247b90347b90346b852c697c2b55602447581f3f4e1e555824555824
+4c502647581f656c26656c269f9835a0a03aad903db09954c0a845c0a153b0a83f
+ae993dc2a85ec0a153ae993db09954ad903da48a3bad903d9f91549e9853b09954
+b2a8569e98539f91548b90338b903387872c9f98358b90339f98359f98359f9035
+9f903597883487872c87872c87872c8c98358b90339f91548b903376872d68752b
+757b2d656c264b681e556024556024656c2668752b576a1f576a1f656c263a4423
+3f4e1e3f4e1e5560243a44233335223a442349601f3c58223c58223c582268752b
+5560243f4e1e3f4e1e68752b4b681e55602455602449601f4c5026767b47aea886
+5560243f4e1e55602447581f47581f576a1f47581f3a442349601f576a1f49601f
+55602447581f47581f3f4e1e55582468752b68752b656c264b681e4c5026627444
+5560243a44233f4e1e3f4e1e3a44234c50263a44234c5026576a1f47581f3f4e1e
+49601f383c232b3322342d1f24261c24261c272c1f333522342d1f443623383c23
+342d1f24261c24261c24261c342d1f666b3b77874668752b5560243043213f4e1e
+3335223335223a44233a44233f4e1e556024383c232b3322333522383c23443623
+272c1f3335223a4423333522342d1f333522333522342d1f24261c24261c333522
+4e3d22443623604f2a604f2a4e3d224e3d224e3d22342d1f604f2a4e4425766e2d
+68752b757b2d87872c9f9035757b2d9f90359f9835a0a03ab1a03db1a03db1a03d
+9f9835bfb04dbeb751bfb04db1a03db0a83fa1a73cb0a83fb0a83fa0a03a9f9835
+8c98358c98358c9835a0a03aa0a03aa0a03a8c9835a1af4e9f9835b1af4d9e9853
+8c98359f98359f98359fa8579f90358b9033a1a73c9f98359f98358c983576872d
+76872d8b90339e98537b903487872c76872d76872d68752b576a1f576b33547428
+576b3349601f5e7429576a1f3d5f2549732347583249601f3d5f253d5f253d5f25
+3d5f253c58223d5f253c582255602449601f576a1f5f7b2a76872d6b852c708f31
+6b852c7b90346b852c76872d708f317b903476872d8c98357b903476872d778746
+7b90347b90347b90347b90347b90348b90337d97368c98359f9835a0a03a9fa857
+b1af4da1a73cb1af4dc1b064b1b069a1a73cb2a8569fa857b0b86caeb84ea1af4e
+8ea0599fa857b1af4da1b170a1af4ea4bb7eaeb84ea1b170aeb84e9fa857a1af4e
+304321394446354c313a4423394446496032547428475832475832576b33547428
+4b69334b6933344d1e3f4e323a44232f3c222a3438342d1f2a34383a44232f3c22
+2f3c222f3c223335222e3c44383c232b33223335222b3322262e352b33222f3c22
+2b33222a34383335222b3322262e35272c1f342d1f2b3322333642304321373e43
+3043212f3c223a44233335222b33222f3c223f4e322f3c22354c313f4e32547428
+5e74295e74294960323a442347583247581f3f4e322b3322262e35342d1f2b3322
+2b3322342d1f30432147581f3a44232b33222b33222f3c222f3c222f3c22344d1e
+344d1e3c582241671b719732708f3171973260832a557f2260832a557f223d5f25
+3d5f2549732341671b41671b557f22344d1e344d1e304321497323497323557f22
+41671b49732360832a60832a41671b497323557f22497323557f22497323547428
+3d5f25344d1e344d1e3043214b681e3043212b33222b3322342d1f24261c342d1f
+272c1f24261c24261c24261c24261c24261c24261c24261c272c1f24261c24261c
+272c1f24261c24261c24261c24261c24261c272c1f24261c272c1f342d1f272c1f
+342d1f4e4425656c2655602468752b5558243f4e1e383c23342d1f342d1f4e4425
+3043213335223a44234c5026656c26978834887b2c887b2c9f9035a48954978834
+978834ae993db09954b2a053ae993d978834a48a3ba48a3b978834ad903db2a053
+b2a8569e98539f90359f90359f98358b90339f90359f90359fa0569f98359f9835
+a48a3b87872c9f903576872d9f98358b90338b90338b903387872c887b2c76872d
+757b2d68752b656c2655582468752b576a1f656c26656c26656c26576a1f3a4423
+3a44233335223f4e1e3335223335222f3c2249601f47581f41671b3f4e1e49601f
+49601f3f4e1e3f4e1e4b681e47581f49601f47581f47581f3f4e329e98539f9154
+4e3d22383c233043212f3c224c502647581f47581f41671b5f7b2a68752b576a1f
+556024576a1f576a1f47581f496032576a1f5e74294b681e4c50263a4423383c23
+3f4e1e47581f49601f3c582247581f49601f3f4e1e576a1f47581f49601f4b681e
+47581f3a44232b3322333522272c1f272c1f342d1f24261c333522333522333522
+333522272c1f272c1f3335223a442368752b68752b697c2b576a1f47581f47581f
+3a442347581f47581f3f4e1e556024576a1f576a1f383c233a44234c50263f4e1e
+3a44233a4423383c23342d1f24261c24261c24261c342d1f24261c24261c342d1f
+3335224436234e4425604f2a4436234e4425443623443623576a1f4c5026656c26
+757b2d87872c8b90339f98358b90339788349f98358c9835a0a03aa1a73c9f9835
+8e9f3bb0a83fb0a83fb1af4da0a03aa0a03aa0a03ab0a83fa0a03a9f983587872c
+87872c7b90347b90348ea83e8ea83e9f98358c98358e9f3b8c9835a1a73c8e9f3b
+8e9f3b7b90348e9f3ba0a03aa0a03a76872d8e9f3b9f90358c98358b903368752b
+7b903476872d8b903386874a6b852c656c26576a1f4b681e4b681e4b681e576b33
+4b681e49601f5560244960323c58224b69333c5822344d1e344d1e344d1e3c5822
+3c58223d5f253d5f253d5f254b681e49601f49732354742868752b697c2b6b852c
+697c2b6f8f52697c2b5f7b2a60832a6b852c6b852c7b903476872d60832a6f8f52
+6b852c6f8f5276872d76872d8c98357d97368c98358c98358ea0598c9835a0a03a
+b0b86c9fa857b2a856c4bf65a1af4e9fa8579fa8578ea059a1af4e9fa857b0b86c
+a1af4eaeb84ea1af4e9eb74c9eb74cafbf77a4bb7ea1af4e9eb74ca1af4e9fa857
+3043213a4423354c313f4e323a44234960324b69333f4e324960325e7429496032
+344d1e496032344d1e4960323a44232f3c22333522262e35333522373e432e3c44
+2f3c22354c312f3c223a4423373e432f3c22373e432f3c222b33222f3c22304321
+2f3c222f3c222a34382b3322262e35272c1f3336422b3322383c23354c313a4423
+2f3c223a44232e3c442b3322383c233a44234c50263a44233f4e323c582247581f
+47581f55602447581f2f3c223f4e3249601f4758322b33222b33222b3322272c1f
+333522262e35333522354c31333522272c1f3a4423344d1e2f3c22304321304321
+344d1e3c58223d5f2560832a557f22497323557f22557f2260832a557f2241671b
+41671b60832a49732341671b41671b344d1e344d1e344d1e30432141671b708f31
+3d5f25497323497323557f22547428497323557f223c5822557f224973235f7b2a
+344d1e3c5822344d1e30432149601f3f4e1e30432147581f2f3c222b3322333522
+272c1f24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c272c1f24261c24261c272c1f272c1f272c1f24261c24261c24261c272c1f
+272c1f383c233f4e1e4e4425576a1f3f4e1e3f4e1e2f3c222b3322383c233f4e1e
+3a44233a44233043213a442349601f76872d766e2d656c26576a1f766e2d656c26
+656c26766e2d887b2c887b2c887b2c666b3b76642776642774643e766427a48954
+97883484712f97883486874a97883497883486874a84712f867c4c957c2f867c4c
+a48a3b97883497883487872c87872c97883487872c8b903386874a87872c76872d
+87872c757b2d697c2b5560244c50265558245e742968752b4b681e5558243a4423
+3a4423383c232f3c222b33223335222f3c2247581f49601f576b334b681e4b681e
+4b681e47581f3f4e1e47581f3f4e1e49601f49601f3c582247581fa1b17095885c
+342d1f272c1f24261c342d1f342d1f383c2347581f49601f547428576a1f5e7429
+576a1f49601f576a1f49601f47581f47581f5560245560243f4e1e4c50263a4423
+3a4423556024556024344d1e3a44233f4e1e55602454742847581f49601f576a1f
+47581f3a44233f4e1e2f3c222b332233352233352224261c342d1f272c1f333522
+333522383c23272c1f3a4423556024576a1f576a1f68752b68752b49601f49601f
+3f4e1e576a1f3f4e1e3a442349601f556024576a1f55602447581f576a1f4b681e
+656c2668752b5560243a4423342d1f24261c24261c24261c342d1f24261c333522
+4436234436234e44254e4425443623574f263a44233a4423656c26656c26757b2d
+757b2d8b903387872c9f983587872c87872c8b90338c98358b9033b0a83f87872c
+a0a03aa0a03aa0a03ab1af4da0a03a9f9835a1af4ea0a03aa1a73c8e9f3b8c9835
+8c98357b90347b9034a0a03a8ea83e87872c8b90337d973676872d8b90338c9853
+8c983576872d8c98358c9835a0a03a7b90348e9f3b8c98357b9034697c2b5e7429
+76872d708f31778746697c2b697c2b4b681e47583247581f3d5f2541671b49601f
+4b681e3d5f2549601f496032344d1e41671b3d573b344d1e3c5822344d1e3c5822
+344d1e3c58223d5f253d5f253d5f2549601f4b6933547428697c2b60832a5f7b2a
+576b335f7b2a5f7b2a5f7b2a5f7b2a567f3a60832a6b854560832a697c2b60832a
+5f7b2a6b85457b90347d97367b90347f97537197328e9f3b8e9f3b8c98538b9033
+8e9f3b9fa8579fa8579fa056a0a03aa1af4eb1b069a1a73c9fa8579fa857a1af4e
+a1af4ea1b1709fa857a1af4ea1b170a4bb7e9eb74c9fa056a1af4ea1b17091af49
+354c313043213f4e323a44233f4e323d573b4b693347581f3f4e32576b33475832
+3c58223d5f25344d1e4758323c5822354c312f3c222b33222a3438342d1f2a3438
+304321344d1e344d1e3f4e323043213335223335223a44233944463d573b4e5043
+2f3c223043212f3c222b3322272c1f2b33222b33222f3c223a44233a4423354c31
+3a4423383c23333642342d1f33364233352230432133352230432149601f475832
+3a44234960323f4e1e3a44232f3c2249601f47581f2f3c223043213944462b3322
+2f3c222b33222f3c222f3c222b3322383c23344d1e304321344d1e344d1e3f4e1e
+41671b344d1e497323557f22557f2241671b497323557f2260832a497323497323
+49732360832a49732349732341671b3043213c5822344d1e2f3c223c5822719732
+41671b49732341671b5f7b2a5474284b681e49601f3c582249601f4b681e557f22
+4b681e557f224b681e41671b41671b49601f344d1e4b681e49601f3c5822304321
+272c1f262e35272c1f24261c24261c24261c1c1e19342d1f1c1e19342d1f24261c
+24261c24261c24261c272c1f24261c24261c24261c24261c24261c272c1f1e241b
+272c1f342d1f342d1f383c23576a1f3f4e1e3f4e1e344d1e333522383c2347581f
+47581f49601f49601f3f4e1e4b681e5e7429656c26757b2d697c2b697c2b576a1f
+656c2647581f766e2d656c2668752b574f26604f2a604f2a383c234e4425556024
+666033574f26574f26604f2a66592c666033574f264e44254e4425574f26604f2a
+604f2a666033766e2d766427766427766e2d766e2d757b2d87872c87872c87872c
+778746757b2d757b2d5558243f4e1e3f4e1e5558245560245558243f4e1e333522
+383c233a44232f3c223335223f4e1e3a44233f4e1e47581f5e7429576a1f576a1f
+656c264b681e49601f49601f2f3c223a44235560243f4e1e4e50439a917874643e
+342d1f272c1f24261c24261c2f3c223a4423344d1e47581f4b681e5e7429697c2b
+4b681e47581f576a1f4b681e49601f49601f4b681e49601f3f4e1e47581f49601f
+47581f656c265560243f4e1e2f3c222b33223f4e1e4c502647581f3a442349601f
+49601f49601f49601f2f3c223a44233a4423342d1f272c1f24261c24261c2b3322
+4c50263043213a44233f4e1e47581f576a1f47581f5e742968752b55602449601f
+5560245e742947581f3f4e1e3f4e1e47581f576a1f576a1f576a1f68752b576a1f
+5e7429576a1f576a1f4e442524261c342d1f342d1f24261c24261c342d1f342d1f
+383c23383c234e44253f4e1e383c234e44253a44235560245e742968752b656c26
+757b2d76872d7b90347d97367b9034757b2d76872d8b90338c98358e9f3b87872c
+8c98358e9f3ba0a03aa0a03a8e9f3b8c9835a1a73cb1af4da1a73c9f98359f9835
+8c9835a0a03a8e9f3ba1a73c8e9f3b8c98358b9033778746708f31697c2b7b9034
+76872d76872d76872d87872c8c983576872d8c98358e9f3b76872d557f2260832a
+557f2260832a697c2b697c2b5f7b2a3c58223c58223c5822344d1e4758323d5f25
+3d5f253c58223c58223c58223c58223d573b344d1e344d1e344d1e344d1e3c5822
+3c58223d5f253c58223c582249601f4b681e4b681e576b33576b335e74295e7429
+4b681e4960324973235e74295f7b2a5e74296b85456b852c5e74295f7b2a657c44
+547428708f316b85457787465f7b2a6b85457787467b90347b90348c98537b9034
+8b90338e9f3ba1a73c9fa8578c98358ea0599fa8579fa8578c98359fa0569fa857
+b1af4da1af4ea1b170a1af4ea1af4eafbf77a1b170a1af4e92a7599eb74ca1af4e
+3a44233043213944463a44234e50433a44234b69333f4e1e3c58224b69333f4e1e
+3c58224960323c58223f4e3247581f4758322f3c222f3c22354c31272c1f342d1f
+354c31354c31354c313f4e322f3c222b3322262e353944463f4e324758323f4e32
+2f3c223a44233043212f3c22262e352b33222b33222f3c223043213f4e323f4e1e
+3a44232a34382b3322342d1f262e35272c1f3335222a34383043213d5f25475832
+3f4e1e4c502649601f3f4e322f3c2247581f4c5026383c232b33223f4e32304321
+3043213a442349601f2f3c2233352247581f3f4e1e3f4e1e49601f49601f4b681e
+60832a3c582249732341671b497323497323497323557f2249732360832a497323
+4b681e6b852c41671b60832a557f223d5f2541671b3c582230432130432160832a
+5474284973233c582241671b49601f3c5822344d1e4b681e3d5f253c5822557f22
+4b681e5f7b2a49601f49601f3d5f253d5f2530432149601f49732341671b3d5f25
+2f3c22272c1f272c1f24261c24261c24261c272c1f24261c1e241b24261c342d1f
+24261c272c1f272c1f24261c24261c272c1f24261c1e241b24261c272c1f24261c
+272c1f272c1f2b33222f3c2249601f47581f3f4e1e3c58223f4e1e2f3c223f4e1e
+3a442347581f4b681e49601f49601f5474284b681e656c26697c2b6b852c576b33
+5e742955602466592c556024576a1f3f4e1e4c50263f4e1e383c23383c233a4423
+383c233a4423383c23333522333522342d1f33352224261c342d1f342d1f342d1f
+342d1f383c233a44233a44234e4425574f264c5026656c2668752b75704d757b2d
+757b2d656c26766e2d5558244c50263a44234c50265560243f4e1e3f4e1e3a4423
+3a44233f4e1e383c233a44233f4e1e3a4423383c233043213f4e1e47581f49601f
+55602455602455602447581f3043212f3c225560243f4e1e3a4423867c4c4e4425
+24261c272c1f272c1f342d1f3a44233a44233f4e1e47581f4b681e5e74295e7429
+4b681e49601f4b681e4b681e49601f49601f5560244c502647581f3f4e1e555824
+4c5026656c26574f264c50263f4e1e383c23383c232f3c225560242f3c223f4e1e
+49601f576a1f576a1f47581f3f4e1e2f3c22272c1f272c1f24261c342d1f333522
+47581f47581f49601f4b681e555824576a1f576a1f656c26656c2649601f49601f
+656c26697c2b656c26556024556024556024576a1f576a1f576a1f5e742968752b
+68752b5558243a4423342d1f272c1f342d1f342d1f342d1f342d1f4436234e3d22
+4e44253a4423383c233a44233043213a44233a44234b681e5e7429576a1f5e7429
+68752b697c2b697c2b76872d7b903476872d708f3176872d76872d8b903376872d
+76872d9f98358c9835a0a03aa0a03a7b90348e9f3ba1a73cb1af4da1a73ca1a73c
+8e9f3baeb84ea1a73c9fa857b1af4d9fa8577b9034697c2b6b854568752b697c2b
+6b852c5f7b2a5f7b2a6b852c7b903476872d697c2b76872d76872d60832a5f7b2a
+576a1f5e7429697c2b5e74294973233f4e1e344d1e344d1e344d1e4758323c5822
+3d5f25344d1e3c5822344d1e344d1e344d1e344d1e344d1e354c31344d1e3c5822
+3c58223c58223c58223c58223d5f25576b334b693349732341671b547428547428
+576b33656c264b6933576b335f7b2a5e74295e7429567f3a5f7b2a497323576a1f
+547443697c2b6b852c697c2b576b3360832a7787466b852c76872d8c98538c9835
+8b90338c98538ea0598c98357b90347d97368c98358e9f3b7d973680a03b8e9f3b
+9fa8579fa857a1af4e92a759b0b86cafbf77a1af4e9eb74c95af7a9eb74c95af7a
+2f3c222e3c442f3c22475832496032354c31576b333d5f254758324b69333d5f25
+4960324b69333d5f25344d1e344d1e4758323043212f3c22354c312a34382a3438
+3a4423304321344d1e3f4e32304321262e35342d1f383c23465864496032496065
+3043213c5822354c313335223335222f3c222b33223335222f3c222f3c22354c31
+3a44232f3c222b33222b332224261c262e35342d1f2b33223a44234960323f4e1e
+4758323f4e1e49601f47581f3f4e1e47581f3f4e1e2f3c222b3322354c31304321
+354c313f4e1e576a1f47581f3a442349601f3d5f2549601f49601f49601f49601f
+4b681e3d5f2541671b557f2249732349732349732341671b41671b557f22547428
+41671b497323344d1e557f2249732341671b41671b3c58222f3c222f3c2249601f
+3d5f25344d1e344d1e3f4e1e4b681e3043212f3c2241671b49601f344d1e557f22
+5f7b2a4b681e4b681e49601f3d5f2541671b3c582241671b4b681e497323576a1f
+47581f272c1f2b3322272c1f24261c24261c24261c24261c24261c24261c24261c
+272c1f24261c24261c24261c272c1f24261c272c1f24261c24261c24261c24261c
+24261c272c1f2f3c223f4e1e4b681e41671b49601f4b681e3f4e1e2f3c223a4423
+2b33223335223f4e1e47581f49601f576a1f576b334b681e55602468752b5f7b2a
+576a1f576a1f556024555824656c264c50263a4423383c233a44233a44233a4423
+383c23383c233335222b3322272c1f272c1f24261c24261c1e241b24261c24261c
+24261c24261c24261c342d1f3f4e1e4c50264e4425766e2d68752b766e2d68752b
+656c26656c2668752b5560245560244c50263f4e1e47581f4c502647581f3f4e1e
+47581f4c50263a44233f4e1e47581f3f4e1e383c232b3322383c233a44233f4e1e
+47581f4c502649601f3f4e1e3f4e1e3f4e1e3f4e1e3f4e1e3a44234e3d22342d1f
+24261c24261c272c1f342d1f3a4423383c232f3c223a44233a442347581f576a1f
+4b681e576a1f576a1f4b681e576a1f4b681e3a44232b33223f4e1e4c50263f4e32
+3f4e1e3f4e1e383c23383c2347581f3335223a44232f3c225560243043213f4e1e
+656c264b681e5f7b2a4b681e4c50262f3c22342d1f333522383c234436232f3c22
+47581f4b681e556024576a1f556024576a1f5e74295e7429656c26556024576a1f
+68752b76872d766e2d666033576a1f656c26576a1f55602468752b656c26656c26
+6660333a44234e4425272c1f24261c2b3322272c1f383c233a44234c5026555824
+4c50263a4423383c233a44233a44233f4e1e47581f47581f576b334b681e68752b
+576a1f5e74295f7b2a5e742976872d697c2b757b2d76872d757b2d76872d76872d
+6b852c8b903376872d8e9f3b8e9f3b9f98358ea83ea1af4ea0a03aa1a73ca1a73c
+b0a83fb1af4db1af4d9fa857b0b86c9fa0567b90346b852c7d9736576b335f7b2a
+5e74294b681e576a1f5e7429697c2b697c2b5e742960832a60832a557f22557f22
+4b681e4b681e547428576b3341671b3c5822344d1e3f4e1e304321354c31304321
+3c58223c58223c5822344d1e354c31344d1e354c31344d1e344d1e344d1e3c5822
+344d1e3d573b344d1e3c582247581f49603247581f496032496032547428576b33
+4b681e656c2649601f4b681e576b33576b33567f3a4b6933567f3a3d5f25576b33
+4b69335f7b2a68752b5474434973235e7429657c44697c2b697c2b778746778746
+7b90347b90347b90347c90536b85457b90348b90557b90347787468b90338e9f3b
+9fa8579fa8578ea05991af49b1b069a1b170b0b86c9fa857a1b170a1b170a1af4e
+383c232a34382f3c224960324b69333f4e32576b333d5f254960324960324b6933
+4b681e4b69333f4e32344d1e354c313c58223a44233043213f4e322f3c222f3c22
+344d1e3f4e324b681e4758323f4e322b3322333642373e435658383f4e323a4423
+3a44233c5822354c312b33222b33222e3c442f3c22272c1f333522373e432f3c22
+3a44232e3c443335222a3438272c1f24261c262e352b33223d573b496032344d1e
+3f4e1e47583255602447581f47581f4960323c58223f4e32304321354c313f4e1e
+49601f4c5026556024475832344d1e47581f49601f556024576a1f5e74295e7429
+547428547428497323708f31557f2249732341671b41671b3c582241671b547428
+49732341671b3c582249732341671b3c582249601f3043213043212f3c22304321
+41671b344d1e3043213043213c58223043213043213d5f25344d1e344d1e4b681e
+5f7b2a4b681e5474283c582249601f49732349732341671b49601f49601f344d1e
+2f3c22272c1f2b3322272c1f272c1f272c1f33352224261c272c1f272c1f24261c
+272c1f24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c272c1f3a44233f4e1e576a1f3c58223c58224b681e3f4e1e304321333522
+2b3322272c1f2f3c223f4e1e49601f576a1f576a1f576a1f4b681e576b335e7429
+4b681e4b681e55602447581f5560244c50264e4425333522383c23383c23383c23
+2b3322342d1f272c1f342d1f272c1f24261c24261c24261c24261c24261c24261c
+24261c24261c24261c272c1f383c233f4e1e555824656c26656c2668752b697c2b
+697c2b68752b656c26556024576a1f5558243a44233f4e1e3a44233f4e1e555824
+5560244c50263f4e1e3a44233f4e1e3a4423383c23344d1e3043213a44233a4423
+4c50265558243f4e1e383c233a4423383c233a44233a44234c502644362324261c
+24261c342d1f333522383c23383c23342d1f342d1f3335222b3322383c234b681e
+41671b3c58223f4e1e3f4e1e3a442347581f304321342d1f2b33224c5026383c23
+4e44253f4e1e342d1f3335223a4423342d1f3335223335223f4e1e3a442347581f
+576a1f555824576a1f47581f4c50264c50263f4e1e47581f3f4e1e4c50263a4423
+47581f556024576a1f556024556024574f265560245558244c50264c5026576a1f
+656c2677874687872c656c2666592c656c26766427555824576a1f576a1f656c26
+574f264c50264c5026333522342d1f342d1f3335223f4e1e4c50263a44233f4e1e
+3a44233a44233043213a44234c50264c50263f4e1e3f4e1e49603247581f576b33
+4b681e576a1f5e7429576a1f576a1f697c2b5e74296b852c76872d87872c6b852c
+68752b8c983587872ca0a03a8c98359f9835a1a73cb0a83f9fa8579fa8579fa857
+b2a8569fa056a0a03a9fa056b1af4d8ea0598b90337b90347d97365e74295f7b2a
+5474284973234b681e4b681e576a1f5e74295e74294b681e576a1f41671b4b681e
+4b681e41671b41671b49601f3c5822354c31344d1e354c312f3c22304321304321
+344d1e344d1e354c31304321344d1e344d1e354c31344d1e3d573b3043213d5f25
+344d1e4b69333d5f253c58223c58224b693347581f4b6933576a1f4b69334b6933
+49601f576b33576a1f4b6933576a1f697c2b567f3a4b681e567f3a3d5f254b681e
+547428547428576b3349732341671b567f3a547428576b335e7429778746757b2d
+757b2d7c905376872d60832a5f7b2a6b8545778746708f3160832a7c90538c9835
+8c98539fa8579fa8579eb74c92a7599fa857a4bb7e9fa857a1af4eb0b86ca1af4e
+30444d2f3c22354c314758324b69333d5f25576b334960324960324b681e4b6933
+4b69334960323c58223c58223c58224758323f4e323d573b3c5822344d1e475832
+4b69334b681e5474283d5f25354c312f3c222a34384e4425465864354c312f3c22
+354c313f4e32383c232b33222b33222b33222b33222b3322272c1f2a3438333522
+383c232f3c223043212f3c222b33222b3322342d1f383c234758323f4e1e2f3c22
+3f4e3249601f4b681e49601f47581f49603247581f3d5f253f4e1e4758323f4e1e
+5560243f4e324c50264758323f4e1e3a44235560244c5026556024697c2b60832a
+60832a60832a497323708f31557f224973234973234973233d5f25344d1e557f22
+4b681e54742841671b4973233c5822576a1f41671b344d1e3c5822344d1e304321
+576a1f344d1e3f4e1e3c5822344d1e3c58223c582249601f3043213f4e1e49601f
+5e742949601f3d5f253d5f2547581f41671b5e74294b681e4b681e3c58222f3c22
+2b3322272c1f2b3322333522272c1f24261c272c1f272c1f24261c24261c24261c
+1e241b24261c24261c272c1f1e241b272c1f24261c272c1f24261c24261c272c1f
+24261c272c1f344d1e3043213c582249601f3f4e1e3c582247581f47581f2f3c22
+2b33222f3c22344d1e3c582249601f5e74294b681e4960323f4e1e3a442349601f
+3a442347583249601f3f4e1e4c50263f4e1e383c233a4423383c23383c23383c23
+3335222b3322272c1f342d1f342d1f272c1f24261c24261c24261c24261c24261c
+24261c272c1f24261c24261c3335223a44235e7429556024656c2668752b757b2d
+697c2b68752b576a1f55582447581f4c50263a44233f4e1e383c233f4e1e47581f
+47581f3f4e1e383c233f4e1e3f4e1e344d1e4c502647581f47581f3a4423333522
+383c234c50263f4e1e383c232f3c22304321383c23383c23555824443623342d1f
+342d1f2b3322333522333522333522383c23333522333522342d1f3a44233f4e1e
+3f4e1e344d1e333522342d1f3043213f4e1e383c23272c1f272c1f4e44254c5026
+3a44232f3c22342d1f2b33222b332224261c24261c272c1f3335223a4423574f26
+3f4e1e3a44235558244c50263f4e1e55602455602455602455582447581f576a1f
+49601f556024656c266660334e44253f4e1e574f26556024383c233335224e4425
+4c502668752b9e9853887b2c555824666033757b2d555824576a1f766427656c26
+4e442547581f555824333522272c1f272c1f3335223a4423383c233a44234c5026
+3a44233043213a44233043213f4e1e3f4e1e3f4e1e344d1e3c582247581f4b6933
+4b681e49601f49601f5474285e74295e742968752b76872d76872d757b2d697c2b
+76872d8c98357b90348e9f3b8c98358e9f3b8e9f3b9fa8579fa056b1af4da0a03a
+9fa8579fa8578b90339fa857b0a83f9e98538b90337b90348b90336b8545656c26
+576a1f4b681e4b681e3d5f2549601f497323497323576a1f4b69334b693349601f
+3d5f253d5f253f4e1e3f4e1e344d1e3043213043213a44233043212f3c222f3c22
+344d1e304321344d1e304321304321354c31344d1e344d1e354c31344d1e3c5822
+3d573b41671b3d5f253c5822344d1e47583247581f49603247581f4b681e496032
+4b681e576b33576a1f556024576b335e74295e74294b693341671b3c58224b6933
+4b6933576b33576b333d5f25496032576b335474284b6933576b3376872d68752b
+7b90346b852c6274444b69335474286b852c6b852c5f7b2a5f7b2a708f317b9034
+8e9f3b92a75992a75992a75992a759a1af4ea1b17092a75991af49b0b86c91af49
+354c312f3c223f4e32475832576b334b69334b693349601f4b6933576a1f5e7429
+4b69333d5f2549603249603241671b3d5f25344d1e49603249601f496032576a1f
+5474284b69335f7b2a475832304321394446373e43373e43383c232f3c223a4423
+304321354c313335222e3c44304321262e35272c1f262e35272c1f333522333642
+2b3322373e433a4423373e432f3c22373e433a44233f4e324758323a44232f3c22
+47583247581f475832576b334b681e49603247581f47581f47581f3f4e1e354c31
+3f4e322f3c22383c233f4e323f4e1e383c234c50264c502649601f697c2b557f22
+60832a557f22497323547428557f2260832a497323557f224973233c58225f7b2a
+41671b557f22497323557f223d5f25576a1f4973233c58223c58223d5f25344d1e
+4b681e4b681e344d1e41671b3d5f2541671b41671b49601f2f3c222f3c223c5822
+576a1f4b681e3c58223c58223f4e1e3c58225474284b681e5560243f4e1e304321
+2b33222f3c223f4e1e2b3322333522272c1f24261c272c1f262e3524261c24261c
+24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c24261c3335223a442349601f49601f3c58224b681e5474284b681e49601f
+304321344d1e41671b49601f4b681e656c2649601f3c582230432130432147581f
+3043213335223f4e1e3f4e1e3f4e1e383c234436234e4425383c233335223f4e1e
+3a4423333522272c1f342d1f333522272c1f24261c24261c24261c342d1f342d1f
+24261c24261c24261c24261c272c1f33352255582447581f576a1f55602468752b
+68752b757b2d576a1f5560244c5026344d1e3a442347581f3a44233a44233a4423
+3f4e1e4c50262f3c2247581f3f4e1e30432149601f3f4e1e3f4e1e4c5026333522
+333522383c232f3c22333522383c233a4423383c23333522666033383c23272c1f
+333522342d1f333522342d1f3335223a44233f4e1e383c233a44233a44233f4e1e
+383c23383c23272c1f342d1f383c232f3c22342d1f272c1f333522383c23383c23
+342d1f2b3322272c1f333522383c2324261c342d1f24261c342d1f2f3c223f4e1e
+4436233335223a44234e442547581f576a1f656c26556024576a1f556024576a1f
+656c26697c2b68752b5558244e4425574f26666033555824443623333522333522
+3335224e44258b90559e9853656c26576a1f84712f555824656c2668752b656c26
+383c23574f264c50263335223335223335223335223a44232f3c22344d1e383c23
+3a44232f3c222f3c222f3c223043213f4e1e354c313043213c58223f4e1e47581f
+4b681e3d5f2549601f49601f4b681e5e7429757b2d757b2d7b903476872d76872d
+76872d7b90347b90349f98358c98359fa8579fa857a0a03a9fa857b1b0699fa056
+9f98358c98358e9f3b8c98358e9f3b9f91548b903377874676872d68752b576b33
+576b3349601f49601f3d5f254b681e3d5f2541671b576a1f3c58223d5f253c5822
+3c58223d573b2f3c22354c31344d1e354c313043213a44232f3c222f3c222f3c22
+304321304321304321304321304321304321354c313c5822344d1e354c31344d1e
+3d573b3d5f253d573b344d1e3c5822344d1e354c3149601f49601f4b69335e7429
+576a1f657c445e7429576a1f5e74295e74295f7b2a5474433d5f2547583247581f
+4b69334b681e4b69333d5f253c582247581f4b693349601f576b336b852c68752b
+6b8545697c2b5474284b6933567f3a657c445f7b2a5f7b2a6183456b852c7b9034
+92a75992a75992a75991af4995af7aa1af4ea1af4e819f598ea059a1af4ea1af4e
+4758323a44233f4e3247583249603247581f47581f4e5043496032496032576b33
+3d5f2549603247581f4b693349603247581f3c58223d5f253c5822496032576b33
+627444496032576b333d573b354c313f4e32394446342d1f2a3438354c313f4e32
+3043213043212f3c223a44233f4e323043212b3322262e35272c1f2b3322333522
+3335222b33222a3438333522333522383c233a44234758323f4e1e383c23304321
+49601f3f4e1e4c50265e742949601f4758323f4e1e49601f3f4e1e354c31383c23
+3335222b3322333522383c233a4423383c23383c233f4e1e49601f576a1f576a1f
+4973233d5f253c582241671b41671b557f22557f2249732360832a49732360832a
+557f2260832a557f22557f2241671b41671b4973233d5f25344d1e49601f3c5822
+3d5f2549732341671b41671b41671b4973234b681e3c58222f3c222f3c223a4423
+576a1f49601f3c5822344d1e3f4e1e47581f497323576a1f4b681e41671b3f4e1e
+2f3c22344d1e3c58223043212f3c22272c1f272c1f24261c342d1f24261c272c1f
+24261c272c1f24261c24261c24261c24261c24261c24261c24261c24261c24261c
+272c1f272c1f2b33224b681e54742849601f47581f576a1f576a1f4b681e49601f
+3c582249601f49601f4b681e4b681e55602447581f3f4e1e344d1e344d1e4b681e
+344d1e333522383c23344d1e3a4423383c233043213f4e1e383c23383c233f4e1e
+3f4e1e383c23342d1f2f3c223a4423342d1f342d1f342d1f342d1f24261c333522
+333522342d1f342d1f342d1f272c1f3335223f4e1e383c23555824555824656c26
+68752b5e7429656c2647581f47581f47581f55602447581f3f4e1e3f4e1e47581f
+4c50265560243a44233f4e1e49601f3f4e1e47581f3043212f3c2247581f304321
+333522333522342d1f333522333522383c234436233a4423766427383c23342d1f
+272c1f2b3322342d1f333522342d1f3a44234e44253a4423574f263a4423333522
+333522342d1f24261c272c1f2f3c223335222b3322342d1f333522333522383c23
+33352224261c272c1f304321333522272c1f2b3322272c1f272c1f383c23333522
+2b3322333522383c233f4e1e576a1f68752b576a1f556024556024556024576a1f
+76872d766e2d5560244e4425383c234c5026656c264c5026333522443623383c23
+333522383c2355582486874a757b2d66603376872d666033766427766e2d576a1f
+4c50264c50264c5026383c233335223a44232f3c222f3c223043213a44233a4423
+2f3c222f3c223043212f3c223043213a44233a44233043213f4e1e344d1e47581f
+49601f47581f49601f47581f4b681e697c2b5e742976872d87872c8b90337d9736
+76872d76872d8b90338c98358c98358c9835b2a8568e9f3b9fa8579fa857a1a73c
+a0a03a8b90338e9f3b8c983587872c8b90338b90337787467b9034656c26576b33
+576a1f47581f3c582247583247581f47581f49601f3d5f25354c31475832354c31
+3f4e323f4e1e3043213a44232f3c223a44232f3c223a44233043212f3c222f3c22
+3043212f3c22304321344d1e2a3438304321354c31354c31344d1e344d1e304321
+3d573b3c5822344d1e344d1e344d1e3a44233f4e1e49601f576b336b8545697c2b
+68752b5f7b2a697c2b49601f576a1f576b337787465e74293c58223c58223c5822
+4b681e496032496032344d1e3d5f253d5f254960323c58223d5f25576b33576b33
+6274445e74294b69334b6933618345557f22708f3161834560832a6183457d9736
+80a03ba1af4e92a7598e9f3b8ea0598ea05992a7598c9835819f5991af499fa857
+4758323f4e323d573b4758324758323f4e323f4e323f4e324c5026475832475832
+3c58224b69333c58224960323d5f2547581f4960324960323d573b3c5822576b33
+6274444b69334b69334960324e50432f3c223a44232f3c22354c313f4e32304321
+3a4423304321304321354c313c58223043212f3c22333522262e353336422a3438
+272c1f2b33222f3c222b33222a3438342d1f2f3c223f4e32344d1e333522304321
+3f4e32344d1e475832576b334b681e4960323f4e1e4758324c502647581f3f4e32
+342d1f3335222f3c22383c234c50263a4423333522383c2347581f47581f47581f
+3f4e1e344d1e3043213d5f253d5f2541671b41671b497323557f22557f225f7b2a
+60832a60832a708f3160832a4973233d5f254973234b681e41671b41671b3d5f25
+4b681e4b681e4973234b681e3d5f254973234b681e3c58222f3c222f3c222f3c22
+4b681e49601f4973233c582249601f49601f4973234b681e4b681e4973233d5f25
+344d1e47581f3d5f25344d1e2f3c22342d1f272c1f272c1f333522272c1f272c1f
+272c1f2f3c22272c1f24261c24261c24261c24261c24261c24261c272c1f24261c
+342d1f272c1f2f3c22576a1f4b681e49601f3c58224b681e576a1f49601f49601f
+49601f49601f3c582249601f47581f5558243f4e1e3d5f253c58223c582249601f
+344d1e3335223a44233a44233a44233a44233a44233f4e1e383c233a44233a4423
+4c50263a4423342d1f3335223a44233335222b33222b3322342d1f272c1f342d1f
+272c1f272c1f2f3c223335222b3322333522383c2333352247581f556024656c26
+576a1f656c26576a1f656c26576a1f576a1f576a1f5560243f4e1e47581f47581f
+49601f49601f4c50263f4e1e47581f4c50263f4e1e4c50263043214e44252f3c22
+333522383c23272c1f272c1f3335223335223335224c5026767b47443623342d1f
+342d1f2b3322272c1f342d1f342d1f383c23383c233f4e1e4e4425333522272c1f
+342d1f272c1f342d1f272c1f2b33222b3322383c232b33222b33223335224c5026
+304321342d1f272c1f3a4423333522272c1f383c232b33223335222f3c22342d1f
+2b3322383c233a442347581f5e742947581f5560245558244c50264c5026666033
+86874a556024556024383c23383c233335224e3d22383c233335224e44254e4425
+4e44254e4425383c234e4425574f2676642768752b766427556024766e2d656c26
+4c50263f4e1e3f4e1e3f4e1e2f3c22344d1e3a44232f3c222f3c222f3c22304321
+2f3c222b33222b33222f3c222b33222f3c222f3c22304321344d1e344d1e344d1e
+3d5f253f4e1e3c582247581f4b681e697c2b60832a5e74296b852c87872c708f31
+6b852c7b90348b90338b9033a0a03a9f9835a1af4e9fa0569fa056b1af4d9fa857
+9e98538e9f3b8c985376872d76872d9e98538b90337c9053697c2b576b33576a1f
+49603249601f3f4e1e3d5f25475832344d1e3d573b3f4e1e3a44233f4e32304321
+354c313043212f3c223a44232f3c222f3c222b33223335222f3c222f3c22304321
+30444d2b33223043212f3c222b33222a3438344d1e344d1e354c31354c31304321
+3f4e323c5822344d1e3d573b354c312f3c223a44233f4e323c58225474286b8545
+757b2d576b335f7b2a576a1f4b6933576a1f5e74294b69333c58223c58223c5822
+3d5f253c58223d573b3c58223f4e323d5f253d5f2547581f47581f4b681e497323
+41671b4b69334b693341671b6b85455f7b2a6f8f527787465f7b2a6b85457c9053
+8ea0598c983592a7597d97367f975392a75992a7597d97368c98538ea0598ea059
+3f4e323a44234c5026354c313f4e323c58223a44233f4e32354c313f4e32304321
+354c313d5f254960323d5f2547581f4960323d5f253f4e1e3f4e323f4e32475832
+4758324758324960324b69333f4e323043213043212f3c22344d1e3c5822304321
+2e3c443a44232f3c223f4e32344d1e3d573b3a44232b3322262e35342d1f262e35
+272c1f2a3438383c232a3438342d1f262e35383c233f4e323a44232e3c44304321
+3f4e322f3c224b69335e742949601f3f4e323f4e1e47583247581f354c313f4e32
+2f3c22383c23383c2333352247581f4c50263335222f3c224960323f4e1e3f4e1e
+344d1e3a44233c58223d5f2541671b41671b41671b41671b54742860832a557f22
+557f22708f3160832a60832a547428547428576a1f4b681e4b681e4b681e4b681e
+41671b49732349601f4b681e3d5f2541671b41671b344d1e3043213043213f4e1e
+49601f3d5f25576a1f49732354742841671b49601f3d5f254b681e547428497323
+4b681e41671b3c58223c58222f3c22272c1f3335222b3322333522272c1f333522
+2b33223a4423272c1f272c1f24261c24261c24261c24261c24261c24261c272c1f
+272c1f2b33222f3c2247581f47581f3f4e1e344d1e576a1f3c582247581f47581f
+47581f49601f47581f3f4e1e383c234c5026344d1e3c582230432147581f3f4e1e
+3f4e1e3335223a44233f4e1e383c23383c233a44233a4423383c233a44233a4423
+4c50263043212b3322342d1f3335222f3c223335223a4423333522272c1f272c1f
+272c1f272c1f342d1f333522383c232f3c22383c233335223f4e1e556024576a1f
+656c26576a1f576a1f5e74295e7429697c2b5e742955602449601f47581f4b681e
+4b681e55602455602449601f344d1e47581f49601f47581f3f4e1e3a4423333522
+383c23383c23272c1f272c1f342d1f383c23383c2374643e86874a342d1f272c1f
+333522272c1f342d1f272c1f333522443623443623574f263f4e1e24261c272c1f
+272c1f3335223043212f3c223335222b33223f4e1e272c1f272c1f2f3c2247581f
+3f4e1e333522342d1f304321333522272c1f383c23333522333522383c232f3c22
+3335223a44234c50264c50265558243f4e1e3f4e1e3a4423383c23383c23555824
+757b2d574f265560243a44233a4423383c23333522342d1f3335224c50264c5026
+555824383c23443623333522333522666b3b757b2d656c26766427757b2d666033
+4c50263a44233f4e1e3f4e1e344d1e344d1e3043212f3c222b33222f3c222f3c22
+2f3c222f3c222f3c222b33222b33222f3c22304321304321344d1e3043213f4e1e
+3c5822344d1e3c58223d5f25576a1f5f7b2a697c2b576a1f76872d6b852c76872d
+697c2b76872d8b903387872c8c98359fa8579e98539fa8578c98539fa0569fa056
+8e9f3ba0a03a8e9f3b6b852c6b852c8c983576872d778746757b2d656c26475832
+4c50264758323c58223d573b3f4e1e3f4e1e3f4e32344d1e354c313043212f3c22
+3a44232f3c223335222b3322333522383c232b33222a34382b33222a3438304321
+2f3c222f3c222a34383043212b33222a3438304321344d1e344d1e304321354c31
+344d1e344d1e3c58223043213a44232f3c222f3c223043214c50264b681e757b2d
+68752b697c2b5e74295560245560243d5f254b69334b6933344d1e354c31304321
+3c5822344d1e354c31344d1e344d1e3f4e1e4960323c58223c58224758324b6933
+4b693341671b4b69334b69336b85456b852c7b90346b852c697c2b7b90347b9034
+a1b1707b9034819f597d97367b903480a03b92a7598e9f3b7b90348e9f3b7d9736
+3f4e322f3c223f4e323a44233f4e323d573b3a44233f4e323a44233f4e322f3c22
+4758323d5f254960323f4e1e3c582249601f3c58223f4e32344d1e3f4e323f4e32
+354c313f4e32496032496032304321354c31354c312f3c223043213d573b354c31
+3a44233a4423383c233a4423354c31354c31304321373e432b33222b33222b3322
+333522373e43383c232f3c22342d1f262e35272c1f2f3c223f4e32383c232f3c22
+2f3c223a44235e742949603249601f3d573b3f4e1e3f4e1e3f4e323f4e323f4e32
+2f3c222f3c222b33222f3c2247581f3c5822354c313a442347581f3a4423383c23
+3335222b3322304321344d1e3d5f2541671b49732341671b4b681e557f225f7b2a
+5474286b852c557f22547428547428547428557f2241671b4b681e547428497323
+5474284b681e49601f41671b41671b4b681e49601f344d1e344d1e3c58223c5822
+4b681e3c582241671b4b681e5e74294b681e41671b3c5822576a1f547428497323
+54742849601f3d5f2541671b2f3c222b33223335222f3c223a44232b3322304321
+3f4e1e3f4e1e333522272c1f272c1f24261c24261c24261c24261c272c1f342d1f
+2b33222b33222b33222f3c22383c233f4e1e3f4e1e49732349601f3c58223f4e1e
+3f4e1e3f4e1e3f4e1e3043212b33224436232f3c223f4e1e2f3c223a44233a4423
+3a44233335222f3c223a4423333522333522443623383c23383c233a4423383c23
+383c233a4423383c23272c1f2b33223335223335223335222f3c22383c23342d1f
+24261c24261c24261c2b3322383c233f4e1e383c23342d1f3a4423556024576a1f
+576a1f68752b5e742968752b697c2b757b2d697c2b656c2655602447581f556024
+55602449601f55582449601f3f4e1e47581f49601f47581f3f4e1e3f4e1e383c23
+383c23383c233335222b33223335224e44253a4423767b47766e2d333522272c1f
+342d1f2b3322342d1f24261c342d1f333522383c234c50263f4e1e342d1f24261c
+272c1f333522383c233a44233335223335224c5026272c1f3335224c502649601f
+4b681e3a44232f3c222f3c223f4e1e333522383c232b33223335223a4423304321
+383c233f4e1e3f4e1e4c50264c50264c50263f4e1e4e44253335224e442586874a
+666b3b3a4423576a1f3a44233a44233f4e1e2b33222f3c223335224c5026556024
+666033333522383c23333522333522574f2674643e666033766427697c2b66592c
+3f4e1e3f4e1e3f4e1e4c5026344d1e3f4e1e3043212f3c222f3c222b33222f3c22
+2b33222b33222b33222b33222b33222b33222f3c222f3c22304321304321304321
+344d1e344d1e3f4e1e4b681e697c2b6b852c697c2b5e742976872d6b852c6b852c
+60832a6b852c8c98358b90338e9f3b8c98538b90338c98357b90348c98539f9035
+9e9853a0a03a86874a6b852c76872d8c98357b903476872d766e2d656c26556024
+47581f4960323f4e1e3c5822354c31354c313043212f3c223a44232f3c222f3c22
+2f3c222f3c222b33222b33223335222b3322272c1f3335222f3c222b3322304321
+2a34382f3c222f3c222f3c222b33222b33222f3c22304321354c31344d1e304321
+354c31354c313043213043212f3c222f3c222f3c22304321344d1e47581f757b2d
+766e2d576a1f5e7429576a1f475832344d1e3d5f253c5822354c31304321304321
+344d1e3c5822304321304321354c313f4e1e3c58223c582247583247581f3d5f25
+49603249601f576b334b69336b852c60832a7c90537787465e74298b90558c9853
+92a75976872d8ea05980a03b6b85458e9f3b8ea0598ea05976872d92a75980a03b
+3a44233043215f61563a44233d573b354c312f3c223f4e1e354c313f4e32304321
+3d5f2549601f4b69333d5f254758324960323f4e1e3f4e323c5822354c31354c31
+3a4423354c313d5f253f4e322e3c442b3322333522262e35342d1f3a4423354c31
+3a4423383c232e3c443335222f3c222f3c223a44233944462f3c222a34382f3c22
+3a44233a44232f3c22333642262e3524261c24261c333522383c232f3c223a4423
+3c582247581f4b681e4960323f4e1e354c313f4e1e3a44233a44233a44233f4e1e
+3a44232f3c222f3c222b33223f4e1e3f4e1e3f4e1e47581f3f4e1e3a44232b3322
+2b3322272c1f333522383c233f4e1e47581f3d5f2549601f49601f547428576a1f
+4b681e5f7b2a576a1f41671b576a1f497323576a1f4b681e49601f497323547428
+547428557f2241671b4b681e5474284b681e3d5f253c5822344d1e49601f5f7b2a
+576a1f3c58223c58224b681e5f7b2a497323576a1f49601f5e7429497323576a1f
+54742841671b3c58223d5f252f3c222f3c223f4e1e3d5f2549601f30432149601f
+47581f3f4e1e2f3c22342d1f24261c24261c24261c272c1f24261c272c1f272c1f
+3335222f3c2224261c2b33222f3c224c5026344d1e4b681e576a1f49601f49601f
+3f4e1e3f4e1e47581f344d1e2f3c223335222f3c222f3c22383c23304321383c23
+333522383c23333522383c23333522333522383c23383c23383c233a4423333522
+342d1f3335222b3322272c1f342d1f2b3322272c1f272c1f383c232f3c222f3c22
+272c1f24261c272c1f24261c2b33223f4e1e3a44232b33223a4423576a1f5e7429
+656c26576a1f5e742968752b68752b6b852c68752b5e7429576a1f5560244c5026
+47581f47581f47581f4c50263f4e1e47581f49601f5560243a44233f4e1e304321
+2f3c22383c233f4e1e333522383c234c50263a442375704d656c263335222b3322
+333522272c1f24261c24261c333522333522333522383c23383c23342d1f24261c
+272c1f342d1f2b3322333522333522272c1f3f4e1e2b33223335223f4e1e4b681e
+49601f3f4e1e3a44232f3c223a44233043213a44233043213a44233a4423383c23
+383c234c50263335224c50263f4e1e4e44253f4e1e555824383c23666033ada17f
+656c264e44255558243f4e1e3f4e1e5558243f4e1e47581f3f4e1e555824766e2d
+766e2d4436234436233335224c5026333522333522555824666033666b3b555824
+4e44253a44233a4423344d1e344d1e344d1e3043212f3c222b33222b33222f3c22
+2b3322272c1f2b33222b33222b3322272c1f2b33222f3c222f3c222f3c222f3c22
+3043213043213c5822576a1f76872d5e7429557f2260832a6b852c708f31708f31
+76872d6b852c8b90337b90349fa0568e9f3b7b903477874676872d76872d76872d
+7b90348b9033757b2d76872d60832a7d97366b85456b852c576b33576b3349601f
+354c313f4e32354c313043213043213043213043212f3c223043212f3c222b3322
+2f3c222b33222b33222b3322272c1f272c1f2b33222b33222a34382f3c222b3322
+2b33222f3c222a34382f3c222f3c222b33222f3c22354c31354c31344d1e2f3c22
+3043213043213043213043213043212f3c223a4423304321354c3149601f697c2b
+68752b556024576b33576a1f47581f3c5822344d1e354c313043213043212e3c44
+344d1e354c31304321304321304321354c313c58223f4e1e3c58223c58223f4e32
+354c314c5026576b335560246f8f5260832a7d973677874676872d7787467b9034
+8c98537b90347b90347d973660832a7b90348ea83e8ea05976872d80a03b7d9736
+3a4423304321576b334e4425475832354c312f3c22475832354c313c58223a4423
+3d573b47581f3d5f253d5f253d5f2549601f3c58223a44233f4e32354c312f3c22
+2f3c223a4423354c31333522342d1f272c1f262e35272c1f262e353a4423344d1e
+304321383c23333522342d1f3335222e3c442f3c223a44233a44233944463a4423
+354c313a44233a4423342d1f272c1f333642262e35342d1f2a34382f3c22475832
+496032576b335560244960323a4423354c313043213a44233a44232f3c223f4e32
+3a44233043212f3c222b3322383c23383c233a44234c5026344d1e3a4423383c23
+2f3c222b33222b33223a4423383c233a442349601f3f4e1e55602449601f555824
+47581f49601f47581f3c582247581f41671b4b681e4b681e47581f4b681e557f22
+5e742960832a5474285f7b2a557f224b681e49732341671b41671b54742860832a
+5f7b2a4b681e3c58224b681e557f22557f22547428576a1f5f7b2a4b681e4b681e
+54742849601f3c5822344d1e30432130432147581f47581f49601f3a442347581f
+3f4e1e333522272c1f272c1f272c1f272c1f342d1f272c1f342d1f2b3322272c1f
+3335222b3322342d1f272c1f2f3c223c58223f4e1e576a1f576a1f576a1f4b681e
+4b681e49601f4b681e41671b49601f47581f344d1e383c233a44233a4423383c23
+2f3c223a44232f3c223a4423333522304321383c23383c233335223a4423333522
+342d1f272c1f342d1f272c1f342d1f333522342d1f272c1f342d1f2b3322333522
+272c1f24261c24261c24261c272c1f383c232f3c222f3c223f4e1e5e74295f7b2a
+576a1f576a1f576a1f697c2b68752b757b2d68752b656c26576a1f49601f3f4e1e
+4c502649601f3f4e1e3f4e1e3f4e1e4c502647581f5558243a44233a4423383c23
+3a44233a44233f4e1e3a4423383c234c502647581f766e2d4c5026383c232f3c22
+333522272c1f342d1f272c1f342d1f333522333522333522383c23333522333522
+272c1f24261c272c1f342d1f3335222b33223f4e1e2b33222f3c2247581f556024
+47581f344d1e3a44233a44232f3c223a4423344d1e4c50263f4e1e3f4e1e3a4423
+3a44233a4423333522383c234c50264e44253f4e1e55602444362375704d9e9853
+574f26383c234c502655602447581f576a1f555824576a1f5560245560248b9033
+767b473a4423574f26383c235558244e3d22342d1f383c2366592c574f263a4423
+3a44232f3c223043213043212f3c22344d1e2f3c222b33222b33222f3c222b3322
+2b33222b33222b3322272c1f2b3322272c1f2b33222f3c222b33222f3c222b3322
+2f3c22304321344d1e4b681e68752b547428547428497323557f22708f3176872d
+5f7b2a557f226b852c76872d8c98536b852c757b2d7b9034697c2b5f7b2a697c2b
+6b852c6b852c6b852c8b90335f7b2a6b852c6b852c5e7429576b3349601f3f4e1e
+3f4e1e3f4e323043213043213a44232f3c222f3c222f3c223043212f3c22272c1f
+3335222b33222b33222b3322272c1f2b3322272c1f2b33222b33222f3c22272c1f
+2f3c222f3c222b33222f3c222a34382b33222b33223043213043213043212f3c22
+3043213043213043213043212f3c22304321354c31304321344d1e3f4e1e5e7429
+576a1f47581f49601f475832496032344d1e304321304321354c312f3c222f3c22
+304321344d1e354c31304321383c233043213d5f253d573b354c313c5822344d1e
+3a442347581f5e7429757b2d7c90537b90347b903486874a86874a757b2d76872d
+8c98536b852c6b852c77874660832a6b852c8ea05980a03b76872d8ea0597b9034
+394446304321576b3356603a3f4e323f4e323a44234758323f4e32475832344d1e
+3f4e324b693349603247583249603249601f3f4e324c50263f4e323a4423304321
+2f3c22373e433a44232b3322272c1f272c1f262e35272c1f2b332247581f3c5822
+304321373e432b33222b33223335223043213043212f3c223a4423354c31383c23
+3a44233f4e323a4423333642342d1f272c1f262e352b3322383c232f3c223f4e32
+3c58224b693349603247581f47581f3f4e323a44233a44233a4423383c233a4423
+3f4e323f4e1e3a44232f3c222f3c22383c23383c233a442347581f3a4423383c23
+383c232b33222b33223a44232b33223335223f4e1e3a442349601f47581f3f4e1e
+3a442349601f3f4e1e47581f3c58223f4e1e47581f49601f3c582241671b4b681e
+557f225f7b2a5f7b2a60832a60832a547428557f224b681e3d5f2554742860832a
+5e7429557f2241671b4b681e5f7b2a5f7b2a4b681e41671b54742849601f41671b
+576a1f41671b49601f41671b344d1e344d1e47581f49601f47581f2f3c22383c23
+2f3c222b3322272c1f24261c342d1f272c1f272c1f342d1f272c1f272c1f333522
+2b3322272c1f272c1f2b3322344d1e49601f4b681e4b681e49601f49601f6b852c
+576a1f4b681e576a1f5e7429576a1f4b681e3f4e1e3a44233a44233f4e1e2f3c22
+272c1f3f4e1e3f4e1e3a44232f3c22383c23333522342d1f272c1f383c232f3c22
+342d1f272c1f2b33222b33222b33223335222b3322272c1f272c1f272c1f333522
+24261c24261c24261c272c1f272c1f333522333522383c233f4e1e5e7429757b2d
+68752b656c266b852c68752b68752b68752b656c26576a1f556024576a1f304321
+3f4e1e47581f4c50264c50264c50263f4e1e4c50263f4e1e4c50263a44233f4e1e
+3f4e1e4e44253f4e1e3f4e1e3f4e1e47581f56603a555824383c23383c232f3c22
+383c23333522272c1f333522333522342d1f333522383c232b3322342d1f383c23
+333522272c1f342d1f2b33222b33223335223f4e1e304321333522344d1e47581f
+4c50263043213f4e1e3f4e1e3a4423383c233a44233f4e1e3f4e1e4c50263f4e1e
+4c5026383c23333522383c23383c23383c23383c234c50263f4e32766e2d666033
+383c233a442349601f47581f49601f556024555824576a1f666033656c2686874a
+656c2647581f5558243a44234e4425383c23333522272c1f342d1f3335222b3322
+3335223043213043213043212b33223043213043212b33222b33222f3c222b3322
+2b3322272c1f2b3322272c1f2b33222b3322272c1f2b3322304321272c1f2f3c22
+2f3c223043213c5822576a1f5e7429547428557f225f7b2a60832a5474285e7429
+557f225f7b2a697c2b6b852c697c2b5474285f7b2a697c2b5474285e7429576a1f
+576a1f576a1f697c2b708f3160832a60832a5474285474283d5f25475832344d1e
+304321354c313043212f3c223043212f3c222f3c22262e352b33222b33222b3322
+2b33222b3322262e352f3c222b33222b33222b33222b33222b33222b33222b3322
+2f3c22272c1f2b33222f3c222f3c221e241b2b33222f3c222f3c223043212b3322
+2f3c222b33222a3438304321344d1e3043213a44233043213c5822344d1e576b33
+49601f3f4e1e49601f556024344d1e354c313043212f3c223043213043212f3c22
+3043213d573b354c313043212f3c223043214b69333c58223043213c58223c5822
+383c23496032576a1f757b2d76872d7b90347d973676872d68752b68752b697c2b
+8c98535f7b2a697c2b708f31708f316b852c92a7598b903376872d7d973660832a
+3a44233f4e3256603a576b334758323d573b3f4e1e3f4e323f4e1e4960323f4e32
+3c58224b693355602447581f475832344d1e3f4e32383c232b33222b3322394446
+2f3c222b3322262e35272c1f24261c262e35272c1f262e352f3c2249601f3d5f25
+3c58222f3c222b33222e3c442f3c223a4423304321373e43383c23373e43383c23
+383c234c5026383c23333642342d1f262e35443623262e352b3322383c233a4423
+3f4e1e4758324758323f4e1e4c50263c58223f4e323a44233a44233335222f3c22
+3f4e323f4e1e3a44233a4423383c233a4423383c2333352247581f3f4e1e333522
+2f3c22333522272c1f2b3322272c1f272c1f2b33222b3322344d1e4c5026333522
+2f3c2249601f49601f47581f49601f304321344d1e3f4e1e3f4e1e47581f547428
+576a1f5474285474285f7b2a5474284b681e4973235474284b681e49601f41671b
+576a1f6b852c49601f49601f41671b49732347581f3c582241671b3c58223c5822
+4b681e4973234b681e4973233c58223f4e1e47581f49601f4c50262b33222b3322
+272c1f272c1f272c1f24261c272c1f2b3322272c1f2b3322333522333522383c23
+342d1f272c1f272c1f2b33223f4e1e49601f49601f4c5026344d1e49601f757b2d
+576a1f4b681e576a1f5474284b681e576a1f47581f3a44233f4e1e3f4e1e383c23
+2f3c223a44233f4e1e3a4423333522383c232f3c22342d1f2b3322383c23344d1e
+3335223335223335222b3322272c1f383c23383c23342d1f272c1f272c1f333522
+272c1f272c1f24261c272c1f272c1f2b33223335223a44233f4e1e47581f576a1f
+576a1f656c2676872d68752b5e742968752b656c26576a1f576a1f666b3b3a4423
+3f4e1e383c233f4e1e3f4e1e47581f3f4e1e4e44253a44233f4e1e3a44233f4e1e
+3f4e1e3a44234c50264c502649601f55602455602447581f383c233f4e1e3a4423
+2f3c223335222b3322383c232f3c22272c1f333522383c232f3c223a44233f4e1e
+383c232f3c22383c233335223a44233a44233f4e1e3043213a4423344d1e3f4e1e
+47581f3a44233f4e1e47581f3f4e1e383c233f4e1e4e44253a44234e4425383c23
+383c233335223335223a44234c5026383c234e44254c50264c502666592c443623
+4e44253f4e1e5560243f4e1e47581f49601f5558244b681e5558243f4e1e576a1f
+47581f47581f5558243f4e1e4c5026574f26443623272c1f342d1f3335222f3c22
+2f3c222f3c223043213043212b33222f3c223043212b33222b33222f3c222b3322
+2b3322272c1f2b33222b33222b33222b33221e241b2f3c223043212b33222f3c22
+2f3c223c58223d5f25576a1f697c2b497323557f225f7b2a557f22557f2249601f
+5f7b2a60832a5e7429576a1f4b681e547428576a1f657c444b681e4b681e49601f
+4b681e576a1f5474285e74297b9034697c2b4b681e4b681e3d5f253c5822344d1e
+3f4e322f3c223043212e3c442b33222b33222f3c222b33222b3322262e35272c1f
+2b33222b3322272c1f2b33221e241b2b3322272c1f272c1f272c1f2b3322272c1f
+2f3c222b3322272c1f2b3322262e35272c1f262e352f3c223043212f3c222b3322
+2f3c222b33222f3c22344d1e344d1e344d1e344d1e3f4e1e49601f344d1e547428
+4b681e2f3c223f4e1e475832344d1e354c312f3c223043213043212f3c222b3322
+3043213d573b354c313f4e323a44232f3c223d5f253f4e32354c3147583241671b
+4c502649601f49601f666b3b757b2d77874676872d76872d68752b5e7429576b33
+697c2b5474286183456b852c708f316b854580a03b7c9053757b2d7b90345f7b2a
+3f4e323f4e324c50265658384758324960324960323f4e323f4e324758323f4e1e
+4758324960323f4e323f4e1e4758322f3c22383c232f3c223336422b3322304321
+2f3c22262e35272c1f262e35272c1f272c1f272c1f2f3c222b33224758324b6933
+4758323a4423333522383c232f3c222a34383335222f3c223a44233043212e3c44
+3043213f4e323a4423333522342d1f262e35333522272c1f272c1f373e43354c31
+3f4e1e47581f4758323f4e1e354c313f4e323a44234758322f3c22333522333522
+383c233a44233a44233f4e1e4e44253a44232f3c222f3c224c50263a44233a4423
+2b332224261c272c1f24261c1e241b24261c24261c272c1f2f3c224c5026333522
+3a442349601f3d5f253f4e1e3f4e1e3f4e1e47581f344d1e3c5822304321576a1f
+41671b3f4e1e4b681e576a1f4b681e49732349732354742841671b4b681e49601f
+4b681e5474283c582247581f49601f4973233c582249601f5474284973234b681e
+576a1f557f225f7b2a4b681e4b681e47581f47581f49601f3a4423272c1f2b3322
+333522272c1f24261c272c1f272c1f272c1f2b3322342d1f2b33222b33222b3322
+383c2324261c272c1f2f3c223f4e1e3f4e1e47581f344d1e3043214c5026697c2b
+576a1f49601f49601f576a1f49601f576a1f47581f3a44233a44233f4e1e3a4423
+3043213f4e1e3f4e1e3f4e1e3043213a44233335222b3322342d1f3043213f4e1e
+383c232b33223335223335222f3c222f3c222f3c222f3c22333522333522333522
+272c1f272c1f342d1f272c1f272c1f3335223335223f4e1e4c50263f4e1e574f26
+3f4e1e4c5026656c2668752b68752b576a1f556024556024576a1f5560243f4e1e
+3f4e1e383c23383c233a442347581f3f4e1e3a4423383c233a44233a44233f4e1e
+47581f3a44233f4e1e47581f556024556024576a1f5560243f4e1e47581f3a4423
+3f4e1e3a4423383c233f4e1e3a44232b3322333522344d1e3f4e1e4c50264c5026
+2f3c223f4e1e4c5026344d1e3f4e1e3f4e1e3a4423383c233f4e1e3a44233f4e1e
+4c50263a4423344d1e49601f47581f3a44233f4e1e3f4e1e4c50264c5026333522
+342d1f3335223335224e3d223f4e1e4c5026383c234c50265560244c50262b3322
+3a44233f4e1e49601f4c50263c58223f4e1e55602447581f4c50263a44234c5026
+3f4e1e47581f47581f3a44234c50264e4425383c23342d1f272c1f2f3c222f3c22
+3043213043212b33222f3c222b33223043212b33222b33222f3c222b33222b3322
+2b33222b33222b33222b33222b33222b33222b33222f3c222b3322304321304321
+2f3c223c582241671b576a1f60832a557f22557f22497323557f22497323576a1f
+5f7b2a557f2249732341671b497323557f22576b33576b333d5f253d5f2547581f
+4b681e4b681e3c5822557f2260832a5474285e74293d5f25344d1e3043213f4e1e
+354c313043213043212b33222b33222b33222f3c222b332224261c2b33221e241b
+2b3322272c1f2b33222b3322272c1f272c1f272c1f1e241b2b3322272c1f272c1f
+2f3c222b33222b3322272c1f2b3322272c1f272c1f2f3c222f3c222b3322272c1f
+2b33222f3c222f3c223c5822344d1e344d1e3a4423304321344d1e344d1e49601f
+47581f2f3c223043213f4e1e304321344d1e2f3c222e3c443043213043212f3c22
+304321344d1e354c31354c312f3c223043213d5f25344d1e354c31576b33496032
+3f4e1e4758323c582249601f68752b68752b656c26767b47656c264b693347581f
+4b6933547428567f3a5f7b2a697c2b708f316f8f526b852c5e742976872d497323
+3f4e324758324960324758323f4e1e4960324758323043213f4e323f4e323a4423
+3f4e32496032354c313f4e1e3d573b3043212f3c22383c233043212f3c22394446
+333522262e35272c1f24261c272c1f342d1f2a34382a34382f3c223f4e1e41671b
+3c58223043212f3c223335222b3322272c1f333522383c233f4e323a44233a4423
+3f4e32496032354c31333522272c1f262e35342d1f3336422b3322373e433f4e1e
+3a44233f4e324c50263f4e1e3a44233f4e323f4e1e4c50263335222b3322333522
+3335223a4423383c233f4e1e3a4423383c23383c232b33223f4e1e2f3c223f4e1e
+2b332224261c24261c272c1f1e241b24261c24261c24261c383c2347581f304321
+3f4e1e49601f47581f3f4e1e344d1e3a44233f4e1e3c58223c5822304321556024
+49601f2f3c224b681e41671b49601f47581f3f4e1e3f4e1e47581f4b681e4b681e
+4b681e49601f344d1e47581f3c58224b681e41671b41671b54742854742841671b
+4b681e54742854742841671b4b681e47581f3a4423383c23272c1f272c1f2b3322
+2f3c22272c1f272c1f24261c272c1f272c1f272c1f2b3322342d1f272c1f333522
+383c23272c1f272c1f3335223a44233a4423383c233a44233f4e1e49601f697c2b
+55582447581f49601f576a1f47581f47581f4c50263f4e1e3a44233f4e1e3f4e1e
+3a44233a44233a44234e44253a4423383c232b33222b33222b33223a4423383c23
+383c233335222b33222b33223335222f3c22383c23383c232b3322342d1f342d1f
+342d1f272c1f272c1f2b33222b3322333522383c233f4e1e4c5026383c233a4423
+3a44233a4423556024576a1f68752b576a1f47581f47581f576a1f576a1f47581f
+4c5026383c23383c233a44234c50263f4e1e3a44233a4423383c233a44233a4423
+4e4425383c233f4e1e3a4423555824556024656c265560243f4e1e4c50263f4e1e
+3f4e1e3f4e1e3f4e1e3f4e1e4c50263a44233f4e1e47581f576a1f55602447581f
+3a44233f4e1e47581f3f4e1e4b681e576a1f3f4e1e2f3c223f4e1e3a442349601f
+47581f4c50263f4e1e55582455602455582455582447581f4c50263f4e1e333522
+342d1f333522383c233f4e1e55602447581f383c23555824656c263f4e1e2f3c22
+3a44234c5026383c23383c233f4e1e3f4e1e3f4e1e47581f3043213f4e1e3a4423
+3f4e1e55582447581f304321383c23383c23383c23272c1f272c1f272c1f333522
+3335222b3322272c1f2b33222b33222f3c222b33222f3c222b33222b33222b3322
+272c1f2f3c222b33222b33222b3322272c1f2b33222b33222f3c22344d1e304321
+344d1e41671b5f7b2a576a1f60832a697c2b547428547428557f2249732341671b
+4b681e4b681e4b681e4b681e41671b41671b4b6933576b3347581f344d1e344d1e
+3d5f2549601f3c58224b681e4973234b681e41671b3c58223d573b344d1e354c31
+3043212f3c222a34382b33222b3322272c1f2b3322272c1f272c1f24261c1e241b
+2b3322272c1f272c1f2b3322272c1f272c1f272c1f272c1f24261c272c1f272c1f
+2f3c222b33222b3322272c1f2b33222b3322272c1f262e353043212b3322272c1f
+2b3322304321304321344d1e344d1e354c312f3c222f3c22304321344d1e3a4423
+3f4e1e2b3322383c23383c232f3c22354c313043212f3c223043212a3438304321
+2f3c22344d1e3043213f4e323a44233a4423496032344d1e49601f49603241671b
+3d5f25576b3347581f475832666b3b49601f5560244b69334b693349601f496032
+49603254742854742860832a5e7429697c2b547428576b335560246b8545576a1f
+3f4e3256603a4758324758323f4e325560244758322f3c22354c313a44232f3c22
+3a44233a44233a4423354c31344d1e354c313f4e323f4e323d573b344d1e3a4423
+2a3438342d1f262e35262e35272c1f262e35342d1f2a34383335223a4423475832
+3d5f25304321333522262e35262e35342d1f262e35272c1f383c233a4423354c31
+4c50264960323f4e1e373e43342d1f342d1f272c1f3335222b33222f3c223f4e32
+3a44233f4e1e3d573b3f4e1e3f4e1e47583247581f3a4423333522272c1f333522
+342d1f383c233a44234e4425383c23383c232f3c222f3c223f4e1e3a44233a4423
+342d1f24261c24261c24261c24261c24261c24261c272c1f3f4e1e4c50262f3c22
+344d1e3c5822344d1e3a4423304321344d1e3f4e1e4b681e3f4e1e333522333522
+2b33223335223f4e1e47581f49601f3f4e1e3f4e1e30432149601f3d5f2549601f
+4b681e49601f30432147581f3f4e1e41671b4b681e576a1f576a1f47581f49601f
+49601f49601f4b681e49601f4b681e3a44233335222b33222b3322272c1f342d1f
+3335222b3322272c1f2b3322333522272c1f272c1f272c1f272c1f333522333522
+383c23272c1f272c1f272c1f383c233a44232f3c224c502649601f576a1f757b2d
+55582447581f47581f5560243f4e1e3f4e1e3f4e1e3f4e1e3f4e1e3f4e1e3f4e1e
+383c232f3c222f3c223a44233f4e1e383c23342d1f333522333522443623383c23
+2f3c223335222b3322342d1f333522333522383c23383c233335222b33222b3322
+333522383c23333522383c23333522333522383c233f4e1e3f4e1e3a44233a4423
+3335224c5026576a1f656c2668752b55602449601f4c502647581f55602447581f
+47581f304321333522383c2347581f4c50263f4e1e4c50263f4e1e3a4423383c23
+383c233a44234c5026383c233f4e1e55602468752b576a1f5558243f4e1e49601f
+3f4e1e47581f47581f47581f47581f5560243f4e1e49601f4b681e49601f4c5026
+344d1e47581f5e742968752b576a1f5e742947581f3a442347581f30432147581f
+4b681e47581f3f4e1e55602455602455602455582447581f4c5026383c23383c23
+333522383c23383c23383c235558244e44254c502686874a666033383c233a4423
+3a44233f4e1e383c233043213f4e1e47581f49601f5560244c50264c50263f4e1e
+3a442347581f3a44232b33222f3c223a4423383c23272c1f24261c272c1f272c1f
+272c1f2b3322272c1f1e241b272c1f272c1f2b3322272c1f272c1f2f3c222f3c22
+2b33222b33222b33222b33222b33222b3322272c1f2b33222f3c22344d1e344d1e
+3c58225e74295e74295e74296b852c6b852c41671b49732349601f41671b49601f
+49601f47581f3c58223c58223d5f253c58223c58223d5f253c58223c5822304321
+344d1e3c58223c58223d5f2541671b41671b3c5822344d1e344d1e344d1e304321
+354c312f3c222f3c222b3322262e35262e352b3322272c1f2b33222b3322272c1f
+272c1f272c1f272c1f2b33222b33221e241b272c1f1e241b272c1f272c1f272c1f
+272c1f2b3322272c1f272c1f2b33221e241b2f3c22262e352f3c222f3c22272c1f
+272c1f344d1e344d1e3d5f25344d1e2f3c222f3c222f3c222f3c222f3c22304321
+2b3322333522272c1f3043212f3c22344d1e3043213043213043213043212f3c22
+2b3322354c31344d1e3f4e32475832383c233d573b49601f4758323c5822576b33
+3d5f255560245558243c5822576a1f3f4e1e4c50264960324b693347581f49601f
+3d5f25576b33657c445e7429697c2b576b334b681e576a1f4b681e5e7429576b33
+3a44233f4e323a44233a44233f4e324758323f4e322f3c223a4423373e432f3c22
+3043213f4e323f4e32354c313f4e1e3043213a44233f4e3255602447581f354c31
+2b3322272c1f24261c262e35272c1f2a3438272c1f2b3322262e353335223a4423
+3f4e32354c313335222b3322262e35272c1f3335223335222a34383a44233f4e32
+4c502647581f3f4e1e3a44232a34383335222a3438383c233043212f3c224c5026
+4c50264c502647581f4758323f4e1e47581f47581f3f4e1e333522272c1f333522
+272c1f3335223f4e1e4c5026383c23333522383c233335223a44233a44232f3c22
+272c1f24261c272c1f272c1f24261c24261c24261c2b3322383c233a44232f3c22
+2f3c2247581f344d1e383c233043213043212f3c2249601f3f4e1e272c1f342d1f
+2b33222f3c223043213c5822344d1e344d1e3f4e1e2f3c2247581f344d1e47581f
+3f4e1e49601f3043213f4e1e3f4e1e49601f49601f3f4e1e49601f3f4e1e49601f
+3f4e1e3c58223a4423344d1e3f4e1e2f3c22383c232b33223335222b33222b3322
+2b3322272c1f24261c2f3c22383c23272c1f272c1f2b3322333522333522333522
+383c232b33222b33222b33223a4423383c232f3c225560244b681e576a1f68752b
+5558243f4e1e49601f576a1f3f4e1e3f4e1e3a44233a44233f4e1e3f4e1e383c23
+3335223335223a44233a44233f4e1e2f3c22272c1f383c23383c23383c23333522
+2f3c223335222b3322333522342d1f333522383c233a4423333522272c1f2b3322
+2b3322383c233335222f3c22333522342d1f2f3c223a44234e4425383c23383c23
+2f3c223f4e1e556024576a1f68752b576a1f5560243f4e1e4c502647581f47581f
+3f4e1e3a4423383c23383c234c50264c502649601f47581f3f4e1e3f4e1e3f4e1e
+383c233a44234c5026383c233a442355602477874655602447581f555824556024
+3f4e1e49601f55602455602447581f556024576a1f556024576a1f49601f4c5026
+3f4e1e3f4e1e576a1f697c2b656c2668752b49601f47581f5558243a4423556024
+576a1f47581f555824555824555824576a1f5558244c50264c5026333522383c23
+3335223a4423383c233335223f4e1e383c23574f26867c4c5560244e44253a4423
+383c233a44233f4e1e3c582247581f49601f576a1f68752b576a1f4c50263f4e1e
+3a44234c50263a4423342d1f3a44233a44233a44232f3c22272c1f2b3322272c1f
+272c1f272c1f272c1f272c1f272c1f1e241b2b33222b3322272c1f272c1f2f3c22
+2b33222b3322272c1f2b33222b3322272c1f2b33222f3c22304321344d1e3d5f25
+3c5822697c2b76872d76872d7b90346b852c576a1f4b681e3d5f2549601f4b681e
+49601f3f4e1e344d1e3c582249601f3c58223c58223c58223f4e1e344d1e3a4423
+344d1e304321344d1e3c58223d5f25344d1e3c5822304321344d1e344d1e354c31
+2f3c222b33222b33222b33222b3322272c1f2b3322272c1f1e241b272c1f1e241b
+2b33221e241b272c1f272c1f272c1f272c1f1e241b272c1f1e241b2b33221e241b
+272c1f272c1f304321262e352b33221e241b2b33222b33222f3c222f3c22272c1f
+2b3322344d1e3c5822344d1e344d1e2f3c222f3c222b33222b33222f3c222f3c22
+2b33222b3322272c1f2f3c222b3322304321304321304321304321304321304321
+2a34382f3c22344d1e3c58224e5043383c233f4e1e4960324b69333c5822475832
+3f4e1e565838475832344d1e4c50263f4e1e3f4e1e3c58224b69333d5f25475832
+4b69335e7429657c44576a1f556024555824496032576b3341671b4b6933547428
+3a4423383c233336423a44233a44233f4e323f4e322f3c222e3c44333522262e35
+2f3c22354c313f4e1e3f4e1e475832354c313a44233f4e324b693347581f383c23
+2a3438262e35262e35272c1f342d1f262e352b33222b3322333522262e35383c23
+3f4e323a44232f3c22262e352b33222f3c223a44233944462b3322342d1f2f3c22
+2f3c223a44233a44232f3c222f3c223335222f3c223f4e323a44232e3c443f4e32
+3d5f2549601f3d5f2547581f47581f3f4e324c50263a4423383c232b3322333522
+2b3322333522344d1e3f4e1e3a4423342d1f3a44233f4e1e3a44233a44232f3c22
+333522272c1f2b3322383c23342d1f24261c272c1f3335222f3c222f3c22272c1f
+342d1f3f4e1e3a44233043213a44233f4e1e3f4e1e4b681e3f4e1e304321304321
+3043213f4e1e3a442347581f3043213a44233043212f3c22344d1e2f3c2249601f
+3043213f4e1e30432147581f3f4e1e47581f49601f47581f47581f3a4423304321
+2f3c223a44232f3c22383c233a44232f3c224c50262f3c222f3c222b3322333522
+342d1f272c1f272c1f342d1f2f3c22272c1f272c1f2b33222e3c44383c23383c23
+333522383c23342d1f2b33224e44252f3c22383c2355582447581f4c5026656c26
+4c50263f4e1e5560245560243f4e1e3f4e1e4c50263a44233a44233a4423333522
+3335222b3322383c233a44233a4423383c23333522333522383c23333522333522
+383c233335223335222b33222b33223335223a44233a44232b33222b3322272c1f
+333522383c233043213a44233043212b33223335223a44233a44233a44233a4423
+3a44234c5026556024576a1f68752b656c26576a1f47581f3f4e1e3f4e1e47581f
+4c50263f4e1e383c23383c233f4e1e3f4e1e49601f4b681e5560245560243f4e1e
+3a44233f4e1e4c50263f4e1e3a442355602486874a55602447581f47581f556024
+47581f47581f576a1f4b681e5560244b681e556024556024576a1f49601f49601f
+49601f55602447581f656c26556024656c26556024555824576a1f3f4e1e555824
+656c264c50264c50264c50264e4425574f263f4e1e3f4e1e3f4e1e383c233f4e1e
+383c23333522333522333522383c23443623666b3b766e2d3a4423383c23383c23
+344d1e3043213f4e1e4c502649601f47581f556024757b2d68752b3f4e1e3c5822
+3043214c50263043213f4e1e3f4e1e3a4423344d1e3f4e1e344d1e344d1e272c1f
+272c1f2b3322272c1f2b3322272c1f272c1f24261c1e241b272c1f272c1f24261c
+24261c1e241b272c1f2b3322272c1f272c1f272c1f272c1f2f3c223043213f4e1e
+47581f656c26757b2d757b2d87872c5e742949601f3d5f253f4e1e344d1e49601f
+49601f304321344d1e3c58223f4e1e344d1e344d1e3c5822344d1e344d1e304321
+2f3c22344d1e344d1e344d1e344d1e344d1e344d1e304321344d1e3f4e1e344d1e
+2f3c222f3c222b3322272c1f272c1f2b33221e241b2b33222b33222b33221e241b
+272c1f272c1f272c1f272c1f2b3322272c1f24261c272c1f1e241b272c1f272c1f
+272c1f272c1f2b33222b3322272c1f272c1f2f3c22272c1f2f3c22304321272c1f
+2f3c22344d1e3c58223c58223043212b33222f3c222b33222b33222f3c22272c1f
+2f3c222b33222b33222f3c222f3c222f3c222a34383043213043213043212b3322
+2f3c22304321344d1e344d1e3f4e1e304321344d1e3d5f255558243f4e323f4e1e
+475832556024344d1e3d573b3043213a44233f4e323f4e1e4960324b69334b6933
+4b693362744468752b49601f3f4e1e4e50435474284b69334b69335f7b2a656c26
+383c23373e433335223f4e323a44233f4e32354c31383c233a44232b3322333522
+2f3c22354c31354c31344d1e4758323f4e1e3a44233f4e32576b333c5822373e43
+2b33223335222a34382b3322373e432b3322383c23304321383c23262e352b3322
+2f3c223a44233043212a3438342d1f2f3c223f4e322f3c222f3c222a3438342d1f
+2a3438383c233a4423373e43333522262e352f3c2239444633352233352254605f
+576b33547443576b333f4e1e47581f3c58223f4e323a4423383c23272c1f333522
+272c1f2f3c223f4e1e3a44233f4e1e383c233f4e1e3a44233335223335222f3c22
+2b332224261c2f3c223a4423333522383c23344d1e4c5026304321333522272c1f
+3335222f3c223a4423344d1e3f4e1e47581f47581f576a1f3c582247581f344d1e
+3a44233f4e1e344d1e344d1e49601f344d1e344d1e344d1e3f4e1e2f3c223f4e1e
+3d5f253f4e1e3f4e1e49601f49601f49601f49601f47581f47581f3a4423333522
+3335222b33222b33222f3c222f3c223f4e1e47581f3f4e1e3a4423383c23333522
+272c1f272c1f272c1f272c1f2b3322272c1f272c1f3335222f3c222b3322373e43
+333522383c233335222f3c223f4e1e383c23383c2355582447581f3a4423656c26
+3f4e1e3a44235560245560243f4e1e3f4e1e3a44233a4423383c23383c23333522
+342d1f2b3322383c23383c233a4423383c233335222f3c223a44234e4425383c23
+383c23333522333522383c232f3c22383c23383c23333522342d1f272c1f272c1f
+2b3322333522383c233a44233a4423383c23333522383c233a44233a44233f4e1e
+5558243f4e1e555824576a1f68752b576a1f55602447581f3f4e1e4c502647581f
+4c50263f4e1e383c233a44233f4e1e3a442347581f4b681e47581f47581f47581f
+3f4e1e47581f5558243f4e1e3f4e1e767b478b90555558243f4e1e3c582247581f
+3f4e1e3f4e1e55602449601f47581f3f4e1e3f4e1e4c502655602447581f49601f
+47581f47581f3f4e1e4c50263a4423656c26576a1f5558244c5026383c233a4423
+47581f3f4e1e3f4e1e3f4e1e3043213a44234436234436234e4425443623383c23
+443623342d1f333522333522383c23666033766e2d4436232f3c22304321304321
+3a44233f4e1e3f4e1e5558243a44233f4e1e3a4423574f26666b3b3a442347581f
+344d1e3f4e1e3f4e1e3a4423344d1e3a44233043213c58223c5822344d1e272c1f
+272c1f272c1f2b33222b3322272c1f2b3322272c1f272c1f1e241b272c1f272c1f
+272c1f272c1f1e241b272c1f272c1f272c1f272c1f2b33223335222b3322383c23
+4e4425574f26604f2a556024766427576a1f3f4e1e344d1e3a4423383c233a4423
+383c2330432130432147581f344d1e344d1e3c5822344d1e344d1e304321304321
+344d1e2f3c22304321304321344d1e304321304321304321304321354c31344d1e
+2f3c222b33222f3c22272c1f2b3322272c1f2b3322272c1f1e241b272c1f24261c
+272c1f1e241b272c1f272c1f272c1f272c1f272c1f24261c1e241b272c1f272c1f
+1e241b2b33221e241b272c1f272c1f262e352b33222b3322344d1e344d1e24261c
+272c1f2f3c22304321344d1e3043212f3c222b33222b33222b33222f3c222b3322
+2b33222b3322272c1f2b33222f3c222f3c222f3c222f3c222f3c223043212b3322
+304321344d1e2f3c22304321354c313043213c5822344d1e3f4e1e304321344d1e
+3d5f25475832344d1e3c58223043212f3c223f4e1e3f4e1e4960323d5f254b6933
+576b33656c26576b3347581f3a44233f4e1e4b693341671b3d5f255e74295e7429
+3336423335222e3c444758323a44233a44233a4423373e43333522262e352a3438
+354c313043213335222f3c223f4e323f4e1e3f4e1e475832496032344d1e354c31
+333522383c23383c23333522383c23383c233a44233f4e32383c23272c1f333522
+2f3c223944463a4423262e352b33223043213a44233f4e323a4423383c232f3c22
+3335222b3322383c23333522333522262e352b33223335222a34382b332254605f
+576b33576b33576b3349601f3f4e1e47581f3f4e1e383c23383c23304321304321
+383c233f4e1e3a44233a44233f4e1e2f3c22383c233f4e1e2f3c222f3c222f3c22
+272c1f272c1f3a44233f4e1e2f3c222f3c223f4e1e3c58223a44232f3c222b3322
+383c23383c233f4e1e3f4e1e47581f49601f49601f41671b4b681e4b681e47581f
+344d1e344d1e3f4e1e344d1e576a1f49601f47581f3f4e1e3c58222f3c22344d1e
+47581f3a4423344d1e49601f3d5f253f4e1e3f4e1e344d1e3a44232b3322272c1f
+2b3322272c1f3043213f4e1e3f4e1e3f4e1e3f4e1e344d1e4c50263043212f3c22
+2b3322272c1f272c1f24261c272c1f272c1f272c1f2f3c22383c232b33223a4423
+2b3322373e43342d1f3335223a44233a44233335224c50263a44233a4423555824
+4c50263f4e1e4c50265558243f4e1e3f4e1e2f3c22383c23383c232f3c222f3c22
+2b3322383c23383c23383c233a44232f3c223a4423383c233f4e1e3f4e1e2f3c22
+383c232f3c222b33222b3322383c233a44233a44233a44232f3c22383c232b3322
+2b33223335222f3c223a4423383c233a4423383c233a44233f4e1e3f4e1e3f4e1e
+4c50264c50264c502655602468752b656c26656c2655602447581f4c5026555824
+3f4e1e3f4e1e3f4e1e3f4e1e383c233f4e1e47581f49601f49601f5560244c5026
+3f4e1e3f4e1e4c50263f4e1e3f4e1e857d679e98535558243f4e1e3a442347581f
+47581f3f4e1e3f4e1e4c50263f4e1e383c233f4e1e3a44233a44233f4e1e3a4423
+47581f4c5026333522333522383c235558245558243f4e1e383c23272c1f342d1f
+3a44233335223335223335223335223a4423383c233a4423333522333522333522
+272c1f342d1f383c23333522574f26857d67555824333522342d1f3043213a4423
+3043213a44233f4e1e4c50263335222f3c223335223335223a4423344d1e47581f
+3f4e1e3f4e1e47581f344d1e383c233a44233a4423344d1e4c5026304321304321
+2b33222b3322272c1f2b3322272c1f272c1f2b332224261c272c1f24261c24261c
+272c1f1e241b272c1f272c1f272c1f272c1f272c1f272c1f2b33223335222f3c22
+3a44233f4e1e4c5026555824656c264e4425383c233a4423383c233335222b3322
+2b3322333522383c234c50263a4423344d1e344d1e3c58223043213043212f3c22
+2f3c222f3c222b33223043213043213043213043213043212f3c22354c312f3c22
+2b33222b33222f3c22272c1f2b33222b33222b33222b332224261c272c1f272c1f
+272c1f1e241b272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f
+272c1f272c1f272c1f1e241b272c1f272c1f2f3c22272c1f2f3c22344d1e2b3322
+2b33222b3322344d1e344d1e3043212b3322272c1f272c1f272c1f2f3c22272c1f
+2b3322272c1f262e352b33222b33222a34382b33222f3c223043212f3c222f3c22
+3043213043212a34382f3c223043213c58223c5822354c31304321354c312f3c22
+354c313f4e1e2f3c22354c312f3c222f3c223a44234758324960323d5f2541671b
+576b3354744349601f49601f3a4423354c314b69333c58224b6933547428576a1f
+383c2333352233352256603a4c50263a44233f4e32333522333522342d1f333522
+394446304321333642383c23354c313f4e1e3c58223f4e1e3c5822304321394446
+2f3c222e3c443335222e3c443a44233a44233f4e323f4e323a44232b3322394446
+344d1e3a4423354c313335222b33223043213a44233a44233a44233944462f3c22
+333522342d1f3335222f3c222b3322272c1f2f3c22333522262e352b33223f4e32
+576a625e742949603249601f576b33496032354c313a44233a44233043212f3c22
+383c233f4e1e3a44233a442347581f3a4423383c233a4423383c232f3c22333522
+24261c272c1f3a442347581f3f4e1e4c50263f4e1e47581f3f4e1e2f3c222b3322
+3f4e1e3a44233f4e1e3a44234c502649601f49601f41671b3f4e1e3f4e1e3a4423
+3f4e1e3f4e1e2f3c222f3c2247581f4b681e49601f47581f47581f304321344d1e
+49601f3f4e1e3f4e1e4b681e47581f3f4e1e3f4e1e304321383c23342d1f272c1f
+2f3c222b332230432147581f3f4e1e47581f4c5026344d1e47581f3f4e1e333522
+272c1f272c1f272c1f272c1f342d1f272c1f272c1f3043212f3c222f3c223a4423
+3335223335223335223335223a44233043213335224c50264c5026556024556024
+574f263f4e1e3a44234c50263f4e1e3f4e1e3f4e1e383c234e44253a44233a4423
+3a4423383c23383c233a4423383c233a44233a4423383c234c50264c50263a4423
+383c23383c23383c232b3322383c233a4423383c233a4423333522383c23333522
+2f3c222f3c223a44232f3c22383c233f4e1e3a44233a44234e44254c50263a4423
+3a4423383c233f4e1e47581f656c2668752b576a1f55602449601f4c502647581f
+4c50263a44233f4e1e3f4e1e3a44233f4e1e49601f49601f49601f49601f47581f
+5558244c5026574f263f4e1e3a442386874aada17f4c5026383c23383c23344d1e
+344d1e3043213a4423304321383c23383c233f4e1e383c23333522383c23333522
+383c233a4423333522342d1f3335223a4423383c23443623333522272c1f342d1f
+2f3c223335223335222b3322342d1f2f3c22383c23383c23272c1f272c1f272c1f
+24261c272c1f383c233a44236660335658384e44253a44233335223043213f4e1e
+3a44233a44233a442347581f3f4e1e3a44232f3c22333522383c233f4e1e47581f
+47581f2f3c223a44233a44233043212f3c22344d1e3f4e1e344d1e383c233a4423
+3335222b33222b3322272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c
+272c1f24261c24261c24261c24261c24261c24261c272c1f2b3322272c1f383c23
+3335223f4e1e3a44234c502647581f3a44233335223a44232f3c22333522333522
+272c1f3335223335223a44233335222f3c223043213a44232f3c222f3c222f3c22
+2b33222b33222b33222b33223043212f3c223043212f3c222f3c223043212b3322
+2b3322272c1f2b33222f3c222f3c222b33222f3c22272c1f2b33221e241b2b3322
+24261c2b33221e241b2b3322272c1f1e241b24261c24261c272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f2b3322272c1f2b3322344d1e2f3c22
+2b33222b33223043212f3c222b3322272c1f272c1f272c1f272c1f2f3c22272c1f
+2b3322272c1f2b33222f3c222b33222f3c222f3c222f3c223043212f3c222b3322
+304321354c312b33222f3c22344d1e344d1e3d573b3043212b3322344d1e2b3322
+3043212f3c223043212f3c223043212b33223a44235560243f4e323d5f254b6933
+4b693349601f47581f344d1e3a44233f4e1e49601f3d5f25576b335e7429656c26
+2a34382b33222a3438576b3356603a3f4e323a44232a34382a34382a3438342d1f
+2e3c443335222b33223335223f4e32475832475832344d1e47581f344d1e354c31
+2b33222f3c22333522383c233f4e323a44234c50263f4e32383c232f3c222f3c22
+3f4e323f4e1e3a44232f3c22373e433a4423333642383c232f3c223335222f3c22
+333642272c1f2b33222f3c223335222e3c442f3c222f3c222e3c44304321496032
+60847163747149603247583249601f49601f3f4e1e2f3c223a44233043213a4423
+383c233f4e1e383c233f4e1e5558243f4e1e2f3c223a4423344d1e383c232f3c22
+2b33222f3c223f4e1e47581f47581f47581f47581f47581f3f4e1e383c23333522
+3a44233a44233a44233a44232f3c2249601f49601f3c58223f4e1e2f3c22333522
+3f4e1e49601f2b33223a442349601f47581f47581f3c58223f4e1e47581f49601f
+49601f3f4e1e344d1e4b681e49601f3f4e1e3f4e1e3a44232b33222b3322272c1f
+2f3c223043213f4e1e3f4e1e47581f47581f556024555824555824383c23333522
+272c1f272c1f24261c24261c272c1f24261c2b33223f4e323f4e323a44233f4e32
+3335223335223335222f3c223f4e1e3f4e1e304321475832556024656c26666033
+5560245560243a442347581f4e44254c50263f4e1e3f4e1e47581f3a44233a4423
+3a44233f4e1e3f4e1e3a44233a44233a44234e44253a44233a44233f4e1e3a4423
+3a4423333522272c1f333522333522383c233a44233335223a4423383c232f3c22
+3a4423383c232f3c22383c23383c233a44234e4425383c233f4e1e3f4e1e3f4e1e
+3a4423383c234c5026556024656c26576a1f55602447581f5558243f4e1e3f4e1e
+3f4e1e3a44233a44233a4423383c233f4e1e47581f49601f47581f47581f47581f
+47581f3f4e1e4c50263f4e1e344d1e857d67ada17f574f263043212f3c222f3c22
+3a44232b3322383c23383c23333522383c234e4425383c233335222b3322342d1f
+2f3c22383c23342d1f2b33223335223335223335222f3c22342d1f24261c272c1f
+344d1e333522272c1f272c1f272c1f383c23342d1f2b3322342d1f24261c333522
+272c1f24261c383c23574f2674643e4e4425333522383c232f3c223f4e1e344d1e
+3a44234e4425383c233f4e1e5558243a4423383c233043212f3c223043214c5026
+3a44232f3c222f3c222f3c22383c233335223f4e1e3a44233a44233f4e1e3f4e1e
+2f3c223335222b3322272c1f272c1f272c1f24261c272c1f1e241b272c1f272c1f
+24261c272c1f272c1f24261c272c1f272c1f24261c272c1f272c1f272c1f333522
+333522383c233f4e1e3a442347581f3f4e1e2f3c222b33222b33222f3c222f3c22
+2b3322333522342d1f3335222b3322342d1f2b33222b33222f3c22272c1f2b3322
+272c1f2b33222b33222b33222b33222b33222b33222f3c222f3c222b33222f3c22
+272c1f2b33222b33222b33222b33222f3c222b33222b3322272c1f272c1f272c1f
+272c1f1e241b272c1f272c1f2b332224261c272c1f2b332224261c272c1f272c1f
+272c1f272c1f24261c272c1f1e241b2b33222b33222b33222b33222f3c222f3c22
+2b33222b33222b33222b33222f3c22272c1f2b3322272c1f272c1f2b33221e241b
+2f3c22272c1f2b33222b33222b33222f3c223043213043212f3c223043212f3c22
+2f3c222f3c222b33222b3322344d1e354c31344d1e2f3c222b33222f3c222f3c22
+2f3c223043213043212f3c223043212b33222f3c223f4e32344d1e41671b3d5f25
+49603247581f3c58223f4e1e3f4e1e354c313d5f253d5f253d5f2549601f627444
+383c23342d1f33364255602456603a3f4e1e4e44253336422b33223335222b3322
+373e433335222b3322383c233f4e32475832475832354c313f4e323f4e323a4423
+3944463043213a4423383c234e50433f4e1e3336423335222b3322342d1f2f3c22
+383c234e50433f4e1e2f3c223043212f3c223335223335223335222e3c442b3322
+342d1f272c1f342d1f373e43333522383c233043212f3c222f3c2230432154605f
+75889b77877262744456603a576b33556024354c313f4e323a44233043213a4423
+3335223a4423383c233a44234c50263a44233a44233a44233f4e1e3f4e1e2f3c22
+2f3c223043213f4e1e47581f5558244c50264c50264c50264c5026304321383c23
+333522333522272c1f2b3322383c234b681e49601f47581f344d1e2f3c22383c23
+3a44234c502633352230432149601f49601f49601f3d5f2547581f47581f49601f
+47581f3f4e1e47581f576a1f49601f3f4e1e3043212f3c22383c23272c1f2f3c22
+3f4e1e2f3c2247581f576a1f49601f4b681e47581f4c50263f4e1e2f3c22342d1f
+342d1f272c1f342d1f24261c2b3322272c1f3335224e5043354c313f4e323a4423
+2f3c22383c2333352233352247581f354c3130432147583256603a56603a4c5026
+4e44254c50263a44233f4e1e3a44233a44233f4e1e4c502647581f3f4e1e383c23
+383c234c50264c50263f4e1e3a4423383c233a4423383c23383c233a4423383c23
+3f4e1e33352224261c24261c3335223335222f3c223335223a44233a44233a4423
+3f4e1e3f4e1e3a44233043213a44233f4e1e383c232f3c223f4e1e3f4e1e3a4423
+3a44233a442349601f4b693355602455602447581f3f4e1e4c50264c50263f4e1e
+3a44233335223a4423304321383c232f3c223f4e1e3a44233f4e1e3a44233f4e1e
+49601f3f4e1e3f4e1e3c58223f4e1e77874695885c4c50262f3c222f3c222f3c22
+3335222b33223335222b33223335223a44233a4423383c23333522272c1f272c1f
+333522333522342d1f2b3322333522342d1f342d1f2b3322272c1f24261c272c1f
+383c23383c23272c1f24261c24261c2b332224261c272c1f272c1f24261c272c1f
+342d1f24261c383c23666b3b6660333335222b33223a44233a442347581f3a4423
+3a44233a44232f3c2249601f576a1f4c50263f4e1e3a44233043212f3c22383c23
+3335222b33223335222b33222b33222f3c223f4e1e3a44233a44233f4e1e555824
+383c23342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f24261c24261c272c1f24261c342d1f272c1f272c1f2b3322
+2b33223335223043213a44233f4e1e47581f3043213043212b33223a44232f3c22
+2f3c222f3c223335223335223335222b3322272c1f342d1f272c1f272c1f272c1f
+2b33222b33222b33222b332224261c2b3322272c1f2b33222b33222b33222b3322
+272c1f2b33222b3322272c1f272c1f2b33222b3322272c1f272c1f272c1f272c1f
+2b3322272c1f272c1f2b3322272c1f272c1f272c1f24261c24261c272c1f24261c
+2b3322272c1f272c1f24261c272c1f2b33222b33222b33222f3c222f3c22304321
+272c1f2b33222b3322272c1f2b3322272c1f272c1f1e241b272c1f2f3c222b3322
+2f3c222b33222f3c222b3322272c1f2b33223043213043212a34382b3322262e35
+2f3c223043212b3322262e35344d1e2f3c222f3c222f3c222b33222f3c22262e35
+2f3c222f3c222f3c222f3c22344d1e2f3c222b3322344d1e344d1e3d5f253c5822
+4960324c5026304321344d1e3f4e1e3043213d5f253f4e1e3c5822475832556024
+3335222a3438383c2355602456603a3f4e323a44232e3c44342d1f2a3438333522
+342d1f3336422b3322373e433a442347581f344d1e3a44233944463a44232f3c22
+354c313f4e1e3f4e32354c314c50263a44233335222a3438342d1f262e352b3322
+383c233a4423383c23383c23373e432b3322272c1f342d1f3335223335222b3322
+2a3438342d1f2b33222f3c223335222a34382f3c2230432130444d3043214b6865
+7090818da0b66b8673576b3362744449601f3a4423344d1e3f4e1e3a4423383c23
+383c233a44232f3c223a44234c50263f4e1e3f4e1e3f4e1e3a44234e44253a4423
+2f3c22383c233a44233a442347581f3f4e1e4c5026383c233f4e1e3f4e1e333522
+342d1f24261c24261c24261c3043213f4e1e344d1e49601f47581f3f4e1e47581f
+3f4e1e3f4e1e3a44233a44233f4e1e3f4e1e47581f49601f3d5f2547581f556024
+2f3c222b3322383c2347581f47581f556024344d1e3f4e1e3a44232f3c223a4423
+3f4e1e33352247581f55602447581f3f4e1e3f4e1e3335223335223335222f3c22
+2b33222b3322272c1f272c1f342d1f2b33222b3322333642383c233f4e323a4423
+2f3c223043212f3c223a442349603256603a344d1e4758324758323f4e1e4c5026
+383c23383c233a44234436233f4e1e3a44233a44233f4e1e5558243a4423383c23
+3a44233f4e1e47581f47581f3a4423383c23333522342d1f333522333522383c23
+3a4423342d1f24261c24261c342d1f383c23272c1f333522383c23383c23383c23
+3f4e1e3f4e1e3a4423383c233a4423383c233a4423383c233a44234e4425333522
+3335223a4423556024656c26576a1f5560244c50263a44234c50263f4e1e3f4e1e
+3a4423383c233f4e1e3a44232b33223a44233a4423383c23383c23383c23333522
+3f4e1e3a44233f4e1e5558244b69338b9055767b473a4423344d1e3a44232f3c22
+2b33222b33222b3322383c233043213f4e1e383c233f4e1e272c1f342d1f342d1f
+2b33222b3322333522342d1f272c1f272c1f342d1f24261c24261c24261c24261c
+2b3322333522342d1f24261c272c1f24261c272c1f272c1f272c1f272c1f333522
+2f3c223335223a442395885c556024383c233335223f4e1e3f4e1e5560244c5026
+3a44233a442333352247581f576a1f3f4e1e3a4423344d1e383c233a4423304321
+2b3322342d1f333522272c1f383c23383c233a4423344d1e3a44233a44233f4e1e
+2f3c22272c1f272c1f272c1f272c1f24261c24261c272c1f24261c24261c272c1f
+24261c24261c24261c272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f
+272c1f2f3c222f3c22344d1e3f4e1e344d1e3043213f4e1e304321304321383c23
+3043213043212f3c222f3c222f3c223335222b33222b33222b3322272c1f1e241b
+24261c272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f1e241b272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c
+272c1f1e241b272c1f2b33222b33221e241b272c1f24261c272c1f272c1f272c1f
+272c1f272c1f24261c272c1f272c1f272c1f2b33222b33222f3c222f3c222f3c22
+272c1f2b33222b33222b33222b33222b3322272c1f272c1f272c1f272c1f2b3322
+2f3c222b3322272c1f3043212f3c22304321344d1e344d1e2f3c222b33222f3c22
+262e352f3c222f3c22262e353043213043212f3c222b33222b33222f3c222b3322
+2f3c222f3c222a34382f3c22354c312f3c222b33223043213d573b3c58223d5f25
+3f4e1e3d573b344d1e344d1e4c50263043213c58223c5822344d1e344d1e3f4e32
+2f3c222a34383f4e32576b33576b33565838383c23333522262e352b33222a3438
+2b33223335222a3438373e433a4423496032354c313a44232f3c22383c23383c23
+4c50263a44234e44253f4e1e4758323a4423342d1f2b332224261c262e35342d1f
+2b3322373e433335222b3322333522342d1f2a34382b33223336423335222b3322
+3335222f3c222a34382f3c223335222b33222a34383a44233043213d4f56496065
+6886a6757c71576a626b8673657c444758323f4e1e3f4e323a44233f4e1e3a4423
+3a44233335223335223335223a4423383c23383c234c50263a4423383c234e4425
+383c234e4425383c233335224c50263f4e1e4c5026342d1f333522333522342d1f
+272c1f24261c24261c24261c383c23383c232f3c2249601f47581f55602449601f
+4c50265558245558244c5026383c233335223a442355582447581f49601f556024
+33352224261c2b33223f4e1e4c502647581f344d1e3f4e1e3043213a442347581f
+47581f383c234c50263f4e1e4c50263a44234c50262b3322272c1f333522333522
+3335222b3322272c1f2b3322272c1f394446354c312f3c223a4423354c31354c31
+3f4e32354c31304321496065576b3356603a3f4e1e4c50264c50263f4e1e4c5026
+3335223335223a44233335223a44233a44233043213f4e1e3f4e323a4423383c23
+3a44233f4e1e5558243f4e1e3a44233a4423383c23333522333522383c23383c23
+3a4423342d1f333522272c1f342d1f333522342d1f333522333522333522383c23
+3a44233f4e1e3f4e1e2f3c223043213a44232f3c222f3c223a4423383c23333522
+3335223a44233f4e1e576a1f656c26576a1f47581f4c502647581f3f4e1e4c5026
+3f4e1e3a44233f4e1e3a44232f3c222f3c222f3c222b33222b3322342d1f333522
+383c233a4423383c234c502655602486874a75704d3335223335222f3c222b3322
+342d1f342d1f272c1f2b33224c50263f4e1e3a44233a44233335222b3322383c23
+2f3c222b33223043212b332224261c3335222b3322272c1f272c1f272c1f24261c
+272c1f272c1f2b3322272c1f24261c24261c1c1e1924261c2b33223335222b3322
+2f3c222f3c22555824ada17f5558243f4e1e2f3c224c50263f4e1e3f4e1e49601f
+3f4e1e3a4423333522383c236660334c50263a44232b3322272c1f3043213a4423
+2f3c22342d1f342d1f2b33223043213a4423304321344d1e3a44233a44232f3c22
+3a44232b33222b33222b332224261c272c1f24261c272c1f272c1f272c1f272c1f
+272c1f24261c24261c272c1f24261c24261c24261c272c1f272c1f272c1f272c1f
+272c1f2f3c22383c233a442347581f3c5822304321344d1e3043213043212f3c22
+304321344d1e304321383c233043212f3c222b33222b3322272c1f272c1f272c1f
+272c1f272c1f2b3322272c1f272c1f2b332224261c272c1f272c1f272c1f272c1f
+272c1f1e241b272c1f24261c24261c272c1f272c1f24261c24261c1e241b1e241b
+1e241b272c1f272c1f272c1f272c1f1e241b272c1f1e241b24261c24261c24261c
+272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f342d1f333522333522
+2b3322272c1f272c1f272c1f272c1f2b3322272c1f272c1f1e241b2f3c222b3322
+2b3322272c1f2f3c222f3c222b33222a3438344d1e344d1e3043212b3322272c1f
+2b33222f3c222f3c222b33222f3c222a34383043212a3438262e352b33222a3438
+2f3c22304321262e352b33222f3c222f3c222b3322304321344d1e354c31344d1e
+3f4e1e354c312f3c22354c313a4423304321344d1e3d573b344d1e344d1e3a4423
+3a4423333522383c2366603356603a56603a3a44232e3c443335223336422b3322
+373e433a44232f3c22383c233f4e3247581f354c313a44233043213a44233a4423
+3f4e323f4e1e3f4e323f4e324758323a4423333642342d1f262e35272c1f262e35
+3335222f3c222a3438342d1f2a34382b3322272c1f2b33222f3c22333522333642
+2f3c223a4423383c233335223043213335222b3322373e434b6865667c74667c74
+667c74496065465864778772657c444758323f4e1e3f4e1e4758323f4e323f4e1e
+4c5026333522342d1f383c23383c233335223a44233a4423304321383c23333522
+272c1f342d1f3335223335223a4423383c23333522272c1f33352233352224261c
+24261c24261c24261c24261c272c1f272c1f3335224c502647581f3f4e1e555824
+3a44235558245558244e44253a4423333522383c233f4e1e4c502649601f4c5026
+272c1f272c1f272c1f333522304321383c233a44233a44233a44234c50264b681e
+576a1f3f4e1e3f4e1e47581f3f4e1e3f4e1e3a4423333522333522304321333522
+2b33222b3322272c1f272c1f272c1f3f4e324e50434960323f4e324c50263f4e32
+3f4e323f4e323a44234658645658384758323f4e323f4e3256603a4c502647581f
+4436233335223a44232f3c223a44233a44233a44233f4e1e4e44253a4423333522
+3a44233f4e1e3f4e1e3f4e1e383c23383c23333522333522383c233335223a4423
+383c23342d1f272c1f342d1f2b3322383c233f4e1e383c23383c23333522383c23
+3a4423383c233a44233f4e1e3a4423383c23383c233043213a44232f3c222f3c22
+3a44234c5026475832576b33627444576a1f47581f47581f49601f47581f47581f
+344d1e3a442347581f304321383c233a44232f3c22272c1f342d1f272c1f272c1f
+3335223335223a442355602456583887886d4c5026342d1f272c1f333522333522
+272c1f272c1f2b33222f3c223043212f3c223043213a4423272c1f272c1f2f3c22
+2b33222b33222b33222b3322272c1f2b3322304321383c23272c1f24261c272c1f
+24261c272c1f333522333522272c1f342d1f272c1f342d1f342d1f333522383c23
+3a442333352275704d9d99815558245560243a44233f4e1e3f4e1e3f4e1e47581f
+4c50263a44232b33222f3c2247581f3f4e1e3043212b3322272c1f2f3c22304321
+272c1f272c1f272c1f272c1f3a4423344d1e383c233a44232f3c223a44232f3c22
+3a44232b3322272c1f272c1f2b3322272c1f342d1f2b3322272c1f272c1f272c1f
+24261c24261c24261c272c1f272c1f342d1f272c1f272c1f272c1f24261c2b3322
+272c1f2b33223335223043213f4e1e47581f344d1e344d1e3f4e1e344d1e304321
+344d1e3f4e1e344d1e3f4e1e3043212f3c222b33222b33222b3322272c1f272c1f
+2b33222b33221e241b2b33222b33222b33222b3322272c1f272c1f272c1f24261c
+24261c24261c24261c1e241b272c1f24261c24261c24261c24261c24261c24261c
+272c1f272c1f1e241b24261c24261c24261c1e241b24261c24261c24261c272c1f
+272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f24261c272c1f1e241b272c1f272c1f1e241b272c1f272c1f
+2b3322272c1f2b33223043212b33222f3c22344d1e304321344d1e2f3c222b3322
+272c1f272c1f2b33222b33222a34382f3c222f3c222f3c222b3322272c1f262e35
+2b33222f3c222b33222b33222f3c222f3c222b33222b3322304321354c31344d1e
+304321383c232f3c223a4423354c313043213d5f253c58223043212f3c222f3c22
+3f4e323a44233a4423576b3356603a4758324c5026383c23373e432b33222f3c22
+3f4e32475832354c31383c234c50263f4e323f4e323f4e323a44233f4e323a4423
+3f4e323a4423383c233f4e324758323335222b3322342d1f262e35272c1f272c1f
+373e433a44232f3c22272c1f3335222b3322262e352b33222e3c44333522333522
+383c23394446383c233335223a4423383c232b3322333522465864667c747a91a8
+7a91a8637471465864667c744b69334758324c502647581f55582447581f475832
+3f4e1e3a4423333522383c23333522342d1f2b3322383c23383c23333522333522
+2b3322272c1f3335224436233a4423333522342d1f24261c272c1f342d1f24261c
+24261c24261c24261c24261c342d1f272c1f272c1f383c23383c23383c233a4423
+3335223a4423383c233a4423383c232f3c223335222f3c22383c233a4423383c23
+342d1f24261c272c1f383c233335223335223a44232f3c222f3c223f4e1e556024
+47581f3f4e1e383c234c5026383c233f4e1e3f4e1e2f3c223043213f4e1e2f3c22
+2b332224261c272c1f272c1f272c1f2f3c224658645474433d573b47583256603a
+4e50433f4e323a44234758324758324758324758323f4e3247583247583247581f
+3f4e1e3a44234e44252f3c2256603a4b6933496032576a1f565838383c23383c23
+383c234e44254c50263a4423333522342d1f2b3322383c23383c23333522383c23
+383c23333522333522342d1f2b33223a442356603a3f4e1e2f3c222f3c22383c23
+383c23383c23383c233043213a44232f3c223a44233f4e1e3a4423383c23344d1e
+344d1e47581f496032576b336274444960323f4e1e47581f47581f47581f4c5026
+344d1e3f4e1e556024344d1e3043213a44232f3c222f3c222b3322272c1f272c1f
+2b33222b33223f4e1e4758325658388b9080383c23272c1f24261c342d1f272c1f
+272c1f2b33222b33223335222f3c223335222f3c222f3c222b33223a44233f4e32
+2f3c222b3322272c1f2b3322272c1f272c1f2b3322383c23333522272c1f383c23
+272c1f272c1f2b3322383c23383c233335223335222b3322272c1f272c1f342d1f
+2b33222b3322666b3baea8865558245560243f4e1e3f4e1e3f4e1e3f4e1e47581f
+4c5026383c23272c1f272c1f333522383c233043213043213335223043212f3c22
+2b3322272c1f2f3c222f3c223f4e1e3a4423383c23383c23383c23304321333522
+344d1e33352224261c272c1f3043212b33223335223a4423383c23342d1f272c1f
+272c1f24261c24261c24261c272c1f24261c24261c2b33222b3322272c1f2b3322
+2b33222b33223335223f4e1e3f4e1e3f4e1e3f4e1e3c5822344d1e3c582247581f
+3f4e1e3f4e1e344d1e3c58223f4e1e3043213043212f3c222f3c222b3322272c1f
+2b33222b3322272c1f2f3c222b33222b33222f3c22272c1f342d1f272c1f24261c
+24261c272c1f272c1f24261c272c1f24261c24261c272c1f24261c1e241b1e241b
+1e241b272c1f24261c24261c24261c24261c24261c1e241b1e241b24261c1e241b
+1e241b24261c24261c24261c24261c272c1f272c1f272c1f24261c272c1f272c1f
+24261c24261c272c1f24261c272c1f1e241b272c1f24261c24261c272c1f272c1f
+2b33221e241b2b33223043212f3c222f3c223d5f25354c31344d1e2b33222b3322
+272c1f2f3c22272c1f2b33222b33222f3c22262e352f3c22272c1f272c1f272c1f
+2b33223043212b3322272c1f2a34383043212a34382b33222f3c22354c31354c31
+3043212b33222b33223a44232f3c222f3c22344d1e3c58223043212b33222b3322
+3f4e323944463a44235658386660333f4e323a44233f4e323a4423373e432f3c22
+3f4e32475832373e433a44233f4e3247581f354c313a44233a44233a4423373e43
+3f4e323a4423383c23383c233a4423333522262e35262e3524261c272c1f342d1f
+3a44233f4e322f3c22383c232e3c44333522383c23383c23383c232f3c22342d1f
+272c1f3335223336423335223944463a4423272c1f2a34384658646075908b919f
+8a99ab7a91a87d9082576a6247583256603a4b6933556024496032556024496032
+47581f383c23383c23383c232b3322342d1f3335222b33222b3322333522443623
+333522333522383c23333522333522383c23342d1f24261c24261c24261c24261c
+24261c1c1e1924261c24261c24261c24261c24261c272c1f272c1f24261c342d1f
+3335223a4423383c23383c23383c23342d1f333522333522342d1f3a4423383c23
+333522272c1f272c1f4c50263a44232f3c223f4e1e3c58223f4e1e555824556024
+4c50262f3c223335222f3c22383c233f4e1e2f3c22344d1e3f4e1e3c5822304321
+2b3322272c1f272c1f2b33223f4e32354c313d573b666c5e4658644b693356603a
+5658383f4e323f4e324b686549603247581f47583249603249603249603256603a
+6374713f4e322f3c22383c235f6156757c7156603a4758324c5026383c233a4423
+3a44233a44234c50263f4e1e3335222b3322272c1f333522383c23333522333522
+333522342d1f3335223335222f3c22383c2354605f6274444758323f4e1e3a4423
+2b33222f3c222f3c223a44233f4e1e2f3c223f4e324960323f4e1e3a44233a4423
+3a44233f4e32576b33666c5e576b3349601f3f4e1e47581f4c50263f4e1e3f4e1e
+3a44233a442347581f3a44234c50263a4423304321383c232f3c22272c1f2f3c22
+2b3322383c234c50263a44234e3d229a9178574f2624261c24261c272c1f272c1f
+272c1f3335223043212b33222b33222b33223335223a44232b3322383c23475832
+3f4e1e3335223335222f3c22383c23272c1f2b33222f3c222f3c222b3322333522
+2b33222b3322333522333522333522342d1f2b3322272c1f24261c1e241b24261c
+24261c342d1f9a9178ada17f4c50263f4e1e3f4e1e3f4e1e3f4e1e383c23304321
+47581f383c23272c1f272c1f2b33223335223a44233043213a44233a442347581f
+383c232b3322304321344d1e3043212f3c22383c23383c233a44233a44232f3c22
+3a4423272c1f272c1f272c1f3043212f3c222f3c223a4423344d1e33352224261c
+24261c24261c272c1f24261c24261c272c1f272c1f272c1f2b33222b33222b3322
+2b33222f3c222f3c223a4423344d1e3c5822344d1e344d1e3f4e1e344d1e47581f
+47581f3c582247581f49601f47581f2f3c22304321344d1e3043212b3322272c1f
+2f3c22272c1f2b33222f3c222f3c222b3322333522272c1f272c1f342d1f272c1f
+272c1f24261c272c1f342d1f24261c24261c24261c24261c24261c24261c272c1f
+24261c24261c24261c24261c24261c24261c24261c24261c1c1e1924261c24261c
+24261c24261c24261c24261c24261c24261c24261c24261c272c1f24261c272c1f
+24261c24261c24261c1e241b24261c24261c24261c1e241b1e241b272c1f1e241b
+2b33221e241b272c1f2f3c22262e352f3c223d5f25344d1e2f3c222f3c22272c1f
+272c1f272c1f272c1f272c1f2f3c222b33222b33222b3322272c1f272c1f272c1f
+2b33223043212f3c22272c1f2f3c222f3c222b33222b3322262e35304321344d1e
+3043212b33223335222f3c222b33222f3c222f3c22344d1e3043212b3322333522
+4c50263f4e323f4e325658385658383f4e323a44233f4e323f4e32383c23333522
+3f4e324c50263a44233a44234c50263f4e323a44234758323f4e324c50263f4e32
+3a4423354c313a44232e3c44383c233335222a3438342d1f262e35262e352b3322
+3a44233a44233a44232b33223335223335222f3c222f3c22383c232b3322272c1f
+272c1f272c1f342d1f2b33222f3c22383c233335223335223944464960656886a6
+819fb79fb0bb92a8b657737647583254605f4b693349603247581f55602447581f
+47581f3a4423333522333522272c1f272c1f3335223335223335222b3322333522
+383c233a4423383c233335223335222b3322272c1f342d1f24261c342d1f1c1e19
+24261c342d1f24261c24261c24261c1c1e1924261c24261c24261c24261c24261c
+342d1f383c23342d1f24261c333522333522272c1f342d1f342d1f3a44233a4423
+383c2333352233352247581f344d1e3a4423383c234b681e3f4e1e3f4e1e576a1f
+3f4e1e3a44233a44232f3c222b3322383c23383c233f4e1e47581f47581f344d1e
+2f3c22272c1f2b33222f3c224658643f4e323f4e324758323d573b637471576a62
+56583847583249603256603a576a6247583256603a627444576a62576a62666c5e
+576a623a44233043213a44233f4e3254605f637471576b333f4e32383c23383c23
+3a44233a44233f4e1e4c50263335222b3322342d1f2b33222f3c22333522383c23
+3335222b33222f3c22383c232f3c22383c233f4e32666c5e666c5e666c5e47581f
+383c233a44233a44232f3c223a44233a442354605f576b334758323a44233a4423
+3f4e323f4e327787725f61564960324758323f4e1e3c58223f4e1e383c233a4423
+3a4423383c233a4423383c233f4e1e3a44233a44233a4423304321333522333522
+2b33223a4423383c233a44235f6156c0b197574f262b3322272c1f2b3322272c1f
+2f3c222b3322304321333522383c233335222f3c223043213a44233f4e1e4c5026
+344d1e3a44232f3c222f3c222f3c222b332224261c383c233335222b3322272c1f
+272c1f2b33222b33223335223335223335223a442324261c1e241b24261c1c1e19
+272c1f383c23ada17fc4a9794c502647581f3f4e1e3f4e1e3f4e1e3a44232f3c22
+47581f383c232b33222f3c2230432130432147581f344d1e3f4e1e3f4e1e3f4e1e
+3a44232b3322344d1e3a44233f4e1e3a44233a4423383c233f4e1e4e44252f3c22
+2f3c22272c1f2f3c22304321344d1e344d1e3f4e1e3a44233a4423342d1f272c1f
+24261c24261c24261c342d1f24261c272c1f272c1f2b33222f3c222b33222f3c22
+383c232f3c222f3c223a44233a442347581f3f4e1e344d1e49601f3f4e1e3c5822
+3c582249601f49601f49601f5560243f4e1e3a44233f4e1e344d1e2b33222f3c22
+2f3c222f3c222f3c223043212f3c222f3c222f3c222b33222b3322342d1f272c1f
+272c1f272c1f24261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c24261c24261c24261c24261c24261c1c1e1924261c24261c24261c24261c
+24261c24261c24261c24261c24261c272c1f24261c24261c272c1f24261c342d1f
+24261c24261c24261c24261c24261c24261c272c1f24261c24261c272c1f1e241b
+272c1f24261c24261c2b33222b33222b3322344d1e344d1e2f3c222b3322272c1f
+2b33222b3322272c1f272c1f3043212b3322272c1f2f3c22272c1f272c1f1e241b
+2b33222f3c222f3c22272c1f2b33223043212f3c222b33222b3322304321304321
+3043212f3c222b33222f3c222b33222b33222f3c22344d1e3043212b33222b3322
+3a44234e50433f4e1e4758324c50263a44234e44254c50264c5026333522333642
+4e44254c50263a44233a44233a4423383c233a44233f4e323f4e323f4e323a4423
+3a44233a44233a4423383c233a4423272c1f342d1f2e3c44342d1f262e35383c23
+2f3c223a4423383c23333522333522333642333522333522373e43333522272c1f
+272c1f24261c2b3322373e433335222b33222f3c222f3c222f3c223a4423465864
+6886a69ea9b49fb0bb6b86736b8673667c746274445560244758324c50264b6933
+4c50263a4423383c232b33222b3322383c232f3c223335222f3c223335223a4423
+4c5026383c23333522333522272c1f272c1f342d1f342d1f342d1f342d1f24261c
+24261c342d1f272c1f342d1f1c1e19342d1f1c1e1924261c24261c24261c24261c
+24261c383c23272c1f342d1f342d1f272c1f3335222f3c22333522383c233a4423
+3a44232f3c222f3c223f4e1e3c5822333522333522383c233043213a442347581f
+3f4e1e3f4e1e3f4e1e3a44232b33223a44232f3c223f4e1e354c313043213f4e1e
+2f3c222b33222b33222f3c22475832496065576a6254605f496032576b3354605f
+4758324b68656374717787726b8673778772757c71778772667c747787727d9082
+6374714758324758323a44233f4e1e637471637471576a625658382b3322333522
+2f3c222b33223f4e1e344d1e383c232b3322272c1f333522383c23272c1f443623
+2b33223335223335223a4423354c312f3c22383c234960656b8673709081576b33
+56603a3f4e1e3a4423344d1e344d1e2f3c22576a62667c744758323f4e323a4423
+3a44233f4e326374713d573b3a44233f4e1e47581f3a44233a4423304321333522
+383c232b3322383c232b33224c50263f4e1e3a44233a44233a4423304321333522
+383c23383c23383c23342d1f857d67c0b8a6574f26383c232f3c222b3322272c1f
+2b33223043212f3c222f3c22333522333522333522333522383c233f4e1e3f4e1e
+3f4e1e47581f2f3c222f3c223a4423333522272c1f383c23272c1f272c1f272c1f
+272c1f2f3c22333522272c1f272c1f2f3c22344d1e2b332224261c1c1e1924261c
+272c1f4e5043ada17f86874a3a44233a44233a44233a44233a44233043212f3c22
+47581f3043212f3c22383c232f3c223a44234c50263a44234c50264c50263a4423
+3f4e1e3f4e1e3a44233a44233a44234c5026333522333522383c23304321333522
+3335223043212f3c223f4e1e3f4e1e3a44233a442333352233352224261c1c1e19
+24261c24261c342d1f272c1f342d1f2f3c222f3c222b33223a44232f3c222f3c22
+304321383c23383c232f3c223a442356603a3f4e1e3f4e1e47583249601f47581f
+49601f556024576a1f576a1f49601f5558244c502647581f344d1e2f3c22344d1e
+3043212f3c222f3c223c5822344d1e2f3c222f3c223043212b33222b3322342d1f
+272c1f272c1f272c1f272c1f272c1f24261c24261c24261c24261c24261c24261c
+24261c24261c24261c24261c24261c24261c24261c24261c24261c1c1e1924261c
+24261c1e241b24261c24261c24261c24261c24261c24261c24261c342d1f24261c
+24261c24261c24261c24261c272c1f24261c24261c24261c24261c1e241b272c1f
+272c1f24261c1e241b2b33222b33222a3438304321344d1e3043212b3322272c1f
+2b33222b3322272c1f272c1f2f3c22304321272c1f2b3322272c1f262e351e241b
+2b33222b33223043212b33222b3322344d1e2f3c222b33222a3438304321344d1e
+2f3c22272c1f2f3c222b3322272c1f2b3322304321344d1e3043212f3c222b3322
+3f4e324c50263a44234c50264e50433a4423373e433a44233f4e32373e43383c23
+3a44233944464e44253f4e324e4425383c233a44234c502647583247581f3f4e32
+3f4e324e44253a4423373e43373e432f3c222b3322333522272c1f272c1f262e35
+383c233944463a4423383c232a34383335223335223335222f3c22342d1f272c1f
+342d1f272c1f333522373e434436232b3322342d1f342d1f383c233a44233f4e32
+46586475889b9ea9b492a8b694afb98ea089597c754758324758323f4e1e555824
+3f4e1e3a4423383c23383c23383c23333522333522383c23383c233335223a4423
+3f4e1e383c23333522272c1f333522333522333522272c1f342d1f33352224261c
+24261c342d1f342d1f24261c24261c342d1f342d1f24261c24261c342d1f24261c
+272c1f383c23383c232f3c223335222b33223a4423383c233335223335223f4e1e
+3f4e1e3f4e1e3043213a44233c58222f3c22342d1f272c1f2f3c223f4e1e47581f
+47581f3043213f4e1e3f4e1e344d1e3f4e1e3a44233f4e323a44233a4423344d1e
+2f3c223043212b33222b3322354c3163747170908177877275889b63747154605f
+565838576a6263747184888781a0898b9080778772778772667c747787727d9082
+667c744c50264758323a44233f4e32757c71666c5e475832373e43272c1f2b3322
+3f4e1e3a44233a44233a44233a4423383c232b3322383c23383c23342d1f272c1f
+272c1f272c1f333522383c23344d1e3a4423475832475832666c5e778772667c74
+666b3b5658384c50263f4e1e3f4e322f3c225f6156576a62475832666c5e475832
+3a44235658384758323f4e32354c315558243f4e1e344d1e3a44232b3322272c1f
+342d1f2b3322272c1f2b33224c50264c50264758323a44233a44233f4e1e333522
+383c23383c232f3c222b332287886dcfc6b86660332f3c223a44232f3c22272c1f
+2b33223f4e1e3043212f3c223a44232f3c22272c1f2b33222f3c223a44233a4423
+3f4e1e3f4e1e2f3c222f3c22344d1e3f4e1e2f3c223f4e1e272c1f272c1f24261c
+272c1f342d1f342d1f272c1f272c1f2b33222f3c22342d1f24261c24261c272c1f
+383c235558249a917874643e3a4423383c232f3c223043212f3c223a44233f4e1e
+5560242f3c222f3c223043212b33222b33223335223335223a4423383c23383c23
+383c232f3c223a44233a4423383c233a4423333522342d1f3a44234e4425272c1f
+2b33223043213043213f4e1e47581f3a44232b3322342d1f272c1f24261c24261c
+24261c272c1f3a44232b33222b33223335223335222b33223a44232f3c22344d1e
+3f4e1e2b3322383c23383c232f3c2255582447583255602455582466603347581f
+496032556024556024556024556024576a1f47581f4b69333c5822304321304321
+344d1e3a4423304321344d1e3f4e1e344d1e2f3c222f3c222f3c222b3322272c1f
+272c1f272c1f272c1f272c1f24261c24261c24261c24261c24261c24261c24261c
+24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c24261c24261c24261c24261c272c1f24261c24261c24261c272c1f24261c
+342d1f24261c342d1f24261c24261c24261c1e241b24261c24261c24261c24261c
+272c1f272c1f24261c2b3322272c1f2f3c222f3c223043212b33222b3322272c1f
+272c1f272c1f2b3322272c1f3043213043212b33222f3c22272c1f272c1f1e241b
+2b33222b33223043212b3322304321344d1e3043212f3c222b3322344d1e3c5822
+3043212a34382b3322262e352b3322272c1f2f3c223c58223043212f3c22272c1f
+3a44233a44232f3c223f4e324c5026383c23383c23383c233a4423383c23394446
+383c233944463a44234e50433a44234e50433335223f4e32496032475832475832
+3f4e323a44233f4e1e2f3c22333522373e43333522333642342d1f272c1f342d1f
+3335223944463a44233335223335222b33222b3322333522383c232a3438342d1f
+262e3524261c342d1f383c233a44233335223336422b33223336423043213f4e32
+3d573b75889b8a99ab92a8b6a3b8bc94afb9657c444c50263f4e323a4423475832
+47581f3a4423383c23354c312f3c22333522383c23383c23383c23383c233a4423
+3a4423333522333522342d1f3335222f3c22333522342d1f333522443623272c1f
+272c1f24261c342d1f24261c24261c24261c342d1f24261c24261c24261c342d1f
+342d1f4e4425383c233335223335222b3322383c23383c232f3c222f3c22383c23
+3f4e1e304321383c233043213f4e1e3043212b33223335223a44233f4e1e47581f
+47581f3a44233a4423344d1e3f4e1e3f4e1e383c23383c233a44233f4e1e3a4423
+3f4e323f4e322f3c222b3322354c31666c5e8da0b68a99ab8b98828a99ab6b8673
+637471576a62667c747d98b18a99ab7d98b18488877d908275889b667c74778772
+7d90824b68654c50263f4e324b68657d908254605f2b33223335222f3c222f3c22
+3a44233a442347581f3f4e1e2b33223335222f3c223a44232f3c22333522272c1f
+272c1f272c1f342d1f3335223a4423394446576a62496065496065556c84778772
+778772667c7463747156603a4758323f4e32496032757c71637471757c71666c5e
+475832576a62757c7163747156603a49601f3f4e1e3f4e1e3f4e1e333522272c1f
+272c1f272c1f272c1f2b332246586456603a4c50263a4423383c234c5026383c23
+333522383c232b33223335229a9178aea886574f26383c2347581f2f3c222b3322
+2b33223a44233f4e1e47581f47581f3043213a44232b3322272c1f383c23383c23
+3a44233a44232f3c22342d1f383c232f3c223a44232f3c22272c1f272c1f272c1f
+2b33222f3c22272c1f272c1f272c1f2b3322272c1f272c1f24261c333522342d1f
+4e44254c502686874a7664273f4e1e3f4e1e2f3c223a44233a4423333522383c23
+383c23272c1f24261c272c1f24261c24261c272c1f272c1f342d1f272c1f342d1f
+2b3322342d1f2f3c223f4e1e383c23383c23383c232b33223a44233f4e1e333522
+272c1f383c233a44233a44233a4423383c23333522342d1f1c1e1924261c24261c
+272c1f2b3322383c233043212f3c222b3322342d1f2b33223a4423383c233a4423
+383c23342d1f3335223335224e44253f4e324e442555582455582466592c4c5026
+555824555824556024666b3b576a1f666b3b55602455602449601f383c233f4e1e
+5558243f4e1e3043213c582247581f4c50262f3c22383c232f3c22333522342d1f
+342d1f272c1f272c1f342d1f24261c24261c342d1f24261c24261c24261c24261c
+24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c24261c24261c24261c24261c24261c24261c24261c272c1f342d1f24261c
+24261c24261c272c1f342d1f272c1f24261c24261c24261c24261c24261c272c1f
+1e241b1e241b1e241b272c1f272c1f272c1f2b33222f3c222b3322272c1f272c1f
+272c1f272c1f272c1f2b33222f3c222f3c222f3c222b3322272c1f272c1f272c1f
+262e352f3c22344d1e30432130432141671b344d1e3043212f3c22354c3141671b
+2f3c222f3c222b3322272c1f2b3322272c1f2b3322344d1e3043212f3c222b3322
+4c5026394446383c233f4e323a4423373e43383c23383c233944463a4423443623
+333642333522383c233944464e50434c5026383c233f4e3249606554605f3f4e32
+3a44233a44233a44232f3c222f3c22383c233a44232b3322272c1f262e35272c1f
+333522383c23373e43383c23333522333522333522373e433335222b3322342d1f
+262e35272c1f333522373e433a4423383c232b33222e3c442f3c22354c31344d59
+496065556c847a91a88da0b69fb0bb9da1ab6374713f4e1e3f4e323f4e3247581f
+5558243a4423383c233a44232f3c223335223a44233a4423383c23383c233a4423
+383c232f3c22383c23272c1f3335223a44233335222b33222b3322333522342d1f
+2b3322272c1f342d1f24261c342d1f1c1e19342d1f1c1e19342d1f24261c24261c
+272c1f3335222b3322333522272c1f2b3322333522383c23333522333522333522
+3f4e1e2f3c223335222f3c223f4e1e3043212f3c222b3322383c233a44233f4e1e
+3f4e1e3a44232f3c223f4e1e3a44233f4e1e3335222f3c22354c314c50263a4423
+4c50264c5026373e4354605f4b68654658647d90828a99ab819fb78da0b6778772
+6374716374716b86738a99ab8a99ab8b988275889b7d90828a99ab9fb0bb9ea9b4
+7d9082576a6256603a565838577376637471354c312f3c223335222f3c222f3c22
+2f3c223a44233f4e1e3a44232b33223a44233d4f563043212f3c222b3322272c1f
+272c1f24261c272c1f2f3c223f4e323f4e32637471778772757c71757c7175889b
+8b90808b90806b8673666b3b576a6256583854605f778772757c71857d675f6156
+56603a757c717d908277877263747155602447581f3a44233f4e1e2f3c22333522
+342d1f272c1f272c1f2f3c22757c718b98825f61562f3c223f4e324e50432e3c44
+2f3c223335222b3322373e438b9080aea8864e4425383c233f4e1e2f3c22304321
+2b3322383c233f4e1e3f4e1e47581f3f4e1e344d1e304321304321304321344d1e
+2f3c223a44233a44232f3c222f3c223335222f3c223a4423383c233335222b3322
+272c1f2f3c22272c1f24261c2b33222b3322272c1f24261c272c1f3a4423342d1f
+2b332256603a857d674c50264c50263a4423383c23333522333522272c1f272c1f
+342d1f24261c1c1e1924261c24261c24261c24261c272c1f272c1f272c1f24261c
+342d1f24261c24261c333522333522383c23383c233335223043213f4e1e3a4423
+3a4423383c234e44253a44233a44232f3c22383c23272c1f24261c24261c24261c
+272c1f2b33222f3c222f3c22304321272c1f3335222b3322383c233a4423333522
+2b3322272c1f4436233335224e3d224e50434e44254c5026574f26574f264c5026
+3f4e32666033556024666b3b666033556024666b3b5560245560244c50264c5026
+49601f4c5026344d1e41671b47581f576a1f3f4e1e3f4e1e344d1e383c232b3322
+342d1f272c1f272c1f272c1f272c1f272c1f272c1f24261c342d1f24261c24261c
+24261c1c1e19342d1f24261c24261c24261c24261c24261c1c1e1924261c24261c
+24261c342d1f24261c24261c24261c24261c342d1f24261c342d1f272c1f24261c
+272c1f24261c272c1f272c1f272c1f24261c24261c24261c24261c24261c24261c
+272c1f24261c272c1f272c1f2b3322272c1f2b33222f3c222f3c22272c1f2b3322
+272c1f272c1f272c1f272c1f2b33223043212b33222f3c22272c1f1e241b2b3322
+2b33222f3c22344d1e30432130432149732341671b304321304321354c313d5f25
+3043212b3322272c1f272c1f2f3c222b33222b3322344d1e3043212b3322272c1f
+4758323a44232a34384e44253f4e32443623373e43383c233944463a4423373e43
+2f3c22373e43383c233f4e324e50434c50263a44233a44234b686554605f3f4e32
+3944463a4423383c233335223a44232f3c22373e43342d1f24261c342d1f272c1f
+333522383c23333522333642383c23333522383c23383c23333642342d1f262e35
+342d1f342d1f333522383c233336423335222b3322373e43465864637471576a62
+597c75556c84556c8475889b9ea9b48da0b66b86733f4e323f4e323f4e1e475832
+4758323a44233a44233a4423383c23383c23383c23383c232f3c223a4423383c23
+383c233335222b3322342d1f342d1f2b3322333522383c23333522383c23344d1e
+2b33222b33222f3c22342d1f24261c24261c24261c24261c24261c24261c24261c
+24261c383c23272c1f2b33222b33222b33223043212b3322272c1f272c1f272c1f
+2f3c223043212b33223335223335223f4e1e344d1e2b33222f3c22333522383c23
+3a44233a44233335223a44233a44233a44233a44233a44233f4e1e3f4e323f4e32
+3d4f563f4e1e383c23475832576a624658646b86738b919f8da0b69da1ab848887
+576a6263747175889b9ea9b47d98b18b919f75889b8a99ab8da0b6aeb0bda3b8bc
+75889b576a6254605f475832576a625773763f4e323a44232b33223335222f3c22
+3043213043214c50263f4e1e3335222b33222f3c22394446383c23333522272c1f
+342d1f272c1f2b33222b3322394446373e4346586475889b8da0b675889b75889b
+7d90829da1ab8b9882637471666c5e576b3354605f8488878b9080667c7454605f
+666c5e75889b8ea0898b9882666c5e49603247581f383c233f4e1e383c232b3322
+2b3322272c1f272c1f2e3c44757c718a99ab5658382f3c223f4e324e5043383c23
+3f4e322b33222b3322383c239d9981867c4c3335223a44233f4e1e3043213f4e1e
+2b33222b33223a44233f4e1e47581f4c502647581f3a4423383c233043214e4425
+3f4e1e304321344d1e3a44233043212f3c22383c233f4e1e344d1e3f4e1e304321
+272c1f2f3c22333522272c1f2b33222b3322333522272c1f24261c272c1f272c1f
+272c1f75704d867c4c333522333522383c232b3322342d1f272c1f24261c24261c
+1c1e1924261c24261c24261c1e241b24261c272c1f24261c272c1f272c1f342d1f
+33352224261c24261c1e241b272c1f383c23383c232f3c223043212f3c223f4e1e
+4b681e2f3c223a44233a4423383c23333522333522272c1f24261c24261c24261c
+272c1f2f3c223a44233043212f3c22272c1f3335223335222f3c223335222b3322
+4436233335224436233335224e44256660334e44254e44254e3d22333522443623
+4e3d225558244c502666592c556024555824666033574f265558244c50263f4e1e
+5560245560243f4e1e55602455602455602447581f3a44233f4e1e2f3c222b3322
+272c1f272c1f272c1f342d1f24261c24261c24261c24261c272c1f24261c24261c
+24261c24261c24261c342d1f1c1e1924261c24261c24261c24261c24261c24261c
+1c1e1924261c24261c24261c24261c24261c24261c24261c272c1f272c1f24261c
+24261c272c1f272c1f272c1f24261c24261c24261c24261c272c1f24261c272c1f
+24261c24261c24261c272c1f3043212b33221e241b2b33222b33222b33221e241b
+272c1f2b33221e241b2b33222b33223043212f3c222f3c22272c1f272c1f272c1f
+272c1f304321344d1e344d1e30432149732341671b344d1e304321304321344d1e
+3043212b33222b33222b33222f3c22272c1f272c1f344d1e3043212f3c222b3322
+3f4e324c5026383c234e50433a44234436233a4423373e43383c233a4423394446
+394446383c23373e434e44254758324c50263a44233a44233f4e324e50433f4e32
+354c313f4e32383c23383c233a4423383c233a442333352224261c262e35262e35
+2b33223335223335223335223335223335223a4423383c23333522272c1f333522
+2a3438342d1f342d1f3335223335223335222b3322373e4354605f576a62626e8c
+556c84637471627d997a91a892a8b68da0b6778772666c5e667c74657c44576b33
+4758323a44232f3c22383c23333522333522383c23383c233a44233f4e1e3a4423
+3335222b33222b3322272c1f24261c272c1f2b3322383c232f3c22383c233a4423
+2b33222b3322304321333522272c1f24261c24261c342d1f24261c24261c24261c
+24261c272c1f24261c272c1f272c1f3043213a44232b3322272c1f342d1f24261c
+383c232f3c223335222b33223335223f4e1e344d1e3335223a44233a4423383c23
+3335223a4423383c233a44233a44233a44233a44234c50263a44233a44233a4423
+4e50433f4e322f3c2249606592a8b67d90827a91a88b919f8ea08975889b757c71
+576a62576a627d90829ea9b48da0b69da1ab8488878da0b692a8b69fb0bb8da0b6
+75889b637471576a625658384960656084714b68653a44232f3c223335223d4f56
+3a44232f3c224c5026354c313335222b3322272c1f2b3322333522333522272c1f
+272c1f24261c272c1f373e433f4e322e3c4430444d6374719ea9b49da1ab848887
+8a99ab9da1ab9fb0bb8b9080848887757c717787727d90827d9082778772667c74
+4b6933757c719ea9b48ea0894b68653f4e1e3f4e1e2f3c222f3c22333522333522
+342d1f272c1f2b3322272c1f465864757c715f61562f3c223a44233a4423373e43
+4e50433043212f3c222f3c22aba9a674643e342d1f30432147581f3a44233a4423
+3a442333352233352230432147581f3a44233f4e1e3043213a44233f4e1e3a4423
+4c50263a442347581f3f4e1e383c23383c233f4e1e4c50262f3c223f4e1e2f3c22
+2b33222b33222f3c222b33223043212f3c222f3c222b33222b3322272c1f272c1f
+2b33229a9178666033342d1f272c1f333522272c1f272c1f272c1f24261c24261c
+24261c1c1e191c1e1924261c1c1e1924261c342d1f342d1f3a4423272c1f272c1f
+272c1f24261c24261c24261c24261c383c233a4423333522383c23333522383c23
+576b33383c2347581f4c50263335222b3322272c1f24261c24261c24261c24261c
+272c1f2f3c22383c23304321383c232f3c223a44233043213a44232b332224261c
+3335223335224e4425383c2366603356603a4e44253a4423443623342d1f2b3322
+383c234e4425383c23574f26574f265558246660333f4e1e574f264e44253a4423
+66603366603355582455582447581f5558243f4e1e4c50263f4e32383c232f3c22
+342d1f272c1f272c1f272c1f342d1f342d1f24261c272c1f24261c342d1f24261c
+342d1f24261c24261c24261c24261c24261c24261c342d1f24261c342d1f24261c
+342d1f24261c24261c24261c24261c24261c24261c24261c272c1f272c1f272c1f
+24261c272c1f272c1f24261c272c1f24261c24261c272c1f24261c24261c272c1f
+272c1f272c1f24261c272c1f272c1f272c1f2b3322272c1f272c1f2b33222b3322
+272c1f272c1f272c1f272c1f2b3322304321272c1f2f3c222b33222b3322272c1f
+2f3c223043213c5822344d1e3043214973233d5f25344d1e304321383c23344d1e
+3043212b33222b33222b33222b3322272c1f2b3322344d1e3043212f3c222b3322
+4c50263f4e32383c234e44254e50433a44233a4423383c23373e433a44233f4e32
+3a44232f3c22383c233f4e32574f264758324c50263a44233f4e324758323a4423
+3a44233a44232f3c222e3c44383c23383c23333642262e35342d1f272c1f2b3322
+3335222b33222a34383335222a3438383c23383c23383c233335222a3438342d1f
+342d1f333522373e43333522272c1f3335222b33222a34384e504349606575889b
+7d98b17d98b18da0b68a99ab92a8b6819fb7667c746b86737090816b8673576b33
+475832383c23383c23383c233335223335223335223335223a44233a4423383c23
+333522333522272c1f272c1f272c1f342d1f272c1f3335222f3c223a44232f3c22
+2b3322272c1f383c23304321333522342d1f24261c24261c24261c342d1f24261c
+24261c342d1f272c1f383c232f3c223a44233a44233a4423272c1f2b3322272c1f
+2f3c222f3c222f3c222b33223043213f4e1e3a44233a4423383c2347581f3a4423
+2b33223a44233f4e323f4e32383c233335223f4e32354c313a4423383c23383c23
+3f4e324758323a44234960658da0b692a8b692a8b68da0b69da1ab667c74667c74
+576a626374718b919f92a8b69fb0bb9ea9b48a99ab9ea9b49fb0bb9ea9b48a99ab
+8da0b68a99ab637471576a624960657787726374713043212f3c223043214b6865
+4960653a4423354c313a44232f3c22333522272c1f2b33223043212f3c222b3322
+272c1f24261c272c1f394446354c3130444d373e43576a628a99ab9fb0bb9ea9b4
+8a99ab9ea9b49ea9b48a99ab8b90807787728b919f9da1ab9da1ab8b9882848887
+6374718a99ab9da1ab666c5e5658384c50263f4e1e3335223335222f3c22333522
+2b3322272c1f2b33222b332239444654605f666c5e383c233a44233335223a4423
+3944462f3c222a34384c50269ea08a5658383335223a44233f4e1e3f4e1e47581f
+47581f3f4e1e3043212f3c223d5f25344d1e3f4e1e3a44233a4423383c233a4423
+47581f3043215558244e44253f4e1e3a442347581f3a4423383c23383c23272c1f
+272c1f3043213043212b33223043213043213043212b33222f3c222b3322272c1f
+342d1f857d674e442524261c24261c272c1f272c1f342d1f24261c24261c1c1e19
+24261c24261c24261c1c1e1924261c272c1f272c1f2b3322333522342d1f24261c
+24261c24261c1c1e191e241b24261c272c1f383c23272c1f333522272c1f2b3322
+333522342d1f4c50263a4423342d1f24261c3335222b3322342d1f24261c333522
+2f3c222f3c222f3c22383c232f3c222f3c223a4423383c233043212b3322383c23
+272c1f3335223335224436234e50436660334e4425383c23443623272c1f443623
+443623333522383c233f4e1e574f26574f264e4425333522383c23383c233f4e1e
+66592c5558243f4e1e3f4e1e4e44254758324c5026555824383c233a44232f3c22
+333522272c1f342d1f24261c342d1f272c1f272c1f342d1f342d1f272c1f272c1f
+272c1f24261c24261c342d1f24261c1c1e1924261c1e241b24261c24261c24261c
+24261c24261c24261c1c1e1924261c272c1f24261c24261c272c1f24261c24261c
+24261c342d1f272c1f342d1f24261c272c1f272c1f272c1f24261c272c1f24261c
+24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322272c1f1e241b
+2b3322272c1f1e241b272c1f2b3322344d1e2b33222b33222f3c22272c1f272c1f
+304321344d1e3d5f253c5822344d1e41671b41671b344d1e3a44232f3c22304321
+3043212f3c222b33222f3c222b33222b3322272c1f344d1e2f3c223043212b3322
+4c50264e50433a44233a44233944463a44234e50433a44234c5026394446475832
+5658383944463a44234c502656603a4758324e50433a44233a44233a44233a4423
+3a44233a4423383c23383c232f3c223a4423333522333522272c1f24261c333642
+3335223335222b3322333522333522383c23373e43383c233335222b33222a3438
+272c1f383c23383c23333522272c1f373e4330432130444d2f3c2246586475889b
+92a8b67a91a87d98b17d98b192a8b681a089627d9975889b7d98b1778772577376
+475832383c232f3c222b33223335223335222b33222b33222f3c223a44232f3c22
+2f3c222b3322333522272c1f272c1f272c1f272c1f2b33222f3c22383c232b3322
+2b33222f3c22383c233043212f3c2224261c24261c342d1f24261c342d1f272c1f
+2b3322383c233335222f3c22304321344d1e3043212f3c222b33222b33222b3322
+2b33222f3c222f3c222f3c222f3c223f4e1e344d1e3f4e1e383c234c5026304321
+2f3c223a44233f4e1e4c50263a44233a4423383c23383c233a44233f4e1e3a4423
+3f4e324758323f4e323f4e327d98b19ea9b49fb0bb94afb98da0b68a99ab8b919f
+6b867375889b7a91a89da1ab9fb0bb9ea9b48a99ab9ea9b4a3b8bc9ea9b48a99ab
+8da0b692a8b677877263747163747175889b5773764960654b6865627d996b8673
+576a62383c233f4e1e3a44232f3c222f3c22272c1f2b33223043213043212f3c22
+2b3322272c1f272c1f2a34383d4f565773766b8673576a627a91a89ea9b49ea9b4
+9da1ab9ea9b4aeb0bd9ea9b49d99818b919faba9a6aeb0bdaba9a69ea9b49d9981
+757c718a99ab9d998163747154605f3a44233a4423383c232b3322333522333522
+272c1f2b3322272c1f2b33223a442354605f666c5e3a4423354c312b3322383c23
+3a44232f3c22383c235f6156ada17f4e5043342d1f2f3c22383c233a44233a4423
+3f4e1e4c50263f4e1e3335223f4e1e344d1e3043213f4e1e3f4e1e3f4e1e383c23
+49601f3f4e1e3a4423383c233f4e1e3f4e1e3f4e1e2f3c22383c23333522272c1f
+272c1f3a44233f4e1e3a44232b33223043213043212f3c222b332224261c272c1f
+2b332275704d4e442524261c24261c342d1f24261c33352224261c24261c24261c
+24261c1c1e1924261c24261c24261c383c23383c23333522272c1f272c1f272c1f
+24261c24261c1c1e1924261c24261c272c1f383c23272c1f24261c1e241b24261c
+24261c1e241b333522333522272c1f24261c2b33223043212f3c22272c1f2f3c22
+3043213043212f3c222f3c222f3c223a4423304321383c232f3c222f3c22383c23
+2b3322342d1f342d1f24261c443623666033574f26443623272c1f342d1f2b3322
+342d1f3335223335224e442547581f4c5026383c234e44253335223335223a4423
+4c50264e44253a4423383c23574f263a44233a44234c50263a4423383c23383c23
+2f3c223335222b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f
+272c1f342d1f24261c24261c272c1f24261c24261c24261c24261c272c1f24261c
+24261c342d1f24261c342d1f24261c272c1f272c1f272c1f272c1f24261c24261c
+24261c272c1f24261c272c1f272c1f24261c24261c342d1f24261c272c1f272c1f
+272c1f24261c272c1f272c1f272c1f24261c272c1f272c1f2b33222b3322272c1f
+272c1f1e241b2b3322272c1f2b33223043213043212b3322304321304321272c1f
+3043213d5f253d5f253d5f253043213d5f2541671b344d1e3a44233335222f3c22
+2b33222f3c22272c1f2b33222b33222b3322272c1f2f3c222b33222f3c222b3322
+4758324c50263a4423373e43383c233f4e323f4e32574f264e504347583254605f
+5f61563f4e323f4e323f4e325558244c50265658383944463a44233f4e323a4423
+3a4423383c23373e43383c232a34383a4423333642342d1f272c1f342d1f262e35
+383c23383c23333642333522333642333522383c23383c23333522342d1f333522
+333522373e43383c23333522262e35394446354c313d4f56354c312e3c44465864
+75889b75889b8da0b694afb99fb0bb8a99ab7d98b19fb0bb9fb0bb92a88d597c75
+3d573b3043212f3c223f4e323944462f3c22272c1f2b33222f3c223a44233a4423
+3335222b33222f3c2224261c24261c272c1f272c1f272c1f3335222f3c222b3322
+2b3322383c233a4423344d1e333522342d1f272c1f272c1f272c1f2b3322272c1f
+272c1f272c1f272c1f333522383c233f4e1e3a44232b33223335222f3c222f3c22
+2b33222f3c223043212f3c22344d1e3a44233a44233a4423344d1e344d1e3a4423
+3a44234c50264c50263f4e1e2f3c223a44233a4423333522383c234e44253f4e32
+3a44234758323f4e32354c31627d998a99ab9ea9b49ea9b48da0b68a99ab8a99ab
+75889b7d98b18da0b692a8b69fb0bb9ea9b48da0b69fb0bbaeb0bd9ea9b48a99ab
+8da0b68a99ab577376667c74667c7475889b667c74597c7575889b667c74577376
+3d4f563a44233f4e32344d1e304321354c313043213a44233d573b3f4e1e2f3c22
+2b33222b33222b33222b33223944466886a68b919f607590757c719ea9b4aeb0bd
+9ea9b4aba9a6aeb0bd9ea9b49da1ab8b919f9da1abaeb0bdaeb0bd9ea9b49da1ab
+7787728a99ab8a99ab757c7154605f3a44232f3c222b3322272c1f3335222f3c22
+2b3322272c1f2b33223944463f4e323a44233f4e32383c233f4e323335223f4e32
+54605f2f3c224e5043767b479a9178383c23272c1f3335222f3c223a4423344d1e
+47581f3f4e1e47581f344d1e3a44233f4e1e3a44233a44233a44233f4e1e3a4423
+47581f4c50264e44253a44233a4423383c23383c232b3322333522272c1f24261c
+272c1f2b33222f3c222b33223335222f3c223a44232b33222b33222b33222b3322
+304321565838443623342d1f272c1f272c1f272c1f24261c24261c24261c342d1f
+24261c24261c24261c24261c24261c383c23333522383c233a4423383c23342d1f
+1c1e191c1e191c1e1924261c24261c342d1f272c1f272c1f1e241b1c1e191e241b
+24261c24261c2b33222f3c222f3c22272c1f272c1f3043212f3c22272c1f333522
+3f4e1e344d1e344d1e3043213a44233a4423383c233335222f3c22344d1e344d1e
+3335222b33222b332224261c4e3d22666c5e4e3d22333522342d1f24261c272c1f
+272c1f342d1f383c233043214e3d224e44253a44234c50262b33223335223f4e1e
+3a44233a44233a4423383c23383c234e44253a4423344d1e3a4423383c23383c23
+3335222f3c222f3c22342d1f272c1f272c1f24261c272c1f272c1f24261c272c1f
+333522272c1f272c1f272c1f342d1f24261c24261c24261c342d1f24261c24261c
+24261c24261c24261c24261c24261c24261c24261c272c1f272c1f272c1f24261c
+272c1f272c1f272c1f342d1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f2b3322272c1f2b33223043213043212f3c223043212f3c222f3c22
+2f3c223c58223d5f253d5f253c58223c58223d5f253043213043212f3c222f3c22
+2b33222b33222b33222b3322272c1f2b33222b33222b33222f3c222b33222b3322
+3f4e324e4425383c23333642383c233a44233f4e324e50434758324e50435f6156
+56603a3f4e324e50434c50264c50264c50264c50263a44233944464c50264e4425
+3944463a4423383c23383c233335222f3c223a4423342d1f262e35272c1f342d1f
+2a34383335223335222f3c22383c232b33223335222a3438333522262e35342d1f
+342d1f383c23383c23333522262e353d4f563f4e32354c3130432130444d354c31
+576a62626e8c7a91a892a8b69fb0bb92a8b692a8b69fb0bb94afb97d98b1577376
+3c5822354c313944463d573b354c31333522272c1f2b33222f3c22383c23383c23
+272c1f272c1f272c1f342d1f272c1f272c1f24261c272c1f2b3322272c1f24261c
+272c1f2b33223335223a44232f3c22342d1f272c1f24261c272c1f24261c272c1f
+272c1f272c1f342d1f383c233a44233f4e1e3f4e1e2f3c222b33222f3c22304321
+272c1f2b33222f3c22344d1e3f4e1e344d1e3a44233a44234c50263f4e1e344d1e
+3f4e324960324758324c5026383c233a44233a44233a44233043213f4e1e3f4e32
+3f4e3256603a5658384658648488878a99ab92a8b69fb0bb8da0b68da0b68da0b6
+75889b8da0b694afb99ea9b49ea9b49ea9b492a8b69ea9b49fb0bb9fb0bb92a8b6
+92a8b68a99ab597c75667c7475889b627d998a99ab819fb77a91a8576a62465864
+3944462f3c223f4e323a44233a44233a44232f3c223f4e324b6865496032354c31
+3a44232f3c222f3c22272c1f383c2354605f7a91a88488877a91a88da0b6aeb0bd
+aeb0bdaeb0bdaeb0bd9ea9b49da1ab8a99ab9da1abaeb0bdaeb0bdaeb0bd9da1ab
+9a91788488878b90808488875658383a4423333522272c1f2b3322342d1f2b3322
+342d1f272c1f2b332254605f5658382e3c443a44233944463f4e322f3c224e5043
+3f4e323d4f56666b3b75704d666b3b342d1f24261c3335223a44233a44233a4423
+344d1e344d1e3f4e1e3a44233a442347581f3f4e1e383c23344d1e49601f3f4e1e
+3f4e1e3a4423333522383c232f3c222b3322272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f2b3322272c1f342d1f2b33222f3c222f3c223335222f3c222b3322
+3a44233a44232b3322342d1f272c1f272c1f24261c24261c24261c24261c342d1f
+24261c24261c1c1e19342d1f24261c383c23333522383c23383c233a4423333522
+24261c24261c24261c24261c342d1f2b3322272c1f24261c1c1e191c1e19272c1f
+2b3322272c1f3043213043213a44232b3322272c1f383c233f4e1e2f3c22333522
+3335223a44233f4e1e3a4423344d1e3a44233a442347581f4c50263a44233f4e1e
+3043212f3c222b3322272c1f3a44235f6156342d1f342d1f33352224261c24261c
+272c1f342d1f333522383c233335224e4425383c233a4423383c23333522333522
+3335223335223335223335222b33223a44233a44233a4423383c23383c232f3c22
+3335222b33222b3322342d1f272c1f272c1f342d1f24261c24261c24261c342d1f
+342d1f272c1f24261c342d1f272c1f333522272c1f24261c342d1f272c1f24261c
+342d1f24261c272c1f24261c272c1f272c1f24261c272c1f342d1f272c1f24261c
+24261c272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f342d1f272c1f
+383c23272c1f272c1f272c1f24261c24261c24261c24261c272c1f2b3322272c1f
+272c1f272c1f2b33222b3322272c1f304321344d1e2b33223043213043212f3c22
+2b3322344d1e3c58223d5f25344d1e304321344d1e3043212f3c222b33222f3c22
+272c1f2b3322272c1f333522272c1f272c1f272c1f2b33222b33222b33222b3322
+4e44253f4e323a4423333642373e43354c3147583254605f6374716b867375889b
+6b8673576a624960325658384e50433f4e325658383a4423373e433f4e323a4423
+3a4423383c23394446333522262e35383c23373e43333522342d1f262e35272c1f
+333522373e43333522383c23373e432b33223335222f3c223335222b3322272c1f
+262e35333522333642342d1f272c1f373e433d4f5654605f4b68654b686530444d
+3d4f564b68657a91a89ea9b494afb992a8b694afb99fb0bb9fb0bb8ea0894b6865
+3f4e3254605f667c7475889b4658643335222f3c222b3322383c23383c23333522
+272c1f272c1f333522272c1f272c1f333522272c1f272c1f24261c272c1f1e241b
+272c1f272c1f2b33222f3c222f3c222f3c22272c1f272c1f1e241b24261c24261c
+272c1f272c1f272c1f342d1f2f3c223a4423383c23344d1e3043212f3c222f3c22
+383c232f3c223335223a44233f4e1e3a44234c50263f4e1e47581f496032496032
+6274446b86735560243f4e323a44233a44234c50263a44233a44234c50264c5026
+3944463d573b47583254605f6f8fae7d98b18da0b69ea9b49ea9b48da0b68b919f
+75889b8da0b69ea9b492a8b69fb0bb9fb0bb9ea9b492a8b69ea9b49ea9b492a8b6
+92a8b67d98b175889b7d98b17d98b18da0b692a8b692a8b67d90824658643a4423
+2b33222f3c222f3c222b3322304321344d1e3043213f4e32576a6254605f3a4423
+3a44233335222f3c222e3c442f3c2254605f8da0b69ea9b49da1ab9da1ab9ea9b4
+aeb0bdaeb0bdaba9a6aeb0bdaba9a69ea9b4aeb0bdaeb0bdaeb0bdaeb0bdafb9bc
+8b919f857d67637471757c71565838373e43333522272c1f272c1f2b33222b3322
+2b33222b33222b332254605f3f4e32373e433a44233944463f4e323a4423496032
+30432163747163747175704d5f6156342d1f272c1f272c1f3a44233043213a4423
+3f4e1e3a44233a44234c50264c5026574f263f4e1e3f4e1e4c50265560243a4423
+3a44232b3322272c1f2f3c2233352233352224261c24261c272c1f342d1f272c1f
+272c1f24261c24261c272c1f272c1f272c1f2f3c222f3c222b33223335222b3322
+4758324e5043272c1f333522272c1f272c1f1e241b24261c24261c272c1f272c1f
+24261c24261c24261c24261c272c1f383c232f3c222f3c223a4423383c23342d1f
+24261c24261c342d1f2f3c22333522383c23342d1f24261c24261c24261c2b3322
+33352224261c3335223335222b33222f3c222b3322272c1f3335223043213a4423
+2b33222b33222f3c223043213a442347581f47581f5560245558245558243a4423
+3f4e1e3a4423383c23272c1f3a442374643e574f26383c23342d1f272c1f24261c
+24261c272c1f4e3d22383c23383c23383c233a4423383c233335222f3c222f3c22
+333522272c1f2b33222f3c22333522383c23383c23333522383c23383c23383c23
+333522272c1f2b33222b3322333522272c1f24261c24261c24261c24261c272c1f
+333642272c1f272c1f272c1f383c23383c23383c23272c1f342d1f272c1f272c1f
+262e35342d1f272c1f272c1f272c1f342d1f342d1f272c1f272c1f272c1f272c1f
+272c1f24261c272c1f272c1f272c1f272c1f272c1f2b33222b3322272c1f2b3322
+33352224261c272c1f33352224261c24261c272c1f272c1f24261c272c1f342d1f
+272c1f24261c272c1f272c1f272c1f344d1e344d1e2f3c222f3c22304321344d1e
+2b33223043213043213043213043213335222f3c222f3c222f3c222b33222b3322
+2f3c22272c1f333522272c1f342d1f272c1f272c1f2b33222b33222b3322272c1f
+3944463a44233f4e322e3c443944464b6865597c75667c747a91a88a99ab7d98b1
+7d908263747156603a56603a4758324c50264e50433a44234c50263f4e324e5043
+4658643a4423383c23383c233335223a4423383c232a3438342d1f262e35342d1f
+2b33222f3c22333522383c23383c23333522383c232a3438333522342d1f272c1f
+24261c3335223335223335222b33222a343830444d4561856886a66b86734b6865
+496065556c8460759092a8b694afb994afb994afb99fb0bb94afb96886a64b6865
+597c757090817a91a8597c753944462b33222e3c442f3c222f3c222f3c22333522
+272c1f272c1f2b3322272c1f272c1f33352224261c272c1f24261c24261c1e241b
+272c1f24261c342d1f2f3c22383c23333522272c1f272c1f24261c24261c24261c
+272c1f3335222b3322342d1f272c1f272c1f342d1f383c233f4e1e383c232b3322
+3f4e1e3a4423272c1f2f3c223a44233a44233a44234c50263f4e1e475832576a62
+6374716374714758324c50263f4e1e3a44233f4e32354c313a44233f4e1e4c5026
+39444649603249606554605f7e98828da0b68da0b69ea9b49fb0bb8a99ab8a99ab
+7a91a88a99ab9ea9b49ea9b492a8b69fb0bb9ea9b49fb0bb94afb99ea9b49ea9b4
+9ea9b492a8b67d98b18da0b68da0b692a8b692a8b67a91a86075903d4f56304321
+2f3c22383c232f3c223335222f3c22354c313f4e323043214960654b69333f4e32
+3f4e323a44233043212f3c223043214658648a99ababa9a6aeb0bd9ea9b4aeb0bd
+aeb0bdaeb0bdaeb0bdaeb0bdaeb0bd9ea9b4aeb0bdaeb0bdaeb0bdaeb0bdaeb0bd
+9ea08a757c715f61565f61563f4e323336423335222b33222b3322333522333522
+272c1f272c1f2b33224758324e5043373e43354c3154605f54605f354c3154605f
+3f4e32666c5e666b3b5f6156666b3b342d1f272c1f272c1f383c232f3c222f3c22
+3a4423344d1e3a44233a4423344d1e3a44233f4e1e304321383c233f4e1e333522
+383c23272c1f272c1f272c1f272c1f272c1f24261c1e241b24261c272c1f272c1f
+272c1f24261c1e241b342d1f272c1f24261c272c1f3335222f3c22272c1f2b3322
+3a44233a44233335222b33222b3322383c23333522342d1f272c1f2b33222b3322
+272c1f24261c24261c24261c342d1f383c232b3322383c233a44233a4423342d1f
+24261c342d1f333522333522333522333522383c23342d1f24261c24261c2f3c22
+3f4e1e2b33222b33222b33222f3c222b33222b3322272c1f272c1f383c233f4e32
+2b33222b3322333522333522383c234c5026576a1f576b336660333f4e1e383c23
+383c233a4423383c232b33222b33223f4e32443623333522272c1f24261c24261c
+24261c24261c342d1f333522333522383c233a4423272c1f272c1f333522344d1e
+2f3c222b33222f3c222b3322333522383c23383c233335222f3c223a4423304321
+333522272c1f342d1f272c1f333522333522333522333522342d1f2b3322272c1f
+333522342d1f3335223335222f3c222b3322333522272c1f272c1f272c1f333522
+2f3c222b3322272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f272c1f
+272c1f272c1f272c1f24261c272c1f272c1f342d1f272c1f3335222b3322333522
+2b3322272c1f272c1f33352224261c1e241b272c1f24261c24261c272c1f24261c
+272c1f272c1f2b33222b3322272c1f3043213f4e1e2b33223335222b3322383c23
+2b33223a44232b33223043213a44233335222b3322333522333522333522342d1f
+2b33222b33222b3322272c1f342d1f272c1f272c1f2b3322333522272c1f2b3322
+373e433a44234e4425394446576a62667c7475889b6f8fae8a99ab8da0b68da0b6
+7d98b1667c7456603a47583247581f4758324c50264e50433a44233f4e32496032
+5658383944462f3c22333642333522383c23383c232b3322262e35272c1f262e35
+2b33222f3c222f3c223a4423373e432f3c22383c23262e35272c1f262e3524261c
+272c1f2b33222b33223944462b332230444d4960656374714a6a8d6886a67d98b1
+7e98825d83a4627d998da0b692a8b69fb0bb9fb0bb94afb98a99ab667c746886a6
+8da0b694afb992a8b6577376304321342d1f2f3c222f3c22272c1f342d1f2b3322
+272c1f272c1f272c1f272c1f272c1f333522272c1f272c1f24261c272c1f24261c
+24261c24261c272c1f2b3322383c232f3c22342d1f272c1f342d1f24261c24261c
+272c1f333522272c1f342d1f24261c272c1f272c1f342d1f3335224e4425333522
+3a44233a4423333522383c233a44233a44233a44233a44233f4e324b6933666c5e
+8a99ab667c744758323f4e323f4e323f4e323f4e323a44233944463a44233a4423
+354c31576a62597c754b68656f8fae9fb0bb9ea9b492a8b69ea9b48da0b68da0b6
+8a99ab8da0b692a8b69fb0bb9fb0bb92a8b692a8b69ea9b49ea9b49fb0bb9ea9b4
+92a8b68a99ab8b919f8da0b692a8b68da0b692a8b675889b576a623d573b465864
+3043213043212f3c222b3322304321354c313f4e324b68653f4e323944462e3c44
+3f4e323f4e3254605f496065304321465864848887aeb0bdaeb0bdaeb0bdaeb0bd
+aeb0bdaeb0bd9ea9b4aeb0bdaeb0bd9da1ab9fb0bb9ea9b49ea9b4aeb0bd9ea9b4
+848887637471757c713a4423333522333522272c1f2f3c222f3c222f3c222b3322
+2b33222b33222b3322373e433f4e32576a6263747163747154605f3a4423565838
+2f3c225f61565f6156666c5e666b3b272c1f272c1f272c1f2b33222b3322333522
+2b33222b33222f3c22383c233f4e1e3a4423383c23383c233a4423383c232b3322
+333522272c1f1e241b2b332233352224261c272c1f24261c24261c272c1f272c1f
+272c1f24261c272c1f272c1f24261c24261c272c1f1e241b342d1f272c1f272c1f
+4e50434e44253f4e322a34382b33222a3438262e352f3c222f3c223a44233f4e32
+2f3c22333522333522333522333522383c232f3c222b3322383c23333522342d1f
+272c1f272c1f333522333522383c232f3c2233352233352224261c24261c2f3c22
+3a4423272c1f2b33222b33222f3c22272c1f1e241b24261c272c1f3335223a4423
+2b3322333522333522333522272c1f383c2356603a5658384c5026383c23333522
+2b3322342d1f272c1f342d1f2b33222b3322342d1f24261c24261c24261c1c1e19
+24261c24261c272c1f333522342d1f272c1f3a4423333522333522383c233a4423
+2f3c222b33223335222f3c222b33222b33222f3c222f3c22383c23383c23383c23
+2b33222b33222b33222b33222f3c223335222b33223335222b3322272c1f342d1f
+272c1f2b33222b33222f3c22272c1f342d1f3336423a44233335222b3322333522
+2f3c222f3c222b3322272c1f272c1f272c1f272c1f3335222b3322272c1f2b3322
+272c1f272c1f272c1f272c1f342d1f272c1f262e35342d1f272c1f272c1f333522
+2b3322333522272c1f342d1f24261c24261c342d1f24261c272c1f24261c24261c
+272c1f24261c2b33222b3322272c1f2b33222f3c22272c1f272c1f342d1f2b3322
+272c1f2b33222b3322333522383c23342d1f272c1f342d1f272c1f272c1f2b3322
+2b33222b3322272c1f2b3322272c1f24261c272c1f2b3322272c1f2b3322272c1f
+3a44233f4e324e50433d573b60759075889b7a91a87d98b18da0b692a8b69ea9b4
+7d98b177877249603256603a4758324c50264c50263f4e324e44253f4e3254605f
+3f4e322f3c22333522333642333522333642383c233335222b3322333642342d1f
+272c1f2a34383043213f4e322f3c22333522333522342d1f342d1f262e35272c1f
+2a34383336422b33222e3c442a3438465864496065607590496065607590819fb7
+92a8b6819fb77d98b19fb0bb92a8b694afb992a8b69fb0bb7d98b17d98b18da0b6
+92a8b68da0b675889b3d573b2f3c22333522373e432b3322272c1f272c1f333522
+272c1f342d1f272c1f272c1f272c1f333522333522333522342d1f333522342d1f
+33352224261c272c1f333522383c232f3c22342d1f272c1f342d1f342d1f342d1f
+3335224c5026333522342d1f272c1f272c1f272c1f342d1f342d1f333522333522
+383c233a4423383c233a44233f4e1e383c233f4e1e3f4e323f4e32496032496065
+667c74667c74576a6247581f3f4e323a4423383c232f3c22383c233a44233a4423
+465864667c746b8673627d997a91a88da0b69ea9b492a8b69ea9b492a8b68da0b6
+8da0b69ea9b492a8b692a8b69ea9b49ea9b49ea9b492a8b692a8b69ea9b49ea9b4
+92a8b68da0b68b919f8a99ab92a8b68da0b675889b577376556c84577376597c75
+577376354c313043212f3c223a4423354c3147583254605f3d573b3043212f3c22
+47583254605f6374717d90823c586f496065757c719ea9b4aeb0bdaeb0bdaeb0bd
+aeb0bdaeb0bdaeb0bdaeb0bd9ea9b49da1ab9ea9b49fb0bb9fb0bb9da1ab9d9981
+848887757c7187886d54605f2f3c222b3322272c1f383c233a44232f3c222f3c22
+2f3c222b33223335222f3c223944466374718b919f778772667c743d4f5654605f
+5658384e504344362375704d666c5e3335222b3322272c1f342d1f272c1f342d1f
+272c1f2b3322383c23333522304321383c23333522272c1f272c1f2b3322272c1f
+272c1f2b3322272c1f333522272c1f342d1f272c1f272c1f272c1f333522272c1f
+272c1f24261c342d1f272c1f1c1e191e241b24261c24261c272c1f272c1f272c1f
+383c233944465658382e3c444758324960653043213d573b3d573b54605f3a4423
+2f3c222f3c22304321383c232f3c222f3c223043212f3c222f3c22272c1f272c1f
+272c1f272c1f3335222b3322342d1f272c1f333522342d1f1c1e1924261c342d1f
+2b3322272c1f272c1f2b33222f3c2224261c24261c24261c333522342d1f333522
+3335222b33223335222b3322272c1f342d1f2b3322333522272c1f342d1f24261c
+272c1f24261c342d1f3335222b3322272c1f272c1f24261c24261c342d1f24261c
+24261c24261c272c1f383c23272c1f272c1f2f3c223a4423333522333522333522
+3335222f3c22272c1f3335223335222f3c222b3322304321383c23383c232f3c22
+272c1f2b33222f3c222f3c22304321383c232f3c223335222f3c222b33222f3c22
+2b33222b3322383c233a4423272c1f272c1f342d1f2b33222f3c223335222f3c22
+2f3c223043212b3322272c1f383c232b3322272c1f272c1f272c1f3335222f3c22
+272c1f342d1f272c1f24261c24261c272c1f272c1f2b3322272c1f2b3322333522
+342d1f3335222b3322342d1f272c1f24261c272c1f24261c24261c24261c24261c
+24261c24261c342d1f272c1f272c1f2b33222f3c22272c1f272c1f272c1f272c1f
+272c1f272c1f342d1f342d1f272c1f272c1f272c1f342d1f342d1f272c1f272c1f
+272c1f272c1f342d1f272c1f272c1f272c1f272c1f2b3322342d1f272c1f272c1f
+373e433f4e323f4e323c586f60759075889b7a91a88a99ab92a8b692a8b68da0b6
+7d98b16b8673666b3b5658384758325658383f4e324e5043576a62475832465864
+354c312f3c22333522383c232b3322383c23373e43333522342d1f2b33222b3322
+272c1f2b33223a4423383c232f3c22383c232a34382b33222b3322262e35272c1f
+3335222f3c222b33223335222e3c443d4f565773766886a6537499556c847d98b1
+9fb0bb92a8b692a8b692a8b692a8b69ea9b49ea9b492a8b68da0b68a99ab8da0b6
+92a8b6819fb7577376344d592f3c222f3c22333522272c1f262e35272c1f272c1f
+272c1f2b33222b3322272c1f2b33222f3c22383c23383c232b3322383c23383c23
+342d1f24261c24261c333522333522333522272c1f3335222b3322342d1f272c1f
+333522383c23342d1f333522342d1f272c1f272c1f24261c24261c333522333522
+3335223a4423383c23383c233a44233a44234e44253a4423465864576a6254605f
+576a6263747154605f47583256603a3f4e1e3a4423394446354c31394446496032
+496065667c747d98b18a99ab8a99ab92a8b692a8b69ea9b492a8b69ea9b48da0b6
+8a99ab8da0b69ea9b49da1ab92a8b69ea9b492a8b69ea9b492a8b69ea9b48da0b6
+9ea9b492a8b68da0b68da0b68da0b68da0b675889b6b86736f8fae667c74577376
+666c5e3944463335223a442354605f354c31496065819fb775889b344d592f3c22
+4e504354605f576a6277877249606546586475889b9ea9b4aeb0bdc0b8a6aeb0bd
+aeb0bdaeb0bdaeb0bd9ea9b49ea9b492a8b69ea9b49ea9b49ea9b49ea9b48da0b6
+778772757c715f61563f4e323f4e32383c232f3c223a44233a44233a44232f3c22
+2f3c222f3c222f3c22354c314e5043666c5e8b919f7a91a8667c74496065576a62
+4e5043373e43333642666c5e574f262f3c22333522342d1f2b33223335222b3322
+1e241b272c1f272c1f2b3322333522272c1f272c1f24261c272c1f2b3322272c1f
+272c1f2b3322272c1f2b33222b33223335222b33222b3322342d1f33352224261c
+24261c24261c33352233352224261c1c1e191c1e191e241b24261c24261c272c1f
+4e4425333642565838354c313d4f5646586454605f4b6865354c31344d1e3a4423
+304321304321304321383c232f3c223a4423383c23333522383c2333352224261c
+342d1f3335223043212b33222b3322272c1f272c1f272c1f24261c24261c24261c
+272c1f1e241b272c1f272c1f342d1f272c1f1c1e19272c1f2b3322342d1f333522
+2b3322262e35333522333522342d1f272c1f24261c24261c24261c342d1f24261c
+24261c24261c1e241b24261c272c1f2b332224261c24261c24261c24261c24261c
+24261c24261c342d1f33352233352224261c333522383c232f3c222b3322333522
+2f3c22383c232f3c222f3c223043213a4423383c233a4423304321333522333522
+3f4e1e3f4e1e344d1e3f4e1e3a44233a4423383c233043212f3c22344d1e2f3c22
+3335222b33223a4423627444272c1f2f3c222b33222b33222b33222b33222f3c22
+3335222b33223a4423383c232b3322342d1f272c1f3335222b33222b3322342d1f
+2b3322272c1f272c1f272c1f272c1f272c1f2b3322272c1f3335222b33222f3c22
+2b33222f3c222b3322272c1f272c1f24261c24261c24261c24261c24261c24261c
+24261c24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f
+272c1f272c1f272c1f272c1f342d1f24261c272c1f272c1f2b3322272c1f272c1f
+272c1f272c1f342d1f272c1f24261c333522333522342d1f272c1f272c1f272c1f
+2f3c223f4e323d4f564960656f8fae8a99ab92a8b692a8b68da0b68da0b68da0b6
+75889b6b8673576a624960324e50434758323f4e324758324b686547583254605f
+3f4e32354c312a34383335222a34383335222f3c22333522262e352b3322333642
+24261c272c1f2b3322383c232f3c222b33222b3322262e352b3322262e352b3322
+2b33222f3c222b33223335222e3c443944464658644a6a8d556c84626e8c7a91a8
+8da0b692a8b692a8b69ea9b492a8b692a8b694afb992a8b6819fb792a8b692a8b6
+92a8b67d98b14960653043212a34383043212f3c222b3322272c1f2b3322333522
+342d1f272c1f383c23272c1f342d1f2f3c223a4423383c23333522383c23383c23
+333522342d1f342d1f3335222b3322342d1f24261c333522383c2333352224261c
+333522333522272c1f342d1f272c1f24261c272c1f272c1f24261c342d1f342d1f
+342d1f2b3322383c233a4423565838354c31394446383c234e50436374714b6865
+4b68656b867375889b576a62576a624758324758323f4e323f4e323d4f563d573b
+4b686575889b8b919f92a8b68da0b69da1ab92a8b69ea9b492a8b692a8b69ea9b4
+8da0b68da0b69ea9b492a8b692a8b69ea9b492a8b69ea9b48da0b69fb0bb8da0b6
+9ea9b492a8b68da0b69ea9b48da0b68a99ab7a91a86886a6627d99556c84496065
+496065354c313043212f3c223f4e323f4e324b68657e98827d90824960653f4e32
+354c314e5043465864627d997d98b175889b8b919f9da1abaeb0bdaeb0bdaeb0bd
+aeb0bdaeb0bd9ea9b49ea9b49ea9b492a8b692a8b69ea9b49ea9b49da1ab9da1ab
+9da1ab778772666b3b565838666c5e5f61563a44233043213a4423383c23333522
+3335222f3c22383c233a44233a442354605f757c7175889b6374714b686554605f
+383c23333642333522757c714e50432f3c223043212f3c223a44233043212f3c22
+272c1f272c1f24261c342d1f342d1f1e241b272c1f2b33222b3322333522272c1f
+272c1f272c1f272c1f24261c2b33222b33223335222b3322333522333522272c1f
+24261c24261c342d1f342d1f24261c24261c1c1e1924261c24261c272c1f2b3322
+3a4423272c1f2a34383d4f566374713d4f564658644960653f4e1e354c313a4423
+2f3c223a44232f3c22383c232f3c223043213a4423383c23333522333522272c1f
+342d1f2f3c222f3c2224261c272c1f24261c24261c272c1f24261c272c1f1e241b
+1c1e191e241b1e241b24261c272c1f272c1f1c1e19342d1f2b33222f3c222b3322
+272c1f272c1f342d1f2b3322272c1f272c1f24261c24261c24261c33352224261c
+342d1f1c1e1924261c1e241b24261c333522342d1f24261c24261c342d1f24261c
+24261c24261c272c1f272c1f342d1f24261c272c1f2b3322383c23272c1f2f3c22
+3335222b33222b33223a44233a44233a4423383c234e44253a44232f3c222f3c22
+4c50264c50264c50263a4423383c23383c232b33222b3322342d1f383c232f3c22
+3335222b33223335223f4e1e2b3322383c23342d1f272c1f272c1f2b33222b3322
+2b3322272c1f333522333522272c1f2b33222b33222b33222b33222f3c222b3322
+272c1f2b3322272c1f272c1f272c1f342d1f333522272c1f2b3322333522383c23
+2f3c223a44232f3c22272c1f272c1f24261c24261c24261c342d1f24261c24261c
+24261c24261c24261c24261c24261c272c1f272c1f272c1f272c1f24261c24261c
+272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f272c1f
+24261c272c1f272c1f342d1f272c1f3335222b3322333522272c1f342d1f272c1f
+373e433f4e324960654960656886a67a91a87d98b1819fb792a8b692a8b67a91a8
+7a91a8608471576a6254605f49603254605f576a626374716b8673667c74465864
+3d4f564e5043373e433335222b33222f3c223335222e3c44342d1f342d1f272c1f
+24261c262e3524261c262e353335222a3438342d1f2b33222b3322262e35272c1f
+2f3c222b33222e3c442b33223335222a34382a3438344d594658644a6a8d7a91a8
+92a8b692a8b692a8b692a8b692a8b694afb99ea9b492a8b68da0b692a8b692a8b6
+92a8b67d98b14960653043212e3c44383c23333522333522272c1f2b33222b3322
+3335222b3322333522272c1f272c1f272c1f333522333522342d1f2e3c44383c23
+2b3322333522333522383c23262e35272c1f272c1f342d1f333522272c1f272c1f
+272c1f342d1f272c1f272c1f272c1f272c1f24261c342d1f24261c272c1f272c1f
+272c1f24261c2a34383335223f4e323a442354605f3d573b54605f576b33577376
+63747175889b6374714960654e50433944463944463d4f564e50433d4f563c5072
+54605f627d998a99ab92a8b69ea9b492a8b692a8b692a8b68da0b692a8b68da0b6
+8a99ab8da0b692a8b68da0b692a8b692a8b692a8b68da0b692a8b68da0b69ea9b4
+8da0b68da0b68da0b692a8b692a8b6819fb78da0b675889b75889b576a62456185
+667c743944463a44232f3c223944463f4e324960656886a66b86733d573b3d4f56
+354c31465864465864576a627a91a88a99ab8a99ab9da1abaeb0bdaeb0bdaeb0bd
+aeb0bd9da1ab9ea9b49da1ab8da0b69ea9b48da0b69ea9b49ea9b49ea9b49da1ab
+9ea9b4848887576a625658387787728b98823f4e323a44233a44233a4423333522
+2f3c223335223a44233a442330444d496065637471576a626374714b68654e5043
+383c233336422b3322666c5e5658382f3c223a4423383c232f3c222f3c22383c23
+2f3c223a4423272c1f24261c2b3322272c1f272c1f2f3c222b33222b33222b3322
+2b3322272c1f24261c24261c272c1f2b33222b3322383c23272c1f333522272c1f
+1e241b272c1f272c1f24261c24261c1c1e1924261c24261c24261c24261c333522
+333522272c1f272c1f373e43576a624658643043213f4e32383c232b3322333522
+383c23383c232b33223335222f3c22383c232f3c223335222f3c222b3322272c1f
+272c1f3335222f3c22272c1f272c1f24261c24261c24261c24261c24261c24261c
+1c1e1924261c24261c272c1f24261c272c1f2b33222f3c222f3c222f3c22333522
+2b33222b33222b33222b3322342d1f342d1f272c1f24261c342d1f342d1f342d1f
+342d1f24261c24261c24261c24261c24261c272c1f24261c24261c342d1f24261c
+24261c1c1e1924261c24261c1e241b24261c24261c333522272c1f272c1f2b3322
+2b332224261c272c1f342d1f383c23383c23383c23383c233f4e1e3a44232f3c22
+333522383c23333522333522333522333522272c1f24261c24261c342d1f272c1f
+3335222b3322272c1f3335222b3322272c1f272c1f3335222f3c223043212b3322
+342d1f333522272c1f383c23272c1f333522272c1f2b33222b33222b3322272c1f
+342d1f272c1f2b3322272c1f272c1f2b3322342d1f2b3322272c1f333522383c23
+333522333522272c1f272c1f333522342d1f24261c272c1f24261c272c1f24261c
+24261c24261c24261c272c1f272c1f272c1f342d1f24261c272c1f272c1f24261c
+272c1f272c1f2b3322272c1f342d1f342d1f272c1f272c1f272c1f342d1f272c1f
+272c1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+373e433f4e324960653d573b627d9975889b8da0b6819fb792a8b692a8b68da0b6
+7d98b16f8fae667c74667c74709081778772667c7463747175889b5d83a44b6865
+5773764658642f3c222b3322383c232a34383335222e3c44272c1f262e35262e35
+24261c262e35272c1f342d1f2a34383335222b33222a3438272c1f272c1f24261c
+2a34382b33223335222a34382b33222e3c442e3c443d4f563c50723c5072607590
+7d98b18da0b694afb992a8b692a8b692a8b68da0b692a8b692a8b692a8b692a8b6
+92a8b6819fb74960653043213335223335222a3438333522272c1f2b33222b3322
+2b33222b3322383c2324261c272c1f2b3322333522333522342d1f333522383c23
+333522272c1f2b3322383c23342d1f272c1f272c1f24261c342d1f272c1f342d1f
+272c1f342d1f272c1f342d1f342d1f342d1f24261c272c1f24261c24261c1e241b
+272c1f24261c272c1f333522394446373e434e5043496065637471576a626b8673
+7d98b1667c7454605f4960653f4e324e50433f4e323944463f4e323f4e32344d59
+4658646886a675889b8da0b68da0b68da0b69ea9b492a8b69da1ab8da0b692a8b6
+8da0b68da0b68da0b692a8b68da0b68da0b692a8b68da0b692a8b68da0b68da0b6
+9ea9b492a8b69da1ab92a8b692a8b68da0b68a99ab7a91a875889b4658643d4f56
+465864354c313a44233335222f3c22383c23354c31556c84597c754b6865496065
+3d573b6374714658644960657a91a87a91a88a99ab9ea9b4aba9a6aeb0bd9ea9b4
+9ea9b49ea9b48da0b69ea9b49ea9b492a8b69ea9b49ea9b492a8b69da1ab8da0b6
+8da0b67d9082576a623f4e328b919f9d99815f6156383c23383c23383c23333522
+333522333522354c313a44233944464b6865556c84556c84666c5e54605f3f4e32
+3336422e3c443f4e32666c5e4e50433f4e322f3c223335222f3c222f3c22373e43
+344d59565838272c1f24261c2f3c22272c1f272c1f2f3c22272c1f2b33222f3c22
+2b33221e241b272c1f272c1f24261c272c1f2b3322333522272c1f342d1f342d1f
+272c1f24261c24261c1c1e1924261c24261c24261c24261c24261c24261c383c23
+33352224261c272c1f2e3c443d4f56465864354c312f3c22333522333522333522
+2b33222b33222b33222b33222f3c222f3c222b3322333522383c23333522272c1f
+342d1f33352233352224261c24261c24261c24261c24261c24261c24261c24261c
+1c1e19272c1f3335222f3c223335222f3c22304321304321304321344d1e2f3c22
+3043213a4423304321272c1f272c1f24261c24261c24261c33352233352224261c
+342d1f24261c24261c24261c24261c24261c24261c24261c272c1f24261c24261c
+24261c24261c24261c24261c24261c1e241b1e241b272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f383c2333352233352233352224261c
+1e241b24261c1e241b24261c24261c24261c342d1f272c1f272c1f24261c24261c
+272c1f272c1f2b3322272c1f342d1f2b3322272c1f2f3c22304321304321344d1e
+383c232b3322272c1f3a44232b3322333522272c1f2b33222f3c222b33222b3322
+2b33222b33222b3322272c1f272c1f2b3322272c1f2b3322383c23333522272c1f
+272c1f2b33222f3c222b3322272c1f272c1f24261c24261c342d1f24261c24261c
+24261c24261c24261c24261c24261c24261c272c1f24261c24261c24261c342d1f
+342d1f272c1f2b33222b3322272c1f342d1f272c1f272c1f272c1f24261c272c1f
+272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322
+2f3c224960654b68654658644b68656886a6819fb78da0b6819fb78da0b68da0b6
+8a99ab709081597c756374716886a67090816886a675889b7090816886a6577376
+556c844b6865373e43333522333642333522333522333522262e35342d1f24261c
+272c1f333642262e35272c1f2b33222a3438333522342d1f2a3438272c1f262e35
+2b33222b33222e3c44342d1f2b332230444d30444d2e3c443c586f3c5072556c84
+75889b8da0b68da0b68da0b692a8b68da0b692a8b692a8b68da0b692a8b692a8b6
+92a8b67d98b14960653043212a34382b33222f3c222f3c22333522333522333522
+3335222b33222f3c22342d1f272c1f333522342d1f3335223335222b33222b3322
+383c23272c1f24261c3335222b332224261c342d1f24261c24261c272c1f24261c
+272c1f2b33222b33222b33222b33222b3322272c1f24261c24261c333642342d1f
+24261c24261c272c1f272c1f383c233335222a3438576a627a91a8627d99757c71
+8b919f627d996374714960653944464658643d4f563a442330444d4e50433d4f56
+46586475889b8a99ab8da0b692a8b692a8b68da0b68da0b68da0b68da0b69da1ab
+8da0b68da0b692a8b68da0b692a8b68da0b68da0b692a8b692a8b692a8b692a8b6
+8da0b692a8b68da0b68da0b68da0b68da0b67d98b175889b626e8c3d4f56344d59
+4960654b6865354c312a34382f3c222e3c443f4e324960656b8673667c74577376
+4658645773766b86736f8fae556c848b919f92a8b68da0b69ea9b49da1ab9ea9b4
+9ea9b48da0b69ea9b49da1ab8da0b69ea9b48da0b68da0b68a99ab8a99ab8a99ab
+8a99ab7a91a85658383944466374718b919f4658642f3c223a4423383c232b3322
+2f3c222f3c22383c232f3c222f3c22565838465864576a62667c74666c5e3f4e32
+272c1f373e43666c5e5f61563a44232f3c222b3322383c233335222b3322262e35
+272c1f262e35272c1f272c1f2f3c222b3322272c1f2b33222b3322272c1f2f3c22
+344d1e272c1f272c1f24261c1e241b24261c1e241b24261c272c1f272c1f2b3322
+2b3322272c1f24261c24261c24261c272c1f342d1f272c1f272c1f272c1f3a4423
+383c23272c1f2f3c222f3c222e3c443f4e3254605f2f3c222b33222f3c222b3322
+2b33223335223335222b33223335222f3c22333522272c1f2b33222f3c22342d1f
+2b3322342d1f272c1f24261c24261c24261c24261c24261c24261c24261c24261c
+272c1f2b33222b33222f3c22304321344d1e3043213a44233043213a44233a4423
+3a44233f4e323a44232f3c22272c1f24261c24261c24261c333522383c23342d1f
+24261c342d1f1c1e1924261c24261c24261c342d1f272c1f342d1f342d1f24261c
+24261c24261c24261c24261c24261c24261c24261c24261c342d1f24261c24261c
+342d1f24261c24261c24261c24261c24261c272c1f342d1f1c1e191c1e1924261c
+1c1e1924261c24261c24261c24261c24261c272c1f24261c24261c272c1f272c1f
+342d1f272c1f272c1f24261c24261c272c1f24261c2f3c223043213f4e1e3f4e1e
+2f3c22333522333522333522342d1f3335222b33223335222f3c22272c1f2b3322
+342d1f383c23272c1f272c1f272c1f272c1f272c1f342d1f272c1f342d1f272c1f
+342d1f33352233352233352224261c272c1f342d1f272c1f272c1f24261c24261c
+24261c24261c272c1f24261c272c1f272c1f24261c342d1f24261c24261c272c1f
+272c1f272c1f272c1f2b3322272c1f2b3322333522272c1f272c1f342d1f272c1f
+272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+373e434b6865576a623d4f564658646075906f8fae8da0b68da0b68da0b68da0b6
+8a99ab7a91a86886a66b86737a91a87d98b17a91a875889b7d98b175889b7197b4
+597c75556c843f4e322e3c44383c232b33222a3438342d1f272c1f262e35262e35
+272c1f2b3322262e35272c1f262e35262e352a3438333522272c1f262e352b3322
+2f3c222b33223335222b33222a3438344d593d4f5630444d344d59496065627d99
+7a91a88da0b692a8b692a8b692a8b6819fb78da0b68da0b692a8b692a8b692a8b6
+92a8b6819fb754605f3944462b33222b33222f3c222f3c222b33223335222b3322
+2b33222b33222b3322272c1f272c1f3335222b3322333522333522333522383c23
+383c232b3322272c1f333522333522272c1f24261c272c1f24261c342d1f272c1f
+272c1f342d1f2b3322272c1f272c1f272c1f272c1f342d1f262e35342d1f342d1f
+24261c24261c333522262e353a44233944463d4f563c5072848887819fb775889b
+75889b6886a6819fb77e98823d573b4b6865576a624960653d4f56475832465864
+556c8475889b8da0b68da0b68da0b692a8b692a8b68da0b68da0b68da0b68a99ab
+8da0b68da0b68da0b68da0b692a8b68da0b68da0b68da0b68da0b68da0b68da0b6
+8da0b692a8b68da0b68da0b69fb0bb8da0b67a91a86886a6577376667c74709081
+5d83a44960654e5043496065354c31354c31394446496065627d996886a66b8673
+556c84627d996886a66f8fae627d997a91a88da0b692a8b69da1ab9da1ab9da1ab
+9ea9b48da0b692a8b68da0b68da0b69da1ab9da1ab8da0b67a91a875889b8b919f
+75889b667c74565838394446666c5e75889b6374713a4423496032373e434e4425
+3a4423383c233a4423383c232e3c4449606554605f637471667c74667c7454605f
+2a34383f4e323a4423373e43333642272c1f272c1f262e35342d1f272c1f272c1f
+272c1f24261c1e241b272c1f3335222b3322272c1f2b33222f3c222b33222b3322
+3a4423272c1f342d1f24261c24261c24261c24261c1c1e191e241b272c1f2b3322
+333522333522333522342d1f24261c342d1f333522342d1f24261c272c1f383c23
+333522272c1f342d1f2a34382f3c223d4f564960653043212b33222f3c222f3c22
+3043212f3c222b33223335222f3c222f3c222f3c222b33222b33222f3c222f3c22
+333522272c1f272c1f1e241b24261c1c1e1924261c342d1f342d1f272c1f333522
+2b33222f3c222f3c222b33223335222f3c222f3c223a44233a44233f4e1e344d1e
+2f3c223a44232f3c22272c1f272c1f342d1f272c1f24261c342d1f555824333522
+24261c24261c24261c1c1e19342d1f272c1f333522342d1f272c1f272c1f342d1f
+24261c24261c24261c24261c24261c24261c272c1f24261c24261c272c1f333522
+272c1f272c1f24261c24261c1c1e1924261c24261c24261c24261c1c1e191c1e19
+1c1e1924261c24261c24261c24261c24261c24261c24261c24261c2b3322272c1f
+342d1f272c1f272c1f272c1f24261c24261c272c1f2b33223043213043213a4423
+3f4e1e3a4423373e43333522272c1f3335222b33222f3c22333522272c1f2b3322
+2b3322333522333522272c1f333522333522272c1f272c1f2b3322272c1f2b3322
+2b3322272c1f272c1f342d1f272c1f2b3322262e35272c1f272c1f24261c342d1f
+24261c24261c342d1f24261c272c1f272c1f24261c342d1f24261c24261c342d1f
+3335222b3322272c1f2f3c22272c1f342d1f333522272c1f272c1f272c1f24261c
+272c1f272c1f272c1f342d1f342d1f272c1f24261c272c1f342d1f272c1f272c1f
+2e3c44496065576a623d4f563d4f56496065627d997d98b18da0b6819fb7819fb7
+819fb77d98b17a91a87a91a8819fb7819fb77a91a87d98b17d98b17d98b17197b4
+75889b608471344d592f3c22373e432b3322333642262e3524261c272c1f24261c
+272c1f342d1f262e35272c1f272c1f272c1f2b3322272c1f272c1f272c1f2e3c44
+3944463335222e3c44272c1f373e434658643c586f354c3141678a556c84537499
+6f8fae92a8b692a8b6819fb78da0b692a8b692a8b692a8b692a8b692a8b692a8b6
+8da0b67e98823d4f563d573b354c312f3c2230444d2f3c222b3322333522342d1f
+2f3c22342d1f333522333522333522383c232b3322383c23383c232b3322333522
+333522342d1f272c1f342d1f333642342d1f342d1f24261c272c1f24261c24261c
+24261c272c1f272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f262e35
+24261c24261c24261c272c1f2f3c22496065608471465864626e8c8a99ab75889b
+667c7460759075889b75889b496065667c74577376667c74556c84496065627d99
+75889b8da0b68da0b68da0b68da0b68da0b68da0b692a8b692a8b68a99ab7a91a8
+8da0b68da0b692a8b692a8b68da0b68da0b68da0b68da0b68da0b68da0b68da0b6
+92a8b68da0b692a8b68da0b68da0b68da0b67a91a86b8673627d99627d99709081
+627d994658643d573b4960653d573b3c586f496065627d997a91a875889b75889b
+54605f576a626374717d98b1819fb77d98b18da0b68da0b68da0b68da0b68da0b6
+8da0b68da0b68da0b68da0b68da0b68da0b68da0b68a99ab6075906886a675889b
+75889b637471475832373e43576a62626e8c6374714758323f4e323a44234c5026
+373e433f4e323a44233a44232f3c223f4e324658646374715f61564658643f4e32
+373e43333642333522383c23394446333522272c1f2b33222b3322272c1f24261c
+272c1f272c1f24261c272c1f333522272c1f2b33222b33222f3c22272c1f333522
+2f3c222b3322272c1f24261c272c1f272c1f1e241b2b3322342d1f2b3322383c23
+383c233a4423333522383c2324261c2b3322272c1f2b3322272c1f342d1f3f4e32
+2b3322272c1f2b3322272c1f272c1f2b33223043212f3c223335222b33222b3322
+2b33222f3c222b3322344d1e3c5822344d1e3c58223d573b354c313f4e323f4e32
+2f3c22342d1f24261c24261c24261c272c1f272c1f272c1f3335222b3322333522
+2f3c222f3c223a44233335222b33222b3322272c1f304321304321344d1e3a4423
+344d1e3a4423383c23383c232b3322333522272c1f24261c272c1f3f4e1e443623
+24261c342d1f24261c24261c342d1f342d1f333522342d1f272c1f342d1f342d1f
+342d1f24261c24261c24261c24261c24261c24261c24261c272c1f272c1f333522
+272c1f342d1f24261c24261c24261c24261c1c1e1924261c1c1e1924261c1c1e19
+24261c1c1e1924261c1c1e1924261c1c1e1924261c24261c1e241b24261c1e241b
+272c1f24261c333522272c1f24261c272c1f24261c272c1f383c233a44233a4423
+383c23383c233335222f3c222f3c222f3c222f3c223a4423333522333522272c1f
+3335222f3c222b3322342d1f2b3322272c1f272c1f272c1f272c1f383c23272c1f
+342d1f2b3322272c1f3335222b3322333522342d1f333642272c1f24261c24261c
+272c1f24261c24261c24261c272c1f272c1f24261c272c1f24261c272c1f333522
+2b3322272c1f272c1f2b33222b33222b33222b3322342d1f24261c272c1f342d1f
+342d1f272c1f272c1f2b3322272c1f24261c272c1f272c1f272c1f272c1f2b3322
+373e43344e6f3c586f354c313d4f56496065627d9975889b7d98b1819fb78da0b6
+819fb77d98b17d98b17d98b1819fb78da0b68a99ab7d98b18da0b6819fb77a91a8
+627d994b6865344d59304321373e432b33222a3438272c1f262e35262e3524261c
+262e35262e35333522262e35272c1f342d1f2a34382b3322262e35272c1f394446
+304321373e43373e43272c1f373e4330444d344d593c5072577376537499587ca0
+6886a6819fb792a8b692a8b68da0b692a8b68da0b692a8b6819fb78da0b692a8b6
+8da0b66886a6577376576a62354c31304321354c312f3c222f3c222e3c442b3322
+2f3c222b3322333522333522342d1f3335223335223335223335222b3322333522
+3335222b33222b3322333522333522272c1f342d1f272c1f24261c272c1f24261c
+272c1f342d1f2b3322272c1f2b3322272c1f272c1f24261c262e3524261c342d1f
+24261c24261c262e35272c1f342d1f3d4f56627d99556c84556c848a99ab75889b
+7a91a86886a67d98b1667c74577376627d99556c846886a66b86734b6865637471
+6075908a99ab8da0b68da0b67d98b192a8b6819fb78a99ab8da0b68da0b67a91a8
+8a99ab8da0b68da0b68da0b68da0b68da0b68da0b68da0b68da0b68da0b68da0b6
+819fb78da0b692a8b68a99ab8da0b68a99ab8a99ab6f8fae7a91a88a99ab8da0b6
+75889b3d4f563d4f56496065496065587ca07a91a87d98b18da0b67a91a8637471
+3d4f56556c84667c747a91a88a99ab7a91a88da0b68da0b68da0b68da0b68da0b6
+8da0b68da0b68da0b68a99ab8a99ab8da0b68da0b68da0b6757c71496065607590
+576a623d4f5656583830444d3d573b4658646374714658643f4e32383c233a4423
+3a4423383c23383c233a44233a4423383c233944465f61564e5043344d59394446
+373e433a44232f3c222f3c222f3c223335223335222f3c22272c1f272c1f272c1f
+2b33222b33222b332224261c2b33222b33222f3c222f3c222b33222b3322272c1f
+2f3c222b3322333522272c1f272c1f272c1f24261c3335222b33222b33222f3c22
+383c233a44233a4423342d1f272c1f333522272c1f272c1f2b3322272c1f383c23
+383c233335223335222b3322272c1f2f3c222b33222f3c22383c232b33222b3322
+2b33222b33223043214b6865608471627d996886a67197b4709081608471778772
+354c312a34382b3322383c232b33223043212f3c222b33222b3322333522342d1f
+2b33222b33223a44232f3c222f3c222f3c223335222b3322383c233f4e1e383c23
+2f3c22383c23383c23383c233043213a4423333522333522342d1f3a4423342d1f
+342d1f24261c24261c24261c342d1f383c23383c23342d1f333522383c23342d1f
+272c1f24261c24261c272c1f272c1f272c1f24261c24261c24261c342d1f342d1f
+272c1f342d1f24261c342d1f1c1e1924261c24261c24261c24261c24261c24261c
+24261c1c1e1924261c24261c24261c1c1e1924261c24261c24261c24261c24261c
+24261c272c1f333522383c23272c1f383c233335222b3322383c23383c23383c23
+2b33223335222b3322304321354c312f3c222f3c222f3c22333522383c232b3322
+2f3c223335222f3c22272c1f272c1f272c1f333522333522333522333522272c1f
+2b3322272c1f272c1f342d1f2b3322262e35272c1f272c1f262e3524261c24261c
+272c1f24261c24261c24261c272c1f272c1f24261c342d1f24261c272c1f272c1f
+333522272c1f272c1f2b3322262e35272c1f272c1f342d1f262e35272c1f272c1f
+272c1f272c1f272c1f272c1f33352224261c24261c272c1f272c1f272c1f342d1f
+373e433c586f3c50723d4f56394446344d596075907a91a8819fb7819fb7819fb7
+819fb7819fb77d98b1819fb78da0b6819fb7819fb78da0b6819fb78da0b67d98b1
+7a91a86f8fae3d5f252f3c22373e432b3322333522262e35262e35272c1f272c1f
+272c1f272c1f342d1f2a34382b3322272c1f2b3322342d1f272c1f272c1f2e3c44
+344d592e3c443335223335222a3438344d594b6865344e6f4b68656886a66886a6
+6f8fae8da0b68da0b68da0b6819fb78da0b6819fb792a8b692a8b68da0b68da0b6
+8a99ab6886a65773765773763d4f563f4e323944463a44232b3322383c23333522
+2f3c222b33223335222b33222b3322333522383c23383c233335222b3322333522
+333522272c1f272c1f2b33222b3322272c1f333522342d1f272c1f342d1f272c1f
+342d1f272c1f2b3322333522272c1f342d1f24261c24261c4e3d22272c1f262e35
+272c1f24261c24261c262e35272c1f3f4e327a91a87d98b16075907d98b18a99ab
+8a99ab8a99ab75889b627d99576a6254605f556c8475889b6f8fae6075906f8fae
+7a91a88da0b68da0b6819fb77d98b18da0b6819fb77d98b18da0b68a99ab75889b
+8a99ab8a99ab819fb78da0b68da0b68a99ab8da0b68da0b68da0b6819fb78a99ab
+8da0b6819fb78a99ab7d98b1819fb78a99ab7d98b17a91a86886a67a91a88a99ab
+667c743d4f563944464b68656374717a91a8819fb78da0b68a99ab7a91a875889b
+54605f627d996886a67a91a88a99ab8da0b68a99ab8da0b68da0b68da0b68da0b6
+8da0b68da0b68a99ab8a99ab8a99ab8da0b67a91a86886a67a91a8667c74576a62
+54605f3944463d4f562f3c223944463c5072496065666c5e383c232f3c22383c23
+383c23304321383c23373e433a4423383c23373e4354605f4658643944463a4423
+2a3438394446373e433a44233f4e3230444d3a4423373e43262e352b33222a3438
+3a4423304321354c312b3322272c1f2b3322383c232f3c222f3c222b33222b3322
+2f3c222b33222b332224261c24261c24261c272c1f272c1f3335222f3c22333522
+4436233f4e1e383c23272c1f3335223335222b3322272c1f2b3322333522383c23
+3335222f3c223a44232b33222b33223335222f3c223a4423383c23272c1f1e241b
+3043213d573b57737675889b7090817a91a875889b7a91a8607590556c846b8673
+3d4f564960654960655773765773766b86735773762f3c222b33223f4e323d573b
+3944463d4f564758323f4e323335223a44232f3c222f3c222b3322383c23383c23
+3335223a44232b33222f3c223335223a44232f3c22383c23383c23383c23333522
+24261c342d1f24261c24261c342d1f2b3322342d1f2b3322383c232b3322333522
+342d1f24261c24261c342d1f333522342d1f24261c24261c24261c3335222f3c22
+24261c272c1f342d1f1c1e1924261c24261c1c1e1924261c24261c1c1e191c1e19
+1c1e1924261c1c1e191c1e1924261c24261c24261c24261c24261c24261c24261c
+24261c24261c272c1f2b3322342d1f272c1f3a4423333522383c233335222b3322
+272c1f3335222f3c222f3c22383c233335222b33223043212f3c223a44232b3322
+2f3c222b33222b33222b33222b3322333522383c232b33222b33222b3322272c1f
+342d1f272c1f2b33222b33223335222b3322262e35342d1f24261c342d1f24261c
+24261c24261c24261c272c1f262e35272c1f24261c262e3524261c262e35342d1f
+272c1f2b33222b3322272c1f262e35333522272c1f262e35342d1f24261c342d1f
+272c1f272c1f272c1f342d1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f
+3336423944463c50723d4f56344d593c586f5773766886a66f8fae7d98b1819fb7
+819fb77d98b17d98b1819fb7819fb7819fb7819fb7819fb7819fb78da0b67197b4
+6f8fae6886a63c586f3043212e3c442f3c222b3322342d1f272c1f262e3524261c
+262e35262e35342d1f2a34382b3322262e352b33222b3322262e352b33222e3c44
+354c312e3c442a34382b332230444d344d593d4f56344d593c507254605f627d99
+7d98b192a8b692a8b68da0b68da0b68da0b6819fb78da0b6819fb792a8b692a8b6
+7d98b16886a6597c754a6a8d3f4e32354c313d573b3d4f562f3c222b3322333522
+342d1f2b3322333522342d1f2b3322333522383c232f3c22342d1f2b33222b3322
+3335222b3322272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f2b33222b3322342d1f333522262e35262e3524261c342d1f
+342d1f262e3524261c262e352b3322394446667c747d98b17d98b1819fb77d98b1
+627d997a91a875889b627d9954605f3d4f566075907a91a87d98b17a91a87d98b1
+8a99ab8da0b68da0b67d98b16886a68a99ab7d98b17d98b18da0b67d98b1627d99
+8a99ab8da0b6819fb7819fb78da0b68da0b6819fb78da0b6819fb77d98b18b919f
+819fb78da0b67a91a88a99ab8da0b68a99ab7a91a87d98b18a99ab7a91a8627d99
+54605f4960653d4f56465864344d596075908a99ab8a99ab7d98b1627d995d83a4
+576a6275889b6886a67a91a88a99ab8da0b68a99ab8da0b68a99ab8da0b68a99ab
+8da0b68a99ab8da0b68da0b67d98b17d98b175889b627d997a91a8607590496065
+54605f394446354c312f3c22354c31354c313d4f564658643a44233944463f4e32
+3335222f3c223335223a44233f4e323a44233a4423373e433a44233944462f3c22
+2b3322373e432f3c222f3c224658643f4e322f3c22373e432b332230444d304321
+2e3c442f3c222f3c222b33222f3c222f3c22383c232f3c222f3c222b3322333522
+2f3c22272c1f272c1f24261c272c1f24261c342d1f2b33223335222f3c222f3c22
+342d1f33352244362324261c383c233a44232f3c22272c1f2f3c222b33222b3322
+3335222f3c222f3c222b33222b3322383c232f3c22373e432f3c22272c1f2b3322
+354c313d5f7a577376627d996075907d98b16b86737d98b14960653d4f56607590
+3d4f565773764b6865556c84576a62556c843d573b354c312e3c446b86736b8673
+3c586f4b6865576a624960653a4423383c232f3c22333522333522333522333522
+2b33222f3c222b33223a44233335223f4e1e3a4423383c23383c23383c23342d1f
+24261c342d1f24261c24261c24261c2b3322342d1f2a34383336422b33222b3322
+342d1f24261c24261c342d1f2f3c22333522272c1f24261c24261c24261c342d1f
+24261c24261c24261c24261c1c1e1924261c24261c24261c1c1e1924261c1c1e19
+1c1e1924261c1c1e1924261c24261c24261c24261c24261c342d1f24261c24261c
+24261c24261c24261c272c1f1e241b24261c272c1f272c1f4e4425333522333522
+272c1f2b3322342d1f272c1f2b3322272c1f342d1f2f3c222f3c222f3c222f3c22
+2f3c222b33223335223335222b3322272c1f333522272c1f342d1f2b3322272c1f
+272c1f272c1f2f3c223335222b3322342d1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f24261c262e35342d1f272c1f24261c24261c272c1f272c1f24261c
+342d1f272c1f262e35272c1f272c1f333522342d1f272c1f272c1f262e352b3322
+272c1f342d1f2b3322272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f
+2a34383336423d4f56344d5930444d3c586f556c84627d997a91a8819fb77d98b1
+819fb7819fb7819fb7819fb7819fb7819fb7819fb7819fb7819fb792a8b67d98b1
+7d98b1577376344d593043213043212a34382a3438262e35272c1f262e35262e35
+24261c272c1f2b33222b33222f3c222b3322262e35272c1f262e35272c1f2b3322
+3944463335222b33222e3c4446586446586430444d3944463d4f56456185607590
+7d98b17d98b1819fb78da0b68da0b6819fb78da0b6819fb78da0b6819fb78da0b6
+8b919f627d996b86736886a6597c754b68654960653f4e32333522333522272c1f
+2b3322342d1f2b33222b3322272c1f2f3c22383c233335222b3322272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f24261c24261c272c1f272c1f24261c272c1f
+24261c24261c272c1f272c1f272c1f2b33222b3322342d1f262e35342d1f333642
+24261c342d1f2b33222b33222f3c2230444d576a626886a67d98b18a99ab7a91a8
+627d99627d9975889b75889b4b68653d4f56667c746886a67d98b17a91a88a99ab
+7d98b18a99ab819fb77d98b16075907d98b17a91a87a91a8819fb77a91a86886a6
+7d98b17d98b1819fb78a99ab8da0b68a99ab7a91a87d98b17d98b16f8fae7d98b1
+8b919f7a91a87a91a88a99ab819fb7819fb775889b7d98b18a99ab627d99607590
+4658643d4f563944463d4f56344d596075908a99ab8a99ab8a99ab627d99627d99
+627d997a91a87a91a87a91a88da0b68a99ab7d98b18a99ab7d98b18a99ab819fb7
+7d98b18a99ab7d98b17d98b18a99ab627d99627d99667c746374716374713d4f56
+3f4e32354c31354c312e3c444658643944463d4f563f4e323a44233a44233a4423
+383c232b33223335223f4e32556c844e50433f4e322a34382e3c4430444d304321
+342d1f3944462f3c222f3c224960653d4f562f3c22373e432f3c223d4f5630444d
+2b33222f3c222f3c22333522344d1e2f3c223a44232f3c222f3c22272c1f272c1f
+333522272c1f272c1f272c1f272c1f342d1f272c1f342d1f383c23333522333522
+272c1f333522383c232b3322383c232f3c22383c232b33223335222b3322272c1f
+383c23383c23333522272c1f272c1f342d1f333522394446354c312b3322272c1f
+2a343830444d607590607590667c746075907a91a87a91a83d4f563d4f56394446
+354c31577376556c84465864465864576a623c5072354c313d4f56627d99667c74
+5d83a47a91a8627d9954605f3d4f563a4423383c232f3c223a4423342d1f2b3322
+3335222f3c222b33222b33222b33223335223a44232f3c22383c23383c23342d1f
+342d1f24261c24261c24261c272c1f262e35342d1f272c1f333522272c1f333522
+2b3322272c1f272c1f272c1f333522272c1f272c1f272c1f24261c24261c24261c
+24261c272c1f24261c24261c342d1f24261c24261c1c1e1924261c24261c1c1e19
+1c1e19342d1f1c1e1924261c1c1e19342d1f24261c24261c24261c24261c1c1e19
+24261c24261c272c1f342d1f24261c24261c24261c1e241b2b3322383c23333522
+2b33222b3322272c1f272c1f342d1f272c1f2b3322333522333522272c1f333522
+2f3c222f3c222e3c443a44232b3322333522333522333522342d1f272c1f272c1f
+272c1f342d1f2b33223335222b33222b33222b3322272c1f262e35342d1f272c1f
+272c1f24261c272c1f272c1f2a3438342d1f272c1f342d1f24261c272c1f262e35
+342d1f272c1f272c1f262e352b33222b3322262e35272c1f272c1f272c1f342d1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+2a34382a34382e3c443d4f56344d594561855d83a46886a66f8fae7d98b17d98b1
+7197b47197b4819fb7819fb7819fb77d98b1819fb7819fb77d98b1819fb7819fb7
+6f8fae4b68653d573b4960653043212a34382b3322262e35272c1f342d1f262e35
+342d1f262e35262e352b33222a34382f3c222b33222b3322272c1f272c1f2a3438
+2f3c22333522342d1f2a3438373e43394446394446344d59394446496065626e8c
+587ca07a91a88da0b6819fb78da0b6819fb7819fb7819fb78a99ab819fb7819fb7
+7a91a875889b75889b537499556c84597c753f4e322e3c442b3322272c1f272c1f
+272c1f2b33222f3c222b3322272c1f383c23333522333522272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f333522342d1f272c1f1e241b1e241b1e241b24261c
+24261c24261c24261c342d1f2b3322272c1f272c1f342d1f272c1f2b3322333522
+2b33222e3c44354c312e3c44272c1f3043213d4f56556c847d98b17a91a8626e8c
+6886a66f8fae6f8fae627d993d4f563c5072627d997a91a87a91a87a91a88da0b6
+7a91a88a99ab819fb77a91a86075907d98b17a91a87d98b17a91a86886a66886a6
+7d98b17d98b18a99ab7d98b18a99ab8a99ab627d997a91a87a91a86f8fae75889b
+7a91a87a91a87d98b18a99ab8a99ab8a99ab627d998a99ab8a99ab75889b6886a6
+556c84496065344d594960654960655374997a91a87d98b17a91a875889b75889b
+6886a67a91a88a99ab8a99ab819fb78a99ab8a99ab8a99ab819fb78a99ab8a99ab
+819fb78a99ab75889b7d98b18a99ab75889b6075906886a663747154605f394446
+394446383c23354c313043214b68653043213944463944463043213f4e323f4e32
+383c232b33222b3322344d59597c754e50433f4e322b33222e3c44304321344d59
+2a343849606530444d2b33223f4e323f4e32262e352b33222a3438272c1f272c1f
+2b3322272c1f383c23333522383c233335223335222b33222f3c222b332224261c
+272c1f272c1f24261c24261c272c1f272c1f272c1f2b3322333522383c23333522
+272c1f342d1f2b33223335223a44232f3c223a4423272c1f383c232f3c222b3322
+3335222b3322342d1f272c1f272c1f272c1f2b33222e3c442f3c222e3c44272c1f
+2b3322344d594b6865607590576a6249606575889b7a91a8394446373e43394446
+373e4346586454605f3336422a3438576a624b6865354c31465864496065556c84
+576a62496065556c84394446373e433944462f3c22354c31354c312b33222b3322
+2b33222f3c222f3c22272c1f2f3c223335223336422f3c224e44252e3c44342d1f
+2b3322342d1f342d1f24261c24261c272c1f333522272c1f333522333642383c23
+383c23342d1f272c1f342d1f342d1f272c1f272c1f24261c24261c24261c24261c
+24261c24261c342d1f1c1e1924261c1c1e1924261c24261c1c1e19342d1f1c1e19
+24261c1c1e191c1e191c1e1924261c24261c24261c24261c1c1e1924261c24261c
+24261c24261c333522342d1f24261c24261c24261c24261c272c1f272c1f342d1f
+2b33222b3322272c1f272c1f2f3c22333522383c23373e432b33222b3322333522
+3944463335223335222f3c222f3c222f3c223335223335222b3322272c1f342d1f
+272c1f2b3322272c1f333522272c1f272c1f2b3322272c1f2b3322272c1f342d1f
+262e35272c1f24261c342d1f262e35342d1f262e35272c1f272c1f24261c342d1f
+262e35342d1f272c1f272c1f272c1f342d1f272c1f272c1f262e352b3322272c1f
+24261c272c1f272c1f272c1f24261c272c1f272c1f24261c24261c272c1f272c1f
+373e43262e3530444d3c586f3d4f564b68655d83a47d98b17197b47d98b17d98b1
+819fb7819fb77d98b17d98b17d98b1819fb7819fb7819fb7819fb77d98b17d98b1
+6f8fae4561853d573b3d4f562f3c222b3322333522272c1f262e352b3322262e35
+272c1f272c1f272c1f272c1f2f3c222f3c222a3438272c1f2e3c442b3322333522
+3336422a3438272c1f333522344d593d5f7a344d5949606530444d3d5f7a627d99
+4a6a8d6886a67d98b1819fb77d98b1819fb78a99ab819fb7819fb7819fb77d98b1
+7d98b17a91a87d98b175889b6f8fae6b867330444d2b33222b3322333522272c1f
+2b33223d4f56576a62394446272c1f383c233335222b332233352224261c24261c
+272c1f272c1f272c1f272c1f2b33222f3c22272c1f24261c24261c272c1f24261c
+24261c342d1f272c1f272c1f24261c272c1f272c1f272c1f262e35342d1f333522
+2b33222f3c224658644960652f3c2230444d496065556c848a99ab627d99465864
+6886a66886a6627d99576a6230444d3d5f7a6075907a91a8627d997a91a87d98b1
+7a91a88a99ab7a91a86886a654605f75889b6886a675889b75889b6075906f8fae
+75889b7a91a87d98b18a99ab7a91a87a91a860759075889b75889b75889b607590
+6f8fae75889b7a91a8819fb77d98b17d98b16886a67d98b17d98b16f8fae7a91a8
+587ca0637471496065597c7560759075889b6886a66886a67a91a8709081607590
+75889b627d997d98b17d98b18a99ab7a91a87a91a8819fb77d98b17d98b17d98b1
+8a99ab7d98b175889b7d98b17d98b1627d99556c8463747175889b496032373e43
+3a44232f3c222f3c222f3c224658643336423f4e322e3c44383c23394446373e43
+383c233335222f3c22394446667c744e504330444d2f3c222e3c44344d5954605f
+272c1f3d4f563d4f563944463d4f56394446272c1f24261c272c1f272c1f272c1f
+272c1f383c232b33223335222f3c223a44232b3322272c1f272c1f2f3c22272c1f
+24261c24261c342d1f272c1f272c1f272c1f2b3322333522272c1f272c1f342d1f
+2b33222b33223335222b33223a44232f3c22383c232b33222f3c22383c23272c1f
+333522272c1f272c1f272c1f272c1f1e241b333522383c232b3322272c1f272c1f
+30444d394446556c846075904658642a343854605f576a622e3c44272c1f342d1f
+272c1f333522394446262e35272c1f33364230444d354c31304321373e43496065
+4960653d4f56556c84373e43373e43394446344d59576a62667c743f4e322b3322
+3335222b33222f3c222f3c22342d1f272c1f2b33223335223a4423333522272c1f
+2b33222b3322272c1f24261c24261c272c1f272c1f2b3322333522373e43333522
+333522272c1f272c1f272c1f272c1f272c1f24261c24261c333522373e432a3438
+24261c24261c24261c24261c24261c342d1f24261c24261c1c1e1924261c24261c
+1c1e1924261c1c1e1924261c24261c1c1e1924261c24261c24261c24261c24261c
+24261c272c1f2b3322272c1f272c1f333522272c1f342d1f24261c272c1f272c1f
+342d1f2b3322272c1f272c1f333522262e35383c23333522342d1f272c1f2b3322
+2f3c222b33222b3322373e432f3c223043212b3322383c23272c1f2b33222b3322
+2b3322272c1f2b33222b33222b33222a34382b3322272c1f272c1f272c1f2b3322
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f262e35
+272c1f333522272c1f272c1f272c1f2b3322342d1f272c1f24261c272c1f272c1f
+272c1f272c1f272c1f24261c272c1f24261c272c1f24261c24261c272c1f2b3322
+2f3c223336422e3c44344d594561854a6a8d6886a67d98b17d98b17d98b17d98b1
+7197b47d98b17d98b17d98b1819fb77d98b17197b47d98b1819fb77d98b17d98b1
+6886a6627d994b6865354c31394446262e35342d1f2b3322272c1f272c1f342d1f
+272c1f262e35272c1f272c1f2a34382b33222f3c222b33223f4e322e3c442f3c22
+2f3c22373e432b33222a34382e3c443d4f56344d59354c312e3c4449606575889b
+5d83a46f8fae7d98b1819fb77d98b17d98b17d98b18a99ab7d98b1819fb78da0b6
+7d98b17d98b17d98b17d98b16f8fae4b68652e3c442b33222a34382b3322262e35
+2b33223d4f56667c743944462b3322383c232b3322272c1f342d1f24261c24261c
+24261c24261c24261c24261c333522383c232b3322272c1f2f3c223f4e32383c23
+2b3322272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f2b33222b3322
+2b33223335223944464b68652e3c442e3c44496065556c84819fb7627d9941678a
+75889b60759075889b4960653944464960654a6a8d7a91a875889b75889b6886a6
+8a99ab7d98b1627d9975889b45618575889b626e8c627d996886a6627d996886a6
+6075907a91a87a91a87d98b17a91a86886a66886a6627d996886a675889b75889b
+607590627d997d98b17d98b18b919f7a91a875889b7d98b175889b7d98b16f8fae
+7a91a863747154605f627d995773766886a675889b75889b6f8fae6886a6556c84
+60759060759075889b7d98b17d98b17a91a87a91a87d98b17d98b17d98b17a91a8
+7d98b16886a6627d997d98b175889b75889b3c5072556c8475889b4960652f3c22
+3336423335222a34383944462f3c222b3322373e432f3c223a4423383c232b3322
+342d1f2a3438342d1f2a3438556c84373e435773763f4e322e3c443d573b496065
+2a34382f3c22354c31373e432b3322272c1f24261c24261c272c1f24261c272c1f
+272c1f333522272c1f272c1f3335223f4e1e2f3c22272c1f272c1f2b3322272c1f
+272c1f272c1f2b3322272c1f272c1f272c1f272c1f333522272c1f272c1f24261c
+272c1f3335222b3322272c1f272c1f2b33222b3322272c1f2b3322272c1f272c1f
+2b3322383c23272c1f24261c24261c272c1f262e352a3438272c1f272c1f272c1f
+354c31394446465864576a623944462a343839444654605f2e3c442b33222b3322
+272c1f272c1f272c1f272c1f24261c3335222a3438394446383c233336423d4f56
+344d593d4f56556c8430444d2b332230444d3d4f563c586f6374713d573b344d59
+3043212f3c223043212f3c222b33222b33222b33222b33222b3322262e35342d1f
+272c1f272c1f272c1f24261c272c1f272c1f24261c333522342d1f333522342d1f
+272c1f24261c24261c272c1f272c1f24261c342d1f1c1e19342d1f2e3c44304321
+373e4324261c1c1e1924261c24261c1c1e1924261c342d1f24261c24261c1c1e19
+1c1e19342d1f1c1e191c1e1924261c24261c24261c1c1e1924261c24261c24261c
+24261c24261c342d1f342d1f272c1f383c23383c23272c1f24261c272c1f272c1f
+272c1f2b33222b33222b3322272c1f24261c342d1f2a3438333522272c1f272c1f
+2b3322272c1f272c1f2b3322272c1f3043212f3c22333522342d1f2b3322272c1f
+272c1f272c1f2b33222b33222b33222b3322272c1f272c1f272c1f272c1f262e35
+342d1f272c1f272c1f272c1f272c1f272c1f262e3524261c262e35272c1f272c1f
+272c1f272c1f342d1f262e35272c1f272c1f272c1f342d1f272c1f272c1f342d1f
+272c1f272c1f272c1f24261c342d1f24261c342d1f272c1f272c1f24261c272c1f
+2e3c442b33222e3c44344e6f4658644a6a8d6f8fae7197b47197b47d98b17d98b1
+7d98b17197b47d98b17d98b17197b4819fb7819fb77197b47d98b1819fb77d98b1
+627d99587ca0496065344d59354c313335222a3438342d1f2a34382b33222a3438
+342d1f262e3524261c272c1f272c1f2e3c44354c312e3c44272c1f2e3c443c586f
+354c312a3438333522342d1f262e353944463c5072344d5930444d3c586f587ca0
+627d996886a67197b47d98b18a99ab819fb77d98b17d98b17d98b17d98b17d98b1
+7d98b17d98b17d98b17d98b16b86734658643043212f3c2230444d3043212f3c22
+4658644658644b6865373e43272c1f272c1f3335222b3322272c1f272c1f24261c
+272c1f24261c24261c24261c272c1f333522272c1f272c1f2e3c444e44253a4423
+383c232f3c22272c1f24261c272c1f24261c272c1f272c1f272c1f342d1f333522
+272c1f262e352f3c224960653d5f7a2e3c443c586f5374996886a649606541678a
+75889b627d996886a63c586f30444d4b68654a6a8d6f8fae627d99556c84627d99
+7d98b17a91a86075906886a654605f7a91a8627d99626e8c75889b60759075889b
+556c8475889b627d997d98b17a91a8627d9975889b607590626e8c626e8c626e8c
+6075906f8fae8b919f6f8fae6f8fae627d996f8fae7a91a875889b75889b637471
+6075903c50724b6865607590456185627d996f8fae6f8fae75889b607590626e8c
+60759075889b7a91a87d98b17d98b16075907d98b18a99ab7d98b17a91a86f8fae
+7d98b175889b627d996886a675889b627d9954605f456185709081597c75304321
+2f3c22272c1f2f3c223043212f3c222f3c223335222e3c443335223335222b3322
+2b3322272c1f2b3322373e434960652a34384658642e3c442a34382a34382e3c44
+272c1f2e3c44394446394446342d1f2b332224261c272c1f24261c1e241b24261c
+272c1f272c1f272c1f2b3322272c1f383c232f3c22272c1f272c1f272c1f24261c
+272c1f272c1f3335222b3322272c1f272c1f2b3322272c1f342d1f24261c272c1f
+333522272c1f272c1f24261c272c1f342d1f272c1f272c1f272c1f2b33222b3322
+373e432b3322272c1f272c1f272c1f2b3322272c1f2b3322272c1f272c1f262e35
+2a34382b332230444d30444d333642333522373e43344d592b33222b3322394446
+24261c342d1f24261c24261c24261c1e241b24261c383c23272c1f342d1f2e3c44
+3336423d4f564b6865344d592b3322373e43344d59344d59344d59607590537499
+3d573b2e3c44373e43373e43272c1f2b3322272c1f272c1f342d1f24261c272c1f
+272c1f272c1f272c1f24261c24261c272c1f272c1f272c1f3335222a34382b3322
+24261c24261c272c1f272c1f272c1f272c1f33352224261c2b3322344d593d4f56
+39444624261c342d1f1c1e19342d1f24261c24261c24261c24261c342d1f24261c
+1c1e1924261c24261c1c1e1924261c1c1e1924261c1c1e19342d1f342d1f24261c
+24261c24261c272c1f272c1f272c1f2b3322383c23272c1f272c1f24261c272c1f
+2b33222b3322272c1f3335222b3322272c1f272c1f2b3322262e35272c1f272c1f
+2a3438272c1f272c1f272c1f272c1f2a3438333522342d1f2a3438333522272c1f
+2b332224261c272c1f333522272c1f272c1f333522272c1f272c1f342d1f262e35
+342d1f272c1f272c1f272c1f272c1f342d1f272c1f342d1f342d1f272c1f272c1f
+24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f
+342d1f24261c24261c24261c272c1f272c1f272c1f24261c24261c272c1f272c1f
+373e432e3c443d4f564a6a8d556c845374996886a67a91a86f8fae7d98b17197b4
+7d98b17197b47197b47d98b17197b47d98b1819fb77197b4819fb77197b47d98b1
+5773764a6a8d4b6865496065354c312e3c442f3c22272c1f2a3438272c1f262e35
+2b33222b3322272c1f262e3524261c2a34382e3c442f3c222b3322394446354c31
+30444d2a34383335223335222a34382e3c443d4f563c586f344d593d5f7a587ca0
+7a91a87a91a87197b47d98b17d98b17d98b17d98b17d98b17d98b17d98b17d98b1
+819fb77d98b17d98b17d98b1627d993c586f354c313d4f564960652e3c442f3c22
+576a623d4f563d4f562f3c22272c1f2b3322342d1f272c1f272c1f24261c24261c
+24261c24261c1e241b24261c342d1f2a3438272c1f272c1f333522333522342d1f
+272c1f2b3322333522272c1f272c1f272c1f272c1f24261c262e35262e35333522
+272c1f272c1f262e353d573b4b68653043213d4f565773765773763d4f5641678a
+6886a6627d99556c844960653d4f56556c84607590627d99556c843c586f6886a6
+6886a6607590607590556c844658648b919f6075904a6a8d6886a6626e8c607590
+456185627d9975889b627d99627d99626e8c7a91a854605f556c84626e8c465864
+627d996f8fae8b919f6886a675889b556c846886a675889b627d9975889b626e8c
+556c843d4f563c5072627d994b6865607590627d9975889b6886a6537499607590
+60759075889b75889b7d98b17a91a86075906f8fae7d98b18b919f627d99627d99
+7d98b1627d99627d99627d9975889b456185556c84496065627d99597c7530444d
+2a34382b33222e3c443043212e3c442b3322262e35272c1f272c1f2a34382f3c22
+2e3c443335223043213d4f563d4f562f3c223944463335222b3322342d1f2b3322
+2b33223944462f3c22394446272c1f2b33221e241b272c1f24261c272c1f272c1f
+333522272c1f272c1f2b3322342d1f272c1f272c1f24261c272c1f272c1f272c1f
+333522272c1f3335222b3322272c1f3335222b332224261c24261c24261c2b3322
+2b3322272c1f272c1f24261c24261c272c1f272c1f24261c1e241b2b3322272c1f
+272c1f272c1f24261c1e241b272c1f262e35272c1f2b3322272c1f262e352b3322
+373e43272c1f2a34382f3c222a3438262e3533352230444d2b3322262e35333522
+272c1f272c1f24261c24261c24261c1e241b24261c272c1f272c1f272c1f2b3322
+272c1f2e3c443c586f3d4f562b33222e3c443d573b3c586f3c586f4960654b6865
+4b6865344d593a44232b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322272c1f333522
+272c1f24261c24261c272c1f342d1f272c1f333522272c1f394446354c31373e43
+342d1f24261c24261c24261c24261c262e3524261c24261c24261c24261c24261c
+1c1e1924261c1c1e19342d1f1c1e1924261c24261c24261c342d1f24261c24261c
+24261c24261c272c1f342d1f272c1f2b33223335222b3322333522272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f2b3322342d1f3335223335222a3438304321
+2e3c442b3322272c1f272c1f2b33222b33222b33222b33222b3322383c23272c1f
+2b3322272c1f272c1f272c1f2b3322272c1f2b3322333522272c1f272c1f272c1f
+272c1f272c1f272c1f342d1f272c1f262e35272c1f272c1f24261c262e35342d1f
+262e35272c1f272c1f24261c342d1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f24261c24261c272c1f272c1f24261c272c1f272c1f
+30432130444d3c586f597c75587ca041678a6886a66f8fae7a91a87197b47197b4
+7197b47197b47197b47d98b17d98b17197b47197b47d98b17d98b17d98b17d98b1
+6886a6587ca0577376496065354c312f3c222e3c443335223335222b3322262e35
+333522262e35272c1f24261c272c1f2f3c223d4f563043212b33222e3c44344d59
+2e3c442f3c22373e432a34383335222b332230444d4658643c586f597c756f8fae
+7197b47d98b17197b47d98b17a91a87d98b17d98b17d98b17a91a87d98b1819fb7
+7d98b17d98b17d98b17d98b17a91a8627d99587ca0597c754b686530444d2b3322
+4658643d573b3f4e322e3c442b3322342d1f2b3322262e35272c1f24261c24261c
+272c1f24261c1e241b24261c272c1f342d1f272c1f24261c333522342d1f272c1f
+24261c272c1f272c1f342d1f24261c272c1f272c1f272c1f272c1f333522383c23
+2b33222b33221e241b2a34385773764b6865465864626e8c556c84344d59496065
+626e8c627d994658643c586f3d5f7a5773766886a6627d9954605f3c507275889b
+6886a6607590627d994561853c5072627d9954605f556c84556c8446586454605f
+3c5072626e8c626e8c54605f54605f46586475889b465864465864626e8c54605f
+60759075889b75889b626e8c75889b556c84627d996075906075906886a6627d99
+4b68653d4f56637471556c846075906075906075906886a6577376537499456185
+626e8c6886a675889b7a91a8627d996886a66f8fae7a91a87a91a875889b627d99
+75889b537499626e8c627d99607590496065607590465864627d99556c84354c31
+2e3c442f3c222e3c443d573b2f3c22272c1f272c1f272c1f2b33222a3438304321
+2e3c4439444647583230444d3d4f562a34383944462a3438272c1f272c1f272c1f
+2e3c443f4e322a34382b3322272c1f272c1f2b33222b33222e3c442b33222f3c22
+2b33223335222f3c22272c1f2b33222b3322272c1f24261c272c1f272c1f24261c
+2b3322272c1f2b3322272c1f272c1f383c232b3322272c1f24261c272c1f24261c
+272c1f342d1f24261c24261c24261c3335221e241b272c1f272c1f2b3322272c1f
+272c1f24261c24261c272c1f272c1f2b3322262e35272c1f272c1f272c1f2f3c22
+2b3322272c1f2f3c222a3438272c1f3335222a3438333642272c1f272c1f272c1f
+272c1f272c1f24261c24261c24261c24261c24261c24261c24261c272c1f262e35
+272c1f272c1f2e3c443d4f56272c1f2a343830444d3d573b3d4f5641678a3d4f56
+4960653d4f5630444d2b3322272c1f24261c272c1f333522272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f
+272c1f24261c272c1f272c1f272c1f272c1f2f3c222b33223f4e32373e43333642
+262e35262e3524261c24261c24261c24261c342d1f24261c24261c24261c24261c
+24261c1c1e191c1e1924261c24261c342d1f24261c443623333522342d1f24261c
+24261c24261c3335222b33222b3322272c1f24261c333522383c23272c1f2b3322
+342d1f272c1f24261c342d1f272c1f2e3c442b33222a34382e3c44304321344d59
+3043212f3c2230444d354c312a34382b33222b3322272c1f272c1f383c23333522
+342d1f272c1f2b3322342d1f272c1f2b3322272c1f2b3322272c1f342d1f262e35
+24261c272c1f272c1f272c1f272c1f342d1f24261c272c1f272c1f272c1f272c1f
+272c1f24261c272c1f272c1f272c1f272c1f342d1f272c1f272c1f2b3322272c1f
+272c1f24261c272c1f24261c272c1f272c1f272c1f24261c272c1f272c1f272c1f
+344d59344d593d5f7a5d83a4627d99537499627d997197b47a91a86f8fae7d98b1
+7197b47d98b17197b47a91a87d98b17d98b17d98b17197b47d98b17d98b17d98b1
+6886a6576a624b68654b68653d5f7a4b68653d573b373e432b3322333522272c1f
+2a3438342d1f272c1f262e35262e352e3c444960654658642b33222e3c443d4f56
+354c312e3c442b33222b33222e3c443944462e3c444960654a6a8d627d996f8fae
+7197b47d98b17197b47197b47d98b17197b47d98b17197b47d98b17d98b1819fb7
+7197b47d98b17d98b17197b47d98b16f8fae587ca0597c754960652e3c442b3322
+2a34382f3c222a3438272c1f272c1f272c1f333522272c1f272c1f24261c24261c
+24261c24261c1e241b272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f
+24261c24261c24261c272c1f342d1f24261c272c1f4e5043333522272c1f3a4423
+2b33222b3322272c1f2a3438556c844b68654658644960653c586f3c586f3d5f7a
+556c84556c843d4f56373e43344d593d4f56667c74626e8c46586445618575889b
+607590456185626e8c46586446586460759054605f626e8c3c507246586454605f
+3c507246586454605f3c507254605f4561858b919f4658643944462e3c44394446
+626e8c75889b626e8c607590626e8c4561856075906075906886a64a6a8d6b8673
+3c586f3c586f627d99607590556c843c5072556c84607590465864537499577376
+4a6a8d6075906886a67a91a8627d997a91a86886a66f8fae75889b6f8fae607590
+6886a66075903c5072556c84626e8c3c586f556c84344d59576a623d4f562e3c44
+2f3c222b3322272c1f3944462e3c44272c1f1e241b272c1f272c1f262e35394446
+3043213944462e3c443944463043212a3438373e432b3322272c1f1e241b2b3322
+262e353d4f56383c23262e3524261c272c1f2f3c222b33222a3438272c1f272c1f
+2b33222b332233352224261c272c1f272c1f272c1f24261c272c1f272c1f272c1f
+272c1f342d1f272c1f272c1f2b3322342d1f272c1f24261c24261c24261c24261c
+272c1f272c1f272c1f272c1f1e241b2b3322272c1f272c1f1e241b272c1f272c1f
+24261c24261c1e241b272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e35
+2f3c222a3438354c312a3438272c1f272c1f272c1f272c1f24261c24261c272c1f
+272c1f272c1f24261c24261c24261c24261c24261c272c1f24261c342d1f272c1f
+24261c272c1f272c1f262e35272c1f262e353336423336422e3c444658643f4e32
+3d4f563944462e3c442b33222b332224261c24261c272c1f272c1f24261c2b3322
+2b3322272c1f272c1f24261c24261c272c1f24261c272c1f272c1f272c1f272c1f
+272c1f342d1f272c1f24261c272c1f272c1f2f3c222b33222b3322272c1f262e35
+272c1f272c1f24261c24261c1c1e1924261c24261c24261c342d1f24261c24261c
+1c1e1924261c24261c24261c24261c24261c24261c443623383c23383c23342d1f
+342d1f383c232b3322272c1f272c1f272c1f272c1f2f3c223a44232b33222f3c22
+2b3322272c1f272c1f24261c272c1f2a3438272c1f2b33222b33222e3c442f3c22
+30444d344d593d573b4b68652f3c222f3c22262e352b33222f3c222e3c442b3322
+272c1f272c1f2b3322272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f
+272c1f342d1f24261c24261c262e35272c1f24261c262e35272c1f272c1f24261c
+272c1f24261c24261c272c1f262e35272c1f272c1f272c1f272c1f272c1f342d1f
+272c1f272c1f24261c272c1f24261c24261c272c1f272c1f24261c272c1f24261c
+3d4f56344d594561855d83a46886a66886a66886a66f8fae6f8fae7a91a86f8fae
+7197b47197b47a91a87d98b17197b47d98b17197b47d98b17d98b17197b4819fb7
+6886a6496065556c846b8673577376576a623d573b394446333522262e35272c1f
+272c1f2a343824261c272c1f24261c30444d4b68654658642e3c443d573b4b6865
+30444d2a3438342d1f272c1f2b33222a34382e3c443c586f556c846886a66f8fae
+7197b47a91a87197b46f8fae6f8fae7d98b17197b47a91a87d98b17197b47197b4
+7d98b17197b47197b47197b47197b46886a6587ca05773763d5f7a2f3c22262e35
+272c1f272c1f272c1f24261c272c1f2b3322333522272c1f262e3524261c24261c
+24261c24261c24261c262e35272c1f24261c272c1f24261c342d1f333642272c1f
+342d1f272c1f272c1f24261c262e35272c1f272c1f24261c24261c262e35383c23
+272c1f2f3c22262e3530444d556c8454605f3c50723d4f56344d593d4f56456185
+4658644658643d4f562e3c443944464658643d4f56465864373e43607590607590
+54605f626e8c626e8c46586454605f54605f465864373e433944463c5072394446
+4658643c50723944463c50724e5043465864627d9946586430444d2e3c44373e43
+3c5072626e8c4561856f8fae60759054605f456185556c846886a654605f627d99
+3d4f56465864667c746075903d4f56394446607590626e8c456185456185607590
+607590607590607590627d99556c84627d99627d997a91a87197b475889b607590
+6886a660759046586454605f496065556c844b68653d4f5639444639444630444d
+2f3c222e3c44272c1f2b33222a3438262e35272c1f272c1f2f3c222b3322344d59
+3f4e323f4e322b33222f3c223d4f562a34382b3322262e35272c1f272c1f2b3322
+272c1f373e43262e35272c1f272c1f272c1f2a3438272c1f272c1f1e241b24261c
+272c1f272c1f272c1f24261c272c1f272c1f24261c24261c272c1f24261c272c1f
+2b3322272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c1e241b24261c
+1e241b272c1f24261c1e241b1e241b2b332224261c1e241b24261c1e241b1e241b
+24261c1e241b272c1f262e35272c1f272c1f1e241b272c1f272c1f24261c24261c
+262e352e3c443c586f333522262e35272c1f272c1f272c1f24261c24261c272c1f
+272c1f342d1f24261c24261c24261c24261c24261c272c1f272c1f272c1f272c1f
+1e241b272c1f272c1f272c1f24261c272c1f272c1f2b3322342d1f3d4f56394446
+2e3c442f3c222a34382b33222b332224261c342d1f272c1f272c1f272c1f272c1f
+24261c272c1f272c1f24261c24261c24261c24261c272c1f2b3322342d1f272c1f
+24261c272c1f272c1f272c1f24261c262e352b3322272c1f262e35272c1f272c1f
+272c1f342d1f24261c24261c1c1e1924261c262e3524261c24261c24261c342d1f
+342d1f24261c24261c24261c24261c24261c272c1f272c1f272c1f342d1f272c1f
+272c1f383c23333522272c1f272c1f272c1f272c1f2b3322344d1e2f3c222f3c22
+272c1f2b3322272c1f3335222b332230444d2f3c2224261c2b33222b33222e3c44
+2f3c22262e352e3c442a34382f3c222b3322272c1f2b3322333522342d1f333522
+24261c24261c342d1f2b3322333522272c1f272c1f272c1f272c1f342d1f272c1f
+272c1f262e35272c1f24261c272c1f342d1f272c1f342d1f24261c342d1f272c1f
+24261c272c1f24261c272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f
+272c1f272c1f272c1f24261c24261c272c1f24261c272c1f272c1f272c1f272c1f
+3d573b4a6a8d627d996f8fae6f8fae6f8fae6f8fae7197b46f8fae7a91a87d98b1
+6f8fae7d98b17197b47a91a87d98b17d98b17d98b17197b47d98b17d98b17d98b1
+7d98b1587ca06886a66f8fae597c75556c84475832394446333642333522272c1f
+272c1f262e35272c1f342d1f24261c262e35373e433f4e32333642344d59496065
+3043212a3438262e352e3c44304321344d592e3c443c50724a6a8d627d997a91a8
+7197b47d98b17197b47d98b17197b46f8fae7197b47a91a87a91a87a91a87197b4
+7d98b17197b47d98b17197b47d98b17197b46886a6354c312e3c44354c31354c31
+3944462b3322262e35342d1f24261c272c1f333522272c1f342d1f24261c262e35
+24261c24261c24261c272c1f2b3322262e35272c1f272c1f24261c2b3322272c1f
+2b3322272c1f272c1f272c1f272c1f3335222f3c22272c1f24261c272c1f2e3c44
+2b33222f3c222f3c223d573b496065373e4339444639444630444d3d4f56465864
+4561853d4f563944462a34383d4f56344d5939444654605f2e3c44456185626e8c
+3c586f556c844561853c50724658643c50723944463336423d4f5639444630444d
+4658643d4f56394446373e433944464658643c50724658642a343830444d30444d
+3c507254605f4a6a8d627d995f61564561853c5072626e8c607590456185607590
+3d4f56465864627d9954605f3c507230444d6075904b68653c586f4960656886a6
+556c8445618560759045618554605f6886a675889b75889b6f8fae6886a6626e8c
+556c844561854561856075904658643d4f56344d592e3c443335223944462b3322
+2a34382f3c22262e35272c1f2b3322272c1f262e3524261c333642333522394446
+3944464e50432f3c222e3c443d573b2e3c44272c1f1e241b2b33221e241b262e35
+272c1f272c1f2f3c222b33222b33222b3322262e352b33222e3c441e241b272c1f
+2b33222b3322333522272c1f272c1f33352224261c24261c272c1f272c1f272c1f
+342d1f272c1f272c1f272c1f2b3322272c1f272c1f24261c24261c24261c272c1f
+1e241b24261c272c1f24261c24261c272c1f272c1f1e241b24261c1e241b24261c
+24261c272c1f272c1f2f3c22272c1f272c1f272c1f24261c262e35272c1f2b3322
+2b33222e3c44354c312e3c442b332230444d354c31333642272c1f24261c333522
+262e35272c1f24261c272c1f24261c272c1f272c1f24261c272c1f2b3322272c1f
+24261c272c1f24261c272c1f272c1f262e35272c1f272c1f272c1f2a34382f3c22
+2a3438272c1f2e3c44262e352b3322272c1f333642272c1f272c1f272c1f272c1f
+342d1f272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f2b3322272c1f
+24261c272c1f272c1f2b332224261c272c1f342d1f2b3322272c1f272c1f272c1f
+272c1f272c1f24261c24261c24261c24261c24261c272c1f272c1f342d1f262e35
+44362324261c24261c342d1f24261c24261c342d1f24261c24261c24261c24261c
+24261c342d1f272c1f272c1f272c1f24261c272c1f272c1f2f3c223335222b3322
+2b33222f3c222b3322272c1f2a34382b33222e3c442b33222b3322272c1f2f3c22
+2f3c22262e352b3322262e353043212e3c4424261c272c1f2b3322272c1f272c1f
+272c1f272c1f2b33222b3322272c1f272c1f272c1f272c1f24261c272c1f272c1f
+272c1f272c1f272c1f24261c272c1f24261c272c1f262e3524261c24261c24261c
+272c1f272c1f24261c342d1f272c1f24261c272c1f24261c24261c24261c24261c
+24261c272c1f342d1f24261c24261c24261c272c1f24261c272c1f272c1f272c1f
+465864496065587ca06886a66886a66886a66f8fae6f8fae7a91a87a91a87a91a8
+7197b46f8fae7d98b17197b46f8fae6f8fae7a91a87d98b17a91a87197b47d98b1
+7197b47a91a87197b47d98b1597c7554605f394446383c23333642262e35342d1f
+24261c342d1f272c1f262e35272c1f272c1f2b3322354c312f3c222e3c443d4f56
+354c31383c23272c1f2e3c442e3c443d4f5630444d344d594561856886a66f8fae
+7197b46f8fae6f8fae6f8fae6f8fae7197b47197b46f8fae6f8fae7197b47a91a8
+7a91a87197b47197b47a91a87197b47197b45d83a4373e432b332230444d2e3c44
+2e3c44272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e3524261c
+262e3524261c24261c272c1f272c1f2b33222b332224261c272c1f272c1f272c1f
+24261c342d1f272c1f272c1f272c1f3043213d4f562a3438272c1f272c1f2f3c22
+2b33222f3c222a3438344d59354c312a3438262e35354c312a3438344e6f576a62
+3c50722e3c44394446262e354658643944463c50723d4f56333642344e6f556c84
+344d59556c843c5072465864465864394446333642333642262e353d4f56333642
+3d4f563944462a3438262e354e50433c507230444d465864262e353944463c586f
+3944463c5072456185556c84465864344d59394446456185626e8c456185556c84
+30444d465864626e8c3d4f5630444d3c5072626e8c3c50723d5f7a3c586f6886a6
+46586454605f456185556c84607590627d9975889b6886a6627d996886a6456185
+3c50724658644a6a8d627d99354c31394446373e432b33222a34382f3c22262e35
+2f3c22262e351e241b262e35272c1f272c1f2b3322272c1f2a34382a343830444d
+3f4e32373e432a34382f3c222e3c442b3322272c1f272c1f24261c1e241b272c1f
+2b3322262e353a4423272c1f262e352b3322272c1f2b33221e241b272c1f24261c
+272c1f2b3322272c1f1e241b272c1f2b332224261c272c1f272c1f272c1f1e241b
+272c1f272c1f24261c342d1f342d1f24261c24261c24261c24261c1e241b1e241b
+272c1f1e241b24261c24261c1e241b272c1f1e241b1e241b1e241b272c1f272c1f
+1e241b24261c24261c2e3c44272c1f24261c24261c1e241b272c1f1e241b2b3322
+262e35272c1f2e3c44262e35272c1f30444d2e3c442b3322342d1f262e35272c1f
+2b3322272c1f24261c1e241b24261c24261c24261c2b3322272c1f24261c272c1f
+272c1f272c1f33352224261c272c1f1e241b24261c272c1f272c1f272c1f262e35
+272c1f2b332230432130444d373e43272c1f2f3c22272c1f24261c272c1f272c1f
+272c1f342d1f272c1f24261c24261c24261c24261c272c1f2b3322272c1f272c1f
+272c1f272c1f272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f262e35
+342d1f24261c272c1f24261c24261c24261c24261c24261c24261c342d1f333642
+33364224261c272c1f342d1f24261c272c1f272c1f272c1f272c1f24261c24261c
+24261c272c1f272c1f272c1f2b33221e241b272c1f272c1f272c1f272c1f342d1f
+333522272c1f272c1f272c1f3335222b33222b33222e3c442b3322262e352b3322
+2f3c22272c1f272c1f262e35272c1f2b3322262e352b3322272c1f2b33222f3c22
+2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e3524261c272c1f
+24261c262e35272c1f272c1f24261c272c1f24261c24261c262e35272c1f272c1f
+272c1f272c1f272c1f272c1f24261c24261c24261c24261c24261c272c1f24261c
+272c1f24261c272c1f342d1f272c1f342d1f24261c272c1f24261c272c1f272c1f
+4658644b68656886a66f8fae6f8fae6f8fae6f8fae6f8fae7197b47a91a86f8fae
+7d98b16f8fae6f8fae7197b46f8fae6f8fae6f8fae7a91a86f8fae7197b46f8fae
+7d98b17a91a87197b45d83a43c586f354c313944462f3c222b33222b3322262e35
+272c1f262e35342d1f333642262e35342d1f2e3c443d4f5630444d3d4f56465864
+2e3c443335223335222a34382f3c223c5072344d593c586f3c586f627d9975889b
+7197b47197b47197b46f8fae6f8fae6f8fae6f8fae6f8fae6f8fae6f8fae6f8fae
+6f8fae75889b7a91a86f8fae6f8fae6f8fae597c75344d592e3c444b68653d4f56
+304321272c1f272c1f24261c272c1f24261c342d1f272c1f272c1f272c1f24261c
+24261c1e241b1e241b272c1f24261c272c1f272c1f24261c24261c272c1f272c1f
+272c1f272c1f2b3322272c1f272c1f2f3c223f4e322b332224261c272c1f262e35
+2e3c44354c3130444d4b68654960652a3438262e3530444d2a34383d573b496065
+30444d373e433944462b332230444d2e3c44465864373e432a3438344d59607590
+2e3c444a6a8d30444d54605f3d4f56373e432a343824261c262e353d4f562a3438
+3d4f56373e43262e352a3438344d5930444d30444d496065262e35394446344d59
+39444630444d45618546586449606530444d3336424658646886a6456185577376
+30444d344d5954605f2e3c44344d593d4f5654605f3d4f5649606530444d496065
+344e6f3c5072394446627d99627d996075906886a6627d99627d99607590456185
+4b68653c507254605f626e8c344d592e3c44354c312a34382a34382e3c44272c1f
+2b3322262e35272c1f272c1f1e241b262e351e241b272c1f2b33222e3c44373e43
+3d4f563043212b3322272c1f272c1f272c1f272c1f1e241b272c1f1e241b1e241b
+272c1f272c1f3a4423272c1f272c1f262e35272c1f272c1f1e241b272c1f1e241b
+272c1f2b3322272c1f24261c24261c272c1f1e241b1e241b272c1f272c1f272c1f
+272c1f272c1f24261c272c1f272c1f272c1f24261c24261c342d1f1e241b1e241b
+1e241b2b3322272c1f24261c1e241b24261c24261c1e241b1e241b272c1f24261c
+1e241b1e241b272c1f2b3322272c1f24261c272c1f1e241b272c1f1e241b2b3322
+262e351e241b2f3c22262e35272c1f30444d354c312a343824261c262e35272c1f
+272c1f24261c24261c1e241b24261c272c1f272c1f33352224261c272c1f24261c
+24261c1e241b342d1f24261c24261c272c1f24261c24261c262e35342d1f24261c
+1e241b262e352f3c223043212e3c44272c1f2b3322272c1f24261c272c1f24261c
+272c1f2b3322272c1f24261c272c1f24261c272c1f24261c272c1f24261c272c1f
+24261c24261c272c1f24261c2b3322272c1f272c1f272c1f272c1f272c1f272c1f
+2a343824261c262e3524261c24261c24261c24261c24261c272c1f262e35272c1f
+24261c272c1f24261c272c1f272c1f342d1f272c1f24261c272c1f24261c24261c
+24261c24261c272c1f24261c272c1f24261c24261c24261c272c1f2b3322272c1f
+272c1f2b3322272c1f2b33222b33222b3322272c1f2b33222f3c22272c1f272c1f
+2a34382b33222b3322272c1f272c1f272c1f2b3322262e35272c1f2b33222b3322
+2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c272c1f
+24261c262e3524261c272c1f24261c24261c262e3524261c24261c24261c272c1f
+24261c272c1f1e241b272c1f24261c272c1f24261c24261c24261c24261c24261c
+342d1f24261c24261c24261c272c1f24261c272c1f272c1f272c1f342d1f272c1f
+4b6865556c846886a67197b46f8fae6886a67a91a86f8fae6f8fae6f8fae6f8fae
+6886a66f8fae6f8fae6f8fae6f8fae6f8fae6f8fae6f8fae7197b46f8fae6f8fae
+6f8fae6f8fae6f8fae5773765773764658643a4423373e43262e35342d1f262e35
+24261c272c1f262e35272c1f2a3438262e3530444d4960652e3c443c5072577376
+354c312e3c443335223944463336423c50724b68654a6a8d556c84587ca06f8fae
+6f8fae7197b46f8fae6f8fae6f8fae6f8fae6f8fae6f8fae627d996f8fae7197b4
+6f8fae6f8fae6f8fae6f8fae7197b46f8fae5d83a4354c313d5f7a6886a6496065
+2e3c44262e3524261c342d1f24261c272c1f2b3322272c1f272c1f272c1f24261c
+24261c1e241b1c1e191e241b272c1f342d1f24261c24261c272c1f272c1f272c1f
+24261c272c1f272c1f2f3c222b3322262e353043212b3322262e35272c1f333522
+30444d4960653c586f577376344d592f3c222a343830444d2e3c44344d592e3c44
+2a34383335222e3c442a343830444d3944462a34383944462a3438465864556c84
+3944463c5072344e6f4658642e3c442a3438262e351e241b2a34383c586f30444d
+30444d3d4f561e241b2e3c444960653c50723336423d4f561e241b333642344d59
+262e35373e434658642e3c443d4f562e3c443944464960656886a6465864556c84
+344d5930444d344d592a34383d4f563d4f56344e6f30444d3c50724658643c5072
+3944463336423944464a6a8d6886a653749975889b6075904a6a8d627d99556c84
+556c843d4f563c586f5374993d4f562e3c44354c312f3c22272c1f262e35272c1f
+1e241b272c1f2b3322272c1f24261c1e241b272c1f2b3322272c1f2b33222e3c44
+344d592f3c222a3438272c1f272c1f272c1f1e241b272c1f1e241b1e241b272c1f
+272c1f24261c272c1f1e241b2b33222b3322272c1f272c1f24261c24261c24261c
+272c1f24261c24261c24261c24261c272c1f24261c24261c24261c272c1f272c1f
+272c1f272c1f24261c342d1f272c1f24261c342d1f272c1f24261c24261c1e241b
+272c1f24261c1e241b24261c24261c24261c272c1f1c1e191e241b24261c1e241b
+1e241b1e241b1e241b272c1f24261c1e241b1e241b272c1f1e241b272c1f1e241b
+272c1f262e352a3438272c1f24261c2a34382e3c44272c1f272c1f24261c24261c
+1e241b272c1f24261c24261c272c1f24261c342d1f262e35272c1f24261c1e241b
+272c1f272c1f272c1f24261c24261c1e241b262e35272c1f272c1f272c1f272c1f
+1e241b272c1f272c1f272c1f272c1f262e35272c1f24261c272c1f24261c272c1f
+272c1f33352224261c272c1f1e241b24261c1e241b272c1f24261c272c1f24261c
+272c1f272c1f272c1f2b3322272c1f272c1f24261c272c1f24261c272c1f342d1f
+342d1f24261c24261c342d1f24261c24261c24261c24261c24261c272c1f24261c
+272c1f272c1f342d1f272c1f272c1f272c1f272c1f342d1f272c1f24261c24261c
+24261c24261c24261c2b3322272c1f272c1f24261c272c1f272c1f272c1f272c1f
+272c1f272c1f2b33222b3322262e352b3322272c1f272c1f2b3322272c1f272c1f
+272c1f272c1f2b33222b33221e241b1e241b272c1f2b33222b3322272c1f2b3322
+272c1f272c1f272c1f272c1f24261c33352224261c24261c272c1f272c1f24261c
+272c1f24261c24261c24261c272c1f272c1f272c1f262e3524261c24261c272c1f
+272c1f24261c272c1f272c1f24261c342d1f24261c24261c342d1f272c1f272c1f
+1e241b272c1f272c1f342d1f272c1f272c1f24261c272c1f272c1f272c1f2b3322
+5374995374995d83a47197b47a91a86f8fae6f8fae6f8fae6f8fae6f8fae6886a6
+6f8fae6f8fae6f8fae6f8fae75889b6f8fae7a91a86f8fae6f8fae6f8fae6f8fae
+7197b47a91a87a91a86f8fae49606530444d2e3c443a44232a34382b3322262e35
+342d1f262e35272c1f2e3c443043212b332230444d41678a5773763d5f7a537499
+4b68653043212a3438394446383c23465864537499587ca05374995d83a46f8fae
+6886a66f8fae6f8fae6f8fae6f8fae6f8fae6f8fae6f8fae587ca06f8fae6f8fae
+6f8fae7197b46f8fae6f8fae7a91a86886a65773763c5072577376587ca03d4f56
+2b33222b332224261c272c1f24261c24261c342d1f24261c24261c342d1f262e35
+24261c24261c1e241b1e241b272c1f342d1f272c1f24261c333522272c1f272c1f
+272c1f272c1f272c1f2b33222b3322272c1f2f3c22272c1f2b3322272c1f2b3322
+2f3c2230444d4960654960652e3c442f3c221e241b2f3c222e3c44344d592b3322
+24261c3336422b33222e3c4430444d3944462a34382a34382e3c44556c84465864
+3944464960653d4f563944462a3438262e35262e351e241b2e3c442e3c442e3c44
+262e352e3c44272c1f2a3438344d59373e4330444d2e3c44272c1f272c1f30444d
+272c1f2a34383944462e3c442e3c442e3c4430444d3c5072626e8c2e3c44496065
+2a34383d4f56373e4330444d30444d3d4f562e3c4446586430444d4658643c5072
+373e43373e433c50724561856886a65374996886a6627d99456185627d99556c84
+556c842e3c44465864556c843c586f2e3c442e3c443d4f562b3322262e35272c1f
+272c1f272c1f1e241b1e241b272c1f1e241b1e241b272c1f272c1f2b3322394446
+465864354c312b3322272c1f272c1f2b3322272c1f1e241b1e241b272c1f1e241b
+272c1f24261c272c1f272c1f1e241b2b3322272c1f272c1f272c1f2b33221e241b
+24261c272c1f272c1f24261c272c1f272c1f24261c1e241b24261c272c1f272c1f
+272c1f272c1f272c1f272c1f24261c272c1f342d1f24261c272c1f272c1f24261c
+272c1f1e241b1e241b1e241b24261c24261c24261c1e241b1e241b24261c24261c
+1e241b272c1f24261c1e241b24261c24261c24261c272c1f272c1f272c1f24261c
+262e35272c1f262e35262e35272c1f2a343830444d272c1f24261c272c1f24261c
+24261c272c1f272c1f24261c24261c24261c272c1f24261c272c1f24261c24261c
+24261c24261c2a3438272c1f272c1f24261c1e241b1e241b24261c1e241b262e35
+272c1f1e241b24261c272c1f272c1f24261c272c1f24261c272c1f272c1f24261c
+272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f24261c
+272c1f272c1f272c1f333522272c1f272c1f24261c342d1f272c1f272c1f272c1f
+262e35272c1f272c1f262e35272c1f24261c24261c24261c342d1f272c1f24261c
+342d1f2b3322272c1f272c1f2b3322272c1f272c1f333522272c1f24261c24261c
+24261c272c1f24261c2b3322272c1f272c1f24261c272c1f272c1f2b332224261c
+272c1f2b33222b33222b33222f3c222b3322272c1f262e35333522262e35272c1f
+2b3322272c1f2b3322272c1f2b3322272c1f1e241b262e352b3322342d1f2b3322
+272c1f272c1f272c1f272c1f272c1f262e35342d1f24261c272c1f272c1f342d1f
+262e3524261c24261c24261c24261c24261c342d1f24261c272c1f24261c272c1f
+342d1f272c1f272c1f24261c272c1f24261c342d1f24261c24261c24261c24261c
+24261c24261c272c1f272c1f272c1f272c1f24261c342d1f272c1f272c1f272c1f
+5374996075906886a66886a66886a66886a66f8fae6886a66886a66f8fae6f8fae
+6886a66f8fae6886a66f8fae6f8fae6886a66f8fae6f8fae6f8fae6886a66f8fae
+6f8fae6886a66f8fae6b86733d5f7a30444d354c31354c312a3438342d1f24261c
+262e35272c1f272c1f394446344d5930444d5773766f8fae5d83a4627d99556c84
+6075903f4e322e3c44344d59373e433d4f56587ca06f8fae5d83a46f8fae6f8fae
+6f8fae6f8fae6f8fae6f8fae6886a66886a66f8fae6886a6587ca06f8fae6f8fae
+6f8fae6f8fae6f8fae6f8fae6f8fae6886a641678a4a6a8d5d83a449606530444d
+272c1f272c1f272c1f272c1f24261c272c1f262e35272c1f2a343833352224261c
+272c1f1e241b1e241b1e241b272c1f272c1f24261c272c1f24261c272c1f272c1f
+272c1f272c1f272c1f2b3322272c1f2b33223335222a34382b3322272c1f2b3322
+2a34383c586f4b6865354c31262e35262e35272c1f272c1f373e43262e3524261c
+272c1f262e35272c1f2b332230432130444d262e35272c1f3336423d4f56373e43
+3d4f56556c8430444d2a34382b33221e241b272c1f1e241b1e241b272c1f262e35
+2b33222e3c4424261c2b332230444d2e3c443d4f562a3438272c1f272c1f2a3438
+272c1f262e352a34382a34382e3c44272c1f2a34383d4f563d4f5630444d394446
+262e353336422e3c442e3c44344d592e3c442e3c44373e433336423d4f5630444d
+344d592a343846586446586460759041678a6075906886a64561854b6865456185
+45618530444d4658643c5072344d5930444d354c31354c31272c1f272c1f272c1f
+2b33221e241b272c1f272c1f1e241b24261c1e241b2b33222b33222b3322262e35
+465864373e432b3322272c1f272c1f272c1f24261c24261c1e241b1e241b272c1f
+1e241b24261c1e241b1e241b272c1f2b3322272c1f272c1f1e241b272c1f272c1f
+24261c272c1f24261c24261c272c1f1e241b272c1f24261c272c1f24261c272c1f
+272c1f272c1f272c1f24261c24261c24261c24261c272c1f272c1f24261c1e241b
+1e241b1e241b1e241b1e241b24261c1c1e1924261c1c1e1924261c24261c1c1e19
+1e241b1e241b24261c24261c24261c24261c1e241b1e241b272c1f1e241b2b3322
+262e35272c1f262e35272c1f1e241b272c1f272c1f1e241b1c1e1924261c272c1f
+24261c24261c24261c1e241b24261c1e241b24261c24261c24261c272c1f262e35
+272c1f272c1f272c1f24261c272c1f24261c24261c24261c272c1f272c1f262e35
+272c1f262e3524261c24261c272c1f24261c24261c24261c24261c24261c24261c
+272c1f342d1f272c1f272c1f24261c272c1f1e241b272c1f272c1f24261c24261c
+1e241b272c1f262e352b3322272c1f24261c2b3322272c1f1e241b272c1f272c1f
+272c1f272c1f272c1f262e3524261c24261c272c1f272c1f272c1f24261c272c1f
+2b3322272c1f272c1f272c1f272c1f272c1f33352233352224261c24261c24261c
+272c1f24261c272c1f272c1f333522272c1f272c1f272c1f24261c272c1f2b3322
+272c1f272c1f272c1f262e352b33222a3438272c1f272c1f2b3322272c1f272c1f
+272c1f272c1f2b3322262e352b3322272c1f272c1f272c1f272c1f2b3322262e35
+24261c24261c272c1f272c1f24261c272c1f272c1f24261c262e3524261c272c1f
+24261c24261c272c1f272c1f272c1f272c1f24261c24261c24261c24261c262e35
+342d1f272c1f24261c24261c272c1f24261c24261c24261c342d1f24261c272c1f
+24261c24261c24261c24261c342d1f24261c272c1f272c1f272c1f272c1f272c1f
+6886a65d83a46886a66f8fae5d83a46886a66886a66886a66886a66886a66886a6
+6886a66f8fae6886a66f8fae6f8fae6886a66886a66f8fae6886a66f8fae6886a6
+6f8fae6886a66f8fae5d83a43d5f7a344d593d4f563d573b2a34382a3438272c1f
+272c1f262e35272c1f2e3c442f3c222e3c444a6a8d6886a66f8fae5d83a4556c84
+54605f4e4425394446394446373e433d4f566886a66f8fae6f8fae6f8fae5d83a4
+6f8fae6886a66f8fae6886a66f8fae6886a66f8fae6f8fae587ca06886a66f8fae
+6f8fae6f8fae6886a66f8fae6f8fae5d83a46886a675889b41678a30444d30444d
+2b3322272c1f333522272c1f272c1f272c1f272c1f272c1f333522262e3524261c
+24261c24261c24261c1e241b24261c24261c24261c272c1f1e241b272c1f272c1f
+272c1f272c1f272c1f2b3322272c1f262e352f3c222b33222f3c22262e352b3322
+2a34383d4f56344d592e3c442b3322272c1f262e35272c1f2b3322272c1f24261c
+262e35272c1f262e35272c1f2e3c44373e43272c1f272c1f2a3438373e432a3438
+3d4f563336422a3438262e352b3322262e351e241b1e241b1e241b262e352b3322
+2a3438272c1f1e241b2e3c4430444d2e3c44344d59262e351e241b272c1f394446
+1e241b2e3c442a3438262e352b33221e241b262e35373e43344d593d4f56333642
+272c1f272c1f262e35262e35344d592a343830444d262e352a3438394446333642
+3d4f56373e433944463d4f56556c843d5f7a626e8c6f8fae556c844a6a8d3c5072
+46586430444d3c586f4b68653c5072354c31344d59304321262e35272c1f1e241b
+1e241b272c1f1e241b24261c1e241b1e241b272c1f1e241b262e352f3c22272c1f
+2e3c44373e43272c1f272c1f272c1f272c1f272c1f1e241b1e241b1e241b272c1f
+1e241b24261c24261c24261c1e241b272c1f2b3322272c1f1e241b272c1f1e241b
+24261c24261c1e241b1e241b272c1f24261c272c1f24261c272c1f24261c272c1f
+272c1f1e241b24261c24261c24261c24261c1e241b272c1f1e241b1e241b1e241b
+1e241b1c1e191e241b24261c24261c1c1e191c1e1924261c24261c24261c1c1e19
+1e241b1e241b24261c1e241b24261c24261c1e241b272c1f1e241b272c1f1e241b
+272c1f272c1f272c1f1e241b1e241b24261c272c1f272c1f24261c24261c24261c
+1e241b24261c24261c24261c1e241b24261c24261c1e241b24261c24261c24261c
+272c1f24261c272c1f24261c1e241b272c1f24261c1e241b24261c1e241b262e35
+1e241b262e35262e3524261c24261c272c1f24261c24261c24261c24261c24261c
+24261c272c1f24261c342d1f1e241b272c1f272c1f272c1f342d1f24261c272c1f
+24261c272c1f272c1f272c1f24261c24261c2b3322272c1f272c1f24261c272c1f
+272c1f272c1f272c1f272c1f1e241b1e241b24261c24261c272c1f24261c272c1f
+272c1f33352224261c2b3322272c1f272c1f342d1f342d1f24261c24261c24261c
+342d1f24261c24261c272c1f33352224261c272c1f272c1f272c1f2b3322272c1f
+2b3322272c1f272c1f1e241b2b33222b3322272c1f272c1f2b3322272c1f272c1f
+272c1f272c1f2b33221e241b2f3c221e241b1e241b262e35272c1f2b3322272c1f
+272c1f272c1f272c1f24261c24261c272c1f24261c272c1f272c1f24261c272c1f
+24261c342d1f1e241b272c1f24261c24261c24261c272c1f342d1f24261c262e35
+272c1f272c1f24261c24261c24261c24261c24261c24261c262e35342d1f24261c
+24261c272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f272c1f
+5d83a45d83a46f8fae5d83a46886a66f8fae6886a65d83a46886a66886a65d83a4
+6886a65d83a46886a65d83a46886a66886a66886a66886a66886a66886a66886a6
+6f8fae6886a66886a66886a64b68653d5f7a344d59344d592a3438262e35262e35
+272c1f272c1f262e35272c1f2a343830444d3d5f7a587ca06f8fae5d83a44a6a8d
+496065394446373e433c586f30444d344e6f6886a66f8fae5d83a46f8fae6f8fae
+6886a66f8fae5d83a46f8fae6886a66f8fae6f8fae6886a6587ca06886a66886a6
+6f8fae6886a66886a66f8fae6886a66886a66f8fae6886a64960653c586f354c31
+2b33222e3c44394446333642272c1f272c1f272c1f272c1f262e35272c1f262e35
+24261c24261c1e241b1e241b24261c24261c1e241b1e241b272c1f272c1f2b3322
+2b3322272c1f2b3322272c1f24261c1e241b272c1f2a3438354c31272c1f2a3438
+2f3c223d4f562e3c442b3322262e35272c1f272c1f2b33222a3438272c1f1e241b
+24261c24261c24261c262e35262e352a34381e241b262e35344d592a3438262e35
+3d4f562a34382b332230444d2b33221e241b1e241b262e351e241b262e35262e35
+2b3322262e351e241b2a34383d573b2a3438394446272c1f262e351e241b30444d
+1e241b272c1f2e3c441e241b1e241b1e241b2e3c442a3438373e4330444d262e35
+272c1f272c1f2a3438272c1f2a3438262e352b3322262e352a3438373e43262e35
+2a34382e3c442e3c44344e6f30444d4a6a8d556c846886a66075903d5f7a496065
+344d593d4f562e3c4449606530444d2a34382a34382a3438272c1f262e35272c1f
+1e241b2b33222b33221e241b1e241b1e241b1e241b272c1f1e241b2e3c44272c1f
+333522262e35272c1f272c1f24261c24261c24261c24261c1e241b1e241b1e241b
+24261c1e241b1e241b272c1f1e241b1e241b2b33222b3322272c1f24261c24261c
+24261c24261c272c1f24261c24261c272c1f1e241b24261c1e241b24261c272c1f
+24261c24261c24261c1e241b1e241b24261c1e241b24261c24261c24261c1e241b
+1e241b1e241b24261c24261c1c1e191c1e191e241b1c1e1924261c24261c1c1e19
+1e241b24261c24261c24261c1e241b1e241b272c1f272c1f1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b272c1f24261c24261c24261c24261c24261c1c1e19
+1c1e1924261c24261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c272c1f272c1f1e241b272c1f24261c262e3524261c272c1f1e241b24261c
+24261c272c1f272c1f24261c24261c24261c24261c24261c24261c24261c24261c
+24261c24261c24261c272c1f24261c1e241b272c1f1e241b272c1f24261c24261c
+272c1f272c1f272c1f2a3438272c1f24261c272c1f272c1f1e241b272c1f272c1f
+272c1f2b3322272c1f272c1f24261c24261c24261c342d1f272c1f24261c24261c
+272c1f272c1f272c1f272c1f272c1f3335222b3322272c1f24261c272c1f272c1f
+272c1f272c1f272c1f272c1f24261c272c1f272c1f1e241b272c1f272c1f2b3322
+272c1f272c1f2b3322262e35262e35272c1f272c1f272c1f272c1f272c1f272c1f
+1e241b272c1f272c1f272c1f262e35272c1f272c1f1e241b272c1f272c1f272c1f
+272c1f24261c24261c272c1f272c1f272c1f24261c24261c262e3524261c24261c
+272c1f262e3524261c24261c24261c272c1f24261c24261c24261c272c1f272c1f
+24261c24261c24261c272c1f342d1f272c1f24261c24261c24261c24261c24261c
+24261c24261c24261c24261c342d1f272c1f272c1f342d1f272c1f272c1f342d1f
+5d83a45d83a45d83a45d83a45d83a45d83a46886a65d83a45d83a46886a66f8fae
+6886a65d83a45d83a47197b45d83a46f8fae5d83a46886a66886a66886a66886a6
+6886a66f8fae6886a66886a65d83a4496065304321333642272c1f272c1f24261c
+262e352b33222a3438262e352e3c443d4f564b68656886a66f8fae6886a6537499
+5773763d4f563944463d5f7a496065344d594a6a8d6f8fae5d83a46f8fae5d83a4
+6f8fae6f8fae6886a66f8fae6886a65d83a46886a66886a6587ca0587ca06886a6
+6f8fae6886a66886a66f8fae6f8fae6886a66f8fae6886a63d5f7a49606530444d
+2e3c442f3c222e3c442b3322272c1f262e35272c1f272c1f272c1f272c1f24261c
+24261c24261c1c1e1924261c262e3524261c272c1f24261c272c1f2b33222b3322
+272c1f272c1f272c1f262e352b3322272c1f262e352f3c222f3c22262e35272c1f
+2e3c442e3c442b3322272c1f272c1f1e241b262e35272c1f2a34382b3322272c1f
+272c1f272c1f1e241b272c1f24261c272c1f1e241b272c1f344d59262e35333642
+2a34383336421e241b2e3c44272c1f1e241b1e241b272c1f1e241b262e35272c1f
+1e241b272c1f1e241b262e3530444d2e3c443336421e241b272c1f1e241b2a3438
+2b33221e241b262e35272c1f262e35262e352a3438262e352e3c44272c1f272c1f
+272c1f2a3438262e351e241b2a3438262e35262e35262e352a3438262e352a3438
+2e3c44272c1f2a3438373e4330444d5374993c586f556c84556c84456185465864
+2e3c442e3c442a34383944462e3c44262e35262e352b3322272c1f2b33221e241b
+272c1f262e35272c1f1e241b24261c1e241b1e241b1e241b1e241b272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f24261c24261c1e241b1e241b1e241b1e241b
+1e241b1e241b272c1f1e241b272c1f272c1f2f3c221e241b1e241b24261c1e241b
+24261c1e241b24261c1e241b24261c24261c24261c24261c1e241b1c1e19272c1f
+24261c24261c1c1e1924261c1e241b1e241b24261c24261c1e241b1e241b1c1e19
+1e241b1c1e191e241b1e241b24261c1c1e1924261c1c1e191e241b24261c1c1e19
+24261c1e241b24261c1c1e1924261c24261c24261c1e241b1e241b1e241b272c1f
+272c1f1e241b1e241b1e241b24261c1e241b24261c272c1f24261c24261c24261c
+24261c24261c272c1f24261c1c1e191c1e1924261c24261c1c1e1924261c24261c
+24261c24261c272c1f1e241b1e241b24261c24261c272c1f24261c24261c272c1f
+272c1f24261c272c1f24261c24261c24261c272c1f24261c272c1f24261c24261c
+272c1f272c1f272c1f24261c272c1f24261c272c1f24261c272c1f24261c272c1f
+24261c272c1f262e352b3322262e351e241b2b3322272c1f272c1f1e241b272c1f
+24261c262e35272c1f272c1f24261c24261c262e35262e3524261c24261c24261c
+272c1f2b3322272c1f272c1f272c1f2b3322342d1f272c1f272c1f24261c272c1f
+272c1f272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f2b33222b3322
+272c1f272c1f2b33222b3322272c1f1e241b272c1f272c1f262e35272c1f262e35
+24261c272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f262e351e241b
+272c1f272c1f272c1f24261c24261c272c1f272c1f24261c272c1f24261c272c1f
+272c1f24261c24261c262e3524261c24261c24261c342d1f1c1e1924261c24261c
+272c1f272c1f24261c272c1f272c1f272c1f24261c24261c272c1f24261c24261c
+24261c342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322
+5d83a45d83a45d83a45d83a45d83a45d83a46886a65d83a46886a65d83a45d83a4
+5d83a46f8fae5d83a45d83a45d83a46886a65d83a45d83a46f8fae6886a66f8fae
+6f8fae5d83a46f8fae6886a6556c844960652e3c442a34382b33222a3438262e35
+272c1f2a34382b332230444d2f3c2230444d3d5f7a587ca05d83a46886a6537499
+627d99344d5930444d4b6865587ca0344d593d5f7a5d83a46f8fae5d83a45d83a4
+5d83a46f8fae5d83a46886a66886a66886a6587ca06886a65d83a4587ca06886a6
+5d83a46f8fae587ca05d83a45d83a46f8fae6886a66886a6587ca03c586f304321
+30444d344d593d4f56373e43272c1f30444d272c1f262e35272c1f24261c24261c
+272c1f24261c1c1e191c1e1924261c24261c272c1f272c1f272c1f2b3322262e35
+2b3322262e35272c1f272c1f272c1f272c1f272c1f272c1f262e35272c1f272c1f
+2f3c222a3438272c1f272c1f262e35272c1f2a3438272c1f2b3322262e351e241b
+24261c24261c272c1f272c1f262e3524261c272c1f272c1f2e3c44262e352f3c22
+262e35272c1f272c1f1e241b262e351e241b1e241b1e241b1e241b272c1f262e35
+1e241b262e3524261c1e241b2e3c443336422a3438272c1f1e241b272c1f2b3322
+2a34381e241b262e351e241b1e241b1e241b272c1f262e352a3438272c1f1e241b
+272c1f262e35262e35262e352a34382a34381e241b262e352e3c442e3c442e3c44
+3d4f56262e352a34382e3c44344e6f556c844a6a8d556c844a6a8d456185344e6f
+2e3c442a34382a34382e3c441e241b2b3322272c1f272c1f262e351e241b272c1f
+1e241b272c1f262e35272c1f1e241b1e241b1e241b1e241b272c1f272c1f272c1f
+1e241b2b3322272c1f272c1f24261c272c1f1e241b1e241b1e241b1e241b24261c
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b24261c24261c1e241b
+24261c1e241b24261c24261c272c1f1e241b1c1e1924261c24261c24261c24261c
+24261c24261c24261c1c1e1924261c1e241b1e241b1e241b24261c1c1e191c1e19
+1c1e191e241b1c1e1924261c1c1e191c1e191c1e1924261c1e241b1c1e191c1e19
+24261c1c1e191e241b1e241b1e241b1e241b272c1f1e241b24261c1e241b1e241b
+1e241b272c1f1e241b24261c24261c1e241b24261c1e241b24261c342d1f1c1e19
+342d1f24261c24261c24261c24261c342d1f24261c24261c262e3524261c272c1f
+272c1f272c1f1e241b272c1f272c1f24261c272c1f24261c24261c24261c24261c
+272c1f1e241b24261c24261c262e3524261c24261c272c1f342d1f24261c24261c
+24261c342d1f272c1f24261c272c1f272c1f272c1f272c1f24261c272c1f262e35
+262e352b33222b33222b3322272c1f272c1f272c1f272c1f272c1f272c1f1e241b
+2b3322272c1f333522272c1f272c1f1e241b342d1f272c1f24261c272c1f24261c
+272c1f272c1f272c1f2b3322272c1f342d1f272c1f272c1f24261c24261c24261c
+24261c24261c272c1f24261c272c1f272c1f2b33222b3322272c1f272c1f2b3322
+2b3322272c1f2b3322272c1f262e35262e351e241b272c1f272c1f262e35272c1f
+272c1f272c1f272c1f272c1f272c1f1e241b272c1f1e241b272c1f2b3322262e35
+24261c272c1f272c1f272c1f24261c24261c24261c24261c272c1f262e35272c1f
+262e35272c1f272c1f24261c342d1f272c1f342d1f24261c24261c272c1f24261c
+24261c24261c24261c24261c24261c342d1f24261c24261c24261c342d1f24261c
+24261c24261c24261c24261c342d1f272c1f272c1f272c1f272c1f272c1f272c1f
+5d83a45d83a46886a65d83a46886a65d83a45d83a45d83a46f8fae5d83a45d83a4
+5d83a45d83a46f8fae5d83a46886a66886a66f8fae6886a66f8fae6886a66f8fae
+6f8fae6886a66886a66f8fae587ca03d4f56304321344d59354c312f3c222a3438
+272c1f272c1f33364230444d344d592f3c224960655d83a46886a65d83a4587ca0
+597c753d4f56344e6f4561855374993d5f7a3c586f5d83a46886a66886a66f8fae
+5d83a46f8fae5d83a46f8fae5d83a45d83a45d83a46886a65d83a4587ca06886a6
+6886a65d83a4587ca06f8fae5d83a45d83a45d83a46886a6587ca0344d592e3c44
+3c586f3d5f7a344d592f3c22272c1f2e3c441e241b272c1f272c1f24261c24261c
+24261c24261c24261c1e241b1e241b24261c272c1f272c1f272c1f272c1f272c1f
+262e352b33222b3322272c1f262e35272c1f2a34382a3438272c1f1e241b272c1f
+262e352b3322262e351e241b2b33221e241b262e35272c1f272c1f342d1f272c1f
+272c1f24261c2a3438262e352e3c4424261c262e35272c1f2b33222a34382e3c44
+1e241b272c1f1e241b1e241b262e35272c1f272c1f1e241b1c1e191e241b262e35
+1e241b1e241b1e241b24261c262e352b33221e241b1e241b1e241b262e35272c1f
+272c1f272c1f1e241b272c1f1e241b272c1f1e241b1e241b333642272c1f1e241b
+262e35272c1f272c1f1e241b262e35262e35272c1f1e241b2e3c442a3438262e35
+2a34381e241b2a34383c586f3c586f3c5072456185556c844561854658642e3c44
+30444d30444d272c1f2f3c22272c1f1e241b262e35272c1f272c1f1e241b272c1f
+1e241b272c1f272c1f1e241b272c1f1e241b1e241b1e241b1e241b2a34382b3322
+1e241b272c1f1e241b272c1f1e241b272c1f1e241b24261c24261c24261c24261c
+1e241b1e241b24261c1e241b262e351e241b262e35272c1f1e241b1e241b24261c
+1e241b272c1f1e241b1e241b1e241b24261c1e241b1e241b24261c24261c24261c
+24261c272c1f24261c24261c1e241b1e241b1c1e1924261c24261c1e241b1c1e19
+1e241b1e241b1e241b1e241b24261c1c1e191c1e191c1e191c1e1924261c1c1e19
+1e241b24261c1e241b1e241b1c1e19262e3524261c1e241b24261c1e241b24261c
+1e241b1e241b1e241b24261c24261c1e241b262e35262e351e241b262e352a3438
+2b3322272c1f24261c24261c24261c24261c24261c24261c24261c24261c262e35
+24261c272c1f272c1f1e241b1e241b24261c272c1f1e241b24261c24261c24261c
+272c1f1e241b24261c272c1f272c1f272c1f24261c262e35262e35262e35272c1f
+24261c262e35272c1f272c1f262e35272c1f1e241b1e241b1e241b272c1f272c1f
+262e35272c1f2a34382b3322272c1f272c1f272c1f272c1f2b3322272c1f272c1f
+272c1f272c1f262e35272c1f272c1f272c1f272c1f272c1f272c1f1e241b24261c
+272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f24261c272c1f272c1f
+272c1f24261c24261c272c1f272c1f272c1f2b33222f3c222f3c222b3322262e35
+2b3322272c1f2b33222b33222b3322262e35272c1f272c1f272c1f2b332224261c
+2b3322272c1f1e241b272c1f1e241b272c1f272c1f272c1f24261c2b332224261c
+24261c24261c24261c272c1f24261c272c1f262e3524261c342d1f262e35272c1f
+272c1f272c1f24261c24261c24261c24261c24261c262e35342d1f24261c342d1f
+24261c272c1f24261c342d1f272c1f24261c24261c24261c24261c24261c24261c
+24261c24261c24261c272c1f272c1f24261c342d1f272c1f272c1f272c1f24261c
+6886a65d83a46f8fae587ca0587ca06f8fae5d83a45d83a45d83a46886a65d83a4
+6f8fae5d83a45d83a46f8fae6f8fae6886a66f8fae6886a66886a66886a66f8fae
+6886a66886a66886a66886a6587ca04b6865354c313d573b3d4f5630444d2b3322
+272c1f2b33222f3c22344d593c586f2e3c443c586f5d83a46f8fae5d83a45d83a4
+5d83a44b6865344d5941678a556c84587ca03c586f6886a65d83a46886a65d83a4
+5d83a45d83a46886a65d83a46886a6587ca0587ca05d83a46886a65374995d83a4
+6886a65d83a45d83a46886a66886a6587ca0627d996886a66886a6344d593d573b
+41678a5374994b68652a34382b33222b3322272c1f2b3322272c1f262e3524261c
+24261c24261c24261c272c1f24261c1e241b272c1f272c1f1e241b262e35304321
+2b3322262e352b33221e241b2b3322262e352f3c222b33222b3322272c1f2b3322
+262e352b3322262e351e241b272c1f2b33221e241b272c1f272c1f24261c262e35
+1e241b272c1f272c1f2b3322272c1f24261c2a34381e241b272c1f272c1f262e35
+1e241b262e351e241b1e241b272c1f1e241b1c1e19262e351e241b1e241b272c1f
+1e241b262e35262e351c1e19272c1f262e3524261c272c1f1e241b1e241b1e241b
+262e351e241b1e241b1e241b1e241b1e241b2a34381e241b262e352a34381e241b
+262e351e241b1e241b1e241b262e35262e35262e351e241b2a34382a34382a3438
+1e241b262e352e3c4430444d30444d344e6f3c50724658643c586f30444d2a3438
+30444d344d591e241b2f3c22262e35272c1f1e241b1e241b1e241b272c1f1e241b
+1e241b272c1f1e241b1e241b24261c1e241b1e241b1e241b272c1f2b33222b3322
+1e241b1e241b1e241b24261c24261c1e241b1e241b1e241b24261c1e241b24261c
+1c1e191e241b1e241b272c1f272c1f1e241b272c1f1e241b1e241b24261c1e241b
+1e241b1e241b1e241b1e241b24261c1e241b1e241b24261c1e241b24261c1e241b
+1e241b24261c24261c1e241b24261c1c1e191e241b1e241b1e241b1c1e191e241b
+1c1e191e241b1e241b24261c1c1e191c1e191c1e191e241b24261c1c1e191c1e19
+24261c1e241b24261c24261c24261c33352224261c24261c1c1e1924261c24261c
+272c1f272c1f1e241b1c1e1924261c24261c2a3438272c1f272c1f1e241b262e35
+262e3524261c24261c24261c24261c342d1f272c1f24261c24261c24261c24261c
+272c1f272c1f1e241b272c1f272c1f1e241b262e3524261c24261c24261c24261c
+1e241b272c1f1e241b24261c2b3322262e35272c1f272c1f2b3322262e35272c1f
+24261c272c1f272c1f272c1f272c1f272c1f262e351e241b24261c272c1f272c1f
+1e241b262e352b3322272c1f2b3322272c1f272c1f272c1f272c1f262e351e241b
+272c1f24261c2b3322272c1f272c1f272c1f24261c24261c24261c24261c24261c
+24261c272c1f272c1f2b33222b33222b3322272c1f24261c24261c272c1f272c1f
+342d1f272c1f24261c24261c272c1f272c1f2f3c222f3c222b33222b33222b3322
+2b33222b3322272c1f2b33221e241b2b3322262e35272c1f262e352b33221e241b
+272c1f1e241b272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f24261c
+272c1f24261c272c1f24261c272c1f24261c24261c262e35272c1f2b3322272c1f
+24261c24261c272c1f24261c24261c24261c24261c24261c24261c272c1f272c1f
+24261c24261c262e35272c1f24261c342d1f24261c24261c24261c24261c24261c
+24261c24261c342d1f24261c272c1f272c1f24261c272c1f272c1f272c1f272c1f
+587ca05d83a45d83a46886a6587ca05d83a45d83a45d83a45d83a45d83a46886a6
+5d83a46886a65d83a45d83a46886a66f8fae6886a66886a66886a66f8fae6886a6
+6886a66f8fae6886a66886a6627d994b6865344d59344d593d573b30444d272c1f
+262e352e3c442e3c44354c3141678a3d5f7a587ca05d83a46886a65d83a4587ca0
+456185344d5930444d344d593c586f5374995d83a45d83a46f8fae6886a65d83a4
+5d83a46886a6587ca05d83a4537499537499587ca05d83a45d83a4537499587ca0
+6886a65374996886a66886a6627d995374994a6a8d6886a6597c7530444d3d5f7a
+4a6a8d4b68653c586f2a34382f3c222a34381e241b272c1f272c1f272c1f272c1f
+24261c24261c24261c1e241b24261c262e35272c1f272c1f2a3438272c1f2b3322
+2f3c222b33222b3322272c1f262e352b3322262e35272c1f262e35272c1f272c1f
+2b3322272c1f2b33221e241b272c1f272c1f1e241b262e352b33222b3322262e35
+272c1f1e241b272c1f1e241b1e241b24261c262e35272c1f1e241b2e3c44262e35
+1e241b272c1f1e241b1e241b1e241b272c1f1e241b272c1f1e241b1e241b262e35
+1e241b1e241b1e241b1e241b262e351e241b1e241b262e351e241b1e241b1e241b
+272c1f2b33221e241b272c1f1e241b1e241b272c1f1e241b1e241b272c1f272c1f
+272c1f1e241b1e241b1e241b1e241b272c1f262e35272c1f2a3438262e35262e35
+1e241b2e3c4430444d2e3c4430444d344d5930444d3944463944462e3c4430444d
+30444d30444d1e241b262e35272c1f1e241b272c1f272c1f1e241b272c1f1e241b
+1e241b1e241b262e351e241b24261c1e241b1c1e191e241b1e241b2a3438262e35
+24261c272c1f24261c1e241b1e241b272c1f1e241b1e241b1e241b24261c1e241b
+24261c1e241b1e241b272c1f262e351e241b1e241b1e241b1e241b1e241b1e241b
+272c1f24261c1e241b1e241b24261c24261c24261c24261c24261c1e241b24261c
+24261c1e241b24261c24261c1e241b24261c1c1e1924261c1e241b1c1e191e241b
+1c1e191e241b1e241b1e241b1c1e191c1e1924261c24261c1e241b1c1e191c1e19
+24261c24261c1e241b1e241b24261c262e351e241b1e241b1e241b1e241b24261c
+1e241b272c1f262e3524261c24261c1e241b373e431e241b272c1f262e3524261c
+24261c24261c272c1f24261c24261c24261c24261c24261c24261c272c1f24261c
+1e241b272c1f272c1f1e241b272c1f272c1f272c1f24261c272c1f262e35272c1f
+1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f2b3322272c1f262e35
+272c1f24261c262e35272c1f272c1f272c1f1e241b1e241b272c1f272c1f272c1f
+1e241b272c1f262e351e241b2b3322272c1f1e241b262e351e241b2b3322262e35
+272c1f272c1f262e35272c1f272c1f272c1f1e241b272c1f272c1f24261c24261c
+1e241b272c1f272c1f2b3322272c1f333522272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f342d1f272c1f2b33222f3c222b3322262e35272c1f
+2b33222b3322262e352b3322262e35262e352b33221e241b2b33221e241b2b3322
+272c1f272c1f272c1f272c1f1e241b1e241b24261c272c1f24261c272c1f272c1f
+24261c24261c272c1f24261c24261c272c1f272c1f24261c272c1f24261c272c1f
+24261c24261c342d1f262e3524261c24261c342d1f272c1f24261c24261c342d1f
+24261c24261c24261c342d1f272c1f24261c24261c24261c24261c342d1f272c1f
+342d1f24261c272c1f342d1f342d1f272c1f24261c272c1f272c1f272c1f272c1f
+6886a6587ca05d83a4587ca05d83a45d83a4627d995d83a45d83a45d83a45d83a4
+5d83a46886a66886a65d83a46886a66886a66886a66886a66886a6627d99627d99
+6886a65d83a46886a66886a6627d995d83a44a6a8d41678a4960653d4f5630444d
+2b3322344d5941678a4b68655d83a45d83a45d83a46886a65d83a46886a65d83a4
+587ca03d5f7a3c50723d4f563d5f7a587ca05d83a45d83a4587ca06886a65d83a4
+5d83a45d83a45d83a45d83a4537499587ca0587ca05d83a4587ca04a6a8d6886a6
+6886a6587ca06886a65d83a4537499587ca04a6a8d6886a64a6a8d344e6f556c84
+5374993d5f7a3043212a34382a34382b3322272c1f272c1f262e35262e35272c1f
+262e3524261c272c1f1e241b272c1f342d1f272c1f2b33222b33221e241b2b3322
+2e3c442b33221e241b272c1f2b33221e241b2b33221e241b272c1f262e351e241b
+262e352b3322262e351e241b24261c272c1f1e241b1e241b272c1f3944461e241b
+2b3322262e35272c1f262e35272c1f24261c272c1f1e241b1e241b262e351e241b
+1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b2a34381e241b1e241b272c1f24261c272c1f1e241b1e241b272c1f1e241b
+1e241b272c1f1e241b1e241b1e241b1e241b262e351e241b1e241b262e351e241b
+272c1f272c1f1e241b1e241b1e241b1e241b1e241b262e35272c1f1e241b1e241b
+1e241b2a34382e3c442e3c443c50722e3c443c50723944463944462a3438344e6f
+30444d30444d1e241b272c1f272c1f1e241b1e241b1e241b1e241b2b33221e241b
+1e241b1e241b272c1f1e241b1e241b24261c1e241b1c1e19272c1f3335222b3322
+24261c1e241b1e241b24261c1e241b1e241b24261c1c1e191e241b1e241b1e241b
+1e241b1c1e191e241b1e241b272c1f1e241b1e241b272c1f272c1f1e241b1e241b
+24261c1e241b1e241b272c1f24261c1e241b24261c24261c24261c24261c24261c
+1e241b24261c1c1e191e241b1e241b24261c1c1e191c1e1924261c1c1e191c1e19
+1c1e191e241b1c1e191c1e1924261c1c1e191c1e1924261c1e241b24261c1c1e19
+1c1e191e241b24261c1e241b1e241b1e241b24261c24261c1e241b1c1e19272c1f
+1e241b1e241b272c1f272c1f1e241b24261c262e351e241b24261c24261c24261c
+24261c272c1f262e3524261c24261c272c1f262e3524261c24261c24261c24261c
+262e35272c1f1e241b1e241b1e241b272c1f1e241b1e241b24261c24261c262e35
+1e241b1e241b1e241b1e241b262e35272c1f2f3c22272c1f272c1f272c1f262e35
+272c1f1e241b2b3322262e35272c1f272c1f24261c272c1f262e3524261c262e35
+2b33222b3322262e35272c1f2b33222b3322262e352b3322262e35272c1f272c1f
+272c1f272c1f272c1f272c1f24261c24261c24261c2b332224261c24261c24261c
+24261c272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f24261c2f3c221e241b272c1f2b33222b33222f3c222b3322
+272c1f2f3c222b3322272c1f272c1f262e35272c1f272c1f272c1f272c1f1e241b
+272c1f24261c1e241b24261c24261c272c1f272c1f272c1f24261c24261c1e241b
+272c1f24261c24261c24261c272c1f24261c24261c24261c272c1f262e35262e35
+272c1f24261c24261c24261c24261c24261c24261c342d1f24261c24261c24261c
+24261c24261c24261c24261c342d1f24261c272c1f342d1f24261c272c1f24261c
+24261c24261c24261c24261c272c1f272c1f272c1f342d1f272c1f272c1f272c1f
+587ca0627d996886a65d83a4587ca06886a6587ca06886a6627d996886a6627d99
+6886a66886a65d83a45d83a45d83a46886a66886a6627d996886a6627d99627d99
+627d995d83a4587ca0587ca0627d996886a65d83a45d83a44b6865344d59354c31
+2e3c4430444d354c31344e6f5374995374995374995d83a45d83a45d83a45d83a4
+587ca0597c753d5f7a3c586f41678a5d83a45d83a45d83a45d83a45d83a4587ca0
+627d995d83a4607590587ca0537499537499537499587ca05374994a6a8d587ca0
+627d995d83a46886a66886a65374996886a64a6a8d556c8441678a344d59537499
+556c84344d592e3c442a3438262e35262e35272c1f272c1f272c1f342d1f24261c
+1e241b272c1f1e241b272c1f24261c2b3322272c1f272c1f272c1f262e35262e35
+2f3c222b33221e241b262e35272c1f272c1f272c1f1e241b272c1f272c1f1e241b
+272c1f2b3322272c1f24261c24261c272c1f272c1f1e241b272c1f272c1f1e241b
+272c1f1e241b24261c24261c1e241b24261c24261c1e241b1e241b272c1f272c1f
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b
+1e241b262e351e241b1e241b1e241b272c1f24261c24261c1e241b1e241b1e241b
+1e241b272c1f1e241b1e241b1c1e191c1e191e241b1e241b272c1f1e241b1e241b
+1e241b272c1f1e241b1e241b1e241b272c1f1e241b262e351e241b1e241b262e35
+1e241b30444d2a3438262e353c50722e3c44344e6f2e3c44262e353336422a3438
+30444d2e3c44272c1f272c1f262e351e241b272c1f1e241b262e35272c1f1e241b
+272c1f1e241b1e241b1e241b1c1e191c1e191e241b1e241b1e241b2a34381e241b
+1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b24261c
+1e241b1e241b1e241b1e241b272c1f1e241b1e241b2b33221e241b1e241b1e241b
+1e241b1e241b1e241b24261c24261c1e241b24261c1e241b1e241b24261c24261c
+1e241b24261c1c1e191c1e191c1e1924261c1e241b1e241b24261c1c1e191c1e19
+1c1e191e241b1e241b1e241b24261c1c1e1924261c1c1e191e241b1e241b24261c
+24261c1c1e1924261c1e241b24261c1e241b1e241b1c1e191e241b1e241b1e241b
+272c1f1e241b1e241b1e241b1e241b1e241b272c1f24261c24261c24261c24261c
+24261c24261c24261c24261c262e3524261c24261c24261c24261c24261c24261c
+272c1f272c1f1e241b1e241b1e241b1e241b24261c1e241b24261c272c1f272c1f
+272c1f262e351e241b1e241b1e241b272c1f2a34382b33221e241b272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f
+272c1f2b33221e241b2b3322272c1f272c1f272c1f272c1f272c1f262e35272c1f
+1e241b272c1f272c1f1e241b272c1f2b332224261c272c1f272c1f272c1f24261c
+272c1f1e241b272c1f2b3322272c1f272c1f272c1f24261c272c1f272c1f272c1f
+24261c272c1f272c1f24261c2f3c22272c1f1e241b2b33222b33222b33222b3322
+262e352b3322272c1f272c1f1e241b262e351e241b272c1f272c1f272c1f272c1f
+1e241b272c1f272c1f272c1f1e241b1e241b1e241b272c1f24261c272c1f24261c
+272c1f24261c272c1f24261c24261c272c1f24261c24261c272c1f272c1f24261c
+24261c24261c24261c24261c342d1f24261c24261c24261c272c1f342d1f24261c
+342d1f24261c24261c24261c24261c24261c24261c342d1f24261c272c1f342d1f
+272c1f24261c272c1f24261c342d1f272c1f24261c342d1f272c1f272c1f272c1f
+5d83a45d83a4587ca0587ca05d83a46886a6587ca0587ca05d83a4587ca06886a6
+607590627d995d83a46886a6587ca0627d99587ca06886a6627d99537499537499
+587ca0587ca05d83a45d83a4587ca06886a65d83a45d83a441678a3d5f7a30444d
+2e3c442e3c44344d5941678a587ca05d83a4587ca05d83a4587ca05d83a4587ca0
+5d83a45773763d5f7a3d4f564a6a8d5374995d83a4587ca05d83a4587ca05d83a4
+5d83a4537499537499587ca0537499537499587ca05d83a44a6a8d537499607590
+6075905d83a45d83a4537499537499587ca04561854a6a8d3d5f7a344e6f4b6865
+41678a30444d3043212b3322272c1f272c1f272c1f272c1f2b3322262e35272c1f
+1e241b272c1f1e241b1e241b262e351e241b272c1f262e35272c1f272c1f1e241b
+272c1f2b33221e241b1e241b1e241b2b3322262e351e241b262e35272c1f2b3322
+272c1f342d1f24261c1e241b272c1f1e241b1e241b1e241b272c1f262e351e241b
+272c1f262e351e241b272c1f24261c24261c272c1f1e241b1e241b262e35272c1f
+1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b
+1e241b1c1e191e241b1c1e191e241b272c1f1c1e191c1e191c1e191c1e191e241b
+1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b272c1f1e241b1e241b1e241b1e241b262e351e241b1e241b2a3438
+1e241b344d592e3c442a34383c50722e3c442e3c44394446262e35262e35262e35
+344d592a34381e241b272c1f2b33221e241b1e241b1e241b2b3322262e351e241b
+1c1e191c1e191e241b1e241b1e241b1c1e191c1e191c1e191c1e192b33221e241b
+1e241b1e241b272c1f24261c1e241b1c1e1924261c1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1c1e191e241b24261c24261c24261c1e241b24261c24261c24261c1e241b
+1c1e1924261c24261c24261c24261c24261c24261c1c1e191c1e191c1e191c1e19
+1c1e191c1e191c1e191c1e191c1e1924261c1e241b1e241b1c1e191e241b1c1e19
+24261c24261c1c1e191e241b1e241b24261c24261c1e241b1e241b1e241b1e241b
+272c1f1e241b272c1f272c1f1e241b24261c1e241b24261c24261c24261c24261c
+1e241b24261c272c1f24261c272c1f24261c24261c24261c24261c272c1f1e241b
+1e241b272c1f1e241b1e241b272c1f24261c24261c1e241b272c1f1e241b1e241b
+2b3322272c1f1e241b272c1f2b3322262e352a34382b3322262e352b3322272c1f
+1e241b2b3322272c1f272c1f2b3322272c1f1e241b272c1f272c1f272c1f2b3322
+272c1f272c1f272c1f1e241b2b3322272c1f2b33221e241b272c1f272c1f2b3322
+2b3322272c1f1e241b272c1f24261c272c1f272c1f1e241b272c1f1e241b24261c
+1e241b272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c
+272c1f24261c272c1f272c1f262e351e241b272c1f2b33222b33222b3322272c1f
+2b3322272c1f272c1f272c1f272c1f2b3322272c1f1e241b272c1f1e241b272c1f
+1e241b272c1f24261c24261c272c1f24261c24261c272c1f24261c24261c24261c
+272c1f24261c24261c272c1f24261c24261c272c1f272c1f342d1f272c1f272c1f
+272c1f24261c24261c24261c262e35272c1f24261c24261c24261c24261c272c1f
+24261c24261c272c1f342d1f272c1f272c1f272c1f272c1f24261c272c1f24261c
+24261c24261c272c1f342d1f272c1f24261c272c1f272c1f272c1f272c1f272c1f
+587ca05d83a45d83a45d83a4587ca06886a6587ca06886a6627d99587ca0587ca0
+627d99627d99587ca0587ca0627d99587ca0587ca0627d99587ca0587ca0587ca0
+587ca0587ca06886a6587ca0627d995d83a4587ca05d83a45773763d5f7a354c31
+2f3c2230444d3d573b3c586f587ca0587ca05d83a46886a6587ca05d83a45d83a4
+587ca0587ca03c586f3c5072587ca0587ca0587ca0587ca0587ca0587ca0587ca0
+5d83a4587ca05374994a6a8d587ca0537499537499587ca0537499587ca0537499
+607590627d99587ca0556c84627d995374993c507241678a3c586f3c586f3c586f
+4a6a8d344d592f3c22262e35272c1f272c1f262e352b3322272c1f272c1f272c1f
+1e241b1e241b262e351e241b272c1f262e35272c1f272c1f2b3322262e35272c1f
+2b3322262e351e241b272c1f1e241b272c1f2b33221e241b272c1f272c1f1e241b
+272c1f272c1f272c1f272c1f272c1f1e241b1e241b1e241b272c1f1e241b272c1f
+342d1f272c1f1e241b24261c1e241b24261c1e241b1e241b1e241b272c1f1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e191e241b1e241b1c1e19
+1c1e191c1e191e241b1c1e191e241b1e241b1c1e191c1e191c1e191e241b1c1e19
+1e241b1e241b1e241b1e241b1c1e191e241b1e241b1c1e191e241b1e241b1c1e19
+1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b262e352f3c22
+1e241b2a34382e3c44262e353c586f2e3c442e3c4430444d2a3438262e352e3c44
+344d59262e351e241b272c1f1e241b1e241b1e241b1e241b2f3c221e241b1c1e19
+1c1e191c1e191e241b1c1e191e241b1c1e191c1e191c1e191c1e192b33221e241b
+1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b24261c1c1e191c1e19
+272c1f272c1f1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b24261c24261c24261c24261c1e241b1c1e191c1e191e241b24261c
+1c1e191c1e191c1e191c1e191e241b1e241b24261c1e241b1c1e191c1e191c1e19
+1e241b1c1e191e241b1c1e191c1e191c1e1924261c1e241b1c1e1924261c1e241b
+1c1e1924261c1e241b1c1e191e241b24261c1e241b1e241b1c1e191e241b1e241b
+1e241b1e241b1e241b1e241b1e241b24261c24261c1e241b24261c24261c24261c
+24261c262e35272c1f272c1f262e35272c1f1e241b1e241b24261c272c1f272c1f
+272c1f1e241b272c1f1e241b272c1f1e241b1e241b1e241b272c1f272c1f1e241b
+2b3322272c1f272c1f1e241b2b33222b3322272c1f2b33221e241b2b33221e241b
+272c1f2b3322272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f
+272c1f262e352b3322272c1f272c1f2b3322272c1f272c1f1e241b1e241b272c1f
+272c1f272c1f1e241b272c1f272c1f24261c24261c24261c272c1f272c1f272c1f
+1e241b272c1f272c1f272c1f272c1f342d1f24261c272c1f24261c272c1f24261c
+24261c24261c272c1f272c1f2b33222b3322272c1f272c1f2b33222b33221e241b
+1e241b2b3322272c1f272c1f1e241b272c1f272c1f272c1f1e241b1e241b272c1f
+1e241b24261c24261c24261c24261c24261c24261c24261c272c1f24261c24261c
+262e3524261c24261c272c1f24261c24261c1e241b272c1f272c1f272c1f24261c
+272c1f24261c24261c24261c24261c342d1f24261c24261c24261c24261c342d1f
+24261c24261c272c1f24261c24261c342d1f24261c272c1f24261c24261c342d1f
+24261c24261c24261c272c1f342d1f24261c272c1f342d1f272c1f272c1f272c1f
+627d99627d99587ca05d83a4587ca0587ca0587ca0587ca0587ca0627d99627d99
+587ca05d83a4587ca05d83a45d83a4587ca0587ca0587ca0587ca0587ca05d83a4
+537499627d99587ca05d83a4587ca0627d99587ca05d83a44a6a8d3d5f7a344d59
+2e3c442e3c443c586f3d5f7a537499627d99587ca0587ca0587ca0587ca0587ca0
+5d83a4537499344d593c5072587ca0587ca0587ca05d83a45374994a6a8d537499
+5d83a45374995374995374995d83a44a6a8d587ca04a6a8d537499587ca0537499
+607590537499537499456185627d993c50723c586f3d5f7a3c586f3c586f3c586f
+4a6a8d30444d2f3c22262e35272c1f272c1f2b332233352224261c272c1f272c1f
+1e241b272c1f2b33221e241b272c1f262e35272c1f1e241b2b33222b3322262e35
+272c1f272c1f272c1f1e241b2b33221e241b272c1f1e241b272c1f272c1f272c1f
+262e35272c1f24261c262e351e241b272c1f1e241b272c1f272c1f1e241b262e35
+24261c1e241b272c1f272c1f1e241b24261c1e241b1e241b1e241b1e241b1e241b
+272c1f1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1c1e191e241b
+1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e191e241b
+1c1e191e241b1e241b1e241b1c1e191e241b1c1e191e241b1e241b1e241b1e241b
+1c1e191e241b1e241b1e241b1e241b1e241b262e351e241b1e241b1e241b262e35
+1e241b2a34382b33221e241b2e3c442a3438262e352e3c442a34382e3c442a3438
+30444d262e35272c1f1e241b1e241b1e241b1e241b272c1f1e241b272c1f1e241b
+1e241b1e241b1c1e191c1e191c1e191c1e191c1e191c1e191e241b1e241b1e241b
+1c1e191e241b1c1e191e241b24261c1c1e191e241b1e241b1e241b1e241b1c1e19
+1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1c1e191e241b1e241b272c1f24261c1c1e1924261c1e241b1c1e191c1e1924261c
+1e241b24261c1c1e191e241b1c1e191e241b1e241b1c1e191e241b1c1e191c1e19
+1c1e1924261c1c1e191c1e191e241b1c1e191e241b1e241b1c1e191e241b1c1e19
+24261c24261c1c1e19272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b262e351e241b24261c24261c24261c1c1e19262e351e241b
+24261c262e35272c1f272c1f272c1f24261c24261c1e241b24261c272c1f1e241b
+1e241b272c1f1e241b272c1f272c1f272c1f24261c1e241b1e241b1e241b272c1f
+1e241b2f3c22272c1f272c1f272c1f272c1f2f3c22272c1f272c1f272c1f272c1f
+272c1f2f3c22272c1f2b3322262e35262e352b33221e241b272c1f1e241b272c1f
+272c1f2b332224261c272c1f272c1f272c1f272c1f272c1f2b3322272c1f272c1f
+272c1f1e241b272c1f1e241b272c1f272c1f272c1f272c1f24261c272c1f24261c
+24261c272c1f24261c272c1f272c1f272c1f24261c24261c24261c272c1f272c1f
+272c1f1e241b1e241b1e241b272c1f272c1f1e241b2b33222b33222b3322272c1f
+272c1f272c1f272c1f2b3322272c1f1e241b1e241b24261c1e241b24261c24261c
+24261c1e241b24261c272c1f1e241b24261c24261c262e3524261c24261c24261c
+24261c272c1f24261c24261c24261c272c1f24261c272c1f272c1f272c1f272c1f
+24261c342d1f24261c24261c24261c24261c24261c24261c24261c342d1f24261c
+24261c24261c24261c262e35272c1f24261c24261c342d1f272c1f272c1f272c1f
+24261c272c1f272c1f342d1f272c1f24261c24261c272c1f272c1f272c1f272c1f
+587ca0587ca0587ca05d83a4587ca05d83a4587ca0627d99587ca0587ca0627d99
+587ca05d83a4587ca0627d99587ca0587ca05d83a4587ca0537499587ca05d83a4
+537499537499627d99587ca0587ca05d83a4587ca05d83a453749941678a41678a
+344d5930444d4a6a8d597c75537499537499587ca05d83a4587ca0587ca0587ca0
+587ca041678a344d59344e6f5374995d83a4587ca0537499587ca041678a537499
+587ca05374994a6a8d537499587ca041678a587ca041678a587ca0587ca0537499
+627d996075904a6a8d4a6a8d537499344e6f3c50723c586f344e6f30444d344d59
+4b686530444d2f3c22272c1f1e241b2a34382a3438272c1f272c1f272c1f262e35
+1e241b272c1f272c1f272c1f272c1f2b3322272c1f1e241b262e352b33221e241b
+272c1f1e241b272c1f272c1f272c1f1e241b1e241b1e241b1e241b262e35272c1f
+272c1f24261c272c1f272c1f1e241b1e241b272c1f1e241b1e241b272c1f1e241b
+1e241b1e241b1e241b24261c1e241b24261c1e241b1e241b1e241b1e241b272c1f
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e19
+1e241b1c1e191e241b1e241b1c1e191c1e191c1e191c1e191c1e191c1e191e241b
+1c1e191c1e191e241b1e241b1c1e191c1e191c1e191c1e191e241b1e241b1e241b
+1e241b1c1e191e241b1e241b1e241b1c1e191c1e191e241b1c1e19272c1f272c1f
+1c1e191e241b272c1f272c1f262e35262e35262e35262e351e241b2a3438262e35
+344d59262e351e241b1e241b272c1f2a34381e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1c1e191c1e191c1e191c1e191c1e191c1e191c1e1924261c1c1e19
+1c1e191e241b1c1e191e241b24261c1e241b1c1e191e241b1e241b1e241b1c1e19
+272c1f1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1c1e1924261c1e241b272c1f24261c24261c1e241b1e241b1e241b1c1e1924261c
+1e241b24261c1c1e191c1e191c1e191e241b24261c1e241b1c1e191c1e191c1e19
+1c1e191e241b24261c1c1e191c1e191c1e1924261c1c1e191e241b24261c1c1e19
+1c1e1924261c1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b
+1c1e191e241b272c1f272c1f1e241b1e241b24261c24261c24261c342d1f24261c
+262e3524261c272c1f262e3524261c24261c24261c1e241b272c1f272c1f272c1f
+24261c24261c1e241b24261c24261c272c1f1e241b272c1f2b3322272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f262e35272c1f1e241b2b33222b33221e241b
+1e241b2b3322262e35272c1f272c1f272c1f272c1f272c1f1e241b2b3322272c1f
+272c1f272c1f1e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b
+272c1f1e241b272c1f1e241b272c1f272c1f1e241b1e241b1e241b24261c272c1f
+24261c24261c272c1f24261c24261c272c1f272c1f272c1f24261c272c1f24261c
+272c1f24261c1e241b1e241b272c1f272c1f272c1f272c1f272c1f272c1f2f3c22
+1e241b272c1f272c1f272c1f1e241b272c1f272c1f272c1f24261c24261c24261c
+24261c24261c1e241b24261c1e241b24261c24261c272c1f24261c272c1f24261c
+24261c272c1f24261c24261c24261c272c1f24261c24261c272c1f342d1f272c1f
+272c1f24261c272c1f24261c342d1f24261c342d1f24261c24261c24261c272c1f
+342d1f272c1f272c1f272c1f272c1f24261c262e3524261c24261c342d1f272c1f
+24261c24261c272c1f272c1f272c1f24261c272c1f272c1f24261c272c1f272c1f
+627d99587ca0627d99587ca05d83a4537499587ca0587ca0627d99587ca0587ca0
+5d83a4587ca0537499587ca0587ca0587ca0587ca0537499537499587ca0587ca0
+587ca0537499537499587ca05d83a4587ca0587ca0537499587ca05d83a44a6a8d
+344d59344d594a6a8d41678a4a6a8d537499587ca0587ca0537499587ca0537499
+587ca05374995374994a6a8d5d83a4587ca05d83a45374995374993c586f537499
+587ca053749941678a4a6a8d5374994a6a8d627d99456185627d99607590456185
+587ca0587ca0344e6f4a6a8d45618530444d344d5930444d3c586f344d59344d59
+30444d2e3c442a3438272c1f272c1f2e3c442f3c22262e35272c1f1e241b1e241b
+272c1f1e241b1e241b2f3c221e241b272c1f2b33221e241b2b33221e241b272c1f
+1e241b1e241b1e241b1e241b272c1f1e241b272c1f272c1f1e241b272c1f24261c
+24261c24261c1e241b272c1f24261c1e241b1e241b272c1f1e241b1e241b1e241b
+24261c1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b1c1e19
+1c1e191e241b1e241b1c1e191e241b1e241b1c1e191c1e191e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b262e35262e35262e351e241b2a34382a34382a3438262e35262e35
+30444d262e351e241b1e241b1e241b2e3c44272c1f2b33221e241b24261c1e241b
+1e241b1c1e191c1e191c1e191c1e191e241b1c1e191e241b1e241b1e241b1e241b
+1e241b1e241b1e241b24261c24261c1c1e191e241b1e241b1e241b1e241b1c1e19
+1e241b1c1e191e241b1c1e191e241b272c1f1e241b1e241b1e241b1e241b1c1e19
+1c1e1924261c24261c1e241b1e241b24261c1c1e191c1e1924261c24261c24261c
+24261c24261c1c1e1924261c24261c1e241b1c1e1924261c1e241b24261c1c1e19
+1c1e191c1e1924261c24261c1e241b1e241b1e241b1e241b1e241b24261c1e241b
+24261c1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b1c1e19
+1e241b1e241b272c1f1e241b24261c24261c24261c24261c24261c24261c24261c
+272c1f24261c24261c342d1f272c1f24261c1e241b1e241b272c1f1e241b272c1f
+1e241b24261c272c1f272c1f272c1f24261c24261c24261c2b33221e241b272c1f
+1e241b272c1f272c1f272c1f1e241b262e35272c1f1e241b272c1f1e241b2b3322
+1e241b2b33222f3c221e241b272c1f272c1f262e35272c1f272c1f272c1f1e241b
+272c1f2b33221e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f272c1f
+1e241b272c1f272c1f1e241b24261c272c1f24261c24261c24261c24261c1e241b
+272c1f272c1f272c1f272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f
+24261c24261c1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f1e241b272c1f272c1f24261c1e241b24261c1e241b24261c272c1f
+272c1f24261c24261c1e241b24261c24261c24261c24261c272c1f24261c272c1f
+272c1f342d1f24261c272c1f24261c272c1f342d1f272c1f272c1f1e241b262e35
+342d1f272c1f272c1f262e3524261c24261c272c1f342d1f24261c272c1f24261c
+24261c24261c272c1f24261c24261c24261c272c1f272c1f24261c272c1f342d1f
+272c1f24261c272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+587ca0587ca0627d99537499587ca0607590587ca0587ca0537499537499587ca0
+587ca0587ca0537499537499587ca0537499537499456185537499537499537499
+5374995374995374994a6a8d587ca0587ca0587ca0537499587ca0587ca041678a
+344d593c586f537499587ca04a6a8d537499537499587ca0537499537499537499
+587ca05374994a6a8d4a6a8d537499587ca0587ca0537499537499344e6f456185
+587ca05374993c586f4a6a8d537499537499537499456185587ca04a6a8d41678a
+587ca0456185344e6f3d5f7a3d5f7a344e6f2e3c442e3c443c586f344d5930444d
+354c312f3c222a34382a3438262e352f3c222a343824261c2b3322272c1f1e241b
+272c1f1e241b1e241b262e351e241b262e35272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f2b3322272c1f1e241b1e241b1e241b272c1f1e241b262e35272c1f
+272c1f24261c272c1f24261c272c1f1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1c1e191c1e191e241b1c1e191e241b1c1e19
+1c1e191e241b1e241b1e241b1c1e191e241b1c1e191c1e191c1e191c1e191e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b
+1e241b262e35272c1f262e352a34382a3438262e3530444d262e35262e352e3c44
+2e3c442a3438272c1f1e241b1e241b262e351e241b1e241b1e241b272c1f1e241b
+2b33221c1e191c1e191e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b
+1c1e191e241b1e241b24261c1e241b1c1e1924261c1c1e191e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b24261c
+1c1e19272c1f1e241b1e241b24261c1e241b24261c1c1e191e241b24261c1e241b
+24261c24261c1e241b24261c1c1e1924261c1e241b1c1e191c1e1924261c1c1e19
+24261c24261c24261c1c1e191c1e191c1e191e241b1e241b1e241b1e241b1e241b
+1e241b1e241b24261c1e241b1e241b262e351e241b1e241b1c1e191e241b24261c
+1e241b1e241b262e351e241b24261c24261c24261c24261c24261c262e35272c1f
+24261c272c1f272c1f272c1f272c1f24261c24261c24261c272c1f1e241b272c1f
+272c1f24261c272c1f24261c2b33221e241b262e35272c1f2b33222b3322272c1f
+272c1f272c1f272c1f272c1f2b3322262e351e241b272c1f1e241b272c1f272c1f
+272c1f272c1f2b3322272c1f272c1f2b3322272c1f272c1f272c1f1e241b272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f
+272c1f272c1f1e241b272c1f1e241b24261c24261c272c1f24261c272c1f1e241b
+24261c272c1f272c1f272c1f272c1f24261c272c1f272c1f24261c24261c272c1f
+272c1f24261c24261c272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f
+272c1f272c1f272c1f1e241b1e241b272c1f272c1f24261c24261c24261c24261c
+272c1f24261c272c1f24261c272c1f24261c272c1f24261c262e3524261c24261c
+272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f24261c272c1f24261c24261c24261c24261c24261c24261c272c1f
+24261c24261c272c1f272c1f24261c342d1f333642272c1f24261c333522272c1f
+342d1f272c1f272c1f272c1f342d1f272c1f342d1f272c1f272c1f272c1f272c1f
+587ca0607590587ca0587ca0587ca0537499587ca0607590587ca0587ca0537499
+587ca0587ca0537499587ca0537499587ca0537499456185537499587ca0587ca0
+587ca0587ca041678a3d5f7a41678a537499587ca041678a587ca05d83a4537499
+344d593c586f5374995374995374994a6a8d4a6a8d4a6a8d5374994a6a8d537499
+587ca05374994a6a8d4a6a8d587ca0587ca0587ca0587ca05374993c586f4a6a8d
+587ca04a6a8d3c50724a6a8d5374995374994561854a6a8d587ca04a6a8d41678a
+556c84344e6f3d5f7a344e6f3d5f7a344d592e3c44262e353d5f7a344d592e3c44
+30444d2f3c222e3c44304321262e352a3438354c312b3322272c1f1e241b1e241b
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e351e241b
+1e241b272c1f1e241b1e241b272c1f1e241b1e241b272c1f262e35272c1f1e241b
+262e3524261c272c1f1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1c1e191e241b1e241b1e241b1c1e191c1e191c1e191e241b1c1e191e241b1e241b
+1c1e191c1e191c1e191c1e191c1e191c1e191c1e191c1e191c1e191e241b1c1e19
+1e241b1e241b1e241b1c1e191e241b1e241b1e241b1c1e191c1e191e241b1c1e19
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e19262e351e241b1e241b
+1e241b272c1f1e241b272c1f2a34382a3438272c1f2a34381e241b262e35344d59
+272c1f262e35272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b
+1e241b1c1e191c1e191e241b1e241b1e241b1c1e191c1e191c1e191e241b1e241b
+1e241b1c1e191e241b24261c1c1e1924261c1e241b24261c1e241b1e241b1c1e19
+1e241b1e241b1e241b1c1e191c1e191e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b24261c24261c1e241b1c1e191c1e191e241b1c1e1924261c
+1e241b1c1e191c1e1924261c1e241b24261c1c1e191c1e1924261c1c1e191c1e19
+1c1e191c1e1924261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b24261c1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b262e351e241b1e241b272c1f24261c24261c24261c272c1f262e3524261c
+24261c1e241b24261c272c1f272c1f24261c1c1e19272c1f272c1f272c1f262e35
+272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f2b3322262e351e241b
+272c1f272c1f272c1f272c1f1e241b2b3322272c1f272c1f1e241b272c1f1e241b
+272c1f272c1f2b33222b3322272c1f1e241b2b3322272c1f272c1f272c1f272c1f
+272c1f1e241b272c1f272c1f1e241b1e241b272c1f272c1f272c1f272c1f1e241b
+272c1f272c1f1e241b1e241b272c1f272c1f272c1f1e241b2f3c2233352224261c
+272c1f272c1f24261c272c1f272c1f272c1f24261c272c1f272c1f24261c1e241b
+24261c1e241b1e241b1e241b272c1f1e241b272c1f1e241b272c1f272c1f272c1f
+272c1f272c1f1e241b272c1f1e241b24261c1e241b272c1f24261c24261c1e241b
+24261c24261c24261c24261c1e241b1e241b24261c272c1f24261c272c1f1e241b
+1e241b24261c272c1f1e241b272c1f272c1f2b3322262e352b3322272c1f24261c
+262e35342d1f272c1f272c1f272c1f24261c272c1f24261c342d1f272c1f24261c
+272c1f272c1f24261c24261c272c1f24261c272c1f24261c272c1f272c1f342d1f
+24261c24261c272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f24261c
+587ca0587ca0537499537499537499537499537499537499537499537499537499
+537499587ca05374995374995374995374994a6a8d4a6a8d4a6a8d537499537499
+537499587ca0537499344e6f5374995374995374994a6a8d537499587ca0537499
+30444d3d5f7a53749941678a456185456185587ca04a6a8d587ca041678a4a6a8d
+587ca0587ca0537499556c84587ca0587ca0537499587ca04a6a8d456185456185
+587ca04a6a8d30444d4a6a8d4a6a8d4a6a8d3d5f7a41678a5374994a6a8d456185
+4a6a8d3d5f7a456185344d59344e6f344d592a34382a3438344d5930444d1e241b
+2e3c442b33222a343830444d262e352b3322304321262e35272c1f272c1f272c1f
+1e241b272c1f272c1f1e241b272c1f1e241b272c1f1e241b1e241b272c1f272c1f
+1e241b1e241b1e241b1e241b262e351e241b272c1f1e241b1e241b272c1f24261c
+24261c1e241b1e241b1e241b24261c1e241b262e351e241b24261c24261c1e241b
+262e3524261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1c1e191e241b1e241b1e241b1e241b1c1e191c1e191e241b1c1e191e241b1e241b
+1c1e191c1e191c1e191e241b1e241b1c1e191c1e191c1e191c1e191c1e191e241b
+1e241b1e241b1e241b1c1e191e241b1c1e191e241b1c1e191c1e191c1e191e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b262e351e241b2a34382f3c221e241b2a3438262e352a343830444d
+262e352b3322272c1f1e241b262e351e241b262e351e241b1c1e191e241b272c1f
+1e241b1e241b1c1e191c1e191e241b1c1e191c1e191c1e191c1e191e241b1c1e19
+1e241b1e241b1c1e191e241b1e241b1e241b1e241b1c1e191e241b1c1e191c1e19
+1e241b1e241b1e241b1c1e191e241b1c1e191e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b24261c1e241b1e241b24261c1c1e191c1e191c1e191e241b
+24261c1e241b1c1e191c1e191c1e1924261c1c1e191c1e191e241b24261c1c1e19
+1c1e191c1e191e241b1c1e191c1e1924261c1e241b1e241b272c1f1e241b1e241b
+1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+272c1f272c1f1e241b1e241b1e241b24261c24261c24261c24261c24261c24261c
+24261c24261c24261c24261c272c1f272c1f24261c272c1f1e241b272c1f272c1f
+1e241b272c1f272c1f24261c272c1f1e241b272c1f272c1f2b3322272c1f272c1f
+272c1f272c1f272c1f272c1f1e241b2b3322272c1f1e241b272c1f272c1f1e241b
+272c1f1e241b272c1f1e241b2b3322272c1f272c1f272c1f272c1f1e241b272c1f
+1e241b1e241b272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b
+272c1f1e241b1e241b272c1f272c1f1e241b272c1f1e241b4758323f4e321e241b
+1e241b272c1f24261c272c1f1e241b24261c24261c24261c272c1f272c1f1e241b
+272c1f24261c272c1f272c1f1e241b1e241b1e241b272c1f272c1f1e241b1e241b
+272c1f1e241b1e241b272c1f1e241b24261c24261c1e241b1e241b272c1f272c1f
+272c1f24261c24261c1e241b24261c24261c24261c272c1f24261c272c1f24261c
+24261c272c1f272c1f1e241b272c1f272c1f272c1f272c1f262e35272c1f24261c
+24261c272c1f272c1f272c1f272c1f272c1f342d1f262e35272c1f272c1f24261c
+342d1f24261c272c1f272c1f272c1f24261c272c1f272c1f24261c272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322
+537499537499537499537499537499537499537499537499537499537499537499
+537499537499537499587ca05374995374994a6a8d41678a4a6a8d41678a537499
+53749953749941678a344e6f53749953749941678a41678a53749953749941678a
+2e3c44344e6f41678a45618545618541678a53749941678a4a6a8d456185537499
+587ca0587ca04a6a8d537499537499537499587ca05374993d5f7a3d5f7a456185
+587ca041678a30444d5374994a6a8d4a6a8d4a6a8d4a6a8d4a6a8d4658643c5072
+3c50723d5f7a3c586f30444d30444d3d5f7a2a3438354c31344d592a3438272c1f
+2f3c222a34382f3c22262e352a34382f3c22262e351e241b1e241b1e241b272c1f
+272c1f1e241b272c1f1e241b272c1f272c1f272c1f1e241b2b33221e241b1e241b
+1e241b272c1f1e241b1e241b1e241b1e241b24261c1e241b24261c1e241b1e241b
+24261c1c1e1924261c1e241b1e241b24261c24261c1e241b1e241b1e241b1c1e19
+1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1c1e191e241b1e241b1e241b1e241b1c1e191c1e191e241b1e241b1e241b1e241b
+1e241b1e241b1c1e191c1e191e241b1c1e191c1e191c1e191c1e191c1e191e241b
+262e351e241b1c1e191c1e191e241b1e241b1c1e191e241b1e241b1c1e191e241b
+1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b272c1f1e241b262e351e241b1e241b2b33221e241b262e352f3c22
+1e241b1e241b262e351e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1c1e191e241b1c1e191e241b1e241b1c1e191c1e191c1e191c1e19
+1c1e191c1e1924261c24261c1c1e191c1e191c1e191e241b1e241b1e241b1e241b
+1c1e191e241b1e241b1c1e191e241b24261c1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1c1e1924261c1c1e1924261c1c1e191c1e191c1e1924261c24261c
+1c1e191c1e191e241b24261c1e241b1c1e191c1e1924261c1e241b1e241b1c1e19
+1c1e191c1e191e241b1c1e1924261c1e241b1e241b1e241b1e241b1e241b1c1e19
+24261c1e241b1e241b1c1e191e241b1e241b1e241b24261c1e241b24261c1e241b
+1e241b272c1f1e241b272c1f1e241b24261c24261c24261c24261c24261c24261c
+24261c24261c24261c262e35272c1f24261c262e35272c1f262e351e241b2b3322
+272c1f262e3524261c272c1f262e35272c1f262e351e241b272c1f272c1f272c1f
+272c1f272c1f1e241b272c1f1e241b272c1f272c1f1e241b2b33222b33221e241b
+272c1f1e241b2b33221e241b1e241b2b3322272c1f272c1f272c1f272c1f1e241b
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f
+1e241b272c1f1e241b1e241b272c1f1e241b272c1f24261c272c1f272c1f272c1f
+24261c272c1f24261c272c1f272c1f24261c24261c272c1f272c1f1e241b272c1f
+24261c1e241b1e241b272c1f1e241b2b33221e241b272c1f1e241b272c1f272c1f
+272c1f1e241b272c1f1e241b272c1f24261c24261c272c1f24261c24261c24261c
+1e241b24261c24261c24261c24261c272c1f24261c1e241b262e3524261c24261c
+24261c24261c272c1f272c1f1e241b272c1f272c1f2b33222b33222b3322262e35
+262e35272c1f342d1f373e43342d1f24261c262e35342d1f24261c24261c24261c
+262e35272c1f272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f333522
+24261c24261c272c1f342d1f272c1f24261c272c1f272c1f272c1f272c1f272c1f
+537499537499587ca053749953749953749941678a5374994a6a8d537499537499
+5374995374995374994a6a8d5374994561855374994561854a6a8d41678a4a6a8d
+53749953749941678a30444d41678a53749941678a41678a53749953749941678a
+344e6f4a6a8d4a6a8d3c586f3d5f7a3d5f7a4a6a8d3d5f7a5374993d5f7a537499
+537499587ca04a6a8d6075905374993d5f7a4561855374993c586f45618541678a
+5374993d5f7a30444d41678a3d5f7a4561855374994a6a8d41678a344e6f456185
+30444d3c586f3c586f344e6f2e3c443d5f7a262e35344d593043212a3438262e35
+2f3c222a34382a3438262e351e241b2f3c22272c1f1e241b272c1f272c1f272c1f
+1e241b1e241b272c1f272c1f1e241b272c1f1e241b272c1f272c1f1e241b1e241b
+1e241b272c1f1e241b1e241b272c1f1e241b1e241b272c1f1e241b24261c24261c
+272c1f1c1e191c1e1924261c1e241b1e241b1e241b1e241b1e241b1e241b24261c
+262e351e241b1c1e191e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b
+1c1e191e241b1e241b1e241b1e241b1c1e191e241b1c1e191c1e191c1e191c1e19
+1c1e191e241b1c1e191c1e191e241b1e241b1c1e191c1e191c1e191e241b1e241b
+272c1f272c1f1e241b1e241b1e241b1c1e191e241b1c1e191c1e191e241b1e241b
+1e241b1c1e191c1e191e241b1c1e191c1e191e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b262e351e241b1e241b262e35272c1f1e241b262e35
+1e241b272c1f1e241b272c1f1e241b1e241b1e241b1e241b1c1e191e241b1e241b
+1e241b1e241b1c1e191c1e191c1e191e241b1c1e191c1e191c1e191c1e191c1e19
+1e241b1c1e191c1e1924261c1c1e1924261c1c1e191c1e191e241b1c1e191e241b
+1e241b1e241b1e241b1c1e191c1e191e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b24261c24261c1c1e1924261c1e241b1c1e1924261c1c1e1924261c
+24261c1c1e191c1e191c1e1924261c1c1e191c1e191c1e191c1e1924261c1c1e19
+1c1e191c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+272c1f272c1f1e241b1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b
+272c1f272c1f1e241b1e241b1e241b1e241b24261c1e241b24261c262e3524261c
+272c1f24261c24261c272c1f272c1f272c1f272c1f2b33222b3322272c1f262e35
+1e241b2b33221e241b2b33222b33222b33221e241b1e241b2b33221e241b272c1f
+272c1f1e241b272c1f272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f
+1e241b272c1f272c1f272c1f2b3322272c1f1e241b2b33221e241b2b3322272c1f
+272c1f2b33221e241b272c1f1e241b272c1f272c1f272c1f1e241b272c1f272c1f
+272c1f1e241b272c1f1e241b1e241b272c1f1e241b1e241b24261c24261c272c1f
+272c1f272c1f1e241b24261c272c1f24261c272c1f24261c272c1f272c1f1e241b
+272c1f24261c24261c272c1f1e241b272c1f1e241b272c1f1e241b272c1f1e241b
+272c1f1e241b1e241b1e241b24261c1e241b24261c24261c24261c272c1f24261c
+24261c272c1f24261c373e4324261c272c1f272c1f24261c24261c24261c24261c
+24261c24261c272c1f272c1f1e241b272c1f272c1f272c1f342d1f272c1f342d1f
+272c1f272c1f272c1f333522262e35272c1f272c1f272c1f272c1f24261c272c1f
+24261c272c1f272c1f272c1f272c1f272c1f342d1f272c1f272c1f24261c272c1f
+24261c24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c
+5374995374994a6a8d5374995374995374994561854561854a6a8d4a6a8d4a6a8d
+5374994a6a8d5374995374994a6a8d45618553749941678a4a6a8d41678a41678a
+4a6a8d537499344e6f30444d4a6a8d41678a3d5f7a4a6a8d4a6a8d4a6a8d4a6a8d
+3c586f5374993d5f7a3d5f7a4561853d5f7a41678a3c586f3d5f7a3d5f7a587ca0
+4a6a8d4a6a8d4a6a8d537499556c844561854561854a6a8d3d5f7a4561853d5f7a
+4a6a8d344e6f3336423c50723c586f4561854a6a8d41678a456185344e6f3d5f7a
+2e3c44344e6f3d5f7a30444d344d59344d59262e3530444d2e3c442f3c222a3438
+2a34382a34382b3322272c1f2a34382a34381e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b272c1f24261c1e241b
+1e241b24261c262e351e241b1e241b272c1f1e241b1e241b24261c24261c1e241b
+24261c24261c24261c1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b
+1e241b1e241b1c1e191c1e191e241b1c1e191e241b1c1e191c1e191e241b1e241b
+1e241b1c1e191c1e191c1e191e241b24261c1e241b1e241b1c1e191c1e191e241b
+1e241b1e241b272c1f1e241b1e241b1e241b1c1e191c1e191c1e191e241b1e241b
+1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b
+1e241b1e241b272c1f1e241b1e241b1e241b1e241b272c1f262e351e241b272c1f
+262e35272c1f1e241b1e241b24261c1e241b1e241b1e241b1c1e19272c1f1e241b
+1c1e191e241b1e241b1e241b24261c24261c1c1e191c1e191c1e191e241b1c1e19
+1c1e191e241b24261c1c1e191c1e191e241b1c1e191e241b1e241b1e241b1e241b
+1c1e191c1e191e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b
+1e241b24261c1c1e1924261c1e241b24261c24261c1c1e191c1e191c1e191e241b
+1c1e191c1e191c1e1924261c1c1e1924261c1e241b1c1e1924261c1c1e191e241b
+24261c1c1e191e241b1e241b1c1e191e241b1e241b272c1f1e241b1e241b1e241b
+1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b
+1e241b272c1f272c1f1e241b24261c24261c24261c1c1e19272c1f24261c1e241b
+272c1f272c1f1e241b272c1f272c1f272c1f272c1f2b3322272c1f272c1f2b3322
+262e35272c1f1e241b2b33221e241b272c1f272c1f1e241b272c1f272c1f272c1f
+2b3322272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b2b33221e241b
+272c1f272c1f272c1f272c1f2f3c221e241b2b3322272c1f272c1f272c1f1e241b
+1e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f
+1e241b1e241b272c1f1e241b1e241b1e241b24261c24261c24261c1e241b24261c
+272c1f24261c24261c24261c24261c24261c24261c24261c1e241b24261c24261c
+24261c24261c272c1f24261c272c1f1e241b272c1f1e241b272c1f1e241b1e241b
+272c1f272c1f272c1f272c1f24261c24261c1e241b24261c24261c272c1f24261c
+272c1f333642373e43272c1f24261c24261c272c1f272c1f24261c24261c272c1f
+24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f2b3322272c1f262e35
+24261c262e35342d1f272c1f24261c342d1f272c1f272c1f272c1f342d1f24261c
+24261c24261c272c1f342d1f272c1f272c1f24261c272c1f342d1f24261c342d1f
+272c1f24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+4a6a8d5374994a6a8d5374995374994a6a8d4a6a8d4561854a6a8d4a6a8d537499
+4a6a8d4a6a8d4561854a6a8d41678a4561855374993d5f7a4561853d5f7a3d5f7a
+4a6a8d41678a344e6f30444d41678a344e6f45618541678a4a6a8d5374993c586f
+30444d41678a3d5f7a3c586f3d5f7a3d5f7a4561853d5f7a45618541678a537499
+3d5f7a3c586f4a6a8d537499456185344e6f3d5f7a41678a4561853c586f456185
+3c586f3c586f2e3c4430444d30444d3d5f7a5374993d5f7a3d4f563c586f30444d
+2e3c4430444d344e6f262e353c586f2a34382a343830444d2a34382a34382b3322
+2f3c22262e35272c1f272c1f262e352b33221e241b272c1f1e241b1e241b1e241b
+1e241b1e241b272c1f1e241b272c1f1e241b272c1f272c1f2b3322272c1f272c1f
+272c1f272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b24261c1e241b
+1e241b24261c24261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+24261c1e241b1e241b1c1e191e241b24261c24261c24261c1c1e191e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1c1e191e241b1c1e191e241b1e241b1c1e19
+1e241b1c1e191c1e191c1e191e241b24261c1c1e191e241b1e241b1c1e191e241b
+1e241b24261c2b33221e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b
+1c1e191c1e191e241b1e241b1e241b1e241b1e241b262e351e241b1e241b1e241b
+1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b262e35
+2b33221e241b272c1f1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1c1e191e241b1e241b1e241b1e241b1c1e191c1e191c1e191e241b1e241b
+1e241b1c1e1924261c24261c1c1e191e241b1e241b1e241b1e241b1c1e191c1e19
+1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1c1e1924261c24261c1e241b24261c24261c24261c1c1e191c1e19
+1c1e191c1e191c1e1924261c1e241b1c1e191e241b1c1e191e241b1c1e1924261c
+1e241b1c1e191e241b1e241b1c1e191e241b1e241b1e241b272c1f1c1e191e241b
+272c1f272c1f1e241b24261c1e241b24261c1e241b1e241b1e241b1e241b272c1f
+1e241b1e241b1e241b1e241b1e241b24261c1e241b24261c262e35272c1f272c1f
+1e241b24261c272c1f272c1f262e35272c1f272c1f2b33222b33221e241b272c1f
+2b3322272c1f1e241b2b33221e241b272c1f1e241b272c1f272c1f1e241b272c1f
+272c1f1e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b2b3322
+2b33221e241b272c1f1e241b2b3322272c1f1e241b272c1f272c1f1e241b272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f1e241b1e241b272c1f
+272c1f1e241b272c1f1e241b24261c24261c1e241b272c1f24261c24261c1e241b
+24261c272c1f24261c24261c272c1f24261c272c1f272c1f1e241b272c1f272c1f
+1e241b272c1f24261c24261c272c1f1e241b24261c1e241b2b33221e241b272c1f
+24261c1e241b1e241b24261c24261c272c1f272c1f272c1f1e241b1e241b1e241b
+24261c24261c24261c24261c24261c24261c24261c272c1f24261c24261c24261c
+24261c2b3322272c1f272c1f272c1f272c1f272c1f272c1f342d1f342d1f272c1f
+24261c262e35342d1f262e35272c1f262e3524261c24261c272c1f262e35342d1f
+262e3524261c272c1f24261c272c1f24261c272c1f272c1f262e3524261c342d1f
+272c1f24261c342d1f24261c272c1f272c1f272c1f272c1f24261c272c1f24261c
+4a6a8d5374994a6a8d4a6a8d5374994a6a8d4a6a8d41678a45618541678a456185
+53749941678a41678a45618541678a41678a5374993c586f3c586f456185344e6f
+456185344e6f30444d3c586f4a6a8d3c586f3d5f7a41678a41678a3d5f7a30444d
+3c586f4a6a8d344e6f3c5072344e6f45618541678a45618541678a41678a456185
+3d5f7a4a6a8d4a6a8d4a6a8d4561853c5072344e6f41678a3c586f3d5f7a3d5f7a
+30444d344e6f2a34382e3c4430444d41678a556c843c50723944462e3c44344e6f
+2a343830444d30444d344d59344d591e241b262e352b3322262e35272c1f262e35
+2b3322262e35272c1f1e241b262e352b3322272c1f1e241b272c1f1e241b272c1f
+24261c1e241b272c1f272c1f1e241b272c1f1e241b24261c272c1f1e241b1e241b
+1e241b1e241b272c1f1e241b272c1f1e241b1e241b24261c1e241b1e241b1e241b
+24261c24261c24261c1e241b1e241b1e241b1e241b1e241b262e351e241b1e241b
+24261c1e241b1e241b1e241b1e241b1e241b262e351e241b1e241b1e241b262e35
+1e241b1e241b1c1e191c1e191e241b1e241b1c1e191e241b1e241b1e241b1e241b
+1e241b1c1e191c1e191c1e191e241b272c1f1c1e191c1e191c1e191e241b1e241b
+1e241b1e241b1e241b272c1f1e241b1e241b1e241b1c1e191e241b1e241b1e241b
+1c1e191e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1c1e191e241b1e241b1e241b272c1f1e241b1e241b272c1f
+1e241b272c1f1e241b1e241b24261c1e241b272c1f272c1f1e241b1e241b1e241b
+1c1e191e241b1e241b1e241b1e241b1e241b1c1e191e241b1c1e191e241b1c1e19
+1c1e191c1e191c1e1924261c1e241b1e241b1e241b1c1e191c1e191e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f24261c1e241b24261c
+24261c24261c24261c1c1e1924261c24261c1e241b1c1e1924261c1e241b24261c
+1e241b24261c1e241b24261c24261c1c1e191e241b1e241b1c1e191e241b24261c
+24261c1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e19
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b272c1f
+1e241b272c1f1e241b1e241b24261c24261c24261c24261c272c1f1e241b1e241b
+272c1f272c1f1e241b2b33222b3322272c1f1e241b2b33222f3c22272c1f272c1f
+272c1f272c1f1e241b2b3322272c1f272c1f1e241b272c1f272c1f272c1f2f3c22
+2b33221e241b1e241b272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f
+2b3322272c1f272c1f2b3322272c1f272c1f272c1f1e241b272c1f272c1f1e241b
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b1e241b
+272c1f24261c1e241b1e241b272c1f24261c24261c24261c24261c272c1f272c1f
+272c1f24261c24261c24261c24261c24261c24261c272c1f24261c272c1f24261c
+24261c24261c272c1f1e241b24261c272c1f1e241b24261c1e241b24261c24261c
+272c1f24261c1e241b272c1f1e241b24261c1e241b272c1f24261c24261c272c1f
+24261c24261c272c1f24261c24261c24261c262e35342d1f272c1f272c1f24261c
+24261c24261c272c1f24261c272c1f272c1f272c1f272c1f2b3322333522262e35
+272c1f272c1f262e35342d1f342d1f272c1f342d1f262e35342d1f262e35272c1f
+24261c272c1f24261c272c1f262e35342d1f272c1f24261c272c1f272c1f24261c
+342d1f24261c272c1f272c1f272c1f272c1f342d1f272c1f272c1f24261c272c1f
+41678a4a6a8d4a6a8d5374994a6a8d53749945618545618541678a456185456185
+4a6a8d41678a3c586f4a6a8d45618541678a4a6a8d344e6f4561853c586f30444d
+344e6f30444d344e6f344e6f3c586f30444d30444d4561853c586f344e6f344e6f
+3d5f7a3d5f7a344e6f3c507230444d4561853c586f3d5f7a45618541678a3d5f7a
+45618541678a456185456185456185344d5930444d4a6a8d3c50723c586f3c5072
+344e6f344d592e3c442e3c442e3c444a6a8d4658643336422e3c44262e35344e6f
+262e352e3c442e3c44344e6f30444d262e352a34382a34382b3322272c1f272c1f
+2b33221e241b2b3322272c1f2b33222b33221e241b1e241b272c1f1e241b272c1f
+272c1f1e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f24261c272c1f
+24261c1e241b272c1f1e241b1e241b1e241b272c1f1e241b24261c24261c1e241b
+1e241b24261c1e241b24261c1e241b24261c1e241b262e351e241b1c1e191e241b
+1e241b1e241b1e241b24261c24261c24261c1e241b1c1e191e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e191e241b1e241b1c1e19
+1e241b1e241b1c1e191c1e191e241b1e241b1e241b1e241b1c1e191e241b1e241b
+1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b1c1e191e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1c1e19272c1f1e241b1e241b272c1f
+1e241b272c1f1e241b1e241b2b33221e241b1e241b24261c1e241b2b33221e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b24261c1c1e1924261c1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e19
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b1e241b
+1e241b1e241b24261c1c1e1924261c24261c1e241b1c1e191e241b24261c1c1e19
+24261c24261c1e241b1c1e1924261c1c1e1924261c24261c24261c1c1e1924261c
+1e241b1c1e1924261c1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b
+1e241b272c1f272c1f1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b
+1e241b272c1f24261c1e241b24261c24261c24261c272c1f272c1f272c1f1e241b
+1e241b272c1f1e241b2b3322272c1f262e35272c1f262e352f3c22262e35272c1f
+2f3c22272c1f1e241b272c1f272c1f1e241b272c1f272c1f1e241b1e241b2b3322
+272c1f272c1f272c1f272c1f272c1f1e241b272c1f1e241b272c1f272c1f272c1f
+272c1f2b3322272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b
+272c1f2b3322272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f1e241b
+272c1f272c1f272c1f1e241b272c1f1e241b272c1f24261c1e241b24261c24261c
+272c1f24261c272c1f24261c272c1f24261c272c1f272c1f272c1f24261c24261c
+1e241b24261c1e241b272c1f272c1f24261c272c1f272c1f272c1f24261c1e241b
+272c1f24261c1e241b24261c24261c272c1f24261c272c1f24261c1e241b272c1f
+272c1f24261c272c1f24261c24261c24261c24261c272c1f24261c272c1f272c1f
+24261c272c1f272c1f272c1f272c1f272c1f24261c24261c272c1f342d1f262e35
+272c1f24261c272c1f262e35272c1f262e35272c1f342d1f272c1f342d1f342d1f
+262e35272c1f24261c342d1f272c1f272c1f272c1f272c1f24261c24261c262e35
+272c1f342d1f272c1f342d1f272c1f24261c342d1f272c1f342d1f272c1f272c1f
+4a6a8d41678a41678a4a6a8d4a6a8d53749941678a3d5f7a41678a41678a41678a
+5374994a6a8d3c50724a6a8d3d5f7a4a6a8d4a6a8d344e6f4a6a8d3c50722e3c44
+30444d3336423c50723c5072344e6f333642373e433c5072344e6f30444d344e6f
+344e6f45618530444d344e6f344e6f456185344e6f4561854561854a6a8d344e6f
+41678a4561854658643d5f7a3c586f30444d3c586f4a6a8d344e6f344e6f344d59
+344e6f30444d30444d262e352e3c4441678a30444d262e35262e352e3c4430444d
+262e352e3c4430444d2e3c44262e35262e352a34382a34382a3438272c1f2a3438
+2b3322272c1f272c1f1e241b2b33222f3c22272c1f1e241b1e241b272c1f1e241b
+1e241b1e241b1e241b1e241b272c1f1e241b272c1f24261c1e241b1e241b24261c
+1e241b1e241b1e241b1e241b1e241b272c1f1e241b262e351e241b1e241b1c1e19
+1c1e191e241b272c1f1e241b262e351e241b24261c1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b24261c24261c1e241b1e241b1e241b1c1e19262e35
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b
+24261c1c1e191e241b1c1e191e241b1e241b1c1e191c1e191e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b262e351e241b1c1e191e241b1c1e191e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b272c1f
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b262e35
+272c1f272c1f272c1f1e241b272c1f1e241b272c1f1e241b2b33222b33221e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1c1e19272c1f24261c1c1e191c1e19
+1c1e191c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b272c1f1e241b1e241b1e241b1e241b272c1f1e241b1e241b24261c
+1e241b1e241b24261c24261c1e241b1c1e1924261c1e241b1e241b1e241b272c1f
+24261c24261c1c1e1924261c1e241b24261c24261c1e241b1c1e191e241b24261c
+1c1e1924261c1e241b272c1f24261c1e241b1e241b1e241b1e241b272c1f1e241b
+272c1f1e241b24261c24261c1e241b272c1f272c1f272c1f1e241b2b33222b3322
+1e241b24261c1e241b24261c1e241b24261c24261c1e241b1e241b272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f2b33221e241b2e3c443043212b3322272c1f
+2b3322272c1f1e241b272c1f272c1f1e241b1e241b272c1f272c1f272c1f272c1f
+272c1f272c1f1e241b2b33221e241b272c1f272c1f272c1f272c1f272c1f1e241b
+272c1f272c1f272c1f272c1f272c1f2b3322272c1f272c1f272c1f1e241b272c1f
+272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f24261c24261c
+24261c1e241b272c1f272c1f24261c1e241b24261c272c1f272c1f1e241b272c1f
+272c1f272c1f1e241b24261c272c1f272c1f24261c1e241b24261c24261c272c1f
+272c1f24261c1e241b272c1f1e241b24261c272c1f1e241b272c1f272c1f24261c
+24261c24261c272c1f24261c272c1f24261c272c1f24261c272c1f272c1f24261c
+24261c272c1f24261c262e35342d1f272c1f24261c272c1f24261c272c1f24261c
+272c1f272c1f24261c24261c342d1f272c1f24261c272c1f262e352b3322272c1f
+272c1f272c1f272c1f33352224261c342d1f262e35272c1f272c1f262e35262e35
+272c1f272c1f24261c262e3524261c272c1f342d1f272c1f262e35342d1f272c1f
+342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f
+4a6a8d41678a4561854a6a8d4a6a8d41678a4561853c586f3d5f7a456185456185
+41678a4561853c50724a6a8d344e6f4561853c5072344e6f3c586f2a343830444d
+30444d3336423c586f3c5072333642373e4330444d2e3c443c586f30444d344e6f
+344e6f3d5f7a2e3c442e3c44344e6f344e6f3c507241678a3d5f7a3c50723c586f
+4561853c586f3c5072456185344e6f2e3c44344e6f3d5f7a30444d373e43333642
+2a3438262e3530444d262e352e3c443c50722e3c442a3438262e35344d59262e35
+262e352e3c442a34382e3c44262e35272c1f2a34382b33221e241b262e352b3322
+272c1f272c1f1e241b272c1f272c1f1e241b272c1f272c1f1e241b1e241b272c1f
+272c1f1e241b272c1f1e241b272c1f1e241b1e241b1e241b24261c24261c1e241b
+272c1f1e241b1e241b1e241b1e241b1e241b1e241b24261c24261c1e241b1e241b
+1e241b1e241b272c1f1e241b1e241b24261c24261c24261c24261c1e241b1e241b
+24261c24261c1e241b1e241b24261c1e241b1e241b1c1e191e241b1c1e191e241b
+1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e19
+24261c24261c1e241b1c1e191c1e191e241b1e241b1c1e191e241b272c1f1e241b
+1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b1c1e191e241b
+1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f
+2b33221e241b1e241b1e241b272c1f1e241b1e241b1e241b272c1f1e241b1e241b
+1e241b1e241b1e241b272c1f1e241b1e241b1e241b24261c1e241b1e241b1e241b
+24261c1c1e191c1e1924261c24261c1c1e191e241b1c1e191e241b1e241b1e241b
+1e241b24261c1e241b1e241b272c1f1e241b272c1f272c1f272c1f1e241b1e241b
+24261c1e241b1e241b1e241b1e241b1c1e1924261c1c1e191e241b1e241b1e241b
+1e241b1c1e191c1e1924261c1e241b1e241b1e241b1e241b1c1e191c1e1924261c
+1c1e1924261c24261c1e241b1e241b1e241b24261c24261c1e241b272c1f1e241b
+1e241b272c1f1e241b24261c1e241b24261c1e241b272c1f1e241b1e241b272c1f
+1e241b272c1f1e241b24261c24261c24261c272c1f272c1f1e241b272c1f1e241b
+272c1f272c1f272c1f272c1f272c1f1e241b2b3322272c1f2b3322262e351e241b
+2f3c221e241b272c1f1e241b272c1f1e241b1e241b1e241b272c1f1e241b272c1f
+272c1f1e241b1e241b272c1f1e241b272c1f1e241b272c1f1e241b272c1f272c1f
+2b3322272c1f272c1f272c1f272c1f2b33221e241b272c1f1e241b272c1f1e241b
+272c1f272c1f272c1f2b3322272c1f272c1f1e241b272c1f272c1f1e241b272c1f
+272c1f1e241b272c1f272c1f1e241b272c1f1e241b1e241b272c1f24261c24261c
+24261c272c1f24261c24261c24261c272c1f272c1f272c1f24261c24261c1e241b
+1e241b272c1f272c1f24261c272c1f1e241b24261c24261c1e241b272c1f1e241b
+272c1f24261c272c1f24261c24261c24261c1e241b24261c24261c272c1f24261c
+272c1f24261c272c1f2b3322262e35272c1f24261c272c1f24261c272c1f24261c
+272c1f272c1f272c1f24261c272c1f342d1f272c1f24261c272c1f2b33222b3322
+272c1f342d1f272c1f262e35272c1f272c1f272c1f24261c272c1f272c1f272c1f
+342d1f262e3524261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f
+4a6a8d4561853d5f7a4a6a8d4a6a8d4a6a8d456185344e6f4561853d5f7a4a6a8d
+4a6a8d3c586f3c507245618530444d344e6f2a3438344e6f344e6f2e3c442e3c44
+2e3c44333642394446344e6f30444d262e353336422e3c44344e6f2e3c44344e6f
+344e6f344e6f262e3533364230444d373e433c586f45618530444d344e6f344e6f
+3d5f7a344e6f3c586f41678a30444d2a3438344e6f45618530444d2e3c442a3438
+262e35262e35262e35262e35262e352e3c442e3c44262e352a343830444d2a3438
+1e241b30444d262e35272c1f1e241b2b3322262e352b33221e241b1e241b2b3322
+262e35272c1f262e351e241b272c1f272c1f1e241b1e241b272c1f1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b24261c1e241b24261c
+24261c24261c272c1f1e241b1e241b1e241b272c1f1e241b1e241b24261c1c1e19
+1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b24261c1e241b1e241b
+1e241b24261c1e241b1e241b1e241b1c1e1924261c1e241b1c1e191e241b272c1f
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b24261c
+1c1e1924261c1c1e191e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b
+1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1c1e19
+1e241b1e241b1e241b272c1f1e241b272c1f1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b2b3322
+1e241b272c1f1e241b272c1f272c1f2b33221e241b2b33221e241b272c1f1e241b
+1e241b1e241b272c1f24261c1e241b1e241b1e241b24261c24261c1c1e1924261c
+1c1e191e241b1e241b1c1e191c1e191c1e191e241b1e241b1e241b1e241b1e241b
+24261c24261c1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b
+1e241b24261c1e241b24261c24261c1e241b1e241b24261c1e241b24261c1e241b
+1c1e1924261c1c1e1924261c1c1e1924261c1e241b1e241b24261c24261c24261c
+1e241b24261c24261c1e241b24261c272c1f1e241b272c1f1e241b2b33221e241b
+272c1f272c1f1e241b24261c1e241b1e241b272c1f1e241b272c1f1e241b24261c
+1e241b1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f2f3c22272c1f272c1f
+2b33221e241b272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f
+272c1f272c1f1e241b272c1f272c1f1e241b272c1f272c1f1e241b272c1f1e241b
+272c1f2b3322272c1f272c1f272c1f272c1f1e241b272c1f1e241b272c1f1e241b
+272c1f272c1f1e241b272c1f272c1f1e241b272c1f272c1f24261c24261c272c1f
+272c1f272c1f1e241b272c1f24261c24261c272c1f272c1f1e241b272c1f1e241b
+272c1f24261c272c1f24261c24261c1e241b272c1f24261c24261c1e241b272c1f
+24261c24261c1e241b272c1f272c1f1e241b1e241b272c1f272c1f24261c272c1f
+24261c24261c1e241b272c1f272c1f24261c272c1f1e241b24261c24261c24261c
+24261c272c1f272c1f342d1f24261c24261c272c1f272c1f272c1f272c1f24261c
+24261c24261c272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f2a3438
+262e35272c1f342d1f262e35342d1f272c1f342d1f342d1f272c1f342d1f262e35
+342d1f342d1f272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f2b3322
+272c1f24261c333522272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f
+4561854561853c586f41678a41678a4a6a8d456185344e6f4561853c50724a6a8d
+4a6a8d3c586f3c50723d5f7a30444d3c50722e3c443d5f7a344e6f30444d2a3438
+2a34382a34383336423336422e3c44262e352a343830444d344e6f2e3c442e3c44
+2e3c4430444d2a34382a343830444d2e3c443c586f3c586f373e432e3c443c586f
+344e6f2e3c4441678a3c50722e3c443336422e3c44344e6f2e3c442a34382e3c44
+1e241b262e35262e35262e35272c1f262e3530444d262e35262e352e3c442a3438
+2a34382e3c441e241b262e35262e352b33221e241b262e35272c1f272c1f272c1f
+2b3322272c1f272c1f272c1f1e241b2b33221e241b1e241b1e241b1e241b272c1f
+1e241b1e241b262e35272c1f1e241b24261c1e241b1c1e1924261c1e241b1c1e19
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b
+272c1f1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b24261c
+24261c1e241b1e241b1e241b1c1e191c1e191e241b24261c1c1e191e241b24261c
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1c1e191c1e191c1e191c1e191e241b1c1e191c1e191e241b1e241b1c1e191e241b
+1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b272c1f
+1e241b1e241b1e241b1e241b1e241b272c1f1e241b2b3322272c1f1e241b272c1f
+1e241b1e241b272c1f2f3c22272c1f1e241b1e241b2b3322272c1f1e241b1e241b
+1e241b272c1f1e241b1e241b24261c1e241b1e241b24261c24261c1e241b24261c
+24261c1c1e1924261c1e241b24261c1c1e191e241b1e241b1e241b1e241b24261c
+272c1f1e241b1e241b1e241b1e241b272c1f1e241b1e241b272c1f1e241b24261c
+1e241b1e241b1c1e191e241b24261c24261c1e241b1e241b1e241b1e241b1e241b
+24261c24261c1e241b24261c1e241b24261c24261c1e241b1e241b24261c1e241b
+24261c1e241b24261c272c1f1e241b24261c1e241b272c1f1e241b1e241b1e241b
+1e241b272c1f272c1f24261c272c1f1e241b272c1f1e241b1e241b272c1f272c1f
+1e241b272c1f24261c1e241b272c1f24261c272c1f24261c1e241b272c1f272c1f
+2b3322272c1f272c1f272c1f272c1f1e241b2b3322272c1f262e35272c1f272c1f
+272c1f272c1f272c1f1e241b272c1f272c1f1e241b272c1f1e241b1e241b272c1f
+1e241b272c1f272c1f1e241b272c1f1e241b1e241b272c1f272c1f272c1f272c1f
+272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f
+272c1f272c1f272c1f272c1f1e241b272c1f24261c272c1f24261c272c1f272c1f
+272c1f1e241b24261c24261c24261c1e241b24261c272c1f1e241b272c1f24261c
+1e241b24261c1e241b272c1f272c1f272c1f272c1f24261c272c1f272c1f24261c
+272c1f24261c1e241b1e241b272c1f272c1f24261c24261c24261c24261c272c1f
+24261c24261c272c1f1e241b272c1f272c1f24261c272c1f272c1f24261c24261c
+24261c1e241b272c1f272c1f272c1f24261c342d1f272c1f24261c342d1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322
+272c1f2b3322342d1f2b3322262e352b3322262e35272c1f262e35272c1f262e35
+272c1f24261c272c1f342d1f262e35272c1f272c1f272c1f272c1f272c1f342d1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f24261c272c1f272c1f
+3c50724561854561853c50724a6a8d41678a45618530444d4561853c5072456185
+41678a3c5072344e6f344e6f373e43373e432e3c44344e6f30444d30444d2e3c44
+262e352a34382e3c443336422e3c44262e352a343830444d30444d2e3c442a3438
+2e3c4430444d262e352e3c44344e6f344e6f3c50723336423336422e3c443d5f7a
+333642344e6f41678a2e3c442e3c442e3c442e3c4430444d2a3438262e352e3c44
+262e35272c1f272c1f262e351e241b2e3c442e3c44262e35262e35262e352e3c44
+2a34382b3322262e35272c1f262e352a3438272c1f1e241b272c1f272c1f1e241b
+1e241b272c1f1e241b272c1f1e241b272c1f1e241b272c1f1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b272c1f1e241b1e241b24261c1e241b1e241b1e241b
+1e241b24261c1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b24261c1e241b24261c1e241b1e241b1e241b
+24261c1e241b1e241b1c1e1924261c1c1e1924261c1c1e191c1e191e241b272c1f
+1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1c1e191c1e191c1e19
+1e241b24261c1e241b1e241b1e241b1e241b1c1e191c1e191c1e191e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b
+1e241b1e241b1c1e191e241b272c1f1e241b1e241b1e241b24261c1e241b1e241b
+272c1f1e241b1e241b1e241b1e241b262e35272c1f272c1f1e241b2b3322272c1f
+1e241b1e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f2b33221e241b
+1e241b272c1f1e241b1e241b272c1f1e241b1e241b1e241b24261c24261c1c1e19
+24261c1e241b24261c1e241b1e241b24261c24261c1e241b1e241b1e241b24261c
+1e241b24261c1e241b1e241b1e241b1e241b272c1f272c1f272c1f1e241b24261c
+1e241b1e241b1e241b24261c24261c272c1f1e241b1c1e191e241b24261c1e241b
+1e241b1e241b24261c24261c1e241b1e241b1e241b1e241b1e241b24261c1e241b
+1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b272c1f272c1f1e241b
+272c1f1e241b1e241b24261c1e241b1e241b1e241b272c1f1e241b1e241b272c1f
+1e241b24261c1e241b24261c1e241b1e241b24261c1e241b1e241b272c1f1e241b
+272c1f2f3c221e241b272c1f272c1f272c1f1e241b2f3c22272c1f272c1f272c1f
+272c1f1e241b272c1f272c1f1e241b1e241b272c1f272c1f272c1f1e241b272c1f
+272c1f1e241b1e241b272c1f272c1f1e241b1e241b1e241b272c1f1e241b272c1f
+272c1f2b3322272c1f272c1f272c1f1e241b272c1f1e241b272c1f272c1f1e241b
+272c1f1e241b272c1f1e241b272c1f24261c272c1f272c1f272c1f24261c24261c
+24261c272c1f24261c24261c24261c24261c272c1f24261c24261c24261c272c1f
+24261c24261c24261c24261c24261c1e241b24261c24261c24261c24261c24261c
+24261c272c1f1e241b24261c1e241b272c1f1e241b272c1f24261c272c1f24261c
+24261c272c1f24261c24261c24261c24261c24261c24261c24261c272c1f272c1f
+272c1f1e241b272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f24261c
+24261c24261c272c1f272c1f272c1f272c1f2b3322272c1f272c1f272c1f272c1f
+262e35272c1f2b3322272c1f342d1f272c1f342d1f272c1f272c1f342d1f272c1f
+272c1f342d1f262e35272c1f342d1f272c1f24261c272c1f272c1f262e352b3322
+342d1f24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f24261c272c1f
+344e6f3c50723c50723c507245618541678a3c586f2e3c4441678a3c50723c5072
+3c50723c586f344e6f2e3c44373e432a3438344e6f30444d2e3c4430444d262e35
+1e241b2e3c4430444d2a3438262e35262e352a3438344e6f2e3c44262e352e3c44
+2e3c44262e352a34382a343830444d344e6f30444d262e352a3438344e6f3c586f
+2a34383c586f41678a2a34382a34382e3c442a3438262e35262e352a34382e3c44
+262e351e241b262e35262e35262e3530444d262e351e241b262e35262e35262e35
+262e352b3322272c1f1e241b272c1f2b3322272c1f272c1f1e241b1e241b272c1f
+1e241b1e241b272c1f1e241b24261c272c1f1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b24261c24261c1e241b1e241b24261c1e241b1c1e19
+24261c1e241b24261c1e241b1e241b1e241b1e241b1e241b24261c1e241b24261c
+24261c1e241b272c1f1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b
+1e241b1e241b24261c1c1e191c1e191e241b24261c1c1e191e241b1e241b1e241b
+262e351e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b1e241b1c1e19
+1c1e191e241b24261c1c1e191e241b1e241b1e241b1e241b1e241b1e241b272c1f
+1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b
+1e241b272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b24261c1e241b
+272c1f24261c1e241b1e241b1e241b1e241b272c1f1e241b1e241b2b33221e241b
+272c1f1e241b2b33221e241b272c1f1e241b2b3322272c1f272c1f1e241b272c1f
+1e241b1e241b1e241b1e241b24261c1e241b1e241b1e241b272c1f1e241b1c1e19
+24261c24261c24261c1e241b1c1e191e241b24261c1e241b1e241b1e241b24261c
+24261c1c1e191e241b1e241b1e241b1e241b272c1f272c1f1e241b1e241b1e241b
+1e241b272c1f24261c24261c24261c24261c1e241b1e241b24261c1e241b1e241b
+24261c1e241b24261c1c1e1924261c1c1e1924261c24261c24261c24261c1e241b
+24261c24261c1e241b24261c1e241b1e241b1e241b272c1f1e241b272c1f1e241b
+272c1f24261c24261c24261c1e241b24261c1e241b1e241b272c1f1e241b1e241b
+1e241b24261c272c1f24261c1e241b272c1f272c1f24261c1e241b272c1f1e241b
+272c1f272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+2b33221e241b272c1f272c1f272c1f1e241b272c1f1e241b272c1f1e241b1e241b
+272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f272c1f1e241b
+1e241b272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f272c1f
+272c1f272c1f1e241b272c1f272c1f1e241b272c1f24261c272c1f1e241b272c1f
+24261c272c1f24261c272c1f272c1f1e241b24261c24261c24261c24261c24261c
+272c1f24261c24261c24261c272c1f24261c272c1f24261c272c1f24261c1e241b
+272c1f272c1f1e241b272c1f24261c24261c24261c272c1f24261c24261c24261c
+24261c272c1f24261c1e241b24261c272c1f272c1f24261c272c1f1e241b24261c
+24261c24261c272c1f272c1f24261c24261c24261c272c1f24261c272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e352b3322272c1f
+272c1f272c1f262e352b33222b3322262e35272c1f272c1f24261c262e35342d1f
+262e35342d1f272c1f262e35272c1f342d1f24261c272c1f342d1f272c1f2b3322
+272c1f24261c272c1f272c1f342d1f272c1f24261c272c1f272c1f24261c272c1f
+3c50723c5072344e6f3c50723c586f4561853c586f2e3c4441678a3c586f3c5072
+3c50723c50723c50722a34382e3c442a3438344e6f30444d2a34382a34381e241b
+262e3530444d2e3c442a34382a3438262e352a3438344e6f2a3438262e35262e35
+2a34382e3c44262e35262e353336422e3c442e3c442a3438262e35344e6f344e6f
+262e353c586f3c586f262e352e3c442e3c44262e352a3438272c1f262e35262e35
+2a34381e241b262e352e3c441e241b30444d262e35262e351e241b1e241b2a3438
+262e351e241b272c1f262e352b3322262e351e241b1e241b272c1f272c1f272c1f
+262e35272c1f272c1f1e241b1e241b272c1f1e241b262e351e241b1e241b272c1f
+1e241b1e241b1e241b24261c24261c24261c24261c24261c24261c24261c1e241b
+1e241b24261c1e241b1e241b1e241b1c1e1924261c1c1e191c1e191c1e191c1e19
+24261c24261c1e241b272c1f1e241b1e241b24261c1c1e191e241b1c1e191c1e19
+24261c1c1e191c1e1924261c1c1e191c1e1924261c24261c1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b272c1f1e241b1e241b1c1e191c1e191e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b272c1f24261c24261c24261c1e241b1e241b
+272c1f1e241b1e241b1e241b1e241b272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f1e241b1e241b1e241b1e241b272c1f272c1f1e241b272c1f1e241b
+272c1f1e241b1e241b272c1f1e241b1e241b1e241b24261c24261c24261c24261c
+1c1e191e241b24261c1e241b24261c1e241b1e241b272c1f1e241b1e241b1e241b
+24261c24261c1e241b1e241b1e241b1e241b272c1f272c1f1e241b24261c1e241b
+272c1f1e241b24261c1e241b272c1f24261c1e241b24261c24261c24261c24261c
+24261c24261c1c1e1924261c24261c24261c1e241b1e241b1e241b272c1f1e241b
+1e241b272c1f1e241b2b3322272c1f1e241b272c1f272c1f1e241b272c1f1e241b
+1e241b24261c1e241b272c1f24261c24261c1e241b1e241b1e241b2b33221e241b
+24261c1e241b1e241b1e241b272c1f1e241b24261c24261c1e241b272c1f1e241b
+272c1f272c1f272c1f272c1f2b3322272c1f2b3322272c1f272c1f1e241b272c1f
+272c1f1e241b1e241b272c1f1e241b1e241b272c1f272c1f1e241b272c1f272c1f
+272c1f1e241b272c1f272c1f1e241b2b33221e241b1e241b272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f1e241b272c1f272c1f
+272c1f24261c272c1f24261c272c1f272c1f272c1f272c1f24261c24261c1e241b
+272c1f24261c272c1f24261c1e241b272c1f1e241b272c1f24261c24261c24261c
+24261c272c1f24261c24261c24261c272c1f272c1f1e241b272c1f24261c272c1f
+24261c272c1f272c1f24261c1e241b272c1f1e241b24261c272c1f272c1f24261c
+272c1f24261c1e241b272c1f24261c24261c24261c24261c272c1f24261c24261c
+272c1f272c1f272c1f24261c272c1f24261c24261c24261c272c1f272c1f24261c
+272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f342d1f342d1f272c1f262e35342d1f342d1f272c1f262e35
+272c1f262e35272c1f342d1f272c1f342d1f272c1f24261c272c1f2b3322342d1f
+272c1f342d1f272c1f272c1f272c1f272c1f272c1f24261c272c1f24261c272c1f
+3c5072344e6f3c5072456185344e6f4561853c5072344e6f4561853d5f7a344e6f
+3c50723c5072344e6f30444d2e3c442e3c4430444d2a3438262e35262e35262e35
+262e3530444d262e352e3c442a3438262e352a343830444d262e35262e352a3438
+262e352e3c44262e35262e352a34383944462a3438262e35262e352e3c44333642
+2a343845618530444d262e352e3c442a3438262e3524261c262e3530444d262e35
+272c1f1e241b2a3438262e351e241b2a34381e241b262e351e241b262e35272c1f
+272c1f272c1f262e35272c1f272c1f1e241b1e241b262e351e241b2b33221e241b
+272c1f1e241b262e351e241b272c1f1e241b1e241b272c1f1e241b1e241b1e241b
+1e241b1e241b1e241b24261c24261c1e241b24261c1c1e1924261c1e241b24261c
+24261c1e241b24261c1e241b1e241b24261c24261c24261c24261c24261c1c1e19
+24261c24261c24261c1e241b1e241b1e241b24261c1e241b24261c1e241b1e241b
+1e241b1c1e191c1e1924261c1c1e1924261c24261c1e241b1e241b24261c1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e191c1e19
+1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b24261c24261c
+272c1f1e241b272c1f1e241b1e241b1e241b1e241b1e241b2b33221e241b272c1f
+1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b
+24261c1e241b1e241b1e241b1e241b1e241b272c1f1e241b24261c272c1f24261c
+24261c272c1f1e241b24261c2b3322272c1f272c1f2b3322272c1f1e241b272c1f
+1e241b1e241b272c1f1e241b24261c1e241b1e241b272c1f272c1f1c1e191e241b
+24261c24261c24261c1e241b24261c1e241b1e241b24261c1e241b1e241b1e241b
+24261c1e241b24261c1e241b272c1f1e241b272c1f1e241b272c1f1e241b24261c
+24261c24261c24261c1e241b272c1f1e241b1e241b24261c1e241b1e241b24261c
+24261c24261c24261c24261c1e241b272c1f1e241b1e241b1e241b24261c24261c
+1e241b1e241b272c1f2b3322272c1f1e241b272c1f272c1f1e241b1e241b272c1f
+1e241b272c1f24261c1e241b272c1f24261c24261c1e241b1e241b1e241b272c1f
+272c1f24261c272c1f24261c1e241b272c1f24261c1e241b24261c24261c272c1f
+1e241b272c1f272c1f2f3c22272c1f2b33222b3322272c1f272c1f272c1f272c1f
+1e241b272c1f1e241b1e241b272c1f272c1f1e241b272c1f272c1f1e241b272c1f
+272c1f272c1f272c1f272c1f1e241b24261c272c1f272c1f1e241b272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b2b3322272c1f272c1f
+272c1f272c1f1e241b24261c24261c272c1f24261c272c1f272c1f24261c24261c
+272c1f24261c24261c272c1f1e241b272c1f272c1f272c1f272c1f272c1f24261c
+24261c24261c24261c24261c24261c24261c272c1f1e241b24261c24261c24261c
+272c1f1e241b272c1f24261c24261c24261c24261c24261c24261c24261c24261c
+24261c272c1f272c1f272c1f272c1f24261c1e241b24261c1e241b272c1f24261c
+24261c272c1f272c1f24261c272c1f24261c24261c24261c24261c272c1f272c1f
+272c1f272c1f272c1f24261c272c1f272c1f342d1f272c1f272c1f272c1f342d1f
+272c1f272c1f262e352b3322272c1f333522272c1f2b3322262e35342d1f262e35
+342d1f272c1f272c1f272c1f262e35272c1f333522262e35272c1f262e35342d1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f
+344e6f33364230444d3c586f344e6f3c586f344e6f30444d456185344e6f344e6f
+344e6f3944463c50723c586f30444d2e3c4430444d2a3438262e35262e35262e35
+2a34382a3438262e35333642262e3524261c262e35262e35262e351e241b2e3c44
+262e352e3c441e241b2a34382e3c4439444633364224261c262e352e3c44262e35
+30444d3c586f2e3c442e3c442a3438262e35272c1f272c1f272c1f262e352a3438
+1e241b272c1f262e351e241b1e241b2a34382a34382a34381e241b262e351e241b
+262e35272c1f1e241b272c1f262e351e241b272c1f262e351e241b272c1f1e241b
+272c1f1e241b272c1f1e241b24261c272c1f272c1f1e241b1e241b1e241b1e241b
+24261c1e241b1e241b1e241b1e241b24261c24261c24261c1c1e1924261c1e241b
+24261c1e241b1e241b1e241b24261c1e241b24261c1c1e191e241b24261c1e241b
+24261c24261c24261c1e241b1e241b1e241b272c1f1e241b1e241b1c1e191e241b
+24261c24261c1c1e1924261c1e241b24261c1c1e191e241b1c1e191e241b1e241b
+1e241b1e241b1e241b1e241b1e241b272c1f1e241b1c1e191e241b1e241b1e241b
+1e241b24261c1e241b1e241b24261c1e241b1e241b1e241b24261c1e241b1e241b
+1e241b1e241b272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b272c1f24261c
+1e241b272c1f1e241b1e241b1e241b1e241b272c1f24261c272c1f272c1f2b3322
+1e241b272c1f1e241b272c1f2b3322272c1f272c1f1e241b2b3322272c1f272c1f
+1e241b272c1f272c1f2b332224261c1e241b1e241b1e241b24261c24261c24261c
+1c1e191e241b24261c24261c24261c24261c24261c24261c272c1f1e241b1e241b
+24261c24261c24261c1e241b272c1f272c1f272c1f1e241b272c1f1e241b272c1f
+272c1f24261c272c1f24261c24261c24261c1e241b1e241b24261c24261c24261c
+24261c24261c24261c272c1f1e241b1e241b1e241b24261c1e241b272c1f272c1f
+1e241b1e241b272c1f272c1f272c1f272c1f1e241b272c1f1e241b1e241b1e241b
+24261c24261c272c1f24261c1e241b272c1f1e241b272c1f1e241b272c1f24261c
+1e241b1e241b272c1f272c1f272c1f272c1f1e241b272c1f1e241b1e241b272c1f
+272c1f272c1f272c1f272c1f2b3322272c1f272c1f2b3322272c1f272c1f2b3322
+1e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f
+272c1f1e241b272c1f1e241b2b33221e241b272c1f1e241b272c1f272c1f272c1f
+272c1f272c1f272c1f2b3322272c1f272c1f2b3322272c1f272c1f272c1f1e241b
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f1e241b
+2b332224261c272c1f272c1f272c1f1e241b24261c272c1f24261c272c1f272c1f
+24261c24261c24261c24261c1e241b272c1f272c1f272c1f272c1f272c1f272c1f
+24261c272c1f272c1f272c1f24261c24261c24261c24261c24261c24261c24261c
+272c1f1e241b272c1f24261c24261c272c1f272c1f24261c24261c24261c272c1f
+272c1f272c1f24261c24261c24261c272c1f272c1f24261c272c1f24261c24261c
+24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e35
+262e35342d1f272c1f262e35342d1f272c1f2b33222b3322342d1f2b3322342d1f
+262e35342d1f2b3322342d1f2b33222b3322262e35262e35342d1f272c1f262e35
+272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f
+30444d333642373e433c586f373e433c50722e3c44344e6f4561853c586f344e6f
+2e3c443336422e3c443c586f2e3c4430444d344e6f262e35262e35272c1f262e35
+2e3c442a3438262e35262e35262e35262e35333642262e352a3438262e352e3c44
+262e352a3438262e35262e352e3c442a3438262e35262e35262e35262e35262e35
+2e3c442e3c44262e3530444d2e3c441e241b262e351e241b272c1f262e352e3c44
+272c1f1e241b2b33221e241b262e35304321262e352a34382a34382f3c22272c1f
+1e241b262e35272c1f272c1f1e241b272c1f1e241b272c1f262e35262e351e241b
+262e35272c1f272c1f1e241b2b33221e241b1e241b1e241b1e241b1e241b1e241b
+1e241b1e241b1e241b1c1e1924261c1e241b262e3524261c1c1e191c1e1924261c
+24261c24261c1e241b1e241b24261c24261c24261c1e241b1e241b24261c24261c
+24261c24261c1e241b1e241b1e241b1e241b24261c262e351e241b1e241b1e241b
+1c1e1924261c24261c1c1e1924261c272c1f24261c24261c1e241b24261c272c1f
+1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b
+1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b
+1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b
+24261c1e241b1e241b2b3322272c1f1e241b1e241b24261c1e241b24261c24261c
+1e241b272c1f1e241b1e241b1e241b1e241b272c1f1e241b2b3322272c1f1e241b
+272c1f272c1f1e241b272c1f2b3322272c1f1e241b2b3322272c1f272c1f272c1f
+272c1f2b33221e241b272c1f272c1f272c1f24261c272c1f272c1f24261c24261c
+24261c1e241b24261c24261c24261c24261c272c1f1e241b1e241b1e241b24261c
+24261c272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b272c1f1e241b
+1e241b272c1f272c1f24261c272c1f272c1f24261c24261c24261c24261c272c1f
+24261c24261c24261c24261c24261c1e241b24261c1e241b272c1f1e241b272c1f
+1e241b2b3322272c1f1e241b1e241b1e241b272c1f272c1f272c1f272c1f1e241b
+2b33221e241b272c1f1e241b24261c272c1f24261c272c1f272c1f1e241b272c1f
+1e241b24261c24261c24261c272c1f272c1f24261c1e241b24261c272c1f272c1f
+1e241b272c1f2b3322272c1f2f3c222b3322272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f1e241b272c1f272c1f2b3322272c1f1e241b272c1f1e241b272c1f
+1e241b272c1f272c1f1e241b1e241b272c1f1e241b272c1f1e241b272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b33222b3322272c1f
+272c1f24261c272c1f24261c24261c24261c272c1f2b332224261c272c1f272c1f
+272c1f24261c272c1f1e241b272c1f272c1f24261c272c1f272c1f24261c24261c
+24261c272c1f272c1f272c1f24261c24261c24261c272c1f272c1f1e241b272c1f
+272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f24261c24261c24261c
+272c1f272c1f272c1f272c1f24261c272c1f1e241b272c1f24261c24261c1e241b
+24261c272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e35272c1f272c1f
+272c1f272c1f272c1f342d1f272c1f272c1f2a3438333522262e352b3322272c1f
+2b33222a3438262e352b3322272c1f342d1f342d1f262e35342d1f262e35272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+373e43333642344e6f3c586f3c507230444d2a3438344e6f3c586f3c507230444d
+3336422e3c442a3438344e6f2a34382e3c4430444d24261c2b3322272c1f262e35
+30444d262e35262e35262e35272c1f262e35262e35272c1f262e35262e352a3438
+2a3438262e35262e352a34382e3c44262e35262e3524261c262e35262e35262e35
+2a3438262e352e3c442e3c44262e35262e351e241b272c1f272c1f272c1f262e35
+272c1f272c1f262e351e241b262e352a34381e241b272c1f262e352a3438272c1f
+262e35272c1f262e351e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f
+1e241b272c1f272c1f1e241b272c1f1e241b272c1f1e241b1e241b24261c1e241b
+24261c1c1e1924261c24261c1e241b24261c24261c24261c24261c1c1e1924261c
+24261c1e241b272c1f24261c1e241b24261c24261c1c1e1924261c24261c24261c
+24261c272c1f1e241b1e241b24261c24261c1e241b1e241b1e241b24261c24261c
+24261c1c1e1924261c24261c24261c1c1e1924261c1e241b1e241b1e241b1e241b
+272c1f1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b
+272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b272c1f1e241b272c1f
+1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b24261c
+1e241b1e241b1e241b1e241b272c1f24261c24261c272c1f1e241b272c1f1e241b
+1e241b272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f24261c
+1e241b272c1f272c1f1e241b2b3322272c1f272c1f272c1f272c1f2b3322272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f
+24261c272c1f24261c24261c272c1f1e241b24261c1e241b272c1f272c1f1e241b
+272c1f2b33221e241b272c1f272c1f272c1f2b33221e241b24261c272c1f24261c
+24261c272c1f24261c1e241b272c1f272c1f24261c1e241b24261c24261c24261c
+24261c272c1f24261c272c1f1e241b1e241b272c1f272c1f1e241b272c1f1e241b
+272c1f1e241b272c1f272c1f272c1f1e241b1e241b272c1f1e241b272c1f272c1f
+24261c24261c24261c272c1f1e241b272c1f272c1f1e241b1e241b272c1f272c1f
+1e241b272c1f272c1f2b332224261c272c1f24261c272c1f1e241b1e241b272c1f
+272c1f2b3322272c1f272c1f272c1f262e352b33222b3322272c1f272c1f2b3322
+272c1f272c1f2b33221e241b272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f2b3322272c1f272c1f1e241b272c1f2b33221e241b272c1f272c1f
+272c1f2b3322272c1f272c1f272c1f272c1f2b33221e241b272c1f2b3322272c1f
+2b3322272c1f1e241b2b33222b3322272c1f2b3322272c1f272c1f272c1f24261c
+272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f
+24261c24261c24261c24261c272c1f24261c272c1f272c1f24261c272c1f24261c
+272c1f272c1f24261c24261c272c1f24261c24261c24261c272c1f24261c24261c
+24261c24261c24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f24261c24261c24261c24261c272c1f272c1f262e35
+272c1f272c1f272c1f272c1f262e35342d1f262e3524261c342d1f342d1f272c1f
+342d1f342d1f262e35333522272c1f342d1f272c1f262e35333522272c1f2b3322
+2b3322272c1f333522262e353335222b33222b33222b3322272c1f2b3322342d1f
+2b3322342d1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+30444d262e352e3c443c586f3c507230444d2a3438344e6f3c5072344e6f2e3c44
+2a343830444d262e3530444d262e352e3c442e3c44262e35262e35272c1f262e35
+30444d2a3438272c1f262e35262e35272c1f262e35272c1f262e35262e352a3438
+262e35262e352a3438262e352a34382a34382a3438262e35262e35262e352a3438
+262e352a34382a34382a3438262e35262e35272c1f1e241b272c1f272c1f2b3322
+262e35272c1f272c1f1e241b2a34382e3c441e241b272c1f262e35272c1f1e241b
+262e352b3322272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f
+272c1f1e241b1e241b272c1f272c1f1e241b262e351e241b24261c1e241b24261c
+262e351c1e1924261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c1c1e1924261c24261c24261c24261c24261c24261c1c1e1924261c24261c
+24261c24261c24261c24261c1e241b1e241b24261c1e241b24261c24261c24261c
+24261c24261c24261c1c1e1924261c24261c1c1e1924261c24261c1e241b1e241b
+1e241b24261c24261c1e241b272c1f272c1f1e241b1e241b272c1f272c1f1e241b
+24261c24261c24261c24261c272c1f24261c24261c1e241b24261c24261c1e241b
+272c1f1e241b272c1f1e241b1e241b1e241b272c1f1e241b1e241b24261c272c1f
+272c1f1e241b1e241b272c1f1e241b272c1f1e241b272c1f1e241b24261c24261c
+1e241b1e241b1e241b1e241b272c1f1e241b24261c2b3322272c1f272c1f24261c
+272c1f2b3322272c1f272c1f2f3c222b33222b3322272c1f272c1f272c1f272c1f
+272c1f1e241b2b3322272c1f2b3322272c1f272c1f24261c272c1f1e241b272c1f
+272c1f272c1f272c1f24261c272c1f24261c2b33222b33221e241b1e241b272c1f
+1e241b272c1f272c1f1e241b2b33221e241b272c1f272c1f272c1f272c1f2b3322
+1e241b1e241b272c1f24261c272c1f24261c24261c272c1f24261c272c1f24261c
+24261c24261c24261c272c1f272c1f272c1f24261c24261c2b332224261c2b3322
+272c1f272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f272c1f
+272c1f272c1f272c1f272c1f24261c24261c24261c272c1f24261c272c1f272c1f
+272c1f272c1f1e241b2b332224261c272c1f1e241b272c1f272c1f272c1f272c1f
+1e241b2b3322272c1f272c1f2b33222f3c22272c1f2b33222b3322272c1f272c1f
+272c1f272c1f272c1f2b33222f3c222f3c22272c1f1e241b262e35272c1f272c1f
+272c1f1e241b2b3322272c1f272c1f272c1f272c1f1e241b2b3322272c1f272c1f
+2b3322272c1f2b33222b3322262e35272c1f272c1f262e352b33222b3322272c1f
+2b33222b33222b33222b33222b3322272c1f272c1f2b3322272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f2b3322
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f
+272c1f272c1f2b3322333522272c1f272c1f272c1f272c1f272c1f272c1f2b3322
+272c1f2b3322342d1f272c1f342d1f342d1f262e35272c1f333642272c1f342d1f
+262e35272c1f262e35272c1f2b33222b33222a34382b3322262e352a34382b3322
+2a34382b3322262e353335222a34382b33222b3322262e352b33223336422b3322
+2e3c442b33222b33222a34383335222e3c442b33223335222b33222e3c442f3c22
+2a34382f3c222a34383335222b3322342d1f2b3322272c1f2b33222b33222b3322
+2e3c442e3c44344e6f3c50723c50722e3c44333642344e6f3c507230444d333642
+373e433336422a34382a34382e3c44373e432e3c44342d1f2b3322272c1f272c1f
+2e3c44333522262e35333522272c1f272c1f262e35272c1f262e35262e352a3438
+262e35262e352a3438272c1f262e35262e3530444d2a3438262e35262e352a3438
+2a3438262e35262e352e3c442e3c441e241b272c1f272c1f262e35262e352b3322
+262e35272c1f262e35272c1f2b33222e3c44262e351e241b262e35262e35272c1f
+262e35262e351e241b272c1f2b3322262e35272c1f2b3322272c1f272c1f1e241b
+272c1f262e35272c1f2a3438272c1f262e3524261c262e3524261c262e3524261c
+24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c
+24261c24261c24261c333642272c1f24261c24261c24261c24261c272c1f24261c
+342d1f262e3524261c24261c262e35272c1f262e3524261c24261c24261c24261c
+24261c24261c24261c262e3524261c24261c24261c24261c24261c24261c24261c
+262e3524261c272c1f262e351e241b1e241b272c1f272c1f24261c272c1f272c1f
+272c1f24261c1e241b272c1f272c1f272c1f272c1f24261c272c1f2b3322272c1f
+2b3322272c1f262e352b33221e241b1e241b272c1f272c1f1e241b272c1f272c1f
+1e241b2b3322272c1f272c1f272c1f24261c272c1f272c1f272c1f1e241b2b3322
+272c1f2b33222b33221e241b272c1f272c1f2b33222b33222b33222b33222b3322
+2b3322272c1f272c1f272c1f2f3c222b3322272c1f2b33222b33222b33222b3322
+272c1f272c1f262e352f3c222b33222b33222b3322272c1f2b33222b3322262e35
+2b33222b3322272c1f272c1f272c1f2b33222b33222b33222b3322272c1f2b3322
+2b33222b33222b3322262e352b3322262e352f3c222b33222b3322272c1f2b3322
+2b33222b33222f3c222b33222b33222b3322272c1f272c1f272c1f272c1f342d1f
+272c1f272c1f2b33222f3c22272c1f272c1f2b33222b33222b33222f3c22262e35
+2b33222b33222b3322272c1f2b3322272c1f2b33222b33222b33222b33222b3322
+2b3322272c1f2b3322272c1f2b33222b33222b33222b33222b33222b33222b3322
+2f3c222b33222b33222b33222b33222b33222b33222b33222b3322272c1f2f3c22
+2b33222f3c222f3c222b33222f3c222f3c222f3c222f3c223043212b33222f3c22
+2f3c222b33222a34382f3c222a34382a34382f3c222b33222b33222b33222f3c22
+2f3c222b33222f3c222f3c222f3c222f3c222f3c222b33222f3c222f3c222f3c22
+2f3c222a34382f3c222f3c222f3c222f3c223043212f3c222f3c222f3c222f3c22
+2f3c222b33222e3c443043212f3c222f3c222f3c222e3c442f3c222a34382f3c22
+2e3c44333522373e432b33222f3c222f3c22373e433335223335223a44232f3c22
+2f3c222e3c442f3c222f3c222e3c443043212f3c222e3c44383c232e3c44373e43
+383c232f3c22373e432f3c222e3c442f3c22383c23373e432f3c22373e432f3c22
+373e43383c23373e433a4423373e433043213944463043213043212f3c22304321
+30432130444d354c313a442330444d3a44233944463043213a442330444d304321
+354c31354c313a44233944463944463944463f4e323a44233f4e32354c31354c31
+354c313a44233944463f4e323f4e32354c313f4e32394446354c313d573b3f4e32
+3944463f4e323d4f563f4e324e50433f4e323f4e324e50433d4f563f4e324e5043
+4658644c502646586447583249606546586456583849603254605f49603254605f
+2e3c4430444d30444d373e4339444639444630444d3c50723c50723944462e3c44
+344d592a34382e3c442e3c4430444d373e432e3c443336422e3c44333522333642
+2e3c442e3c442b33222e3c443336422b33222e3c442b33222e3c442b33222f3c22
+2b33222a34382f3c222a34382e3c442b33223944462a34382a34382a34382e3c44
+30444d2f3c222a34383336422f3c222a34382a34382b33222a34382f3c222e3c44
+2f3c222e3c442f3c222f3c222f3c222f3c222f3c222a34382f3c222b33222f3c22
+2f3c222e3c442f3c222a34383043212a34382b33222a3438373e432a34382b3322
+2a3438383c232e3c442f3c222b33222b3322262e352b3322373e43342d1f262e35
+2a34383336422a34382e3c442a34382e3c442a34383336422a3438262e35333642
+2a34382a3438333522333642333522333642373e433335223336422e3c442a3438
+373e43333642342d1f3336423335222a34382a34382e3c442e3c442a3438333642
+3336423336423335223336423335222e3c443336422e3c44333642333642333642
+3335223336422a34382e3c442f3c222e3c442a3438373e43373e432f3c22373e43
+2f3c222f3c22373e432f3c22373e432f3c223043212e3c443043212e3c442f3c22
+3043213043213043212f3c22304321373e433a442330432139444630432130444d
+30432130432139444630432130444d3a442330444d3944463a4423304321304321
+304321394446304321304321354c313944463f4e323d4f564c5026354c313d4f56
+354c31354c31354c31354c313d573b354c31354c313d573b354c31354c31354c31
+3d573b354c31354c313d573b3f4e323d4f563f4e32354c313d4f563f4e323f4e32
+3d4f564758323d4f563f4e323f4e324658644960324e50433d573b3d573b3d573b
+3d573b4960654758323d573b4960654758324960324960654b6933496065475832
+4960324658644b69334b686556603a4b693354605f4b686556603a4b686556603a
+576a62576a6256603a576a625474434b6865576a624b69334b6865576b33547443
+576a62576a62547443666c5e547443637471627444547443576a62547443637471
+627444666c5e637471627444637471627444637471627444667c74657c44597c75
+667c74657c44637471757c71667c74657c44667c746b86736b8673757c71778772
+667c747787726b86737787726b86737787727787726b8673709081709081709081
+7d90827090817d90827d90827d90827787727e98827d90827d90827d90827d9082
+7e98827d90827d90827e98828b988281a0898b988281a0897e98828b988281a089
+81a0897e988281a08981a08981a08981a08981a0898ea08992a88d8ea08992a8b6
+92a88d9ea08a9ea88e92a88d92a8b692a88d9ea88e92a8b69ea88e9ea88e9ea88e
+a0b09fa0b09fafb09e9ea88ea0b09fa0b09fa0b09fa3b7a4afb09eb0b8a3aeb0bd
+afb09eafb09ea3b7a4b0b8a3afb9bcb0b8a3afb9bcb0b8a3afb9bcb0b8a3afb9bc
+afb9bcafc0abb8c1afb8c1afb8c1afb8c3c6b8c1afb8c1afb8c3c6b8c1afb8c1af
+c0cbb8b8c3c6c0cbb8c0cbb8c0cbb8c0cbb8c0cbb8bacdd9cccdccbacdd9cccdcc
+c0cbb8cccdcccdd5decccdccd4dcd0cdd5decccdccd4dcd0cdd5decdd5decccdcc
+cdd5decdd5ded4dcd0d4dcd0d4dcd0d4dcd0d2dee6d4dcd0d4dcd0dcd6d6d4dcd0
+dfe1e6dfe1e6d4dcd0dfe1e6dfe1e6d2dee6dfe1e6d4dcd0dfe1e6e0e6e8dfe1e6
+dfe1e6e0dfc6e0e6e8e0e6e8ebeae7e0e6e8dfe1e6e0e6e8ebeae7f0f1e3ebeae7
+f0f1e3f0f1e3f0f1e3ebeae7f0f1e3f0f1e3f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9
+757c71757c71757c71757c71757c71857d67757c7184888775889b848887757c71
+8488877787727787728488877d908284888777877284888777877284888787886d
+8488878b90808b908087886d8b90808b90808488878b90808b90808b919f778772
+8b90808b98828b919f8b90808b919f8b98829da1ab8b98828b98828b98828ea089
+9ea08a8a99ab8ea0898a99ab8ea0899ea08a9da1ab8ea0899ea08a8ea0899ea08a
+9da1ab9ea88e9ea9b48ea0899da1ab9da1ab9da1ab92a88d92a88d9ea9b49ea88e
+92a8b69ea88e92a88d94afa19ea88ea0b09fa0b09fa0b09fa0b09fa0b09fa0b09f
+a0b09f9ea88eafb09e9ea9b4aba9a6a0b09fafb09ea0b09fafb09ea0b09fb0b8a3
+afb09ea0b09fafb09eb0b8a3b0b8a3afb09eb0b8a3afb09eafb09eb0b8a3afb09e
+afb09eafb09eb0b8a3b0b8a3afb09eb0b8a3b0b8a3afb9bcb0b8a3b8c1afb0b8a3
+b8c1afb8c1afb8c1afb8c1afb8c1afc1c2aec1c2aec1c2aec1c2aecfc6b8b8c1af
+c1c2aec1c2aec1c2aeb8c1afb8c1afc1c2aec1c2aec1c2aec1c2aec1c2aec1c4c7
+c1c4c7c1c4c7cfc6b8c1c4c7c0cbb8cfc6b8cccdccc0cbb8cccdcccccdccc0cbb8
+cccdcccccdcccccdccc0cbb8c1d4e2cccdcccccdcccdd5dec5dae4c0cbb8cdd5de
+cdd5decdd5decdd5dec5dae4cccdcccdd5decdd5ded4dcd0c5dae4d4dcd0d4dcd0
+d4dcd0d2dee6d4dcd0cdd5ded4dcd0d4dcd0d4dcd0d9e6ead4dcd0d2dee6d4dcd0
+d4dcd0d9e6ead9e6eae0e6e8d9e6eae0dfc6e0e6e8e0e6e8e0e6e8ebeae7f0f1e3
+e0e6e8e0e6e8ebeae7ebeae7f0f1e3e0e6e8f0f1e3d9e6eaf0f1e3f0f1e3f0f1e3
+f0f1e3ebeae7ebeae7ebeae7f0f1e3f0f1e3ebeae7f0f1e3ebeae7f0f1e3f0f1e3
+f0f1e3f0f1e3f0f1e3f5f7e9f0f1e3f0f1e3f0f1e3f5f7e9f0f1e3f0f1e3f5f7e9
+f5f7e9f0f1e3f5f7e9f5f7e9f0f1e3f5f7e9f5f7e9f5f7e9f5f7e9f0f1e3f5f7e9
+f0f1e3f5f7e9f0f1e3f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9
+f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9fdfdf4f5f7e9f5f7e9f5f7e9f5f7e9
+fdfdf4f5f7e9fdfdf4f5f7e9fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9
+f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4
+fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4
+end
+grestore
+showpage
+%%Trailer
+%%Pages: 1
+%%EOF
diff --git a/systems/doc/pdftex/samplepdftex/pic.jpg b/systems/doc/pdftex/samplepdftex/pic.jpg
new file mode 100644
index 0000000000..4ae57de469
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/pic.jpg
Binary files differ
diff --git a/systems/doc/pdftex/samplepdftex/pic.mps b/systems/doc/pdftex/samplepdftex/pic.mps
new file mode 100644
index 0000000000..d44fbb6eb5
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/pic.mps
@@ -0,0 +1,22 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: -2 -2 403 252
+%%Creator: MetaPost
+%%CreationDate: 1999.09.25:1723
+%%Pages: 1
+%%EndProlog
+%%Page: 1 1
+ 0 0.6 0 setrgbcolor 0 4 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+gsave newpath 400.00008 0 moveto
+388.05362 20.69193 369.76968 36.62247 350.00008 50 curveto
+236.22455 126.98863 70.53836 127.82376 0.00008 250 curveto
+-1 1 scale stroke grestore
+ 0 2 dtransform truncate idtransform setlinewidth pop
+gsave newpath 350.00008 50 moveto
+309.8453 199.85959 97.68582 152.31425 0.00008 250 curveto
+-1 1 scale stroke grestore
+gsave newpath 350.00008 50 moveto
+195.84702 50 37.96687 108.30608 0.00008 250 curveto
+-1 1 scale stroke grestore
+showpage
+%%EOF
diff --git a/systems/doc/pdftex/samplepdftex/pic.pdf b/systems/doc/pdftex/samplepdftex/pic.pdf
new file mode 100644
index 0000000000..4f20d12a6d
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/pic.pdf
Binary files differ
diff --git a/systems/doc/pdftex/samplepdftex/pic.png b/systems/doc/pdftex/samplepdftex/pic.png
new file mode 100644
index 0000000000..d1b0a2e57c
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/pic.png
Binary files differ
diff --git a/systems/doc/pdftex/samplepdftex/pic16.png b/systems/doc/pdftex/samplepdftex/pic16.png
new file mode 100644
index 0000000000..2ba28d80cd
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/pic16.png
Binary files differ
diff --git a/systems/doc/pdftex/samplepdftex/rgb.icc b/systems/doc/pdftex/samplepdftex/rgb.icc
new file mode 100644
index 0000000000..d9c712f690
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/rgb.icc
Binary files differ
diff --git a/systems/doc/pdftex/samplepdftex/samplepdf.0 b/systems/doc/pdftex/samplepdftex/samplepdf.0
new file mode 100644
index 0000000000..9622d8d13f
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/samplepdf.0
@@ -0,0 +1,24 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: -2 -2 403 252
+%%HiResBoundingBox: -1.99992 -2 402.00008 252
+%%Creator: MetaPost 0.901
+%%CreationDate: 2005.06.23:1538
+%%Pages: 1
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0.6 0 setrgbcolor 0 4 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+gsave newpath 400.00008 0 moveto
+388.05362 20.69193 369.76968 36.62247 350.00008 50 curveto
+236.22455 126.98863 70.53836 127.82376 0.00008 250 curveto
+-1 1 scale stroke grestore
+ 0 2 dtransform truncate idtransform setlinewidth pop
+gsave newpath 350.00008 50 moveto
+309.8453 199.85959 97.68582 152.31425 0.00008 250 curveto
+-1 1 scale stroke grestore
+gsave newpath 350.00008 50 moveto
+195.84702 50 37.96687 108.30608 0.00008 250 curveto
+-1 1 scale stroke grestore
+showpage
+%%EOF
diff --git a/systems/doc/pdftex/samplepdftex/samplepdf.1 b/systems/doc/pdftex/samplepdftex/samplepdf.1
new file mode 100644
index 0000000000..bf4ae64862
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/samplepdf.1
@@ -0,0 +1,24 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: -21 30 403 260
+%%HiResBoundingBox: -20.46147 30.30342 402.00014 259.24388
+%%Creator: MetaPost 0.901
+%%CreationDate: 2005.06.23:1538
+%%Pages: 1
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0.6 setrgbcolor 0 4.00002 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+gsave newpath -18.46147 32.30774 moveto
+5.43059 32.09502 28.438 39.7596 50.00014 50.0003 curveto
+174.0918 108.93628 258.92859 251.25786 400.00014 250.00183 curveto
+[0.50769 0.86154 0.86154 -0.50769 0 0] concat stroke grestore
+ 0 2 dtransform truncate idtransform setlinewidth pop
+gsave newpath 50.00014 50.0003 moveto
+199.49663 8.51305 266.24567 215.4356 400.00014 250.00183 curveto
+[0.50769 0.86154 0.86154 -0.50769 0 0] concat stroke grestore
+gsave newpath 50.00014 50.0003 moveto
+128.26218 182.8096 258.64954 289.2285 400.00014 250.00183 curveto
+[0.50769 0.86154 0.86154 -0.50769 0 0] concat stroke grestore
+showpage
+%%EOF
diff --git a/systems/doc/pdftex/samplepdftex/samplepdf.tex b/systems/doc/pdftex/samplepdftex/samplepdf.tex
new file mode 100644
index 0000000000..8b1f69faf3
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/samplepdf.tex
@@ -0,0 +1,1295 @@
+% $Id: samplepdf.tex 749 2016-04-26 23:03:45Z karl $
+% (This samplepdf.tex file is public domain.)
+%
+% This example shows how to use pdfTeX primitives. High-level macros are
+% provided by macros packages like LaTeX or ConTeXt. We present basic
+% set of commands, extended with some more sophisticated issues (like MP
+% to PDF conversion). All the functionality other than provided by
+% pdfTeX itself is commented by default. Please follow the code below
+% and uncomment fragments you want.
+
+% Many new features has been implemented since the first release of pdfTeX. To
+% make this sample version independent, we use compatibility sections.
+
+\def\ifversion#1.#2#3#4 {% 1.20, 1.30.0 ...
+ \ifnum\pdftexversion<#1#2#3
+ \notsupported
+ \else
+ \supported
+ \fi}
+
+% to trick \if..\fi balancing
+% \def\otherwise{\else}
+% \def\endif{\fi}
+
+\def\supported{\expandafter\iftrue}
+\def\notsupported{\expandafter\iffalse}
+
+\def\feature#1.#2#3#4#{\dofeature{#1#2#3}{#1.#2#3#4}}
+\long\def\dofeature#1#2#3#4\endfeature{%
+ \ifnum#1>\pdftexversion
+ #3 not supported by this version of \pdfTeX.\par
+ \else#4\fi}
+
+\def\pdfTeX{pdf\TeX}
+\def\cs#1{{\tt\string#1}}
+\def\newpage{\null\vfill\eject}
+
+\parindent=0pt
+
+\input pdfcolor.tex % simple macros to use color with pdftex;
+ % color names derived from dvicolor.tex
+
+% Unless mentioned explicitly, the default values of new parameters
+% are: 1) zero for integer/dimension parameters; 2) empty for tokens
+% parameters.
+
+% In previous versions of pdfTeX, integer parameters took their corresponding
+% values from pdftex.cfg config file. Starting from pdfTeX 1.20, the config file
+% id not read at all. All the parameters are specified in TeX code, optionally
+% dumped into format file.
+
+\pdfoutput=1 % positive value turns on PDF output;
+ % this parameter can not be changed after the pdf
+ % output has been opened
+
+\pdfcompresslevel=0 % compression level for text and image; allowed
+ % values are 0..9;
+ % 0 = no compression
+ % 1 = fastest compression
+ % 9 = best compression
+ % 2..8 = something between
+ % numbers out of range will be fixed to the most
+ % closed allowed value. Recommended value for most
+ % cases is 6 or 7.
+
+\ifversion 1.40.0
+ \pdfobjcompresslevel=0 % having pdfTeX 1.40.0 or higher and PDF 1.5 or higher,
+ % we can also control non-stream compression level. See
+ % pdfTeX manual for details.
+\fi
+
+\pdfdecimaldigits=3 % number of digits after decimal point for real
+ % number in pdf output; the larger value the
+ % better accuracy but also larger output size;
+ % allowed range of values is 0..4
+
+%\pdfmovechars=2 % 1 turns on moving lower chars 0..32 to higher
+ % slots for fonts with last char code < 128,
+ % 2 or larger even for fonts with last char code > 127
+ % (rather obsolete)
+
+\pdfpkresolution=300 % resolution for bitmap (PK) fonts; allowed values
+ % are 72..1200, default is 600
+
+\pdfuniqueresname=0 % positive value turns on prepending unique
+ % prefix for each named resources
+ % pdftex-0.14[ef] has a bug with this feature
+ % turned on
+
+% dimension parameters
+
+\pdfhorigin=1in % horizontal origin (offset);
+ % for common purposes it is advised to use
+ % \hoffset
+
+\pdfvorigin=1in % vertical origin (offset); similar to \pdfhorigin,
+ % advised to use \voffset
+
+
+\pdfpagewidth=8.5in % paper size of the pdf output (letter in this case)
+\pdfpageheight=11in
+
+\pdflinkmargin=1pt % margin added to dimensions of link (see below)
+
+\pdfdestmargin=10pt % margin added to dimensions of destination (see
+ % below)
+
+\pdfthreadmargin=1em % margin added to dimensions of bead in article thread
+ % (see below)
+
+% tokens registers
+
+\pdfpagesattr={/MyPageAttribute /MyValue}
+ % optional attributes for the root Pages object;
+ % all pages inherit these attributes
+
+\pdfpageattr={/MyPagesAttribute /MyValue}
+ % optional attributes for individual pages;
+ % attributes specified here overwrite any
+ % attributes given by `\pdfpagesattr' (see PDF spec for details)
+
+\pdfpageresources{/MyPageResourceAttribute /MyValue}
+ % optional page resources dict content
+
+% And some more parameters that need special care.
+
+\ifversion 1.30.0 \else
+ \let\pdfforcepagebox\pdfoptionalwaysusepdfpagebox
+\fi
+
+\pdfforcepagebox=0 % a page box of PDF inclusions to be used
+ % as a clipping area. Here we use default (CropBox)
+ % \pdfforcepagebox is a shortened synonym of
+ % obsolete \pdfoptionalwaysusepdfpagebox.
+
+\ifversion 1.30.0 \else
+ \let\pdfminorversion\pdfoptionpdfminorversion
+\fi
+
+\pdfminorversion=5 % version of created PDF files and allowed PDF inclusions.
+ % The default value is 4 that is enough in most cases (PDF 1.4).
+ % However, some pdfTeX features presented here requires
+ % PDF 1.5. Starting from pdfTeX 1.30.0, the command is called
+ % \pdfminorversion.
+
+
+
+\ifversion 1.30.0 \else
+ \let\pdfinclusionerrorlevel\pdfoptionpdfinclusionerrorlevel
+\fi
+
+\pdfinclusionerrorlevel=0 % If the version of included PDF is greater than
+ % the one being typeset, by default an error is issued.
+ % If \pdfinclusionerrorlevel is set to one, warning only
+ % (synonym of obsolete \pdfoptionpdfinclusionerrorlevel).
+
+\ifversion 1.30.0
+\pdfimagehicolor=1 % enables 16-bit colors for PNG inclusions;
+ % defaults to 1 if \pdfminorversion>=5,
+\pdfimageapplygamma=1 % enables gamma correction for PNG inclusions,
+\pdfgamma=1000 % sets pdfTeX `device gamma,'
+\pdfimagegamma=2200 % sets image gamma, if can't be taken from the image itself.
+\fi % (see below for details).
+
+% Version of pdftex can be accessed via \pdftexversion and \pdftexrevision.
+
+This is version \the\pdftexversion\ (revision \pdftexrevision) of \pdfTeX.
+
+% Version of created PDF (and the highest allowed version of PDF inclusions)
+% can be controlled with \pdfminorversion. In pdfTeX versions below 1.30.0, the
+% primitive was called \pdfoptionpdfminorversion.
+
+This file is PDF version 1.\the\pdfminorversion.
+\bigskip
+
+% Font resource in the pdf output has the form
+% "/F<number> <object number> 0 R", where <number> is accessible via
+% \pdffontname and <object number> via \pdffontobjnum.
+
+Font \fontname\font\ has resource name tag
+\pdffontname\font\ and object number \pdffontobjnum\font\ in the PDF output.
+Font size is \pdffontsize\font.\par
+
+\feature 1.30.0 {Disabling ligatures}
+
+Ligatures: ffont, fint, flint\par
+{\font\noli=cmr10 at\pdffontsize\font
+ \pdfnoligatures\noli No ligatures: ffont, fint, flint}
+\bigskip
+
+\endfeature
+
+% \pdfincludechars can be used to ensure certain characters to be
+% included in the font file. Normally only used characters are
+% included (subset is created).
+
+\pdfincludechars\font{ABCDEF}
+
+% pdfTeX ignores \special's text if \pdfoutput is set, unless they have
+% prefix "pdf:" or "PDF:" (in this case the prefix is not written out, of
+% course). \pdfliteral is intended to replace \special in pdf output mode.
+
+Changing color can be done by inserting `raw' PDF code, like
+\pdfliteral direct {0 1 1 0 k} % switch color to cmyk red
+this.
+
+\special{PDF:0 g} % switch color back to black; \special can be
+ % used with prefix "pdf:" or "PDF:", optionally appended with
+ % "direct:"
+ % A `direct' keyword is optional; it ensures that what one
+ % types into \pdfliteral is inserted literally indeed.
+ % Otherwise pdfTeX moves the space origin to the place after
+ % the last types item on the page, inserts the user code and
+ % restores its internal position. It's recommended to use \pdfliteral
+ % instead of \special
+
+A simple picture:
+\pdfliteral {q 1 j 0 1 0 rg 0 0 1 RG 0 0 10 10 re B Q}
+
+% pdfTeX keeps the origin point of coordinates in the lower-left corner of the
+% page (native PDF space origin). \pdfliteral used without `direct' keyword
+% moves this position temporarily to the point user probably expect; current
+% position on the page. That is why the rectangle above appears in-line.
+% Drawing anything relative to the page origin is a bit problematic. In most
+% cases, one can't simply say `\pdfliteral direct {q <paiting operators> Q}'.
+% That is because q..Q operators can't appear inside BT..ET blocks.
+%
+% Starting from pdfTeX 1.30.0, another \pdfliteral modifier can be used instead
+% of `direct'. If the keyword is `page', pdfTeX closes internal text block with `ET'
+% before putting the literal content; like with `direct', without translation.
+
+\feature 1.30.0 {\cs\pdfliteral{ \tt page} keyword}
+...and now look at the lower-left corner of the page.\par
+\pdfliteral page {q 1 j 0 1 0 rg 0 0 1 RG 0 0 10 10 re B Q}
+\pdfliteral page {q -1 0 0 1 612 0 cm .5 g}\hfill Do you like that?\pdfliteral page {Q}
+\endfeature
+
+% Every page in PDF document has its own graphic state, automatically restored
+% by the viever application. In example, unless set explicitly, text colour at
+% the beginning of the every page is always black, regardless the text color at
+% the end of the previous page. This may be a little bit confusing for those
+% who get used to dvi output and color macros based on Postscript specials. In
+% the case of PDF, passing text colour (as well as any other graphic
+% properties) between pages requires much more care. Since normally we don't
+% know where TeX is going to break tyhe page, one probably need to use \mark(s)
+% register(s) for page-wise graphic stack, as it is in pdfcolor.tex macro input above.
+
+\feature 1.40.0 {Graphic stack}
+\def\pdfsetcolor#1{}% disable generic color support of pdfcolor.tex
+
+% pdfTeX 1.40.0 introduces graphic stack support. \pdfcolorstackinit primitive
+% introduces new graphic stack and returns its number. Here we create a
+% page-wise color stack with black as an initial stack value. \pdfcolorstack
+% command operates on graphic stacks.
+
+\chardef\Color=\pdfcolorstackinit page direct{0 g}
+default color,
+\pdfcolorstack\Color set{1 1 0 0 k}
+some new default
+\pdfcolorstack\Color push{0 1 1 0 k}
+red,
+\pdfcolorstack\Color push{1 0 1 0 k}
+green,
+\vfill\eject
+still green,
+\pdfcolorstack\Color pop
+red again,
+\pdfcolorstack\Color pop
+default again,
+\pdfcolorstack\Color set{0 g}
+back to black.
+
+\endfeature
+
+\bigskip
+
+% User-defined object can be inserted into the pdf output by \pdfobj. The
+% object is written out as specified, apart from case when \pdfobj is used with
+% "stream" option. An object created by \pdfobj is held in memory and will
+% not be written to the pdf output, unless 1) the object is referenced by
+% saying \pdfrefobj <object number>; or 2) \pdfobj is preceded by
+% \immediate. The object number of the last object created by \pdfobj is
+% accessible via \pdflastobj
+
+\pdfobj{(Hello)} % the simplest case: a string "Hello"
+\pdfrefobj \pdflastobj % mark the object to be written out; it can be
+ % understood as a reference to the object
+
+% Note, that the object you type must comply the syntax of one of PDF data
+% types (dictionary, array, string, stream, number, ...). The object created
+% with `\pdfobj{Hello}' is incorrect and may lead to parser crash. This issue
+% may not be noticed until one try to refer to the object anyhow or compress it
+% using non-zero \pdfobjectstreams.
+
+\immediate \pdfobj stream % create the object as a stream a write it to
+ {Hello} % the pdf output immediately
+
+\pdfobj stream % create the object as a stream with
+ attr {/MyStreamAttribute /MyValue} % additional attributes
+ {Hello}
+\pdfrefobj \pdflastobj
+
+\pdfobj file {obj.dat} % read the object contents from file obj.dat
+\pdfrefobj \pdflastobj
+
+\pdfobj stream % read the stream contents from file obj.dat
+ file {obj.dat}
+\pdfrefobj \pdflastobj
+
+\pdfobj stream % read the stream contents from file obj.dat
+ attr {/MyStreamAttribute /MyValue} % with additional attributes
+ file {obj.dat}
+\pdfrefobj \pdflastobj
+
+% \pdflastobj is always global, as all others \pdflast* read-only integers (see
+% below). PDF object numbers are unique within the document. One may notice, that
+% if \pdfobj is preceded by \immediate, \pdflastobj seems to return subsequent
+% values (i.e 5,6,7,8...). Since \pdfobj is not the only command that creates PDF
+% objects, one can't simply assume, that if current \pdflastobj returns 5, the
+% next one will always return 6. Thus, pdfTeX provides a forward-referencing
+% mechanism (introduced in pdfTeX 1.20).
+
+\feature 1.20 {Forward object referencing}
+
+\pdfobj reserveobjnum
+We have an access to PDF object numbers, even before defining those objects.
+\pdfobj useobjnum\pdflastobj {(This is object number \the\pdflastobj)}
+\pdfrefobj\pdflastobj
+
+\endfeature
+
+% TeX boxes can be written into so-called XObject form, which is very
+% similar to a normal page in the pdf output. Additional data can be
+% inserted to the XObject form dictionary itself as well as the Resource
+% dictionary of the XObject form
+
+\setbox0=\hbox{This is a box saved as a XObject form}
+\pdfxform
+ attr {/MyXObjectFormAttribute /MyValue}
+ resources {/MyXObjectFormResourceAttribute /MyValue}
+ 0
+
+% Similarly to \pdfobj, the object created by \pdfxform is held in memory
+% and is not written to the pdf output, unless 1) the object is referenced
+% by saying \pdfrefxform <object number>; or 2) \pdfxform is preceded by
+% \immediate. The object number of the last XObject form created
+% by \pdfxform is accessible via \pdflastxform. Note that
+% \immediate\pdfxform does not typeset anything; it just ensures that the
+% XObject form is written out to the output. To display the form, it is
+% necessary to say \pdfrefxform <object number> in the intended place.
+% Another point is that \pdfrefxform acts similarly rather to rules than to
+% boxes concerning dimensions and space setting. It's highly recommended to
+% wrap \pdfrefxform by a box in order to ensure spacing will be correct.
+
+\hbox{\pdfrefxform \pdflastxform}
+
+% Similarly to \pdflastobj, \pdflastxform returns the PDF object number assigned
+% for XObject form just created. pdfTeX also provides \pdfxformname primitive, that
+% returns a resource name identifier of the XObject written to PDF output with given
+% object number.
+
+XObject above has been written as object \the\pdflastxform.
+
+\feature 1.30.0 {Access to XObject names}
+
+Its resource name tag is \pdfxformname\pdflastxform\
+({\tt/Fm\pdfxformname\pdflastxform\ \the\pdflastxform\space 0 R}
+entry in page resources dictionary).
+
+\endfeature
+
+\bigskip
+
+% Thanks to Taco Hoekwater pdfTeX 1.30.0 and higher provides precise time
+% measuring mechanism. \pdfelapsedtime primitive returns the time elapsed from
+% the current run start. Time is measured in `scaled seconds' meaning that 65536
+% scaled seconds is 1 second. There is also \pdfresettimer primitive that causes
+% zeroing the internal clock.
+
+{\catcode`\p=12 \catcode`\t=12 \gdef\WITHOUTPT#1pt{#1}}
+ \def\withoutpt#1{\expandafter\WITHOUTPT#1} % returns float-like string
+
+\feature 1.30.0 {Precise timer}
+
+\dimen0=\pdfelapsedtime sp
+\pdfresettimer
+It took \withoutpt\the\dimen0 \ seconds to typeset the whole stuff above.
+To typeset the last two sentences it took \the\pdfelapsedtime\ `scaled seconds'
+(1s/65536).
+\bigskip
+
+\endfeature
+
+% Taco Hoekwater has also implemented random number support (introduced in 1.30.0)
+
+\feature 1.30.0 {Random numbers}
+
+Random seed initialized to \the\pdfrandomseed.
+\pdfsetrandomseed\dimen0 % just saved elapsed time
+We may change it, lets say to \the\pdfrandomseed.\par
+
+10 uniformly distributed random numbers [0..100]:
+\count100=0 \loop
+ \pdfuniformdeviate101
+ \advance\count100 by1
+ \ifnum\count100<10,
+\repeat.\par
+
+10 normally distributed random numbers:
+
+\count100=0 \loop
+ \dimen0=\pdfnormaldeviate sp
+ $\withoutpt\the\dimen0$%
+ \advance\count100 by1
+ \ifnum\count100<10,
+\repeat.\par
+
+\bigskip
+
+\endfeature
+
+% Starting from pdfTeX 1.30.0, there is an expandable string comparison in pdfTeX.
+% You can compare two strings lexicographically using \pdfstrcmp{<str1>}{<str2>}.
+% The command returns -1, 0, or 1 as a comparison result.
+% Both strings are expanded before being compared.
+% \feature 1.30.0 {String comparison}
+% \pdfstrcmp{a}{aa} returns -1 since 'a'<'aa'
+% \pdfstrcmp{aa}{aa} returns 0 since 'aa'='aa'
+% \pdfstrcmp{aaa}{abc} returns -1 since 'aaa'<'abc'
+% \pdfstrcmp{abc}{ABC} returns 1 since 'aaa'>'ABC'
+% \endfeature
+% This is still experimental, as well as regex support.
+
+% Starting from version 1.40.0 there are two handy primitives for absolute
+% values comparison. This is e-TeX however...
+% \feature 1.40.0 {Absolute \cs\if's}\fi\endfeature
+
+% Thanks to Heiko Oberdiek, starting from pdfTeX 1.30.0 a set of expandable
+% string handlers are available. \pdfescapestring converts its parameter into a
+% form readable for PDF interpreters, escaping those characters that can be used
+% in PDF string objects without quotation. Similarly, \pdfescapename converts its
+% argument into PDF name, replacing special PDF characters with their hexadecimal
+% representation preceded by `#'. \pdfescapehex takes an ASCII code of each
+% character of its argument and converts this number into hexadecimal form. Last
+% but not least, \pdfunescapehex treats each pair of characters as a hexadecimal
+% number and returns an ASCII characters of given codes. All those commands
+% expand their arguments before applying conversion.
+
+\feature 1.30.0 {PDF string handling}
+
+\def\sometext{Some text/(1)}
+If there is a text `{\tt\sometext}',\par
+in PDF string one should use {\tt(\pdfescapestring{\sometext}},\par
+and in PDF name it would be {\tt/\pdfescapename {\sometext}}.\par
+In hex form it looks like {\tt<\pdfescapehex{\sometext}>},\par
+but you can always reverse it to get {\tt\pdfunescapehex{\pdfescapehex{\sometext}}}.
+\bigskip
+
+\endfeature
+
+% Also handling external files has been greatly improved. Starting from pdfTeX 1.30.0
+% you can check external files modification date, file size and even md5 check sum.
+
+\feature 1.30.0 {External file handling}
+
+The source of this document is {\tt\pdffilesize{\jobname}} bytes long. Last modification date
+is {\tt\pdffilemoddate{\jobname}}. The md5 sum is {\tt\pdfmdfivesum{\jobname}}.
+Bytes 7 to 13 of the source are hex {\tt\pdffiledump offset 7 length 7{\jobname}}
+(string `\pdfunescapehex{\pdffiledump offset 7 length 7 {\jobname}}').
+
+\endfeature
+
+% \pdfsavepos saves coordinates of the current position (basepoint) on the page
+% relative to lower-left corner. \pdflastxpos and \pdflastypos are available
+% while shipping out the page. Both are integers; the position is expressed in
+% scaled points. Starting from pdfTeX 1.40.0, availavle also in DVI mode.
+
+\pdfsavepos
+\write16{Position: X=\number\pdflastxpos sp, Y=\number\pdflastypos sp.}
+
+\newpage
+
+% pdfTeX 1.20 and higher allows to get the object number of already typeset page
+
+\feature 1.20 {Page object reference}
+
+The previous page has been written as object \pdfpageref1.
+
+\endfeature
+
+% Images can be included with pdftex using \pdfximage. Supported formats
+% are determined by file name extension:
+% .pdf/.PDF: PDF
+% .png/.PNG: PNG
+% .jpg/.JPG/.jpeg/.JPEG: JPEG
+%
+% Sorry, TIFF files are no longer supported.
+%
+% pdfTeX itself does not support EPS and Postscript codes at all, but
+% it is possible to include Metapost output. EPS files can be converted to
+% PDF for use with pdfTeX. See below for further info about using Metapost
+% and EPS.
+
+\pdfximage {pic.pdf} % read image pic.pdf (search for it in TEXINPUTS path)
+
+% It also possible to select which page to include. Pages are numbered from
+% 1. Out-of-range values are fixed to 1 and bitmapped images have always 1
+% page. To include let's say the 2nd page of a pdf image, one can use
+% \pdfximage page 2 {file.pdf}
+
+% Similarly to \pdfobj, the image created by \pdfximage is held in memory
+% and is not written to the pdf output, unless 1) the image is referenced
+% by saying \pdfrefximage <object number>; or 2) \pdfximage is preceded by
+% \immediate. The object number of the last image created by \pdfximage is
+% accessible via \pdflastximage. Note that \immediate\pdfximage does not
+% typeset anything; it just ensures that the image is written out to the
+% output. To display the image, it is necessary to say
+% \pdfrefximage <object number> in the intended place. Another point is
+% \pdfrefximage act similarly rather to rules than to boxes concerning
+% dimensions and space setting. In order to make images act as boxes
+% (concerning dimensions and spacing), it's necessary to wrap them into a
+% box.
+
+\hbox{\pdfrefximage \pdflastximage}
+
+% Since a pdf image may have more than 1 page, the number of the last image
+% opened by \pdfximage is accessible via \pdflastximagepages
+
+The last image has \the\pdflastximagepages\ page(s).
+
+% The dimensions of the image can be also controlled via <rule spec>. The
+% default values are zero for depth and `running' for height and width. If
+% all of them are given, the image will be scaled to fit the specified
+% values. If some of them (but not all) are given, the rest will be set to
+% a value corresponding to the remaining ones so as to make the image size
+% to yield the same proportion of width : (height + depth) as the original
+% image size, where depth is treated as zero. If none of them is given then
+% the image will take its natural size. An image inserted at its natural
+% size often has a resolution of \pdfimageresolution (or 72 if
+% \pdfimageresolution is set to zero) given in dots per inch in the output
+% file, but some images may contain data specifying the image resolution,
+% and in such a case the image will be scaled to the original resolution.
+% The dimension of the image can be accessed by enclosing the \pdfrefximage
+% command to a box and checking the dimensions of the box.
+
+\pdfximage width 6cm {pic.pdf} % set the image width and keep the
+\pdfrefximage \pdflastximage % `nature' proportion width : height
+
+\pdfximage height 4cm {pic.png} % set the image height and keep the
+ % `nature' proportion width : height
+
+\edef\MyImg{\the\pdflastximage} % save the image number for later reuse
+\pdfrefximage\MyImg
+
+\pdfximage width 6cm height 4cm % set both image width and height; the
+ {pic.jpg} % final proportion width : height may be
+ % different from the `nature' one
+
+\pdfimageresolution=72 % to open an image at 72 dpi
+\pdfximage {pic.pdf}
+\setbox0=\hbox{\pdfrefximage\pdflastximage} % get dimensions of the image
+ % in order to include the image
+ % at a specific resolution
+\dimen0=.06\wd0 % calculate the image width at 1200 dpi (0.06 = 72/1200)
+\pdfximage % include the image at resolution 1200 dpi
+ width \dimen0 {pic.pdf} % by setting image width to the calculated value
+\pdfrefximage \pdflastximage
+
+% While working with bitmap graphic it might be more convenient to operate on
+% pixels rather then dimension units. Starting from version 1.30.0, pdfTeX offers
+% a special, scalable unit called `px'. The real value associated with `px' is controlled
+% via \pdfpxdimen primitive. It used to be a count register defaulted to 65536 (1pt = 1px).
+% Starting from pdfTeX 1.40.0, \pdfpxdimen is a true dimen defaulted to 1bp, that implies
+% 72dpi resolution.
+
+
+\feature 1.30.0 {Scalable {\tt px} unit}
+
+\ifversion 1.40.0
+ \pdfpxdimen=0.06bp % 1200dpi -> 72/1200
+\else
+ \pdfpxdimen=3946 % 1200dpi -> 72*65781/1200
+\fi
+
+640 pixels in 1200dpi makes \dimen0=640px \the\dimen0.
+
+\endfeature
+
+
+% ... Be aware of rounding error significant for large resolutions
+% 1200 pixels in 1200dpi makes \dimen0=1200px \the\dimen0. -> 72.25342pt < 72.27
+
+\newpage
+
+% While embedding PDF image one may decide which area of the image (mediabox,
+% cropbox, bleedbox, trimbox or artbox) should be treated as a final (visible)
+% bounding box. There is \pdfoptionalwaysusepdfpagebox parameter that specifies
+% the default behaviour (1 for mediabox, 2 for cropbox, 3 for bleedbox, 4 for
+% trimbox and 5 for artbox). For sake of backward compatibility, if set to 0
+% cropbox is used. Starting from pdfTeX 1.30.0, a synonym \pdfforcepagebox is
+% used. One may also override the default settings by providing page box
+% specification in \pdfximage syntax. In example, \pdfximage trimbox {<file>}
+% causes clipping the image to the trimbox area. Obviously, those settings take an
+% effect only if the desired box page is defined in the image being included.
+% According to PDF spec, PDF page boxes act as follows:
+% mediabox % the entire page area (the only one always present)
+% cropbox % the visible page area (defaults to mediabox)
+% bleedbox % the page area with trimming margins (defaults to cropbox)
+% trimbox % the page area without bleeds (defaults to cropbox)
+% artbox % the logical page content (defaults to cropbox)
+
+% pdfTeX takes care about version of included PDF images. By default, an error is
+% issued if this version is newer than the PDF being created (controlled by
+% \pdfminorversion). If the \pdfoptionpdfinclusionerrorlevel is set to 0, only
+% warning is issued. Starting pdfTeX 1.30.0 \pdfinclusionerrorlevel synonym is used
+% instead.
+
+% Thanks to Taco Hoekwater pdfTeX 1.30.0 and higher provides advanced PNG
+% inclusions handling. Nonzero \pdfimagehicolor parameter enables embedding
+% of PNG images with 16 bit wide color channels at their full color resolution.
+% This functionality is automatically disabled if \pdfminorversion<5, and automatically
+% enabled if \pdfminorversion>=5
+% Another primitive -- \pdfimageapplygamma -- enables gamma correction of embedded
+% PNG files on the base of two parameters:
+% \pdfgamma % device gamma for pdfTex
+% \pdfimagegamma % image gamma (used if one can't be derived from the image)
+% Both values are integers measured in promile (1000 = gamma 1.0)
+% All the parameters of gamma correction have to be set before any data
+% is written to the PDF output; thus we put them at the very beginning of this sample.
+
+% \ifx\undefined\quitvmode % primitive `\leavevmode' introduced in pdfTeX 1.30.0
+% \let\quitvmode\leavevmode
+% \fi
+
+\pdfximage width8cm {pic16.png}%
+\pdfrefximage\pdflastximage
+The image had originally 16 bits-per-channel.
+
+\feature 1.21 {Image color depth info}
+Embedded one has \the\pdflastximagecolordepth\ bits-per-channel;
+\endfeature
+
+\feature 1.30.0 {16-bit color mode for PNG inclusions}
+the image has been read in 16-bit color resolution.
+\endfeature
+
+\feature 1.30.0 {Gamma correction}
+Try out different gamma parameters. % we have to set them before any data
+\endfeature % is written to the output
+
+\bigskip
+
+% From pdfTeX 1.21 \pdfximage command can be followed by `colorspace <objnum>',
+% where <objnum> is a number of user-defined color space object. Simply speaking,
+% we may instructs the viewer, how the image should be rendered. However, this
+% works only for JPEGs. Here we perform some sort of `color management' by
+% applying a color profile to the JPEG image.
+
+% Be aware; this is viewer dependent.
+
+\feature 1.21 {User-defined image color space hook}
+
+\immediate\pdfobj
+ stream
+ attr {/N 3 /Alternate /DeviceRGB}
+ file {rgb.icc} % color profile
+
+\immediate\pdfobj{[/ICCBased \the\pdflastobj\space 0 R]}
+
+\edef\objnum{\the\pdflastobj}
+
+\pdfximage width 8cm colorspace\objnum {pic.jpg}
+\pdfrefximage\pdflastximage
+The image is calibrated with ICC profile.
+
+\immediate\pdfobj
+ stream attr
+ {/FunctionType 4
+ /Domain [0 1 0 1 0 1]
+ /Range [0 1 0 1 0 1]}{{exch pop exch pop 0 exch 0 exch}}
+
+\immediate\pdfobj % don't treat it serious %)
+ {[/DeviceN [/Red /Green /Blue] /DeviceRGB \the\pdflastobj\space 0 R]}
+
+\edef\objnum{\the\pdflastobj}
+
+\pdfximage width8cm colorspace\objnum {pic.jpg}
+\pdfrefximage\pdflastximage
+Hacked image color space.
+
+\endfeature
+
+% Thanks to Hans Hagen, pictures created by Metapost can be used directly with
+% pdftex. The following files come from ConTeXt distribution. Another
+% place to get them is http://www.tug.org/applications/pdftex/, where
+% is also possible to get the latest driver file for using LaTeX graphicx
+% package with pdftex.
+
+\input supp-mis.tex % supp-mis.tex is loaded by supp-pdf.tex
+\input supp-pdf.tex % automatically, so the above line could be left
+ % out (it's given here to make clear what all files
+ % are needed to use \convertMPtoPDF)
+
+% the figure cmr10.103 was created by running Metapost on cmr10.mf
+
+%\convertMPtoPDF {filename} {x scale} {y scale}
+%\convertMPtoPDF{cmr10.103}{1}{1}
+\newpage
+
+% It is possible to have Metapost code inside the tex sources and call
+% Metapost to generate the figure before calling \convertMPtoPDF.
+
+% define some contants that will be used in the Metapost code
+\def\pointA{(50, 50)}
+\def\pointB{(400, 250)}
+
+\newwrite\mpfile % temporary file for metapost code
+\immediate\openout\mpfile = \jobname.mp
+
+\immediate \write \mpfile {%
+prologues := 1;
+def drawleaf(expr A, B, C) =
+ pickup pencircle scaled 4bp;
+ draw (0, 0) {dir 60} .. A .. {dir 60} B withcolor C;
+ pickup pencircle scaled 2bp;
+ draw A {dir 75} .. {dir 45} B withcolor C;
+ draw A {right} .. {dir 75} B withcolor C;
+enddef;
+beginfig(0);
+ drawleaf(\pointA, \pointB, .6green);
+ d := .5 xpart \pointB;
+ currentpicture := currentpicture reflectedabout ((d, 0), (d, 1));
+endfig;
+beginfig(1);
+ drawleaf(\pointA, \pointB, .6blue);
+ currentpicture := currentpicture reflectedabout (\pointA, \pointB);
+endfig;
+end;
+}
+\immediate \closeout \mpfile % close the file before running Metapost
+
+% Now we call Metapost to generate the ps output; this is system-dependent
+% and has been tested for web2c only. It is necessary to have
+%
+% shell_escape = t
+%
+% in texmf.cnf in order to run it.
+%
+% Starting from pdfTeX 1.21a, one may test if this option is enabled using
+% \ifeof condition (distribution dependent):
+
+\feature 1.21 {Shell escape detection (via \cs{ifeof})}
+Shell escape (via \cs{ifeof}) seems to be
+\ifeof18 disabled\else enabled\fi.
+\endfeature
+
+% ...pdfTeX 1.30.0 introduces its own primitive integer flag
+
+\feature 1.30.0 {Shell escape detection (via \cs\pdfshellescape)}
+Shell escape (via \cs\pdfshellescape) seems to be
+\ifnum\pdfshellescape=2 enabled (restricted)\fi%
+\ifnum\pdfshellescape=1 enabled\fi%
+\ifnum\pdfshellescape=0 disabled\fi.
+\endfeature
+
+% Uncomment line below, if Metapost is available on your system (should be!)
+% \immediate \write 18 {mpost \jobname.mp} % call Metapost on \jobname.mp
+\convertMPtoPDF{\jobname.0}{1}{1}
+\convertMPtoPDF{\jobname.1}{1}{1}
+
+\newpage
+
+% EPS pictures cannot be inserted directly by pdfTeX, but it's possible to
+% convert them to PDF using a Postscript-to-PDF converter, like
+% Ghostscript. The below example calls epstopdf (available
+% from http://www.tug.org/applications/pdftex), which preprocess the EPS
+% and afterwards uses Ghostscript to convert to PDF.
+
+% Uncomment line below, if there is epstopdf utility available in your system
+
+%\immediate \write 18 {epstopdf --outfile=tmp.pdf cmr10.103} % call epstopdf
+\pdfximage height \vsize {tmp.pdf} % insert the PDF converted from EPS
+\topskip=0pt
+\pdfrefximage \pdflastximage
+\newpage
+
+% some text to try using threads
+
+\def\text{%
+Ah! perhaps a burning match might be some good, if she could draw it from
+the bundle and strike it against the wall, just to warm her fingers. She
+drew one out---"scratch!" how it sputtered as it burnt! It gave a warm,
+bright light, like a little candle, as she held her hand over it. It was
+really a wonderful light. It seemed to the little girl that she was sitting
+by a large iron stove, with polished brass feet and a brass ornament. How
+the fire burned! and seemed so beautifully warm that the child stretched
+out her feet as if to warm them, when, lo! the flame of the match went out,
+the stove vanished, and she had only the remains of the half-burnt match in
+her hand.
+
+ She rubbed another match on the wall. It burst into a flame, and
+where its light fell upon the wall it became as transparent as a veil,
+and she could see into the room. The table was covered with a snowy
+white table-cloth, on which stood a splendid dinner service, and a
+steaming roast goose, stuffed with apples and dried plums. And what
+was still more wonderful, the goose jumped down from the dish and
+waddled across the floor, with a knife and fork in its breast, to
+the little girl. Then the match went out, and there remained nothing
+but the thick, damp, cold wall before her.
+
+ She lighted another match, and then she found herself sitting
+under a beautiful Christmas-tree. It was larger and more beautifully
+decorated than the one which she had seen through the glass door at
+the rich merchant's. Thousands of tapers were burning upon the green
+branches, and colored pictures, like those she had seen in the
+show-windows, looked down upon it all. The little one stretched out
+her hand towards them, and the match went out.
+
+ The Christmas lights rose higher and higher, till they looked to
+her like the stars in the sky. Then she saw a star fall, leaving
+behind it a bright streak of fire. "Some one is dying," thought the
+little girl, for her old grandmother, the only one who had ever
+loved her, and who was now dead, had told her that when a star
+falls, a soul was going up to God.
+
+ She again rubbed a match on the wall, and the light shone round
+her; in the brightness stood her old grandmother, clear and shining,
+yet mild and loving in her appearance. "Grandmother," cried the little
+one, "O take me with you; I know you will go away when the match burns
+out; you will vanish like the warm stove, the roast goose, and the
+large, glorious Christmas-tree." And she made haste to light the whole
+bundle of matches, for she wished to keep her grandmother there. And
+the matches glowed with a light that was brighter than the noon-day,
+and her grandmother had never appeared so large or so beautiful. She
+took the little girl in her arms, and they both flew upwards in
+brightness and joy far above the earth, where there was neither cold
+nor hunger nor pain, for they were with God.
+}
+
+\pdfannot % generic annotation
+ %
+ width 10cm % the dimension of the annotation can be controlled
+ height 0cm % via <rule spec>; if some of dimensions in
+ depth 4cm % <rule spec> is not given, the corresponding
+ % value of the parent box will be used.
+{ %
+ /Subtype /Text % text annotation
+ % /Open true % if given then the text annotation will be opened
+ % by default
+ /Contents % text contents
+ (This text is from THE LITTLE MATCH-SELLER by Hans Christian
+ Andersen)
+}
+
+\def\colsep{\qquad} % column separator
+\setbox0=\vbox{%
+ \baselineskip=1.2em plus 1pt minus 1pt
+ \hsize=2in
+ \tolerance=1000
+ \rightskip=0pt plus 1em
+ \hfuzz=1em
+ \parskip=\baselineskip
+ \null % will use \vsplit to remove this null box and
+ % insert \splittopskip glue to top of the
+ % first column. I don't know how to make the
+ % first column have the same height as other
+ % columns so have to use this trick to ensure
+ % that all columns will have \splittopskip glue
+ % properly inserted at the top
+ \text
+ \vfil}
+
+\setbox1=\vsplit0 to 0pt % remove the null box and insert \splittopskip glue
+\setbox3=\copy0 % make a copy of box0 for later use
+
+% Using thread by explicit determination which boxes will belong to a thread
+
+\setbox2=\hbox{}
+\loop
+ \setbox1=\vsplit0 to .75\vsize
+ \setbox2=\hbox{\unhbox2 \vtop{%
+ \pdfthread % add a bead to the thread with id=`num 1' (given
+ % below)
+ % <rule spec> % dimensions of the bead can be controlled
+ % via <rule spec>; if some of dimensions in
+ % <rule spec> is not given, the corresponding
+ % value of the parent box will be used. If
+ % \pdfthreadmargin is not zero then its value
+ % will be added to the margins of the bead
+ %
+ % additional attributes of thread
+ attr {/I <</Title (THE LITTLE MATCH-SELLER by Hans Christian)>>}
+ %
+ % identifier specification (exactly one of the
+ % following must be specified):
+ %
+ num 1 % num identifier (must be positive), or
+ % name {thread1} % name identifier; \pdfthread with the same id
+ % will be joined together. Attributes of the
+ % final thread is the last one if any was
+ % given.
+ \unvbox1}\colsep}
+\ifdim \ht0 > 0pt \repeat
+\box2
+
+\newpage
+
+% Using thread by automatic determination which boxes will belong to a
+% thread; \pdfstartthread has the same syntax as \pdfthread, apart that it
+% must be followed by a \pdfendthread. \pdfstartthread and the
+% corresponding \pdfendthread must end up in vboxes with the same
+% nesting level; all vboxes between them with the same nesting level will
+% be added into the thread. Note that during output routine if there are
+% other newly created boxes which have the same nesting level as vboxes
+% containing \pdfstartthread and \pdfendthread, they will be also added
+% into the thread, which is probably not what we want. To avoid such
+% unconsidered behaviour, it's often enough to wrap the box that shouldn't
+% belong to the thread by another box to change the nesting level.
+
+\setbox0=\vbox{%
+ \pdfstartthread
+ attr {/I <</Title (THE LITTLE MATCH-SELLER by Hans Christian)>>}%
+ name {thread2}%
+ \unvbox3
+ \pdfendthread
+}
+\setbox2=\hbox{}
+\loop
+ \setbox1=\vsplit0 to .75\vsize
+ \setbox2=\hbox{\unhbox2 \vtop{\unvbox1}\colsep}
+\ifdim \ht0 > 0pt \repeat
+\box2
+
+\newpage
+
+\pdfdest % destination for link and outlines
+ %
+ % identifier specification (exactly one of the
+ % following must be specified):
+ %
+ num 1 % num identifier (must be positive), or
+ % name {dest1} % name identifier. Must be unique in one document
+ %
+ % appearance of destination (exactly one of the
+ % following must be specified):
+ %
+ fit % fit whole page in window
+ % fith % fit whole width of page
+ % fitv % fit whole height of page
+ % fitb % fit whole "Bounding Box" page
+ % fitbh % fit whole width of "Bounding Box" of page
+ % fitbv % fit whole height of "Bounding Box" of page
+ % fitr <rule spec> % fit the rectangle specified by <rule spec>; if
+ % some of dimensions in <rule spec> is not given,
+ % the corresponding value of the parent box will be
+ % used. If \pdfdestmargin is not zero then its
+ % value will be added to the margins of the
+ % rectangle
+ % xyz % goto the current position
+
+This is a page containing destination `num 1'
+
+\newpage
+
+% \pdfstartlink and \pdfendlink are similar to \pdfstartthread and
+% \pdfendthread, but they must end up in hboxes instead of vboxes
+
+\leftline{This is a link to destination
+\pdfstartlink % start a link
+ %
+ height 10pt % dimensions of the link can be controlled
+ depth 3pt % via <rule spec>; if some of dimensions in
+ % <rule spec> is not given, the corresponding
+ % value of the parent box will be used. If
+ % \pdflinkmargin is not zero then its value
+ % will be added to the margins of the link
+ %
+ attr{/C [0.9 0 0] % additional attributes of link
+ /Border [0 0 2]} %
+ %
+ % action specification (exactly one of the
+ % following must be specified):
+ %
+ goto % goto action
+ %
+ % file{file.pdf} % optional file specification; can be used only with
+ % `goto' action or `thread' action (see below). If
+ % action identifier is name then there should be a
+ % destination or a thread with same name identifier
+ % in the file; if action identifier is number then it
+ % means page number for `goto' action (in this case it
+ % will take effect as `fitb' specification) and index
+ % number of thread for `thread' action (the first
+ % thread in a document has index number 0)
+ %
+ % goto action identifier (exactly one of the following
+ % must be specified):
+ %
+ num 1 % goto destination with num identifier
+ % name{dest1} % goto destination with name identifier
+ % page 1 {/Fit} % goto page 1 and fit the whole page
+ %
+ %
+ % thread % thread action; start to read a thread
+ %
+ %file{file.pdf} % optional file specification
+ %
+ % thread action type (exactly one of the following
+ % must be specified):
+ %
+ % num 1 % read thread with num identifier id=`num 1'
+ % name{thread2} % read thread with name identifier id=`name{thread2}'
+ %
+ %
+ % user{ % user-defined action; a URI action can be specified
+ % % as below
+ % /Subtype /Link
+ % /A <<
+ % /Type /Action
+ % /S /URI
+ % /URI (http://www.tug.org/)
+ % >>}
+`num 1'%
+\pdfendlink % end of link; if \pdfstartlink and
+ % \pdfendlink end up in different hboxes (in this
+ % case the boxes must have the same box nesting
+ % level), all hboxes between them will be treated
+ % as part of the link. Line breaks and even page
+ % breaks are allowed between \pdfstartlink and
+ % \pdfendlink
+}
+
+\feature 1.40.0 {Last link object}
+The link is object \the\pdflastlink.
+\endfeature
+
+% more link examples
+
+\leftline{%
+ This is a link to the
+ \pdfstartlink
+ goto
+ page 1 {/FitB}% % goto the 1st page and fit the page BBox in the
+ % window
+ first page%
+ \pdfendlink}
+
+\leftline{%
+ This is a link to the
+ \pdfstartlink
+ thread num 1 % read the thread `num 1'
+ thread `num 1'%
+ \pdfendlink}
+
+\leftline{%
+ This is a link to
+ \pdfstartlink
+ attr{ /Border [0 0 0]} % make the bbox of the link invisible
+ user {% % a named action (undocumented in PDF spec)
+ /Subtype /Link
+ /A <<
+ /S /Named
+ /N /GoBack
+ >>}%
+ \Cyan the previous view\Black % color text inside the link
+ \pdfendlink}
+
+\leftline{%
+ This is a link to
+ \pdfstartlink user{%
+ /Subtype /Link
+ /A <<
+ /Type /Action
+ /S /URI
+ /URI (http://www.fi.muni.cz/)
+ >>}%
+ \Red our faculty\Black
+ \pdfendlink}
+
+{\hsize2in \raggedright \noindent
+ This is an example of
+ \pdfstartlink
+ attr{ /Border [0 0 0]} % make the bbox of the link invisible
+ goto page 1 {/FitB}%
+ \Red multiple line link. Make sure that the link and
+ its end must be in horizontal mode and the parent boxes must have the
+ same box nesting level.\Black
+ \pdfendlink
+ A common mistake here is using \cs{\pdfstartlink} at the
+ beginning of the text without \cs{\indent}, \cs{\noindent}
+ or \cs{\leavevmode}, so \cs{\pdfstartlink}
+ will end up in vertical mode and cause an error.
+ \par}
+
+% A sound or movie annotation can be created as below. Using such kinds of
+% annotation or Java script causes the pdf output to be system-dependent.
+% More info about this topic can be found in PDF spec.
+
+% \leftline{%
+% \pdfannot width 4in height 0in depth 3in {%
+% /Subtype /Movie
+% /Movie << /F (MovieFile.mov) >>}
+% An example of movie annotation}
+
+% \leftline{%
+% \pdfannot width 0in height 0in depth 0in {%
+% /Subtype /Sound
+% /Sound << /F (SoundFile.wav) >>}
+% An example of sound annotation}
+
+% \leftline{%
+% \pdfannot width 0in height 0in depth 0in {%
+% /Subtype /Movie
+% /Movie << /F (SoundFile.wav) >>}
+% Sound can be also embedded using Movie annotation}
+
+% outlines (bookmarks):
+\pdfoutline % outline entry specification
+ %
+ goto num 1 % action specification. This is the same as the action
+ % specification of `\pdfstartlink'
+ %
+ count 3 % number of direct subentries of this entry, 0 if this
+ % entry has no subentries (in this case it may be
+ % omitted). If after `count' follows an negative number
+ % then all subentries will be closed and the absolute
+ % value of this number specifies the number of
+ % direct subentries (see the following entries)
+ %
+ {Outline 1} % text contents of outline entry
+
+ \pdfoutline goto num 1 count -2{Outline 1.1}
+ \pdfoutline goto num 1 {Outline 1.1.1}
+ \pdfoutline goto num 1 {Outline 1.1.2}
+ \pdfoutline goto num 1 {Outline 1.2}
+ \pdfoutline goto num 1 {Outline 1.3}
+\pdfoutline goto page 1 {/Fit} {Outline 2}
+
+\newpage
+
+% Transformations are done by changing transformation matrices. See PDF spec for
+% more details how to use it. Generally, a transformation matrix is given as six
+% real numbers followed by operator `cm'. Before doing any transformation we must
+% store current graphic state (by operator `q') and restore it (by operator `Q')
+% after transformation. `q' and `Q' operators acts more or less like `gsave' and
+% `grestore' in Postscript. See examples below. Make sure that *no spacing*
+% can be produced during transformation and afterwards we must adjust spacing `by
+% hand'.
+
+\font\f=cmb10 at 50pt
+\setbox0=\hbox{\f Rotated text}
+\setbox1=\hbox{\f Scaled text}
+\setbox2=\hbox{\f Skewed text}
+
+\newdimen\d
+\newbox\tmpbox
+\def\avoidboxdimen#1{%
+ \setbox\tmpbox=\hbox{\box#1}%
+ \wd\tmpbox=0pt
+ \ht\tmpbox=0pt
+ \dp\tmpbox=0pt
+ \box\tmpbox}
+
+\hrule
+
+% rotation by `t' degrees counterclockwise is specified as
+% `cos(t) sin(t) -sin(t) cos(t) 0 0'.
+\vskip\wd0
+\leftline{\hskip\ht0\hskip\dp0%
+\pdfliteral{q 0 1 -1 0 0 0 cm}%
+\avoidboxdimen 0
+\pdfliteral{Q}}
+
+\hrule
+
+% scaling is specified as `Sx 0 0 Sy 0 0'
+\d=\ht1 \advance\d by \dp1
+\vskip3\d
+\pdfliteral{q 2 0 0 3 0 0 cm}%
+\avoidboxdimen 1
+\pdfliteral{Q}%
+
+\hrule
+
+% skewing x-axis by `u' degrees and y-axis by `v' degrees is specified as
+% `1 tan(u) tan(v) 1 0 0'.
+\d=\ht2 \advance\d by \dp2
+\vskip\d
+\d=0.57735\wd2 %tan(30) = 0.57735
+\pdfliteral{q 1 -0.57735 0 1 0 0 cm}%
+\avoidboxdimen 2
+\pdfliteral{Q}
+\vskip\d
+
+% For better understaing \pdfliteral rules, play with the transformations above using
+% `direct' and `page' modifiers. Expect surprises, including corrupted output...
+
+% One may already notice that any transformation applied to text or some other
+% page graphic object do not affect active rectangles of links and other
+% annotations. This is because those rectangles are kept in PDF as a different
+% structure then the page content. pdfTeX is not aware of any transformation
+% shown above (\pdfliteral content is not analyzed anyhow), so any annotation
+% related to the box being transformed remains untouched.
+
+% Check it out:
+% \pdfliteral{q 0.87 -0.5 0.5 0.87 0 0 cm}
+% \setbox0\hbox{\f\pdfstartlink goto page \pageno{/FitH}Link\pdfendlink}
+% \avoidboxdimen0
+% \pdfliteral{Q}
+
+% pdfTeX 1.40.0 comes with three extra primitives that fixes this problem.
+% \pdfsetmatrix primitive inserts first four numbers of the afine
+% transformation matrix into the page content stream and updates annotations
+% accordingly. \pdfsave saves the current matrix, \pdfrestore restores the
+% previously saved matrix.
+\hrule height 0pt depth 0pt width 0pt
+\bigskip
+
+\feature 1.40.0 {Saving/restoring transformation matrix}
+
+\setbox0\hbox{\f\pdfstartlink goto page \pageno{/FitH}Link\pdfendlink}
+\pdfsave
+\pdfsetmatrix{0.87 -0.5 0.5 0.87}
+\avoidboxdimen0
+\pdfrestore
+
+\endfeature
+
+% To have a smoothly readable PDF output one may use a newline character to
+% separate entries written directly do PDF code. No matter for the viewer.
+
+\def\n{^^J}
+
+% If the file is modified are released oftenly (as this one) it might be convenient to
+% keep trace of modification time. In pdfTeX 1.30.0 there is a
+% \pdfcreationdate that returns a date of the file being created.
+% Date is formated in PDF way.
+
+\ifversion 1.30.0 \else
+
+\count100=\time
+\divide\count100 by60
+\edef\pdfcreationdate{\ifnum\count100<10 0\fi\the\count100} % hours
+\multiply\count100 by-60
+\advance\count100 by\time
+\edef\pdfcreationdate{%
+ \pdfcreationdate
+ \ifnum\count100<10 0\fi\the\count100 00} % minutes (seconds zeroed)
+\edef\pdfcreationdate{%
+ D:\the\year
+ \ifnum\month<10 0\fi\the\month
+ \ifnum\day<10 0\fi\the\day
+ \pdfcreationdate} % time zone discarded
+
+\fi
+
+\pdfinfo{% % Info dictionary of PDF output;
+ % all keys are optional.
+ /Author (Han The Thanh)
+ \n/CreationDate (D:20001212000000) % (D:YYYYMMDDhhmmss)
+ % YYYY year
+ % MM month
+ % DD day
+ % hh hour
+ % mm minutes
+ % ss seconds
+ %
+ % default: the actual date
+ %
+ \n/ModDate (\pdfcreationdate) % ModDate is similar
+ \n/Creator (TeX) % default: "TeX"
+ \n/Producer (pdfTeX) % default: "pdfTeX" + pdftex version
+ \n/Title (samplepdf.pdf) %
+ \n/Subject (Example) %
+ \n/Keywords (PDF TeX) %
+}
+
+\pdfcatalog{ % Catalog dictionary of PDF output.
+ /PageMode /UseOutlines %
+ /URI (http://www.fi.muni.cz/) %
+% pdfscreen-like setting might look like:
+% /PageMode /none
+% /ViewerPreferences <<
+% /HideToolbar true
+% /HideMenubar true
+% /HideWindowUI true
+% /FitWindow true
+% /CenterWindow true
+% >>
+}
+openaction goto page 1 {/Fit} % the action to be activated when
+ % opening the document; this is the
+ % same as <action spec> for links
+ % and outlines
+\end
diff --git a/systems/doc/pdftex/samplepdftex/supp-mis.tex b/systems/doc/pdftex/samplepdftex/supp-mis.tex
new file mode 100644
index 0000000000..ab089a297e
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/supp-mis.tex
@@ -0,0 +1,695 @@
+%D \module
+%D [ file=supp-mis,
+%D version=2004.10.26, % 1997.01.04,
+%D title=\CONTEXT\ Support Macros,
+%D subtitle=Missing (For Generic Use),
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D Some support modules are more or less independant. This
+%D module, which is not part of plain \CONTEXT, provides the
+%D missing macros and declarations of registers.
+
+\ifx \undefined \writestatus \else \expandafter \endinput \fi
+
+%D Because \LATEX\ has no safe package loading mechanism, we
+%D need to take care of possible interference.
+
+\def\StartLatexHack
+ {\edef\StopLatexHack
+ {\catcode`\noexpand/=\the\catcode`/
+ \catcode`\noexpand:=\the\catcode`:
+ \catcode`\noexpand;=\the\catcode`;
+ \catcode`\noexpand"=\the\catcode`"
+ \catcode`\noexpand<=\the\catcode`<
+ \catcode`\noexpand>=\the\catcode`>}%
+ \catcode`/=12 \catcode`:=12 \catcode`;=12
+ \catcode`"=12 \catcode`<=12 \catcode`>=12 }
+
+%D This hack is needed especially for \LATEX\ users who use
+%D the Babel package. The Germans have active \type {"}'s, the
+%D Poles have \type {/}, while the French have \type {:} and
+%D \type {;} defines as command (thanks to Daniel Flipo for
+%D pointing that out and testing). Potentially active \type
+%D {?}'s and \type {!}'s are less dangerous since they are
+%D handled by the \type {\protect} and \type {\unprotect}
+%D macros.
+
+\StartLatexHack
+
+%D \macros
+%D {ifnocontextobject}
+%D
+%D First we take care of redundant defining. The next set of
+%D macros are a bit complicated by the fact that Plain
+%D \TEX\ defines the \type{\new}||macros as being outer.
+%D Furthermore nested \type{\if}'s can get us into
+%D trouble.
+
+\def\definecontextobject
+ {\iftrue}
+
+\def\gobblecontextobject
+ {\setbox0\hbox
+ \bgroup
+ \long\def\gobblecontextobject##1\fi{\egroup}%
+ \expandafter\gobblecontextobject\string}
+
+\long\def\ifnocontextobject#1\do
+ {\ifx#1\undefined
+ \expandafter\definecontextobject
+ \else
+ %\writestatus{system}{beware of conflicting \string#1}%
+ \expandafter\gobblecontextobject
+ \fi}
+
+%D \macros
+%D {beginETEX,beginTEX}
+%D
+%D Outside \CONTEXT\ we will not be \ETEX||aware.
+
+\long\def\beginETEX #1\endETEX {}
+\long\def\beginOMEGA#1\endOMEGA{}
+
+\let\beginTEX\relax \let\endTEX\relax
+
+%D \macros
+%D {writestatus}
+%D
+%D We start each module with a message. Normally the output is
+%D formatted, but here we keep things simple.
+
+\ifnocontextobject \writestatus \do
+
+ \def\writestatus#1#2%
+ {\immediate\write16{#1 : #2}}
+
+\fi
+
+%D Let's see if it works.
+
+\writestatus{loading}{Context Support Macros / Miscellaneous (2004.10.26)}
+
+%D \macros
+%D {protect,unprotect}
+%D
+%D Next we present a poor mans alternative for \type{\protect}
+%D and \type{\unprotect}, two commands that enable us to use
+%D the characters \type{@}, \type{!} and \type{?} in macro
+%D names.
+
+\ifnocontextobject \protect \do
+
+ \let\protect\relax
+
+\fi
+
+\newcount\protectiondepth
+
+\ifnocontextobject \unprotect \do
+
+ \def\unprotect
+ {\advance\protectiondepth 1
+ \ifnum\protectiondepth=1
+ \let\normalprotect=\protect
+ \def\protect
+ {\ifnum\protectiondepth>0
+ \advance\protectiondepth -1
+ \ifnum\protectiondepth=0
+ \doprotect
+ \let\protect=\normalprotect
+ \fi
+ \fi}
+ \edef\doprotect
+ {\catcode`\noexpand @=\the\catcode`@\relax
+ \catcode`\noexpand !=\the\catcode`!\relax
+ \catcode`\noexpand ?=\the\catcode`?\relax}
+ \catcode`@=11
+ \catcode`!=11
+ \catcode`?=11
+ \fi}
+
+\fi
+
+%D We start using this one it at once.
+
+\unprotect
+
+%D \macros
+%D {scratch...,if...,next...}
+%D
+%D We need some scratch registers. Users are free to use them,
+%D but can never be sure of their value once another macro is
+%D called. We only allocate things when they are yet
+%D undefined. This way we can't mess up other macro packages,
+%D but of course previous definitions can mess up our modules.
+
+\ifnocontextobject \donetrue \do \newif\ifdone \fi
+
+% no time now, will do a better test later (based on dimendef)
+
+\def\!!stringa{plain} \ifx\!!stringa\fmtname \donetrue \else
+\def\!!stringa{babel-plain} \ifx\!!stringa\fmtname \donetrue \else
+ \donefalse \fi \fi
+
+\ifdone
+ % plain defines some 15 dimens, so we need to define a few
+ % dummies in order to get out of the scratch area
+ \newdimen\scratchdimen % 16
+ \newdimen\scratchdimen % 17
+ \newdimen\scratchdimen % 18
+ \newdimen\scratchdimen % 19
+ \newdimen\scratchdimen % 20
+ \newdimen\scratchdimen % 21
+\fi
+
+\ifnocontextobject \scratchcounter \do \newcount \scratchcounter \fi
+\ifnocontextobject \scratchtoks \do \newtoks \scratchtoks \fi
+\ifnocontextobject \scratchdimen \do \newdimen \scratchdimen \fi
+\ifnocontextobject \scratchskip \do \newskip \scratchskip \fi
+\ifnocontextobject \scratchmuskip \do \newmuskip \scratchmuskip \fi
+\ifnocontextobject \scratchbox \do \newbox \scratchbox \fi
+\ifnocontextobject \scratchread \do \newread \scratchread \fi
+\ifnocontextobject \scratchwrite \do \newwrite \scratchwrite \fi
+
+%D Watch out, in the past we ran into troubles with \type {\onepoint}
+%D (and others) mening something different in \LATEX\ then here. In
+%D such situations clashes are bound to happen. For this reason the
+%D assignments are no inside the test. We try to catch those situations
+%D but we cannot keep ahead of teh future.
+
+\ifnocontextobject \zeropoint \do \newdimen \zeropoint \zeropoint = 0pt \fi % else problems with dimen12
+\ifnocontextobject \onepoint \do \newdimen \onepoint \onepoint = 1pt \fi
+\ifnocontextobject \onebasepoint \do \newdimen \onebasepoint \onebasepoint = 1bp \fi
+\ifnocontextobject \zerocount \do \chardef \zerocount = 0 \fi
+\ifnocontextobject \plusone \do \chardef \plusone = 1 \fi
+\ifnocontextobject \minusone \do \newcount \minusone \minusone = -1 \fi
+\ifnocontextobject \thousandpoint \do \newdimen \thousandpoint \thousandpoint = 1000pt \fi
+\ifnocontextobject \onerealpoint \do \newdimen \onerealpoint \onerealpoint = 1pt \fi % latex has a funny \onepoint
+
+\ifnocontextobject \emptytoks \do \newtoks \emptytoks \fi
+\ifnocontextobject \nextbox \do \newbox \nextbox \fi
+\ifnocontextobject \nextdepth \do \newdimen \nextdepth \fi
+
+\ifnocontextobject \CONTEXTtrue \do \newif\ifCONTEXT \fi
+\ifnocontextobject \eightbitcharacterstrue \do \newif\ifeightbitcharacters \fi
+\ifnocontextobject \MPdrawingdonetrue \do \newif\ifMPdrawingdone \fi
+
+\ifnocontextobject \ifzeropt \do \let\ifzeropt\ifcase \fi
+
+%D \macros
+%D {@@...}
+%D
+%D We use symbolic name for \CATCODES. They can only be used
+%D when we are in unprotected state.
+
+\ifnocontextobject \@@escape \do \chardef\@@escape = 0 \fi
+\ifnocontextobject \@@begingroup \do \chardef\@@begingroup = 1 \fi
+\ifnocontextobject \@@endgroup \do \chardef\@@endgroup = 2 \fi
+\ifnocontextobject \@@endofline \do \chardef\@@endofline = 5 \fi
+\ifnocontextobject \@@ignore \do \chardef\@@ignore = 9 \fi
+\ifnocontextobject \@@space \do \chardef\@@space = 10 \fi
+\ifnocontextobject \@@letter \do \chardef\@@letter = 11 \fi
+\ifnocontextobject \@@other \do \chardef\@@other = 12 \fi
+\ifnocontextobject \@@active \do \chardef\@@active = 13 \fi
+\ifnocontextobject \@@comment \do \chardef\@@comment = 14 \fi
+
+\def\s!sp{sp}
+\def\s!pt{pt}
+\def\s!bp{bp}
+
+%D \macros
+%D {@EA,expanded,expandoneargafter,expandtwoargsafter}
+%D
+%D Also needed:
+
+\let\@EA=\expandafter \let\@@expanded\empty
+
+\def\expanded#1%
+ {\long\xdef\@@expanded{\noexpand#1}\@@expanded}
+
+\def\expandoneargafter#1#2%
+ {\@EA#1\@EA{#2}}
+
+\def\expandtwoargsafter#1#2#3%
+ {\@EA\@EA\@EA#1\@EA\@EA\@EA{\@EA#2\@EA}\@EA{#3}}
+
+\def\@EAEAEA{\@EA\@EA\@EA}
+
+%D \macros
+%D {everyline,EveryLine,EveryPar}
+%D
+%D In \CONTEXT\ we use \type{\everypar} for special purposes
+%D and provide \type{\EveryPar} as an alternative. The same
+%D goes for \type{\everyline} and \type{\EveryLine}.
+
+\ifnocontextobject \everyline \do \newtoks\everyline \fi
+\ifnocontextobject \EveryPar \do \let\EveryPar =\everypar \fi
+\ifnocontextobject \EveryLine \do \let\EveryLine=\everyline \fi
+
+%D \macros
+%D {globallet}
+
+\def\globallet{\global\let}
+
+%D \macros
+%D {!!...}
+%D
+%D We reserve ourselves some scratch strings (i.e. macros)
+%D and some more counters.
+
+\ifnocontextobject \!!stringa \do \def\!!stringa {} \fi
+\ifnocontextobject \!!stringb \do \def\!!stringb {} \fi
+\ifnocontextobject \!!stringc \do \def\!!stringc {} \fi
+\ifnocontextobject \!!stringd \do \def\!!stringd {} \fi
+
+\ifnocontextobject \!!counta \do \newcount\!!counta {} \fi
+\ifnocontextobject \!!countb \do \newcount\!!countb {} \fi
+
+%D \macros
+%D {!!...}
+%D
+%D The next set of definitions speed up processing a bit.
+%D Furthermore it saves memory.
+
+\ifnocontextobject \!!zeropoint \do \def\!!zeropoint {0pt} \fi
+\ifnocontextobject \!!zerocount \do \def\!!zerocount {0} \fi
+\ifnocontextobject \!!tenthousand \do \def\!!tenthousand {10000} \fi
+
+\ifnocontextobject \!!width \do \def\!!width {width} \fi
+\ifnocontextobject \!!height \do \def\!!height {height} \fi
+\ifnocontextobject \!!depth \do \def\!!depth {depth} \fi
+
+\ifnocontextobject \!!plus \do \def\!!plus {plus} \fi
+\ifnocontextobject \!!minus \do \def\!!minus {minus} \fi
+\ifnocontextobject \!!to \do \def\!!to {to} \fi
+
+%D \macros
+%D {smashbox}
+%D
+%D The system modules offer a range of smashing macros, of
+%D which we only copied \type{\smashbox}.
+
+\ifnocontextobject \smashbox \do
+
+ \def\smashbox#1%
+ {\wd#1\zeropoint
+ \ht#1\zeropoint
+ \dp#1\zeropoint}
+
+\fi
+
+%D \macros
+%D {dowithnextbox}
+%D
+%D Also without further comment, we introduce a macro that
+%D gets the next box and does something usefull with it.
+%D Because the \type{\afterassignment} is executed inside the
+%D box, we have to use a \type{\aftergroup} too.
+
+\ifnocontextobject \dowithnextbox \do
+
+ \def\dowithnextbox#1%
+ {\def\dodowithnextbox{#1}%
+ \afterassignment\dododowithnextbox
+ \setbox\nextbox}
+
+ \def\dododowithnextbox%
+ {\aftergroup\dodowithnextbox}
+
+\fi
+
+%D \macros
+%D {setvalue,setevalue,setxvalue,,setgvalue,
+%D getvalue,
+%D letvalue,letgvalue}
+%D
+%D The next two macros expand their argument to
+%D \type{\argument}. The first one is used to define macro's
+%D the second one executes them.
+
+\ifnocontextobject \setvalue \do
+
+ \def\setvalue #1{\expandafter\def\csname#1\endcsname}
+ \def\setevalue#1{\expandafter\edef\csname#1\endcsname}
+ \def\setgvalue#1{\expandafter\gdef\csname#1\endcsname}
+ \def\setxvalue#1{\expandafter\xdef\csname#1\endcsname}
+ \def\getvalue #1{\csname#1\endcsname}
+ \def\letvalue #1{\expandafter\let\csname#1\endcsname}
+ \def\letgvalue#1{\global\expandafter\let\csname#1\endcsname}
+\fi
+
+%D \macros
+%D {unexpanded}
+%D
+%D The next command can be used as prefixed for commands that
+%D need protection during tests and writing to files. This
+%D is a very \CONTEXT\ specific one.
+
+\ifnocontextobject \unexpanded \do
+
+ \let\unexpanded\relax
+
+\fi
+
+%D \macros
+%D {convertargument}
+%D
+%D The original one offers a bit more, like global assignment, the
+%D the next implementation is however a bit more byte saving.
+
+\ifnocontextobject \convertargument \do
+
+ \def\doconvertargument#1>{}
+
+ \long\def\convertargument#1\to#2%
+ {\long\def\convertedargument{#1}%
+ \edef#2{\expandafter\doconvertargument\meaning\convertedargument}}
+
+\fi
+
+%D \macros
+%D {forgetall}
+%D
+%D Sometimes we have to disable interference of whatever kind
+%D of skips and mechanisms. The next macro resets some.
+
+\ifnocontextobject \forgetall \do
+
+ \def\forgetall
+ {\parskip\zeropoint
+ \leftskip\zeropoint
+ \parindent\zeropoint
+ \everypar{}}
+
+\fi
+
+%D \macros
+%D {withoutpt,
+%D ScaledPointsToBigPoints,ScaledPointsToWholeBigPoints}
+%D
+%D \TEX\ lacks some real datastructure. We can however use
+%D \DIMENSIONS. This kind of trickery is needed when we want
+%D \TEX\ to communicate with the outside world (by means of
+%D \type{\specials}).
+
+\ifnocontextobject \withoutpt \do
+
+ {\catcode`\.=\@@other
+ \catcode`\p=\@@other
+ \catcode`\t=\@@other
+ \gdef\WITHOUTPT#1pt{#1}}
+
+ \def\withoutpt#1%
+ {\expandafter\WITHOUTPT#1}
+
+ \def\ScaledPointsToBigPoints#1#2%
+ {\scratchdimen=#1sp\relax
+ \scratchdimen=.996264\scratchdimen
+ \edef#2{\withoutpt{\the\scratchdimen}}}
+
+ \def\ScaledPointsToWholeBigPoints#1#2%
+ {\scratchdimen=#1sp
+ \scratchdimen=.996264\scratchdimen
+ \scratchcounter=\scratchdimen
+ \advance\scratchcounter by 32768
+ \divide\scratchcounter by 65536
+ \edef#2{\the\scratchcounter}}
+
+\fi
+
+%D \macros
+%D {doprocessfile}
+%D
+%D This macro takes three arguments: the file number, the
+%D filename and a macro that handles the content of a read
+%D line.
+
+\newif\iffileprocessed
+
+\ifnocontextobject \doprocessfile \do
+
+ \def\doprocessfile#1#2#3%
+ {\openin#1=#2\relax
+ \ifeof#1%
+ \fileprocessedfalse
+ \closein#1\relax
+ \else
+ \fileprocessedtrue
+ \gdef\dofinishfile%
+ {\closein#1\relax
+ \global\let\doprocessline\relax}%
+ \gdef\doprocessline%
+ {\ifeof#1%
+ \dofinishfile
+ \else
+ \global\read#1 to \fileline
+ #3\relax
+ \expandafter\doprocessline
+ \fi}%
+ \expandafter\doprocessline
+ \fi}
+
+\fi
+
+%D \macros
+%D {uncatcodespecials}
+%D
+%D This one is taken from the \TEX\ book. The \CONTEXT\
+%D alternative is a bit different, but we hope this one works
+%D here.
+
+\ifx\dospecials\undefined
+
+ \def\dospecials
+ {\do\ \do\\\do\{\do\}\do\$%
+ \do\#\do\^\do\_\do\&\do\%%
+ \do\~\do\^^A\do\^^K}
+
+\fi
+
+\ifnocontextobject \uncatcodespecials \do
+
+ \def\uncatcodespecials
+ {\def\do##1{\catcode`##1=12 }\dospecials
+ \catcode`\ =\@@space
+ \catcode`\^^L=\@@ignore
+ \catcode`\^^M=\@@endofline
+ \catcode`\^^?=\@@ignore}
+
+\fi
+
+\ifnocontextobject \setnaturalcatcodes \do
+
+\def\setnaturalcatcodes
+ {\catcode`\!=\@@other \catcode`\?=\@@other \catcode`\@=\@@other
+ \catcode`\#=\@@other \catcode`\&=\@@other \catcode`\|=\@@other
+ \catcode`\$=\@@other \catcode`\^=\@@other \catcode`\_=\@@other
+ \catcode`\*=\@@other \catcode`\/=\@@other
+ \catcode`\-=\@@other \catcode`+=\@@other
+ \catcode`\==\@@other \catcode`\<=\@@other \catcode`\>=\@@other
+ \catcode`\"=\@@other \catcode`\'=\@@other \catcode`\`=\@@other
+ \catcode`\:=\@@other \catcode`\;=\@@other
+ \catcode`\,=\@@other \catcode`\.=\@@other \catcode`\~=\@@other
+ \catcode`\(=\@@other \catcode`\)=\@@other
+ \catcode`\{=\@@other \catcode`\}=\@@other
+ \catcode`\\=\@@other \catcode`\%=\@@other }
+
+\fi
+
+%D \macros
+%D {doglobal}
+%D
+%D Some \CONTEXT\ low level macros can have a \type{\doglobal}
+%D prefix. Let's just forget about that here:
+
+\ifnocontextobject \doglobal \do \let\doglobal\relax \fi
+
+%D The next obscure one is needed in the generic verbatim
+%D environment. When we end up with more of these, it's time
+%D to load the module \type{syst-gen}.
+
+\ifnocontextobject \doifincsnameelse \do
+
+ \def\dodoifincsnameelse#1#2%
+ {\def\dododoifincsnameelse##1#1##2##3\war%
+ {\csname\if##2@iffalse\else iftrue\fi\endcsname}%
+ \expandafter\dododoifincsnameelse#2#1@@\war}
+
+ \long\def\doifincsnameelse#1#2#3#4%
+ {\edef\@@instring{#1}%
+ \expandafter\dodoifincsnameelse\expandafter{\@@instring}{#2}%
+ #3%
+ \else
+ #4%
+ \fi}
+
+\fi
+
+%D \macros
+%D {dostepwiserecurse, dorecurse, doloop, exitloop}
+%D
+%D The next loop macro is a real weak one, and does not offer
+%D the full \CONTEXT\ functionality, let alone nesting, but
+%D for simple purposes, its behaviour is acceptable.
+
+\newcount\recursecounter
+
+\def\dostepwiserecurse#1#2#3#4% very weak and rubishly version
+ {\ifnum#2<#1\relax\else\dodostepwiserecurse{#1}{#2}{#3}{#4}\fi}
+
+\def\dodostepwiserecurse#1#2#3#4% very weak and rubishly version
+ {\recursecounter=#1\relax
+ \loop
+ \edef\recurselevel{\the\recursecounter}%
+ #4\relax
+ \ifnum\recursecounter<#2\relax
+ \advance\recursecounter by #3\relax
+ \repeat}
+
+\def\dorecurse#1%
+ {\dostepwiserecurse{1}{#1}{1}}
+
+\def\doloop
+ {\dostepwiserecurse{1}{\maxdimen}{1}}
+
+\def\exitloop
+ {\recursecounter=\maxdimen}
+
+%D \macros
+%D {ifundefined,doifdefined,doifundefined,
+%D doifdefinedelse,doifundefinedelse}
+%D
+%D These alteratives are not robust but suitable for simple
+%D usage. The official ones are a bit faster.
+
+\ifnocontextobject \doifdefined \do
+
+ \def\ifundefined#1%
+ {\expandafter\ifx\csname#1\endcsname\relax}
+
+ \def\doifdefinedelse#1#2#3%
+ {\expandafter\ifx\csname#1\endcsname\relax#3\else#2\fi}
+
+ \def\doifundefinedelse#1#2#3%
+ {\expandafter\ifx\csname#1\endcsname\relax#2\else#3\fi}
+
+ \def\doifdefined#1#2%
+ {\expandafter\ifx\csname#1\endcsname\relax\else#2\fi}
+
+ \def\doifundefined#1#2%
+ {\expandafter\ifx\csname#1\endcsname\relax#2\fi}
+
+\fi
+
+%D \macros
+%D {doifinstringelse}
+%D
+%D It seems like we end up with more and more macros here.
+%D Sigh.
+
+\ifnocontextobject \doifinstringelse \do
+
+ \def\p!doifinstringelse#1#2%
+ {\def\pp!doifinstringelse##1#1##2##3\war%
+ {\csname if\if##2@fals\else tru\fi e\endcsname}%
+ \expanded{\pp!doifinstringelse#2#1@@\noexpand\war}}
+
+ \long\def\doifinstringelse#1#2#3#4%
+ {\edef\@@@instring{#1}%
+ \@EA\p!doifinstringelse\@EA{\@@@instring}{#2}#3\else#4\fi}
+
+\fi
+
+%D \macros
+%D {twodigitrounding}
+%D
+%D We don't support rounding outside \CONTEXT. Sorry.
+
+\def\twodigitrounding#1{#1}
+
+%D \macros
+%D {lineheight}
+%D
+%D In \CONTEXT\ we have \type{\lineheight}, which in many
+%D cases matches \type {\baselineskip}.
+
+\ifnocontextobject \lineheight \do
+
+ \def\lineheight{\baselineskip}
+
+\fi
+
+%D \macros
+%D {dohandletokens}
+%D
+%D The following macro is the simplified version, but good
+%D enough for day to day hacks.
+%D
+%D \starttyping
+%D \dohandletokens some text\with\somemacro
+%D \stoptyping
+
+\ifnocontextobject \dohandletokens \do
+
+\def\dodohandletokens
+ {\ifx\next\end \else
+ \docommando{\next}%
+ \expandafter\dohandletokens
+ \fi}
+
+\def\dohandletokens
+ {\afterassignment\dodohandletokens\let\next= }
+
+\long\def\handletokens#1\with#2%
+ {\let\docommando=#2%
+ \dohandletokens#1\end}
+
+\fi
+
+%D Very reduced:
+
+\long\def\appendtoks#1\to#2%
+ {\scratchtoks{#1}\expanded{#2{\the#2\the\scratchtoks}}}
+
+%D Well, also handy.
+
+\def\doiffileelse#1#2#3%
+ {\immediate\openin\scratchread=#1\relax
+ \ifeof\scratchread
+ \def\next{#3}%
+ \else
+ \def\next{#2}%
+ \fi
+ \immediate\closein\scratchread
+ \next}
+
+%D New.
+
+\let\donothing\empty
+
+%D Also new:
+
+\def\letempty #1{\let#1\empty}
+\def\globalletempty#1{\global\let#1\empty}
+
+\def\letvalueempty #1{\expandafter\let\csname#1\endcsname\empty}
+\def\letgvalueempty#1{\global\expandafter\let\csname#1\endcsname\empty}
+
+%D Sigh
+
+\def\settrue #1{\chardef#1\zerocount}
+\def\setfalse#1{\chardef#1\plusone}
+
+\let\newconditional = \setfalse
+\let\ifconditional = \ifcase
+
+%D That's it. Please forget this junk and take a look at how
+%D it should be done.
+
+\StopLatexHack \protect \endinput
diff --git a/systems/doc/pdftex/samplepdftex/supp-pdf.tex b/systems/doc/pdftex/samplepdftex/supp-pdf.tex
new file mode 100644
index 0000000000..184cfb8158
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/supp-pdf.tex
@@ -0,0 +1,2191 @@
+%D \module
+%D [ file=supp-pdf,
+%D version=2004.12.16,
+%D title=\CONTEXT\ Support Macros,
+%D subtitle=\METAPOST\ to \PDF\ conversion,
+%D author=Hans Hagen \& others (see text),
+%D date=\currentdate,
+%D copyright=\PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D These macros are written as generic as possible. Some
+%D general support macro's are loaded from a small module
+%D especially made for non \CONTEXT\ use. In this module I
+%D use a matrix transformation macro written by Tanmoy
+%D Bhattacharya. Thanks to extensive testing by Sebastian
+%D Ratz I was able to complete this module within reasonable
+%D time. This module has support for \METAPOST\ extensions
+%D built in.
+%D
+%D Daniel H. Luecking came up with a better (more precise)
+%D transformation method. You can recognize his comment by
+%D his initials. (We keep the old code around because it's a
+%D nice illustration on how a module like this evolves.)
+
+% Beware, we cannot use \zeropoint here since it may be
+% defined in the range \dimen 0 - 20 which we happen to use
+% as scratch registers; inside context we may consider
+% using dedicated registers.
+
+% fails: ( ) vect10 9.96265 fshow % \040\040\040\040
+%
+% some optimizations are possible, but we need to be generic
+
+%D First we take care of non||\CONTEXT\ use (newlines needed,
+%D expandafter not -).
+
+\ifx \undefined \writestatus \input supp-mis.tex \relax \fi
+
+\ifx \undefined \convertMPtoPDF \else \expandafter \endinput \fi
+
+\ifx \undefined \StartLatexHack \else \StartLatexHack \fi
+
+%D This module handles some \PDF\ conversion and insertions
+%D topics. By default, the macros use the \PDFTEX\ primitive
+%D \type{\pdfliteral} when available. Since \PDFTEX\ is now the
+%D default engine for \TEX\ distributions, we need a more complex
+%D test.
+
+\writestatus{loading}{Context Support Macros / PDF (2004.03.26)}
+
+\unprotect
+
+\ifx\PDFcode\undefined
+ \ifx\pdfliteral\undefined
+ \def\PDFcode#1{\special{PDF: #1}}
+ \else\ifx\pdfoutput\undefined
+ \def\PDFcode#1{\special{PDF: #1}}
+ \else\ifcase\pdfoutput
+ \def\PDFcode#1{\special{PDF: #1}}
+ \else % pdftex as well as in pdf mode
+ \let\PDFcode\pdfliteral
+ \fi\fi\fi
+\else
+ % we probably use context
+\fi
+
+%D First we define a handy constant:
+
+\bgroup \catcode`\%=\@@other \xdef\letterpercent{\string%} \egroup
+
+%D \macros
+%D {pdfimage,pdfimages,pdfclippedimage}
+%D
+%D Starting with pdftex version 14, images are included more
+%D natural to the form embedding. This enables alternative
+%D images to be embedded.
+%D
+%D \starttyping
+%D \pdfimage <optional dimensions> {file}
+%D \pdfimages <optional dimensions> {high res file} {low res file}
+%D \stoptyping
+%D
+%D The first one replaces the pre||version||14 original,
+%D while the latter provides alternative images.
+%D
+%D The next macro is dedicated to Maarten Gelderman, who
+%D needed to paste prepared \PDF\ pages into conference
+%D proceedings.
+%D
+%D \starttyping
+%D \pdfclippedimage <optional dimensions> {file} {l} {r} {t} {b}
+%D \stoptyping
+
+% \ifx\pdftexversion\undefined % no \m!systems for the sake of latex
+% \writestatus{systems}{Why not use pdf(e)TeX binaries?}
+% \protect
+% \expandafter\endinput
+% \fi
+
+\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13
+
+ \def\pdfimage#1#%
+ {\dopdfimage{#1}}
+
+ \def\dopdfimage#1#2%
+ {\immediate\pdfximage#1{#2}%
+ \pdfrefximage\pdflastximage}
+
+ \def\pdfimages#1#%
+ {\dopdfimages{#1}}
+
+ \def\dopdfimages#1#2#3%
+ {\immediate\pdfximage#1{#2}%
+ \immediate\pdfobj
+ {[ << /Image \the\pdflastximage\space0 R
+ /DefaultForPrinting true >> ]}%
+ \immediate\pdfximage#1
+ attr {/Alternates \the\pdflastobj\space0 R}{#3}%
+ \pdfrefximage\pdflastximage}
+
+ \def\pdfclippedimage#1#% specs {file}{left}{right}{top}{bottom}
+ {\dopdfclippedimage{#1}}
+
+ \def\dopdfclippedimage#1#2#3#4#5#6%
+ {\bgroup
+ \pdfximage#1{#2}%
+ \setbox\scratchbox\hbox
+ {\pdfrefximage\pdflastximage}%
+ \hsize\wd\scratchbox
+ \advance\hsize -#3
+ \advance\hsize -#4
+ \vsize\ht\scratchbox
+ \advance\vsize -#5
+ \advance\vsize -#6
+ \setbox\scratchbox\vbox to \vsize
+ {\vskip-#5\hbox to \hsize{\hskip-#3\box\scratchbox\hss}}%
+ \pdfxform\scratchbox
+ \pdfrefxform\pdflastxform
+ \egroup}
+
+\fi \fi
+
+%D If you want to save a few hash entries, you may prefer the
+%D less readable alternatives, like:
+%D
+%D \starttyping
+%D \def\pdfimage#1#% This one is less readable but needs no additional
+%D {\bgroup % hash entry for the second stage macro.
+%D \def\pdfimage##1%
+%D {\immediate\pdfximage##1{#2}%
+%D \pdfrefximage\pdflastximage\egroup}}
+%D \stoptyping
+
+%D For old times sake we provide a few aliases. These will be
+%D removed some day.
+
+\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13
+
+ \let\pdfform =\pdfxform
+ \let\pdflastform=\pdflastxform
+ \let\pdfrefform =\pdfrefxform
+
+\fi \fi
+
+%D \macros
+%D {convertPDFtoPDF}
+%D
+%D \PDFTEX\ supports verbatim inclusion of \PDF\ code. The
+%D following macro takes care of inserting externally defined
+%D illustrations in \PDF\ format. According to a suggestion
+%D Tanmoy Bhattacharya posted to the \PDFTEX\ mailing list, we
+%D first skip lines until \type{stream} is reached and then
+%D copy lines until \type{endstream} is encountered. This
+%D scheme only works with vectorized graphics in which no
+%D indirect references to objects are used. Bitmaps also don't
+%D work. Interpreting their specifications is beyond the
+%D current implementation.
+%D
+%D \starttyping
+%D \convertPDFtoPDF
+%D {filename}
+%D {x scale} {y scale}
+%D {x offset } {y offset}
+%D {width} {height}
+%D \stoptyping
+%D
+%D When the scales are set to~1, the last last four values
+%D are the same as the bounding box, e.g.
+%D
+%D \starttyping
+%D \convertPDFtoPDF{mp-pra-1.pdf} {1} {1}{-1bp}{-1bp}{398bp}{398bp}
+%D \convertPDFtoPDF{mp-pra-1.pdf}{.5}{.5} {0bp} {0bp}{199bp}{199bp}
+%D \stoptyping
+%D
+%D Keep in mind, that this kind of copying only works for
+%D pure and valid pdf code (without fonts).
+
+%D The scanning and copying is straightforward and quite fast.
+%D To speed up things we use two constants.
+
+\def\@@PDFstream@@ {stream}
+\def\@@PDFendstream@@ {endstream}
+
+%D \macros
+%D {PDFmediaboxprefered}
+%D
+%D If needed, the macros can scan for the mediabox that
+%D specifies the dimensions and offsets of the graphic. When
+%D we say:
+%D
+%D \starttyping
+%D \PDFmediaboxpreferedtrue
+%D \stoptyping
+%D
+%D the mediabox present in the file superseded the user
+%D specified, already scaled and calculated offset and
+%D dimensions. Beware: the user supplied values are not the
+%D bounding box ones!
+
+%D This code has become obsolete.
+
+% \newif\ifPDFmediaboxprefered
+
+\def\setPDFboundingbox#1#2#3#4#5#6%
+ {\dimen0=#1\dimen0=#5\dimen0
+ \ScaledPointsToBigPoints{\number\dimen0}\PDFxoffset
+ \dimen0=#3\dimen0=#5\dimen0
+ \xdef\PDFwidth{\the\dimen0}%
+ \dimen0=#2\dimen0=#6\dimen0
+ \ScaledPointsToBigPoints{\number\dimen0}\PDFyoffset
+ \dimen0=#4\dimen0=#6\dimen0
+ \xdef\PDFheight{\the\dimen0}%
+ \global\let\PDFxoffset\PDFxoffset
+ \global\let\PDFyoffset\PDFyoffset}
+
+\def\setPDFmediabox#1[#2 #3 #4 #5]#6\done
+ {\dimen2=#2bp\dimen2=-\dimen2 % \dimen2=-#2bp also works since tex handles --
+ \dimen4=#3bp\dimen4=-\dimen4 % \dimen4=-#3bp also works since tex handles --
+ \dimen6=#4bp\advance\dimen6 \dimen2
+ \dimen8=#5bp\advance\dimen8 \dimen4
+ \setPDFboundingbox{\dimen2}{\dimen4}{\dimen6}{\dimen8}\PDFxscale\PDFyscale}
+
+% \def\checkPDFmediabox#1/MediaBox#2#3\done
+% {\ifx#2\relax \else
+% \message{mediabox}%
+% \setPDFmediabox#2#3\done
+% \fi}
+
+%D We use the general macro \type{\doprocessfile} and feed this
+%D with a line handling macro that changes it's behavior when
+%D the stream operators are encountered.
+
+% \def\handlePDFline
+% {\ifx\@@PDFstream@@\fileline
+% \let\doprocessPDFline\copyPDFobject
+% \startPDFtoPDF
+% \else\ifPDFmediaboxprefered
+% \expandafter\checkPDFmediabox\fileline/MediaBox\relax\done
+% \fi\fi}
+
+% \def\copyPDFobject
+% {\ifx\@@PDFendstream@@\fileline
+% \ifPDFmediaboxprefered
+% \let\doprocessPDFline\findPDFmediabox
+% \else
+% \let\doprocessPDFline\relax
+% \fi
+% \else
+% \advance\scratchcounter 1
+% \PDFcode{\fileline}%
+% \fi}
+
+% \def\findPDFmediabox
+% {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done}
+
+%D The main conversion macro wraps the \PDF\ codes in a box
+%D that is output as an object. The graphics are embedded
+%D in~\type{q} and~\type{Q} and are scaled and positioned using
+%D one transform call (\type{cm}). This saves some additional
+%D scaling.
+
+%D \starttyping
+%D \def\startPDFtoPDF%
+%D {\setbox0=\vbox\bgroup
+%D \message{[PDF to PDF \PDFfilename}%
+%D \forgetall
+%D \scratchcounter=0
+%D \let\stopPDFtoPDF=\dostopPDFtoPDF}
+%D
+%D \def\dostopPDFtoPDF%
+%D {\ifnum\scratchcounter<0 \scratchcounter=1 \fi
+%D \message{(\the\scratchcounter\space lines)]}%
+%D \egroup
+%D \wd0=\PDFwidth
+%D \vbox to \PDFheight
+%D {\forgetall
+%D \vfill
+%D \PDFcode{q}%
+%D \PDFcode{1 0 0 1 \PDFxoffset\space \PDFyoffset\space cm}%
+%D \PDFcode{\PDFxscale\space 0 0 \PDFyscale\space 0 0 cm}%
+%D \box0
+%D \PDFcode{Q}}}
+%D
+%D \def\stopPDFtoPDF%
+%D {\message{[PDF to PDF \PDFfilename\space not found]}}
+%D
+%D \def\convertPDFtoPDF#1#2#3#4#5#6#7%
+%D {\bgroup
+%D \def\PDFfilename{#1}%
+%D \def\PDFxscale {#2}%
+%D \def\PDFyscale {#3}%
+%D \setPDFboundingbox{#4}{#5}{#6}{#7}{1}{1}%
+%D \uncatcodespecials
+%D \endlinechar=-1
+%D \let\doprocessPDFline=\handlePDFline
+%D \doprocessfile\scratchread\PDFfilename\doprocessPDFline
+%D \stopPDFtoPDF
+%D \egroup}
+
+\def\convertPDFtoPDF#1#2#3#4#5#6#7%
+ {\message{[PDF to PDF use \string\PDFcode instead]}%
+ \vbox{use the direct method instead}}
+
+%D \macros
+%D {dogetPDFmediabox}
+%D
+%D The next macro can be used to find the mediabox of a \PDF\
+%D illustration.
+%D
+%D \starttyping
+%D \dogetPDFmediabox
+%D {filename}
+%D {new dimen}{new dimen}{new dimen}{new dimen}
+%D \stoptyping
+%D
+%D Beware of dimen clashes: this macro uses the 5~default
+%D scratch registers! When no file or mediabox is found, the
+%D dimensions are zeroed.
+
+\def\dogetPDFmediabox#1#2#3#4#5%
+ {\bgroup
+ \def\PDFxscale{1}%
+ \def\PDFyscale{1}%
+ \uncatcodespecials
+ \endlinechar\minusone
+ \def\checkPDFtypepage##1/Type /Page##2##3\done%
+ {\ifx##2\relax
+ \else\if##2s% accept /Page and /Pages
+ \let\doprocessPDFline\findPDFmediabox
+ \else
+ \let\doprocessPDFline\findPDFmediabox
+ \fi\fi}%
+ \def\findPDFtypepage
+ {\expandafter\checkPDFtypepage\fileline/Type /Page\relax\done}%
+ \def\checkPDFmediabox##1/MediaBox##2##3\done%
+ {\ifx##2\relax \else
+ \setPDFmediabox##2##3\done
+ \fileprocessedtrue
+ \fi}%
+ \def\findPDFmediabox
+ {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done}%
+ \let\doprocessPDFline\findPDFtypepage
+ \doprocessfile\scratchread{#1}\doprocessPDFline
+ \egroup
+ \ifx\PDFxoffset\undefined
+ #2\zeropoint
+ #3\zeropoint
+ #4\zeropoint
+ #5\zeropoint
+ \else
+ #2=\PDFxoffset\onebasepoint
+ #3=\PDFyoffset\onebasepoint
+ #4=\PDFwidth
+ #5=\PDFheight
+ \fi}
+
+%D \macros
+%D {convertMPtoPDF}
+%D
+%D The next set of macros implements \METAPOST\ to \PDF\
+%D conversion. Because we want to test as fast as possible, we
+%D first define the \POSTSCRIPT\ operators that \METAPOST\
+%D uses. We don't define irrelevant ones, because these are
+%D skipped anyway.
+
+%D The converter can be made a bit faster by replacing the
+%D two test macros (the ones with the many \type {\if's}) by
+%D a call to named branch macros (something \typ {\getvalue
+%D {xPSmoveto}}. For everyday documents with relatively
+%D small graphics the gain in speed can be neglected.
+
+\def \PScurveto {curveto}
+\def \PSlineto {lineto}
+\def \PSmoveto {moveto}
+\def \PSshowpage {showpage}
+\def \PSnewpath {newpath}
+\def \PSfshow {fshow}
+\def \PSclosepath {closepath}
+\def \PSfill {fill}
+\def \PSstroke {stroke}
+\def \PSclip {clip}
+\def \PSrlineto {rlineto}
+\def \PSsetlinejoin {setlinejoin}
+\def \PSsetlinecap {setlinecap}
+\def \PSsetmiterlimit {setmiterlimit}
+\def \PSsetgray {setgray}
+\def \PSsetrgbcolor {setrgbcolor}
+\def \PSsetcmykcolor {setcmykcolor}
+\def \PSsetdash {setdash}
+\def \PSgsave {gsave}
+\def \PSgrestore {grestore}
+\def \PStranslate {translate}
+\def \PSscale {scale}
+\def \PSconcat {concat}
+\def \PSdtransform {dtransform}
+\def \PSsetlinewidth {setlinewidth}
+\def \PSpop {pop}
+
+\def \PSnfont {nfont} % was needed for TUG98 proceedings
+\def \PSspecial {special} % extensions to MetaPost
+
+%D A previous version set \type {%} to ignore, which
+%D simplified the following definitions. At the start of
+%D conversion the percent character was made active again.
+%D Because the whole graphic is one paragraph (there are no
+%D empty lines) this does not give the desired effect. This
+%D went unnoticed untill Scott Pakin sent me a test file
+%D percent characters in a string. So, from now on we have
+%D to prefix the following strings with percentages.
+
+\edef \PSBoundingBox {\letterpercent\letterpercent BoundingBox:}
+\edef \PSHiResBoundingBox {\letterpercent\letterpercent HiResBoundingBox:}
+\edef \PSExactBoundingBox {\letterpercent\letterpercent ExactBoundingBox:}
+\edef \PSMetaPostSpecial {\letterpercent\letterpercent MetaPostSpecial:}
+\edef \PSMetaPostSpecials {\letterpercent\letterpercent MetaPostSpecials:}
+\edef \PSPage {\letterpercent\letterpercent Page:}
+
+%D By the way, the \type {setcmykcolor} operator is not
+%D output by \METAPOST\ but can result from converting the
+%D \cap{RGB} color specifications, as implemented in
+%D \type{supp-mps}.
+
+%D In \POSTSCRIPT\ arguments precede the operators. Due to the
+%D fact that in some translations we need access to those
+%D arguments, and also because sometimes we have to skip them,
+%D we stack them up. The stack is one||dimensional for non path
+%D operators and two||dimensional for operators inside a path.
+%D This is because we have to save the whole path for
+%D (optional) postprocessing. Values are pushed onto the stack
+%D by:
+%D
+%D \starttyping
+%D \setMPargument {value}
+%D \stoptyping
+%D
+%D They can be retrieved by the short named macros:
+%D
+%D \starttyping
+%D \gMPa {number}
+%D \gMPs {number}
+%D \stoptyping
+%D
+%D When scanning a path specification, we also save the
+%D operator, using
+%D
+%D \starttyping
+%D \setMPkeyword {n}
+%D \stoptyping
+%D
+%D The path drawing operators are coded for speed: \type{clip},
+%D \type{stroke}, \type{fill} and \type{fillstroke} become
+%D 1, 2, 3 and~4.
+%D
+%D When processing the path this code can be retrieved
+%D using
+%D
+%D \starttyping
+%D \getMPkeyword % {n}
+%D \stoptyping
+%D
+%D When setting an argument, the exact position on the stack
+%D depends on the current value of the \COUNTERS\
+%D \type{\nofMPsegments} and \type{\nofMParguments}.
+
+\newcount\nofMPsegments
+\newcount\nofMParguments
+
+%D These variables hold the coordinates. The argument part of
+%D the stack is reset by:
+%D
+%D \starttyping
+%D \resetMPstack
+%D \stoptyping
+%D
+%D We use the prefix \type{@@MP} to keep the stack from
+%D conflicting with existing macros. To speed up things a bit
+%D more, we use the constant \type{\@@MP}.
+
+\def\@@MP{@@MP}
+
+\def\setMPargument% #1%
+ {\advance\nofMParguments \plusone
+ \expandafter\def
+ \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname} % {#1}
+
+\def\letMPargument
+ {\advance\nofMParguments \plusone
+ \expandafter\let
+ \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname}
+
+\def\setMPsequence#1 %
+ {\advance\nofMParguments \plusone
+ \expandafter\def
+ \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname{#1}%
+ \handleMPsequence}
+
+\def\gMPa#1%
+ {\csname\@@MP0\number#1\endcsname}
+
+\def\gMPs#1%
+ {\csname\@@MP\the\nofMPsegments\number#1\endcsname}
+
+\def\dogMPa#1%
+ {\@EAEAEA\do\csname\@@MP0\number#1\endcsname}
+
+\def\setMPkeyword#1 %
+ {\expandafter\def\csname\@@MP\the\nofMPsegments0\endcsname{#1}%
+ \advance\nofMPsegments \plusone
+ \nofMParguments\zerocount}
+
+\def\getMPkeyword% #1%
+ {\csname\@@MP\the\nofMPsegments0\endcsname} % {\csname\@@MP#10\endcsname}
+
+%D When we reset the stack, we can assume that all further
+%D comment is to be ignored and handled in strings.
+%D By redefining the reset macro after the first call, we
+%D save some run time. Only use this macro after all
+%D comments are processed and use the simple alternative
+%D when dealing with comments.
+
+\def\doresetMPstack
+ {\nofMParguments\zerocount}
+
+\def\resetMPstack
+ {\let\handleMPgraphic\handleMPendgraphic
+ \let\resetMPstack\doresetMPstack
+ \resetMPstack}
+
+%D The arguments are saved with the preceding command
+%D \type{\do}. By default this command expands to nothing, but
+%D when we deal with strings it's used to strip off the
+%D \type{(} and \type{)}.
+%D
+%D Strings are kind of tricky, because characters can be
+%D passed verbatim \type{(hello)}, by octal number
+%D \type{(\005)} or as command \type{(\()}. We therefore
+%D cannot simply ignore \type{(} and \type{)}, the way we do
+%D with \type{[} and \type{]}. Another complication is that
+%D strings may contain characters that normally have a
+%D special meaning in \TEX, like \type{$} and \type{{}}.
+%D
+%D A previous solution made \type{\} an active character and
+%D let it look ahead for a number or characters. We had to
+%D abandon this scheme because of the need for verbatim
+%D support. The next solution involved some \CATCODE\
+%D trickery but works well.
+
+\def\octalMPcharacter#1#2#3%
+ {\char'#1#2#3\relax}
+
+\bgroup
+\catcode`\|=\@@comment
+\catcode`\%=\@@active
+\catcode`\[=\@@active
+\catcode`\]=\@@active
+\catcode`\{=\@@active
+\catcode`\}=\@@active
+\catcode`B=\@@begingroup
+\catcode`E=\@@endgroup
+\gdef\ignoreMPspecials|
+ B\let%\letterpercent|
+ \def[BE|
+ \def]BE|
+ \def{BE|
+ \def}BEE
+\gdef\obeyMPspecials|
+ B\def%B\char 37\relax E|
+ \def[B\char 91\relax E|
+ \def]B\char 93\relax E|
+ \def{B\char123\relax E|
+ \def}B\char125\relax EE
+\gdef\setMPspecials|
+ B\setnaturalcatcodes
+ \catcode`\\=\@@escape
+ \catcode`\%=\@@active
+ \catcode`\[=\@@active
+ \catcode`\]=\@@active
+ \catcode`\{=\@@active
+ \catcode`\}=\@@active
+ \lccode`\-=0 | latex sets this to `\-
+ \lccode`\%=`\% | otherwise it's seen as a number
+ \def\(B\char40\relax E|
+ \def\)B\char41\relax E|
+ \def\\B\char92\relax E|
+ \def\0B\octalMPcharacter0E|
+ \def\1B\octalMPcharacter1E|
+ \def\2B\octalMPcharacter2E|
+ \def\3B\octalMPcharacter3E|
+ \def\4B\octalMPcharacter4E|
+ \def\5B\octalMPcharacter5E|
+ \def\6B\octalMPcharacter6E|
+ \def\7B\octalMPcharacter7E|
+ \def\8B\octalMPcharacter8E|
+ \def\9B\octalMPcharacter9EE
+\egroup
+
+%D We use the comment symbol as a sort of trigger. Beware!
+%D The whole graphic is seen as on eparagraph, which means
+%D that we cannot change the catcodes in between.
+
+\bgroup
+\catcode`\%=\@@active
+\gdef\startMPscanning{\let%=\startMPconversion}
+\egroup
+
+%D In earlier versions we used the sequence
+%D
+%D \starttyping
+%D \expandafter\handleMPsequence\input filename\relax
+%D \stoptyping
+%D
+%D Persistent problems in \LATEX\ however forced us to use a
+%D different scheme. Every \POSTSCRIPT\ file starts with a
+%D \type{%}, so we temporary make this an active character
+%D that starts the scanning and redefines itself. (The problem
+%D originates in the redefinition by \LATEX\ of the
+%D \type{\input} primitive.)
+
+\def\startMPconversion
+ {\ignoreMPspecials
+ \handleMPsequence}
+
+%D Here comes the main loop. Most arguments are numbers. This
+%D means that they can be recognized by their \type{\lccode}.
+%D This method saves a lot of processing time. We could
+%D speed up the conversion by handling the \type{path}
+%D seperately.
+
+\def\@EAEAEA{\expandafter\expandafter\expandafter} % to be sure
+
+\def\dohandleMPsequence#1%
+ {\ifdone
+ \ifcase\lccode`#1\relax
+ \@EAEAEA\dohandleMPsequenceA
+ \else
+ \@EAEAEA\dohandleMPsequenceB
+ \fi
+ \else
+ \@EA\dohandleMPsequenceC
+ \fi#1}
+
+%\def\dohandleMPsequenceA#1 %
+% {\setMPargument{#1}%
+% \handleMPsequence}
+
+\let\dohandleMPsequenceA\setMPsequence
+
+\def\dohandleMPsequenceB#1 %
+ {\edef\somestring{#1}%
+ \ifx\somestring\PSmoveto
+ \edef\lastMPmoveX{\gMPa1}%
+ \edef\lastMPmoveY{\gMPa2}%
+ \PDFcode{\!MPgMPa1 \!MPgMPa2 m}%
+ \resetMPstack
+ \else\ifx\somestring\PSnewpath
+ \let\handleMPsequence\handleMPpath
+ \else\ifx\somestring\PSgsave
+ \PDFcode{q}%
+ \resetMPstack
+ \else\ifx\somestring\PSgrestore
+ \PDFcode{Q}%
+ \resetMPstack
+ \else\ifx\somestring\PSdtransform % == setlinewidth
+ \let\handleMPsequence\handleMPdtransform
+ % after that we will encounter more tokens until setlinewidth+pop
+ % or pop+setlinewidth which we catch next; we explicitly need to
+ % reset the stack since [] n setdash may follow; a more clever
+ % approach would be to read on till the condition is met, but it's
+ % the only pop / setlinewidth we will encounter so ...
+ \else\ifx\somestring\PSsetlinewidth
+ % already handled in dtransform
+ \resetMPstack
+ \else\ifx\somestring\PSpop
+ % already handled in dtransform
+ \resetMPstack
+ \else\ifx\somestring\PSconcat
+ \PDFcode{\gMPa1 \gMPa2 \gMPa3 \gMPa4 \gMPa5 \gMPa6 cm}%
+ \resetMPstack
+ \else\ifx\somestring\PSsetrgbcolor
+ \handleMPrgbcolor
+ \resetMPstack
+ \else\ifx\somestring\PSsetcmykcolor
+ \handleMPcmykcolor
+ \resetMPstack
+ \else\ifx\somestring\PSsetgray
+ \handleMPgraycolor
+ \resetMPstack
+ \else\ifx\somestring\PStranslate
+ \PDFcode{1 0 0 1 \gMPa1 \gMPa2 cm}%
+ \resetMPstack
+ \else\ifx\somestring\PSsetdash
+ \handleMPsetdash
+ \resetMPstack
+ \else\ifx\somestring\PSsetlinejoin
+ \PDFcode{\gMPa1 j}%
+ \resetMPstack
+ \else\ifx\somestring\PSsetmiterlimit
+ \PDFcode{\gMPa1 M}%
+ \resetMPstack
+ \else\ifx\somestring\PSfshow
+ \PDFcode{n}%
+ \handleMPfshow
+ \resetMPstack
+ \else\ifx\somestring\PSsetlinecap
+ \PDFcode{\gMPa1 J}%
+ \resetMPstack
+ \else\ifx\somestring\PSrlineto
+ \PDFcode{\!MP\lastMPmoveX\space\!MP\lastMPmoveY\space l S}%
+ \resetMPstack
+ \else\ifx\somestring\PSscale
+ \PDFcode{\gMPa1 0 0 \gMPa2 0 0 cm}%
+ \resetMPstack
+ \else\ifx\somestring\PSspecial
+ \handleMPspecialcommand
+ \resetMPstack
+ \else
+ \handleMPgraphic% {#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \handleMPsequence}
+
+\def\dohandleMPsequenceC#1 %
+ {\edef\somestring{#1}%
+ \handleMPgraphic % {#1}%
+ \handleMPsequence}
+
+%D Since colors are not sensitive to transformations, they
+%D are sometimes used for signaling. Therefore, we handle them
+%D separately. The next macro can be redefined if needed.
+
+\def\handleMPrgbcolor
+ {\PDFcode{\!MPgMPa1 \!MPgMPa2 \!MPgMPa3 rg
+ \!MPgMPa1 \!MPgMPa2 \!MPgMPa3 RG}}
+
+\def\handleMPcmykcolor
+ {\PDFcode{\!MPgMPa1 \!MPgMPa2 \!MPgMPa3 \!MPgMPa4 k
+ \!MPgMPa1 \!MPgMPa2 \!MPgMPa3 \!MPgMPa4 K}}
+
+\def\handleMPgraycolor
+ {\PDFcode{\!MPgMPa1 g
+ \!MPgMPa1 G}}
+
+\def\handleMPspotcolor
+ {\PDFcode{0 g
+ 0 G}}
+
+%D Beginning and ending the graphics is taken care of by the
+%D macro \type{\handleMPgraphic}, which is redefined when
+%D the first graphics operator is met.
+
+\def\handleMPendgraphic % #1%
+ {\ifx\somestring\PSshowpage
+ \let\handleMPsequence\finishMPgraphic
+ \else
+ \letMPargument\somestring % {#1}%
+ \fi}
+
+\def\handleMPbegingraphic % #1%
+ {\ifx\somestring\PSBoundingBox
+ \def\handleMPsequence{\handleMPboundingbox1}%
+ \else\ifx\somestring\PSHiResBoundingBox
+ \def\handleMPsequence{\handleMPboundingbox2}%
+ \else\ifx\somestring\PSExactBoundingBox
+ \def\handleMPsequence{\handleMPboundingbox3}%
+ \else\ifx\somestring\PSshowpage
+ \let\handleMPsequence\finishMPgraphic
+ \else\ifx\somestring\PSPage
+ \let\handleMPsequence\handleMPpage
+ \else\ifx\somestring\PSMetaPostSpecials
+ \let\handleMPsequence\handleMPspecialscomment
+ \else\ifx\somestring\PSMetaPostSpecial
+ \let\handleMPsequence\handleMPspecialcomment
+ \else
+ \letMPargument\somestring % {#1}%
+ \fi\fi\fi\fi\fi\fi\fi}
+
+\let\handleMPgraphic=\handleMPbegingraphic
+
+%D We check for three kind of bounding boxes: the normal one
+%D and two high precision ones:
+%D
+%D \starttyping
+%D BoundingBox: llx lly ucx ucy
+%D HiResBoundingBox: llx lly ucx ucy
+%D ExactBoundingBox: llx lly ucx ucy
+%D \stoptyping
+%D
+%D The original as well as the recalculated dimensions are
+%D saved for later use.
+
+\newif\ifskipemptyMPgraphic \skipemptyMPgraphicfalse
+
+\chardef\currentMPboundingbox=0
+
+\def\handleMPboundingbox#1#2 #3 #4 #5
+ {\ifnum#1>\currentMPboundingbox
+ \xdef\MPllx{#2}\xdef\MPlly{#3}%
+ \xdef\MPurx{#4}\xdef\MPury{#5}%
+ \dimen0=#2\onepoint
+ \dimen0=-\MPxscale\dimen0
+ \dimen2=#3\onepoint
+ \dimen2=-\MPyscale\dimen2
+ \xdef\MPxoffset{\withoutpt\the\dimen0}%
+ \xdef\MPyoffset{\withoutpt\the\dimen2}%
+ \dimen0=#2\onebasepoint
+ \dimen0=-\dimen0
+ \dimen2=#3\onebasepoint
+ \dimen2=-\dimen2
+ \advance\dimen0 #4\onebasepoint
+ \dimen0=\MPxscale\dimen0
+ \xdef\MPwidth{\the\dimen0}%
+ \advance\dimen2 #5\onebasepoint
+ \xdef\MPyshift{\the\dimen2}% unscaled
+ \dimen2=\MPyscale\dimen2
+ \xdef\MPheight{\the\dimen2}%
+ \chardef\currentMPboundingbox#1\relax
+ \fi
+ \doresetMPstack
+ \let\handleMPsequence\dohandleMPsequence
+ \let\next\handleMPsequence
+ \ifskipemptyMPgraphic
+ \ifdim\MPheight=\zeropoint\relax\ifdim\MPwidth=\zeropoint\relax
+ \def\next{\endinput\finishMPgraphic}%
+ \fi\fi
+ \fi
+ \next}
+
+%D Unless defined otherwise, we simply ignore specialcomments.
+
+\def\handleMPspecialcomment
+ {\doresetMPstack
+ \let\handleMPsequence\dohandleMPsequence
+ \handleMPsequence}
+
+\let\handleMPspecialscomment\handleMPspecialcomment
+
+%D We use the \type{page} comment as a signal that
+%D stackbuilding can be started.
+
+\def\handleMPpage #1 #2
+ {\doresetMPstack
+ \donetrue
+ \let\handleMPsequence\dohandleMPsequence
+ \handleMPsequence}
+
+%D The same applies to the special extensions.
+
+\def\handleMPspecialcommand
+ {\doresetMPstack
+ \let\handleMPsequence\dohandleMPsequence
+ \handleMPsequence}
+
+%D \METAPOST\ draws its dots by moving to a location and
+%D invoking \type{0 0 rlineto}. This operator is not
+%D available in \PDF. Our solution is straightforward: we draw
+%D a line from $(current\_x, current\_y)$ to itself. This
+%D means that the arguments of the preceding \type{moveto} have
+%D to be saved.
+
+\def\lastMPmoveX{0}
+\def\lastMPmoveY{0}
+
+%D These saved coordinates are also used when we handle the
+%D texts. Text handling proved to be a bit of a nuisance, but
+%D finally I saw the light. It proved that we also had to
+%D take care of \type{(split arguments)}.
+
+\def\setMPfshowfont#1#2%
+ {\font\temp=#1\space at #2\relax\temp}
+
+\let\MPfshowcommand\empty
+
+\def\dohandleMPfshow
+ {\bgroup
+ \setbox\scratchbox\hbox
+ {\obeyMPspecials
+ \edef\size{\gMPa\nofMParguments}%
+ \ifx\size\PSnfont % round font size (to pt)
+ \advance\nofMParguments \minusone
+ \expandafter\scratchdimen\gMPa\nofMParguments\onepoint\relax
+ \ifdim\scratchdimen<\onepoint
+ \def\size{1pt}%
+ \else
+ \advance\scratchdimen .5\onepoint
+ \def\size##1.##2\relax{\def\size{##1pt}}%
+ \expandafter\size\the\scratchdimen\relax
+ \fi
+ \else
+ \edef\size{\size bp}%
+ \fi
+ \advance\nofMParguments \minusone
+ %\font\temp=\gMPa\nofMParguments\space at \size
+ \let\temp\relax % to be sure
+ \setMPfshowfont{\gMPa\nofMParguments}\size
+ \advance\nofMParguments \minusone
+ \temp
+ \MPfshowcommand
+ {\ifnum\nofMParguments=\plusone
+ \def\do(##1){##1}%
+ \dogMPa1%
+ \else
+ % we need to catch ( a ) (a a a) (\123 \123 \123) etc
+ \scratchcounter\plusone
+ \def\dodo##1% Andreas Fieger's bug: (\304...)
+ {\edef\!!stringa{##1\empty\empty}% and another one: ( 11) -> \ifx 11
+ \ifx\!!stringa\MPspacechar\MPspacechar\else\expandafter##1\fi}%
+ \def\do(##1{\dodo{##1}}%
+ \dogMPa\scratchcounter\MPspacechar
+ \let\do\relax
+ \loop
+ \advance\scratchcounter \plusone
+ \ifnum\scratchcounter<\nofMParguments\relax
+ \gMPa\scratchcounter\MPspacechar
+ \repeat
+ \def\do##1){\dodo{##1}}%
+ \dogMPa\scratchcounter
+ \fi
+ \unskip}}%
+ %
+ % this fails in some versions of pdftex
+ %
+ % \dimen0=\lastMPmoveY bp
+ % \advance\dimen0 by \ht0
+ % \ScaledPointsToBigPoints{\number\dimen0}\lastMPmoveY
+ % \PDFcode{n q 1 0 0 1 \lastMPmoveX\space\lastMPmoveY\space cm}%
+ % \dimen0=\ht0
+ % \advance\dimen0 by \dp0
+ % \box0
+ % \vskip-\dimen0
+ % \PDFcode{Q}%
+ % \egroup}
+ %
+ \setbox\scratchbox\hbox
+ {\hskip\lastMPmoveX\onebasepoint\raise\lastMPmoveY\onebasepoint\box\scratchbox}%
+ \ht\scratchbox\zeropoint
+ \dp\scratchbox\zeropoint
+ \wd\scratchbox\zeropoint
+ \box\scratchbox
+ \egroup}
+
+\let\handleMPfshow\dohandleMPfshow % so we can overload this one later
+
+%D You could consider the following definition to be the most
+%D natural one.
+
+% \def\MPspacechar{\space} % normal case
+
+\def\MPspacechar{\char32\relax} % old solution does not work with math
+
+%D However, the following implementation is more robust, since
+%D some fonts have funny visible spaces in the space slot. This
+%D gives a mismatch between the space that \METAPOST\ took into
+%D account and the \quote {natural} space. This only happens in
+%D labels, since \type {btex}||\type {etex} thingies don't have
+%D spaces. This phenomena showed up when preparing the
+%D \METAFUN\ manual, where Palatino fonts are used. We can
+%D safely assume that \METAPOST\ considers \type {\char32} to
+%D be the space.
+
+\def\MPspacechar{\setbox\scratchbox\hbox{\char32}\kern\wd\scratchbox}
+
+%D Well, this does not work with math fonts, so:
+
+\def\MPspacechar{\char32\relax}
+
+%D Most operators are just converted and keep their
+%D arguments. Dashes however need a bit different treatment,
+%D otherwise \PDF\ viewers complain loudly. Another
+%D complication is that one argument comes after the \type{]}.
+%D When reading the data, we simply ignore the array boundary
+%D characters. We save ourselves some redundant newlines and
+%D at the same time keep the output readable by packing the
+%D literals.
+
+\def\handleMPsetdash
+ {\bgroup
+ \def\somestring{[}%
+ \scratchcounter\plusone
+ \loop
+ \ifnum\scratchcounter<\nofMParguments
+ \edef\somestring{\somestring\space\gMPa\scratchcounter}%
+ \advance\scratchcounter \plusone
+ \repeat
+ \edef\somestring{\somestring]\gMPa\scratchcounter\space d}%
+ \PDFcode{\somestring}%
+ \egroup}
+
+%D The \type{setlinewidth} commands looks a bit complicated. There are
+%D two alternatives, that result in a similar look in both
+%D $x$- and $y$-dorection. As John Hobby says:
+%D
+%D \startnarrower \switchtobodyfont[ss]
+%D \starttyping
+%D x 0 dtransform exch truncate exch idtransform pop setlinewidth
+%D 0 y dtransform truncate idtransform setlinewidth pop
+%D \stoptyping
+%D
+%D These are just fancy versions of \type{x setlinewidth} and
+%D \type{y setlinewidth}. The \type{x 0 ...} form is used if
+%D the path is {\em primarily vertical}. It rounds the width
+%D so that vertical lines come out an integer number of pixels
+%D wide in device space. The \type{0 y ...} form does the same
+%D for paths that are {\em primarily horizontal}. The reason
+%D why I did this is Knuth insists on getting exactly the
+%D widths \TEX\ intends for the horizontal and vertical rules
+%D in \type{btex...etex} output. (Note that PostScript scan
+%D conversion rules cause a horizontal or vertical line of
+%D integer width $n$ in device space to come out $n+1$ pixels
+%D wide, regardless of the phase relative to the pixel grid.)
+%D \stopnarrower
+%D
+%D The common operator in these sequences is \type{dtransform},
+%D so we can use this one to trigger setting the linewidth.
+
+\def\handleMPdtransform
+ {\ifdim\gMPa1\onepoint>\zeropoint
+ \PDFcode{\gMPa1 w}%
+ \def\next##1 ##2 ##3 ##4 ##5 ##6 {\handleMPsequence}%
+ \else
+ \PDFcode{\gMPa2 w}%
+ \def\next##1 ##2 ##3 ##4 {\handleMPsequence}%
+ \fi
+ \let\handleMPsequence\dohandleMPsequence
+ \resetMPstack
+ \next}
+
+%D The most complicated command is \type{concat}. \METAPOST\
+%D applies this operator to \type{stroke}. At that moment the
+%D points set by \type{curveto} and \type{moveto}, are already
+%D fixed. In \PDF\ however the \type{cm} operator affects the
+%D points as well as the pen (stroke). Like more \PDF\
+%D operators, \type{cm} is defined in a bit ambiguous way.
+%D The only save route for non||circular penshapes, is saving
+%D the path, recalculating the points and applying the
+%D transformation matrix in such a way that we can be sure
+%D that its behavior is well defined. This comes down to
+%D inverting the path and applying \type{cm} to that path as
+%D well as the pen. This all means that we have to save the
+%D path.
+
+%D In \METAPOST\ there are three ways to handle a path $p$:
+%D
+%D \starttyping
+%D draw p; fill p; filldraw p;
+%D \stoptyping
+%D
+%D The last case outputs a \type{gsave fill grestore} before
+%D \type{stroke}. Handling the path outside the main loops
+%D saves about 40\% run time.\footnoot{We can save some more by
+%D following the \METAPOST\ output routine, but for the moment
+%D we keep things simple.} Switching between the main loop and
+%D the path loop is done by means of the recursely called
+%D macro \type{\handleMPsequence}.
+
+\def\handleMPpath
+ {\chardef\finiMPpath0
+ \let\closeMPpath\relax
+ \let\flushMPpath\flushnormalMPpath
+ \resetMPstack
+ \nofMPsegments\plusone
+ \let\handleMPsequence\dohandleMPpath
+ \dohandleMPpath}
+
+%D Most paths are drawn with simple round pens. Therefore we've
+%D split up the routine in two.
+
+\def\flushnormalMPsegment
+ {\ifcase\getMPkeyword\relax
+ \PDFcode{\!MPgMPs1 \!MPgMPs2 l}%
+ \or
+ \PDFcode{\!MPgMPs1 \!MPgMPs2 \!MPgMPs3 \!MPgMPs4 \!MPgMPs5 \!MPgMPs6 c}%
+ \or
+ \PDFcode{\!MP\lastMPmoveX\space\!MP\lastMPmoveY\space l S}%
+ \or
+ \edef\lastMPmoveX{\gMPs1}% evt \!MP here
+ \edef\lastMPmoveY{\gMPs2}%
+ \PDFcode{\!MP\lastMPmoveX\space \!MP\lastMPmoveY\space m}%
+ \fi}
+
+\def\flushconcatMPsegment
+ {\ifcase\getMPkeyword\relax
+ \doMPconcat{\gMPs1}\a{\gMPs2}\b%
+ \PDFcode{\!MP\a\space\!MP\b\space l}%
+ \or
+ \doMPconcat{\gMPs1}\a{\gMPs2}\b%
+ \doMPconcat{\gMPs3}\c{\gMPs4}\d%
+ \doMPconcat{\gMPs5}\e{\gMPs6}\f%
+ \PDFcode{\!MP\a\space\!MP\b\space
+ \!MP\c\space\!MP\d\space
+ \!MP\e\space\!MP\f\space c}%
+ \or
+ \bgroup
+ \noMPtranslate
+ \doMPconcat\lastMPmoveX\a\lastMPmoveY\b%
+ \PDFcode{\!MP\a\space\!MP\b\space l S}%
+ \egroup
+ \or
+ \edef\lastMPmoveX{\gMPs1}%
+ \edef\lastMPmoveY{\gMPs2}%
+ \doMPconcat\lastMPmoveX\a\lastMPmoveY\b%
+ \PDFcode{\!MP\a\space\!MP\b\space m}%
+ \fi}
+
+% \def\flushnormalMPpath
+% {\scratchcounter\nofMPsegments
+% \nofMPsegments\plusone
+% \loop
+% \flushnormalMPsegment
+% \advance\nofMPsegments \plusone
+% \ifnum\nofMPsegments<\scratchcounter
+% \repeat}
+%
+% \def\flushconcatMPpath
+% {\scratchcounter\nofMPsegments
+% \nofMPsegments\plusone
+% \loop
+% \flushconcatMPsegment
+% \advance\nofMPsegments \plusone
+% \ifnum\nofMPsegments<\scratchcounter
+% \repeat}
+%
+% an alternative is presented below: (no \def assignment)
+
+\def\doflushsomeMPpath
+ {\dodoflushsomeMPpath
+ \advance\nofMPsegments \plusone
+ \ifnum\nofMPsegments<\scratchcounter
+ \expandafter\doflushsomeMPpath
+ \fi}
+
+\def\flushsomeMPpath
+ {\scratchcounter\nofMPsegments
+ \nofMPsegments\plusone
+ \doflushsomeMPpath}
+
+\def\flushnormalMPpath{\let\dodoflushsomeMPpath\flushnormalMPsegment\flushsomeMPpath}
+
+%OLD \def\flushconcatMPpath{\let\dodoflushsomeMPpath\flushconcatMPsegment\flushsomeMPpath}
+
+%NEW pre-calculate 1/D so it needn't be repeated for each control point.
+
+\def\flushconcatMPpath
+ {\MPreciprocaldeterminant
+ \let\dodoflushsomeMPpath\flushconcatMPsegment\flushsomeMPpath}
+
+%D The transformation of the coordinates is handled by one of
+%D the macros Tanmoy posted to the \PDFTEX\ mailing list.
+%D I rewrote and optimized the original macro to suit the other
+%D macros in this module.
+%D
+%D \starttyping
+%D \doMPconcat {x position} \xresult {y position} \yresult
+%D \stoptyping
+%D
+%D By setting the auxiliary \DIMENSIONS\ \type{\dimen0} upto
+%D \type{\dimen10} only once per path, we save over 20\% run
+%D time. Some more speed was gained by removing some parameter
+%D passing. These macros can be optimized a bit more by using
+%D more constants. There is however not much need for further
+%D optimization because penshapes usually are round and
+%D therefore need no transformation. Nevertheless we move the
+%D factor to the outer level and use a bit different \type{pt}
+%D removal macro. Although the values represent base points,
+%D we converted them to pure points, simply because those can
+%D be converted back.
+
+%OLD \mathchardef\MPconcatfactor=256 % beware don't remove spaces before it
+
+%OLD \def\doMPreducedimen#1
+%OLD {\count0\MPconcatfactor
+%OLD \advance\dimen#1 \ifdim\dimen#1>\zeropoint .5\else -.5\fi\count0
+%OLD \divide\dimen#1 \count0\relax}
+
+%OLD % too inaccurate (see old pragma logo)
+%OLD
+%OLD \def\doMPreducedimen#1
+%OLD {\count0=\MPconcatfactor
+%OLD \divide\dimen#1 \count0\relax}
+
+%OLD \def\doMPreducedimen#1
+%OLD {\advance\dimen#1 \ifdim\dimen#1>\zeropoint .5\else -.5\fi\MPconcatfactor
+%OLD \divide\dimen#1 \MPconcatfactor}
+
+%D The transformation code is rewritten by Daniel H. Luecking who
+%D describes his patch as follows:
+%D
+%D We would like to divide 1 by $X4, but all divisions are integer so
+%D for accuracy we want to convert to large integers and make sure the
+%D integer quotient has as many significant digits as possible. Thus we
+%D need to replace $1/X$ with $M/N$ where $N$ is as large as possible
+%D and $M/N$ is as large as possible. Also for simplicity $M$ should be
+%D a power of 2. So we make $M = 2^{30}$ \footnote{$2^{31} - 1$ is the
+%D largest legal integer. Using it (and simply ignoring the inaccuracy
+%D caused by $-1$) turns out to be at least as accurate in all cases,
+%D and more accurate in some.} (largest legal power of 2) and adjust
+%D $X4 downward (if necessary) to the the range $1-2^{16}$. This gives
+%D at least 15 significant binary digits, (almost as accurate as
+%D \METAPOST\ for numbers near 1) or almost 5 significant figures
+%D (decimal).
+
+\newcount\MPscratchCnt
+\newdimen\MPscratchDim % will be assigned global
+
+\def\MPadjustdimen % sets \MPscratchDim and \MPscratchCnt
+ {\MPscratchCnt\zerocount
+ \doMPadjustdimen}
+
+\def\doMPadjustdimen
+ {\ifdim\MPscratchDim>\onepoint
+ \divide\MPscratchDim 2
+ \advance\MPscratchCnt \plusone
+ \expandafter\doMPadjustdimen
+ \fi}
+
+%OLD \def\doMPexpanddimen#1
+%OLD {\multiply\dimen#1 \MPconcatfactor\relax}
+
+%D DHL: When viewed as an integer, $1 \hbox{pt}=2^{16}$ so $2^{32}/X$
+%D is the right way to do $(1 \hbox{pt})/(X \hbox{pt})$ and get the
+%D answer in points. But we are limited to $2^{30}/X$. However, we
+%D actually do $[ 2^{30} / (X/2^K) ]*2^{2-K}$ where $K$ is the number
+%D of halvings it takes to bring $X4 below $1 \hbox{pt}$. If $K$ is 0
+%D or 1 we readjust by multiplying by 4 or 2, otherwise by halving
+%D $(K-2)$ times \type {\MPscratchCnt} holds the value of $K$ from
+%D \type {\MPadjustdimen}.
+
+\def\MPreadjustdimen % acts on \MPscratchDim and MPscratchCnt
+ {\ifcase\MPscratchCnt
+ \multiply\MPscratchDim 4
+ \or
+ \multiply\MPscratchDim 2
+ \else
+ \expandafter\doMPreadjustdimen
+ \fi}
+
+\def\doMPreadjustdimen
+ {\ifnum\MPscratchCnt > 2
+ \divide\MPscratchDim 2
+ \advance\MPscratchCnt \minusone
+ \expandafter\doMPreadjustdimen
+ \fi}
+
+\def\MPreciprocaldeterminant
+ {\MPscratchDim\withoutpt\the\dimen0 \dimen6 % s_x*s_y
+ \advance\MPscratchDim - \withoutpt\the\dimen2 \dimen4 % s_x*s_y - r_x*r_y
+ \ifdim\MPscratchDim<\zeropoint % we need a positive dimension
+ \MPscratchDim-\MPscratchDim % for \MPadjustdimen
+ \doMPreciprocal
+ \MPscratchDim-\MPscratchDim
+ \else
+ \doMPreciprocal
+ \fi}
+
+\newcount\MPnumerator \MPnumerator = 1073741824 % 2^{30}
+
+% todo: dimexpr
+
+\def\doMPreciprocal % replace \MPscratchDim with its reciprocal
+ {\ifdim\MPscratchDim=\onepoint \else
+ \MPadjustdimen
+ \scratchcounter\MPnumerator
+ \divide\scratchcounter\MPscratchDim
+ \MPscratchDim1\scratchcounter % 1 needed !
+ \MPreadjustdimen
+ \fi}
+
+%OLD \def\presetMPconcat
+%OLD {\dimen 0=\gMPs1\onepoint \doMPreducedimen 0 % r_x
+%OLD \dimen 2=\gMPs2\onepoint \doMPreducedimen 2 % s_x
+%OLD \dimen 4=\gMPs3\onepoint \doMPreducedimen 4 % s_y
+%OLD \dimen 6=\gMPs4\onepoint \doMPreducedimen 6 % r_y
+%OLD \dimen 8=\gMPs5\onepoint \doMPreducedimen 8 % t_x
+%OLD \dimen10=\gMPs6\onepoint \doMPreducedimen10 } % t_y
+%OLD
+%OLD \def\presetMPscale
+%OLD {\dimen 0=\gMPs1\onepoint \doMPreducedimen 0
+%OLD \dimen 2 \zeropoint
+%OLD \dimen 4 \zeropoint
+%OLD \dimen 6=\gMPs2\onepoint \doMPreducedimen 6
+%OLD \dimen 8 \zeropoint
+%OLD \dimen10 \zeropoint}
+
+\def\presetMPconcat
+ {\dimen 0=\gMPs1\onepoint % s_x
+ \dimen 2=\gMPs2\onepoint % r_x
+ \dimen 4=\gMPs3\onepoint % r_y
+ \dimen 6=\gMPs4\onepoint % s_y
+ \dimen 8=\gMPs5\onepoint % t_x
+ \dimen10=\gMPs6\onepoint} % t_y
+
+\def\presetMPscale
+ {\dimen 0=\gMPs1\onepoint
+ \dimen 2 \zeropoint
+ \dimen 4 \zeropoint
+ \dimen 6=\gMPs2\onepoint
+ \dimen 8 \zeropoint
+ \dimen10 \zeropoint}
+
+\def\noMPtranslate % use this one grouped
+ {\dimen 8 \zeropoint % t_x
+ \dimen10 \zeropoint} % t_y
+
+%D \starttyping
+%D \def\doMPconcat#1#2#3#4%
+%D {\dimen12=#1 pt \doMPreducedimen12 % p_x
+%D \dimen14=#3 pt \doMPreducedimen14 % p_y
+%D %
+%D \dimen16 \dimen 0
+%D \multiply \dimen16 \dimen 6
+%D \dimen20 \dimen 2
+%D \multiply \dimen20 \dimen 4
+%D \advance \dimen16 -\dimen20
+%D %
+%D \dimen18 \dimen12
+%D \multiply \dimen18 \dimen 6
+%D \dimen20 \dimen14
+%D \multiply \dimen20 \dimen 4
+%D \advance \dimen18 -\dimen20
+%D \dimen20 \dimen 4
+%D \multiply \dimen20 \dimen10
+%D \advance \dimen18 \dimen20
+%D \dimen20 \dimen 6
+%D \multiply \dimen20 \dimen 8
+%D \advance \dimen18 -\dimen20
+%D %
+%D \multiply \dimen12 -\dimen 2
+%D \multiply \dimen14 \dimen 0
+%D \advance \dimen12 \dimen14
+%D \dimen20 \dimen 2
+%D \multiply \dimen20 \dimen 8
+%D \advance \dimen12 \dimen20
+%D \dimen20 \dimen 0
+%D \multiply \dimen20 \dimen10
+%D \advance \dimen12 -\dimen20
+%D %
+%D \doMPreducedimen16
+%D \divide \dimen18 \dimen16 \doMPexpanddimen18
+%D \divide \dimen12 \dimen16 \doMPexpanddimen12
+%D %
+%D \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+%D \edef#4{\withoutpt\the\dimen12}} % p_y^\prime
+%D \stoptyping
+
+%D The following optimization resulted from some tests by
+%D and email exchanges with Sanjoy Mahajan.
+%D
+%D \starttyping
+%D \def\doMPconcat#1#2#3#4%
+%D {\dimen12=#1 pt \doMPreducedimen12 % p_x
+%D \dimen14=#3 pt \doMPreducedimen14 % p_y
+%D %
+%D \dimen16 \dimen 0
+%D \multiply \dimen16 \dimen 6
+%D \dimen20 \dimen 2
+%D \multiply \dimen20 \dimen 4
+%D \advance \dimen16 -\dimen20
+%D %
+%D \dimen18 \dimen12
+%D \multiply \dimen18 \dimen 6
+%D \dimen20 \dimen14
+%D \multiply \dimen20 \dimen 4
+%D \advance \dimen18 -\dimen20
+%D \dimen20 \dimen 4
+%D \multiply \dimen20 \dimen10
+%D \advance \dimen18 \dimen20
+%D \dimen20 \dimen 6
+%D \multiply \dimen20 \dimen 8
+%D \advance \dimen18 -\dimen20
+%D %
+%D \multiply \dimen12 -\dimen 2
+%D \multiply \dimen14 \dimen 0
+%D \advance \dimen12 \dimen14
+%D \dimen20 \dimen 2
+%D \multiply \dimen20 \dimen 8
+%D \advance \dimen12 \dimen20
+%D \dimen20 \dimen 0
+%D \multiply \dimen20 \dimen10
+%D \advance \dimen12 -\dimen20
+%D %
+%D %\ifdim\dimen16>1pt % oeps, can be < 1pt too
+%D \ifdim\dimen16=1pt \else
+%D \ifdim\dimen16>\MPconcatfactor pt
+%D \doMPreducedimen16
+%D \divide \dimen18 \dimen16 \doMPexpanddimen18
+%D \divide \dimen12 \dimen16 \doMPexpanddimen12
+%D \else
+%D \divide \dimen18 \dimen16 \doMPexpanddimen18 \doMPexpanddimen18
+%D \divide \dimen12 \dimen16 \doMPexpanddimen12 \doMPexpanddimen12
+%D \fi
+%D \fi
+%D %
+%D \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+%D \edef#4{\withoutpt\the\dimen12}} % p_y^\prime
+%D \stoptyping
+%D
+%D But, this one is still too inaccurate, so we now have:
+
+% \def\doMPconcat#1#2#3#4%
+% {\dimen12=#1pt % p_x
+% \dimen14=#3pt % p_y
+% %
+% % we should test for >-1024 too, but for the moment take the gamble
+% \chardef\MPfactor1\ifdim\dimen12<1024pt \ifdim\dimen14<1024pt 6\fi\fi
+% %
+% \multiply\dimen12 \MPfactor
+% \multiply\dimen14 \MPfactor
+% %
+% \doMPreducedimen12
+% \doMPreducedimen14
+% %
+% \dimen16 \dimen 0
+% \multiply \dimen16 \dimen 6
+% \dimen20 \dimen 2
+% \multiply \dimen20 \dimen 4
+% \advance \dimen16 -\dimen20
+% %
+% \dimen18 \dimen12
+% \multiply \dimen18 \dimen 6
+% \dimen20 \dimen14
+% \multiply \dimen20 \dimen 4
+% \advance \dimen18 -\dimen20
+% \dimen20 \dimen 4
+% \multiply \dimen20 \dimen10
+% \advance \dimen18 \dimen20
+% \dimen20 \dimen 6
+% \multiply \dimen20 \dimen 8
+% \advance \dimen18 -\dimen20
+% %
+% \multiply \dimen12 -\dimen 2
+% \multiply \dimen14 \dimen 0
+% \advance \dimen12 \dimen14
+% \dimen20 \dimen 2
+% \multiply \dimen20 \dimen 8
+% \advance \dimen12 \dimen20
+% \dimen20 \dimen 0
+% \multiply \dimen20 \dimen10
+% \advance \dimen12 -\dimen20
+% %
+% \ifdim\dimen16=1pt \else
+% \ifdim\dimen16>\MPconcatfactor pt
+% \doMPreducedimen16
+% \divide \dimen18 \dimen16 \doMPexpanddimen18
+% \divide \dimen12 \dimen16 \doMPexpanddimen12
+% \else
+% \divide \dimen18 \dimen16 \doMPexpanddimen18 \doMPexpanddimen18
+% \divide \dimen12 \dimen16 \doMPexpanddimen12 \doMPexpanddimen12
+% \fi
+% \fi
+% %
+% \divide\dimen18 \MPfactor
+% \divide\dimen12 \MPfactor
+% %
+% \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+% \edef#4{\withoutpt\the\dimen12}} % p_y^\prime
+
+%D We cannot use \type {\beginETEX} here since in plain we
+%D get \type {\outer} problems, sigh.
+
+%OLD \beginTEX
+%OLD
+%OLD \def\MPcriteriumA {512pt} % scale
+%OLD \def\MPcriteriumB {2pt} % scale
+%OLD
+%OLD \endTEX
+%OLD
+%OLD \ifx\MPcriteriumA\undefined
+%OLD
+%OLD \newdimen\MPcriteriumA \MPcriteriumA=512pt
+%OLD \newdimen\MPcriteriumB \MPcriteriumB= 2pt
+%OLD
+%OLD \fi
+
+%OLD \def\doMPconcat#1#2#3#4%
+%OLD {\dimen12=#1pt % p_x
+%OLD \dimen14=#3pt % p_y
+%OLD %
+%OLD \chardef\MPfactor\zerocount
+%OLD \ifdim\dimen4<\MPcriteriumB\ifdim\dimen4>-\MPcriteriumB
+%OLD \ifdim\dimen6<\MPcriteriumB\ifdim\dimen6>-\MPcriteriumB
+%OLD \ifdim\dimen8<\MPcriteriumB\ifdim\dimen8>-\MPcriteriumB
+%OLD \ifdim\dimen10<\MPcriteriumB\ifdim\dimen10>-\MPcriteriumB
+%OLD \chardef\MPfactor\plusone
+%OLD \fi\fi
+%OLD \fi\fi
+%OLD \fi\fi
+%OLD \fi\fi
+%OLD \ifcase\MPfactor % spurious 0 removed
+%OLD \chardef\MPfactor\plusone
+%OLD \ifdim\dimen12<\MPcriteriumA\ifdim\dimen12>-\MPcriteriumA
+%OLD \ifdim\dimen14<\MPcriteriumA\ifdim\dimen14>-\MPcriteriumA
+%OLD \chardef\MPfactor16
+%OLD \fi\fi
+%OLD \fi\fi
+%OLD \fi
+%OLD %
+%OLD \multiply\dimen12 \MPfactor
+%OLD \multiply\dimen14 \MPfactor
+%OLD %
+%OLD \doMPreducedimen12
+%OLD \doMPreducedimen14
+%OLD %
+%OLD \dimen16 \dimen 0
+%OLD \multiply \dimen16 \dimen 6
+%OLD \dimen20 \dimen 2
+%OLD \multiply \dimen20 \dimen 4
+%OLD \advance \dimen16 -\dimen20
+%OLD %
+%OLD \dimen18 \dimen12
+%OLD \multiply \dimen18 \dimen 6
+%OLD \dimen20 \dimen14
+%OLD \multiply \dimen20 \dimen 4
+%OLD \advance \dimen18 -\dimen20
+%OLD \dimen20 \dimen 4
+%OLD \multiply \dimen20 \dimen10
+%OLD \advance \dimen18 \dimen20
+%OLD \dimen20 \dimen 6
+%OLD \multiply \dimen20 \dimen 8
+%OLD \advance \dimen18 -\dimen20
+%OLD %
+%OLD \multiply \dimen12 -\dimen 2
+%OLD \multiply \dimen14 \dimen 0
+%OLD \advance \dimen12 \dimen14
+%OLD \dimen20 \dimen 2
+%OLD \multiply \dimen20 \dimen 8
+%OLD \advance \dimen12 \dimen20
+%OLD \dimen20 \dimen 0
+%OLD \multiply \dimen20 \dimen10
+%OLD \advance \dimen12 -\dimen20
+%OLD %
+%OLD \ifdim\dimen16=\onepoint \else
+%OLD \ifdim\dimen16>\MPconcatfactor \onepoint \relax
+%OLD \doMPreducedimen16
+%OLD \divide \dimen18 \dimen16 \doMPexpanddimen18
+%OLD \divide \dimen12 \dimen16 \doMPexpanddimen12
+%OLD \else
+%OLD \divide \dimen18 \dimen16 \doMPexpanddimen18 \doMPexpanddimen18
+%OLD \divide \dimen12 \dimen16 \doMPexpanddimen12 \doMPexpanddimen12
+%OLD \fi
+%OLD \fi
+%OLD %
+%OLD \divide\dimen18 \MPfactor
+%OLD \divide\dimen12 \MPfactor
+%OLD %
+%OLD \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+%OLD \edef#4{\withoutpt\the\dimen12}} % p_y^\prime
+
+%D DHL: Ideally, $r_x$, $r_y$, $s_x4, $s_y$ should be in macros, not
+%D dimensions (they are scalar quantities after all, not lengths). I
+%D suppose the authors decided to do calculations with integer
+%D arithmetic instead of using real factors because it's faster.
+%D However, the actual macros test slower, possibly because I've
+%D omitted three nested loops. In my test files, my approach is more
+%D accurate. It is also far simpler and overflow does not seem to be a
+%D significant concern. The scale factors written by Metapost are (?)
+%D always $<=1$ (it scales coordinates internally) and coordinates are
+%D always likely to be less than \type {\maxdimen}.
+%D
+%D If this should ever cause problems, the scale factors can be reduced.
+
+\def\doMPconcat#1#2#3#4%
+ {\dimen12=#1pt % p_x % #1\onepoint
+ \dimen14=#3pt % p_y % #3\onepoint
+ \advance\dimen12 -\dimen8 % p_x - t_x
+ \advance\dimen14 -\dimen10 % p_y - t_y
+ \dimen18=\withoutpt\the\dimen6 \dimen12 % s_y(p_x - t_x)
+ \advance\dimen18 -\withoutpt\the\dimen4 \dimen14 % - r_y(p_y-t_y)
+ \dimen14=\withoutpt\the\dimen0 \dimen14 % s_x(p_y-t_y)
+ \advance\dimen14 -\withoutpt\the\dimen2 \dimen12 % - r_x(p_x-t_x)
+ % \MPscratchDim contains precomputed 1/D:
+ \dimen18=\withoutpt\the\MPscratchDim \dimen18
+ \dimen14=\withoutpt\the\MPscratchDim \dimen14
+ \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+ \edef#4{\withoutpt\the\dimen14}} % p_y^\prime
+
+%D One reason for Daniel to write this patch was that at small sizes
+%D the accuracy was less than optimal. Here is a test that demonstrates
+%D that his alternative is pretty good:
+%D
+%D \startlinecorrection
+%D \startMPcode
+%D for i = 5cm,1cm,5mm,1mm,.5mm,.1mm,.01mm :
+%D draw fullcircle scaled i withpen pencircle xscaled (i/10) yscaled (i/20) rotated 45 ;
+%D endfor ;
+%D \stopMPcode
+%D \stoplinecorrection
+
+%D The following explanation of the conversion process was
+%D posted to the \PDFTEX\ mailing list by Tanmoy. The original
+%D macro was part of a set of macro's that included sinus and
+%D cosinus calculations as well as scaling and translating. The
+%D \METAPOST\ to \PDF\ conversion however only needs
+%D transformation.
+
+%M \start \switchtobodyfont [ss]
+
+%D Given a point $(U_x, U_y)$ in user coordinates, the business
+%D of \POSTSCRIPT\ is to convert it to device space. Let us say
+%D that the device space coordinates are $(D_x, D_y)$. Then, in
+%D \POSTSCRIPT\ $(D_x, D_y)$ can be written in terms of
+%D $(U_x, U_y)$ in matrix notation, either as
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{D_x&D_y&1\cr} = \pmatrix{U_x&U_y&1\cr}
+%D \pmatrix{s_x&r_x&0\cr
+%D r_y&s_y&0\cr
+%D t_x&t_y&1\cr}
+%D \stopformula
+%D
+%D or
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{D_x\cr D_y\cr 1} = \pmatrix{s_x&r_y&t_x\cr
+%D r_x&s_y&t_y\cr
+%D 0 &0 &1 \cr}
+%D \pmatrix{U_x\cr
+%D U_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D both of which is a shorthand for the same set of equations:
+%D
+%D \placeformula
+%D \startformula
+%D D_x = s_x U_x + r_y U_y + t_x
+%D \stopformula
+%D
+%D \placeformula
+%D \startformula
+%D D_y = r_x U_x + s_y U_y + t_y
+%D \stopformula
+%D
+%D which define what is called an `affine transformation'.
+%D
+%D \POSTSCRIPT\ represents the `transformation matrix' as a
+%D six element matrix instead of a $3\times 3$ array because
+%D three of the elements are always~0, 0 and~1. Thus the above
+%D transformation is written in postscript as $[s_x\, r_x\,
+%D r_y\, s_y\, t_x\, t_y]$. However, when doing any
+%D calculations, it is useful to go back to the original
+%D matrix notation (whichever: I will use the second) and
+%D continue from there.
+%D
+%D As an example, if the current transformation matrix is
+%D $[s_x\, r_x\, r_y\, s_y\, t_x\, t_y]$ and you say \typ{[a b
+%D c d e f] concat}, this means:
+%D
+%D \startnarrower
+%D Take the user space coordinates and transform them to an
+%D intermediate set of coordinates using array $[a\, b\, c\, d\,
+%D e\, f]$ as the transformation matrix.
+%D
+%D Take the intermediate set of coordinates and change them to
+%D device coordinates using array $[s_x\, r_x\, r_y\, s_y\, t_x\, t_y]$
+%D as the transformation matrix.
+%D \stopnarrower
+%D
+%D Well, what is the net effect? In matrix notation, it is
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{I_x\cr I_y\cr 1\cr} = \pmatrix{a&c&e\cr
+%D b&d&f\cr
+%D 0&0&1\cr}
+%D \pmatrix{U_x\cr
+%D U_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{D_y\cr D_y\cr 1\cr} = \pmatrix{s_x&r_y&t_x\cr
+%D r_x&s_y&t_y\cr
+%D 0 &0 &1 \cr}
+%D \pmatrix{I_x\cr
+%D I_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D where $(I_x, I_y)$ is the intermediate coordinate.
+%D
+%D Now, the beauty of the matrix notation is that when there is
+%D a chain of such matrix equations, one can always compose
+%D them into one matrix equation using the standard matrix
+%D composition law. The composite matrix from two matrices can
+%D be derived very easily: the element in the $i$\high{th}
+%D horizontal row and $j$\high{th} vertical column is
+%D calculated by`multiplying' the $i$\high{th} row of the first
+%D matrix and the $j$\high{th} column of the second matrix (and
+%D summing over the elements). Thus, in the above:
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{D_x\cr D_y\cr 1} = \pmatrix{s_x^\prime&r_y^\prime&t_x^\prime\cr
+%D r_x^\prime&s_y^\prime&t_y^\prime\cr
+%D 0 &0 &0 \cr}
+%D \pmatrix{U_x\cr
+%D U_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D with
+%D
+%D \placeformula
+%D \startformula
+%D \eqalign
+%D {s_x^\prime & = s_x a + r_y b \cr
+%D r_x^\prime & = r_x a + s_y b \cr
+%D r_y^\prime & = s_x c + r_y d \cr
+%D s_y^\prime & = r_x c + s_y d \cr
+%D t_x^\prime & = s_x e + r_y f + t_x \cr
+%D t_y^\prime & = r_x e + s_y f + t_y \cr}
+%D \stopformula
+
+%D In fact, the same rule is true not only when one is going
+%D from user coordinates to device coordinates, but whenever
+%D one is composing two `transformations' together
+%D (transformations are `associative'). Note that the formula
+%D is not symmetric: you have to keep track of which
+%D transformation existed before (i.e.\ the equivalent of
+%D $[s_x\, r_x\, r_y\, s_y\, t_x\, t_y]$) and which was
+%D specified later (i.e.\ the equivalent of $[a\, b\, c\, d\,
+%D e\, f]$). Note also that the language can be rather
+%D confusing: the one specified later `acts earlier',
+%D converting the user space coordinates to intermediate
+%D coordinates, which are then acted upon by the pre||existing
+%D transformation. The important point is that order of
+%D transformation matrices cannot be flipped (transformations
+%D are not `commutative').
+%D
+%D Now what does it mean to move a transformation matrix
+%D before a drawing? What it means is that given a point
+%D $(P_x, P_y)$ we need a different set of coordinates
+%D $(P_x^\prime, P_y^\prime)$ such that if the transformation
+%D acts on $(P_x^\prime, P_y^\prime)$, they produce $(P_x,
+%D P_y)$. That is we need to solve the set of equations:
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{P_x\cr P_y\cr 1\cr} = \pmatrix{s_x&r_y&t_x\cr
+%D r_x&s_y&t_y\cr
+%D 0 &0 &1 \cr}
+%D \pmatrix{P_x^\prime\cr
+%D P_y^\prime\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D Again matrix notation comes in handy (i.e. someone has
+%D already solved the problem for us): we need the inverse
+%D transformation matrix. The inverse transformation matrix can
+%D be calculated very easily:
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{P_x^\prime\cr P_y^\prime\cr 1\cr} =
+%D \pmatrix{s_x^\prime&r_y^\prime&t_x^\prime\cr
+%D r_x^\prime&s_y^\prime&t_y^\prime\cr
+%D 0 &0 &1 \cr}
+%D \pmatrix{P_x\cr
+%D P_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D where, the inverse transformation matrix is given by
+%D
+%D \placeformula
+%D \startformula
+%D \eqalign
+%D {D & = s_x s_y - r_x r_y \cr
+%D s_x^\prime & = s_y / D \cr
+%D s_y^\prime & = s_x / D \cr
+%D r_x^\prime & = - r_x / D \cr
+%D r_y^\prime & = - r_y / D \cr
+%D t_x^\prime & = ( - s_y t_x + r_y t_y ) / D \cr
+%D t_y^\prime & = ( r_x t_x - s_x t_y ) / D \cr}
+%D \stopformula
+%D
+%D And you can see that when expanded out, this does
+%D give the formulas:
+%D
+%D \placeformula
+%D \startformula
+%D P_x^\prime = { { s_y(p_x-t_x) + r_y(t_y-p_y) } \over
+%D { s_x s_y-r_x r_y } }
+%D \stopformula
+%D
+%D \placeformula
+%D \startformula
+%D P_y^\prime = { { s_x(p_y-t_y) + r_x(t_x-p_x) } \over
+%D { s_x*s_y-r_x*r_y } }
+%D \stopformula
+%D
+%D The code works by representing a real number by converting
+%D it to a dimension to be put into a \DIMENSION\ register: 2.3 would
+%D be represented as 2.3pt for example. In this scheme,
+%D multiplying two numbers involves multiplying the \DIMENSION\
+%D registers and dividing by 65536. Accuracy demands that the
+%D division be done as late as possible, but overflow
+%D considerations need early division.
+%D
+%D Division involves dividing the two \DIMENSION\ registers and
+%D multiplying the result by 65536. Again, accuracy would
+%D demand that the numerator be multiplied (and|/|or the
+%D denominator divided) early: but that can lead to overflow
+%D which needs to be avoided.
+%D
+%D If nothing is known about the numbers to start with (in
+%D concat), I have chosen to divide the 65536 as a 256 in each
+%D operand. However, in the series calculating the sine and
+%D cosine, I know that the terms are small (because I never
+%D have an angle greater than 45 degrees), so I chose to
+%D apportion the factor in a different way.
+
+%M \stop
+
+%D The path is output using the values saved on the stack. If
+%D needed, all coordinates are recalculated.
+
+\def\finishMPpath
+ {\PDFcode{\ifcase\finiMPpath W n\or S\or f\or B\fi}}
+
+\def\processMPpath
+ {\checkMPpath
+ \ifcase\nofMPsegments\else
+ \flushMPpath
+ \closeMPpath
+ \finishMPpath
+ \fi
+ \let\handleMPsequence\dohandleMPsequence
+ \resetMPstack
+ \nofMPsegments\zerocount
+ \handleMPsequence}
+
+%D The following \METAPOST\ code is quite valid but, when
+%D processed and converted to \PDF, will make a file
+%D unprintable on a Hewlett Packard printer (from Acrobat
+%D $v<=5$). Who is to blame, the driver of the OS layer in
+%D between, is hard to determine, so we add an additional
+%D check.
+%D
+%D \starttyping
+%D clip currentpicture to origin -- cycle ;
+%D setbounds currentpicture to fullsquare scaled 5cm ;
+%D \stoptyping
+
+\def\checkMPpath
+ {\ifcase\finiMPpath
+ \ifnum\nofMPsegments<3 % n is one ahead
+ \message{omitting zero clip path}%
+ \nofMPsegments\zerocount
+ \fi
+ \fi}
+
+%D In \PDF\ the \type{cm} operator must precede the path
+%D specification. We therefore can output the \type{cm} at
+%D the moment we encounter it.
+
+\def\handleMPpathconcat
+ {\presetMPconcat
+ \PDFcode{\gMPs1 \gMPs2 \gMPs3 \gMPs4 \gMPs5 \gMPs6 cm}%
+ \resetMPstack}
+
+\def\handleMPpathscale
+ {\presetMPscale
+ \PDFcode{\gMPs1 0 0 \gMPs2 0 0 cm}%
+ \resetMPstack}
+
+%D This macro interprets the path and saves it as compact as
+%D possible.
+
+\def\dohandleMPpath#1%
+ {\ifcase\lccode`#1\relax
+ \@EA\dohandleMPpathA
+ \else
+ \@EA\dohandleMPpathB
+ \fi#1}
+
+%\def\dohandleMPpathA#1 %
+% {\setMPargument{#1}%
+% \handleMPsequence}
+
+\let\dohandleMPpathA\setMPsequence
+
+\def\dohandleMPpathB#1 %
+ {\def\somestring{#1}%
+ \ifx\somestring\PSlineto
+ \setMPkeyword0
+ \else\ifx\somestring\PScurveto
+ \setMPkeyword1
+ \else\ifx\somestring\PSrlineto
+ \setMPkeyword2
+ \else\ifx\somestring\PSmoveto
+ \setMPkeyword3
+ \else\ifx\somestring\PSclip
+ % \chardef\finiMPpath0 % already
+ \let\handleMPsequence\processMPpath
+ \else\ifx\somestring\PSgsave
+ \chardef\finiMPpath3
+ \else\ifx\somestring\PSgrestore
+ \else\ifx\somestring\PSfill
+ \ifcase\finiMPpath
+ \chardef\finiMPpath2
+ \let\handleMPsequence\processMPpath
+ \fi
+ \else\ifx\somestring\PSstroke
+ \ifcase\finiMPpath
+ \chardef\finiMPpath1
+ \fi
+ \let\handleMPsequence\processMPpath
+ \else\ifx\somestring\PSclosepath
+ \def\closeMPpath{\PDFcode{h}}%
+ \else\ifx\somestring\PSconcat
+ \let\flushMPpath\flushconcatMPpath
+ \handleMPpathconcat
+ \else\ifx\somestring\PSscale
+ \let\flushMPpath\flushconcatMPpath
+ \handleMPpathscale
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \handleMPsequence}
+
+%D The main conversion command is:
+%D
+%D \starttyping
+%D \convertMPtoPDF {filename} {x scale} {y scale}
+%D \stoptyping
+%D
+%D The dimensions are derived from the bounding box. So we
+%D only have to say:
+%D
+%D \starttyping
+%D \convertMPtoPDF{mp-pra-1.eps}{1}{1}
+%D \convertMPtoPDF{mp-pra-1.eps}{.5}{.5}
+%D \stoptyping
+
+%D \macros
+%D {makeMPintoPDFobject,lastPDFMPobject}
+%D
+%D For experts there are a few more options. When attributes
+%D are to be added, the code must be embedded in an object
+%D accompanied with the appropriate directives. One can
+%D influence this process with \type {\makeMPintoPDFobject}.
+%D
+%D This option defaults to~0, because \CONTEXT\ takes care
+%D of objects at another level, which saves some bytes.
+%D
+%D \starttabulate[|l|l|p|]
+%D \NC 0 \NC never \NC don't use an object \NC\NR
+%D \NC 1 \NC always \NC always use an object \NC\NR
+%D \NC 2 \NC optional \NC use object when needed \NC\NR
+%D \stoptabulate
+%D
+%D The last object number used is avaliable in the macro
+%D \type {\lastPDFMPobject}.
+
+\ifx\makeMPintoPDFobject\undefined \chardef\makeMPintoPDFobject=0 \fi
+
+\def\lastPDFMPobject{0}
+
+%D The additional code needed can be made available in the
+%D (global) macro \type {\currentPDFresources}.
+
+\let\currentPDFresources\empty
+
+\newtoks\everyMPtoPDFconversion
+
+\def\convertMPtoPDF % #1#2#3%
+ {\bgroup
+ \ifx\pdfdecimaldigits\undefined\else \pdfdecimaldigits=5 \fi % new
+ \setbox\scratchbox\vbox\bgroup
+ \forgetall
+ \offinterlineskip
+ \startMPresources
+ \doprocessMPtoPDFfile} %
+
+%D The next one is kind of private and probably will become obsolete):
+
+\def\processMPtoPDFfile % file xscale yscale
+ {\bgroup
+ \let\finishMPgraphic\egroup
+ \doprocessMPtoPDFfile}
+
+\def\doprocessMPtoPDFfile#1#2#3% file xscale yscale
+ {% the following line is needed for latex where onepoint is not
+ % onepoint but a number (maxdimen); some day i'll make a latex
+ % variant of this file so that i no longer have to deal with such
+ % issues; then i'll also speed up this module using a few context
+ % tricks
+ %
+ \let\onepoint\onerealpoint
+ %
+ \setMPspecials
+ \the\everyMPtoPDFconversion
+ \catcode`\^^M=\@@endofline
+ \startMPscanning
+ \let\do\empty
+ \xdef\MPxscale{#2}%
+ \xdef\MPyscale{#3}%
+ \xdef\MPxoffset{0}%
+ \xdef\MPyoffset{0}%
+ \xdef\MPyshift{\zeropoint}%
+ \donefalse
+ \let\handleMPsequence\dohandleMPsequence
+ \message{[MP to PDF]}% was: [MP to PDF #1] but there is a (#1) anyway
+ \input#1\relax}
+
+% strange rounding/clip in pdftex/viewer
+%
+% \def\finishMPgraphic
+% {\stopMPresources
+% \egroup
+% \ifx\pdftexversion\undefined\else\ifnum\pdftexversion<14 % for the moment
+% \chardef\makeMPintoPDFobject=0
+% \fi\fi
+% \ifcase\makeMPintoPDFobject\or\or\ifx\currentPDFresources\empty\else
+% \chardef\makeMPintoPDFobject=1
+% \fi\fi
+% \setbox\scratchbox=\vbox
+% {\forgetall
+% \hbox
+% {\PDFcode{q \MPxscale\space 0 0 \MPyscale\space \MPxoffset\space \MPyoffset\space cm}%
+% \lower\MPyshift\box\scratchbox % unscaled shift
+% \PDFcode{Q}}}%
+% \ht\scratchbox\MPheight
+% \wd\scratchbox\MPwidth
+% \dp\scratchbox\zeropoint
+% \ifcase\makeMPintoPDFobject
+% \box\scratchbox
+% \or
+% \immediate\pdfxform resources{\currentPDFresources}\scratchbox
+% \xdef\lastPDFMPobject{\the\pdflastxform}%
+% \pdfrefxform\lastPDFMPobject
+% \global\let\currentPDFresources\empty
+% \else
+% \box\scratchbox
+% \fi
+% \egroup}
+%
+% funny clip in viewer
+%
+% \setbox\scratchbox=\vbox
+% {\forgetall
+% \dimen0=\MPllx bp
+% \dimen2=\MPlly bp
+% \setbox\scratchbox=\hbox{\hskip-\dimen0\raise-\dimen2\box\scratchbox}%
+% \ht\scratchbox=\zeropoint
+% \dp\scratchbox=\zeropoint
+% \wd\scratchbox=\zeropoint
+% \hbox
+% {\PDFcode{q \MPxscale\space 0 0 \MPyscale\space 0 0 cm}%
+% \lower\MPshift\box\scratchbox
+% \PDFcode{Q}}}%
+
+% \let\PDFMPformoffset\zeropoint
+
+\def\PDFMPformoffset
+ {\ifx\objectoffset\undefined\zeropoint\else\objectoffset\fi}
+
+\def\finishMPgraphic
+ {\stopMPresources
+ \egroup
+ \setbox\scratchbox\vbox
+ {\forgetall
+ \hbox
+ {\PDFcode{q \MPxscale\space 0 0 \MPyscale\space \MPxoffset\space \MPyoffset\space cm}%
+ \lower\MPyshift\box\scratchbox % unscaled shift
+ \PDFcode{Q}}}%
+ \ht\scratchbox\MPheight
+ \wd\scratchbox\MPwidth
+ \dp\scratchbox\zeropoint\relax
+ \dopackageMPgraphic\scratchbox
+ \egroup
+ \endinput}
+
+%D Alternative for \PDFTEX. We cannot come up with something more contexy
+%D because this module is also used in \LATEX.
+
+\def\dopackageMPgraphic#1% #1 = boxregister
+ {%\ifx\pdfxform\undefined
+ % \chardef\makeMPintoPDFobject\zerocount % no pdftex at all
+ %\else\ifx\pdftexversion\undefined
+ % \chardef\makeMPintoPDFobject\zerocount % no pdftex at all
+ %\else\ifnum\pdftexversion<14
+ % \chardef\makeMPintoPDFobject\zerocount % no resource support
+ %\else
+ % % keep the default value
+ %\fi\fi\fi
+ \ifcase\makeMPintoPDFobject\or\or\ifx\currentPDFresources\empty\else
+ % an existing value of 2 signals object support (set elsewhere)
+ \chardef\makeMPintoPDFobject\plusone
+ \fi\fi
+ \ifcase\makeMPintoPDFobject
+ \box#1%
+ \or
+ \scratchdimen\PDFMPformoffset\relax
+ \ifdim\scratchdimen>\zeropoint % compensate for error
+ \setbox#1\vbox spread 2\scratchdimen
+ {\forgetall\vss\hbox spread 2\scratchdimen{\hss\box#1\hss}\vss}%
+ \fi
+ \setMPPDFobject{\currentPDFresources}{#1}%
+ \ifdim\scratchdimen>\zeropoint % compensate for error
+ \vbox to \MPheight
+ {\forgetall\vss\hbox to \MPwidth{\hss\getMPPDFobject\hss}\vss}%
+ \else
+ \getMPPDFobject
+ \fi
+ \global\let\currentPDFresources\empty
+ \else
+ \box#1%
+ \fi}
+
+\def\setMPPDFobject#1#2% resources boxnumber
+ {\ifx\pdfxform\undefined
+ \def\getMPPDFobject{\box#2}%
+ \else\ifx\pdftexversion\undefined
+ \def\getMPPDFobject{\box#2}%
+ \else\ifnum\pdftexversion<14
+ \def\getMPPDFobject{\box#2}%
+ \else
+ \immediate\pdfxform resources{#1}#2%
+ \edef\getMPPDFobject{\noexpand\pdfrefxform\the\pdflastxform}%
+ \fi\fi\fi}
+
+\let\getMPPDFobject\relax
+
+%D \macros
+%D {deleteMPgraphic,
+%D startMPresources,
+%D stopMPresources}
+%D
+%D Here are a few hooks for \CONTEXT\ specific things.
+
+\ifx\deleteMPgraphic\undefined
+ \def\deleteMPgraphic#1{}
+\fi
+
+\ifx\startMPresources\undefined
+ \let\startMPresources\relax
+ \let\stopMPresources\relax
+\fi
+
+%D \macros
+%D {twodigitMPoutput}
+%D
+%D We can limit the precision to two digits after the comma
+%D by saying:
+%D
+%D \starttyping
+%D \twodigitMPoutput
+%D \stoptyping
+%D
+%D This option only works in \CONTEXT\ combined with \ETEX.
+
+\def\twodigitMPoutput
+ {\let\!MP \twodigitrounding
+ \def\!MPgMPs##1{\twodigitrounding{\gMPs##1}}%
+ \def\!MPgMPa##1{\twodigitrounding{\gMPa##1}}}
+
+\let\!MP \empty
+\let\!MPgMPa\gMPa
+\let\!MPgMPs\gMPs
+
+%D This kind of conversion is possible because \METAPOST\
+%D does all the calculations. Converting other \POSTSCRIPT\
+%D files would drive both me and \TEX\ crazy.
+
+\ifx\undefined\StopLatexHack \else \StopLatexHack \fi
+
+\protect \endinput
diff --git a/systems/doc/pdftex/samplepdftex/tmp.pdf b/systems/doc/pdftex/samplepdftex/tmp.pdf
new file mode 100644
index 0000000000..3ce979ebf0
--- /dev/null
+++ b/systems/doc/pdftex/samplepdftex/tmp.pdf
Binary files differ
diff --git a/systems/doc/pdftex/tests/01-fake-interword-space/Makefile b/systems/doc/pdftex/tests/01-fake-interword-space/Makefile
new file mode 100644
index 0000000000..f565355eab
--- /dev/null
+++ b/systems/doc/pdftex/tests/01-fake-interword-space/Makefile
@@ -0,0 +1,7 @@
+# Public domain.
+
+test:
+ ../../source/build-pdftex/texk/web2c/pdftex -ini fake-interword-space.tex
+
+clean:
+ $(clean)
diff --git a/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.pfb b/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.pfb
new file mode 100644
index 0000000000..46390162be
--- /dev/null
+++ b/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.pfb
Binary files differ
diff --git a/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.tfm b/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.tfm
new file mode 100644
index 0000000000..fc0719e1a5
--- /dev/null
+++ b/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.tfm
Binary files differ
diff --git a/systems/doc/pdftex/tests/01-fake-interword-space/fake-interword-space.tex b/systems/doc/pdftex/tests/01-fake-interword-space/fake-interword-space.tex
new file mode 100644
index 0000000000..09d7bff39f
--- /dev/null
+++ b/systems/doc/pdftex/tests/01-fake-interword-space/fake-interword-space.tex
@@ -0,0 +1,34 @@
+\input plain.tex
+\input pdftexconfig.tex
+\input pdftexmagfix.tex
+
+\pdfmapline{+dummy-space <dummy-space.pfb}
+\pdfglyphtounicode{space}{0020}
+\pdfcompresslevel=0
+\pdfobjcompresslevel=0
+
+Text with no interword spaces.
+
+\pdfinterwordspaceon
+
+Switch to text with faked interword spaces.
+
+\pdfinterwordspaceoff
+
+Back to text with no interword \pdffakespace spaces.
+
+% Test of \pdffakespace in vertical mode
+\pdffakespace
+
+% Test of \pdffakespace in math mode
+$a\pdffakespace b$
+
+Back to text with no interword \pdffakespace\pdffakespace spaces.
+
+% Test of \pdffakespace in vertical mode
+\pdffakespace
+\pdffakespace
+
+% Test of \pdffakespace in math mode
+$a\pdffakespace \pdffakespace b$
+\bye
diff --git a/systems/doc/pdftex/tests/02-pdfmatch/Makefile b/systems/doc/pdftex/tests/02-pdfmatch/Makefile
new file mode 100644
index 0000000000..06943375d0
--- /dev/null
+++ b/systems/doc/pdftex/tests/02-pdfmatch/Makefile
@@ -0,0 +1,10 @@
+# $Id: Makefile 758 2016-06-12 16:54:10Z karl $
+# Public domain.
+
+include ../Common.mak
+
+testpdfmatch:
+ $(prog) test-pdfmatch.tex
+
+clean:
+ $(clean)
diff --git a/systems/doc/pdftex/tests/02-pdfmatch/test-pdfmatch.tex b/systems/doc/pdftex/tests/02-pdfmatch/test-pdfmatch.tex
new file mode 100644
index 0000000000..f6d55fe587
--- /dev/null
+++ b/systems/doc/pdftex/tests/02-pdfmatch/test-pdfmatch.tex
@@ -0,0 +1,22 @@
+% $Id: test-pdfmatch.tex 759 2016-06-12 18:11:28Z karl $
+% This file public domain. Bug report of \pdflastmatch crash:
+% http://tug.org/pipermail/tex-live/2016-June/038664.html
+%
+\catcode`\{=1 \catcode`\}=2 \catcode`^=7 \newlinechar=`^^J
+%
+\message{^^Jpdflastmatch0 before any match: \pdflastmatch0}
+\message{^^J}%
+%
+\message{^^Jmatch a to b: \pdfmatch{a}{b}}
+\message{^^J}%
+\message{pdflastmatch0: \pdflastmatch0}
+\message{^^J}%
+%
+\message{^^Jmatch example: \pdfmatch subcount 3 {ab(cd)*ef(gh)(ij)}{abefghij}}
+\message{^^J}%
+\message{pdflastmatch0 (0->abefghij): \pdflastmatch0 ^^J}
+\message{pdflastmatch1 (-1->): \pdflastmatch1 ^^J}
+\message{pdflastmatch2 (4->gh): \pdflastmatch2 ^^J}
+\message{pdflastmatch3 (-1->): \pdflastmatch3}
+\message{^^J}%
+\end
diff --git a/systems/doc/pdftex/tests/03-deterministic-output/Makefile b/systems/doc/pdftex/tests/03-deterministic-output/Makefile
new file mode 100644
index 0000000000..0f7177f77e
--- /dev/null
+++ b/systems/doc/pdftex/tests/03-deterministic-output/Makefile
@@ -0,0 +1,48 @@
+# $Id: Makefile 772 2017-03-16 22:58:04Z karl $
+# Public domain.
+
+include ../Common.mak
+
+test1:
+ $(prog) test-no-date-id.tex
+
+test2:
+ $(prog) test-fixed-date-id.tex
+
+testprim:
+ SOURCE_DATE_EPOCH=120 FORCE_SOURCE_DATE=1 \
+ $(prog) test-prim.tex
+
+test = test-SOURCE_DATE_EPOCH
+# test invalid settings of the envvar.
+test3-invalid:
+ -SOURCE_DATE_EPOCH=" " $(prog) $(test).tex
+ -SOURCE_DATE_EPOCH=abc123 $(prog) $(test).tex
+ -SOURCE_DATE_EPOCH=0.0 $(prog) $(test).tex
+ -SOURCE_DATE_EPOCH=-1 $(prog) $(test).tex
+ -SOURCE_DATE_EPOCH=123abc $(prog) $(test).tex
+ -SOURCE_DATE_EPOCH=994399281551439928155 $(prog) $(test).tex
+
+test3-orig.pdf:
+ $(prog) $(test).tex && mv $(test).pdf $@
+
+# test valid settings of the envvar.
+test3-valid: test3-orig.pdf test3-repro.pdf
+ SOURCE_DATE_EPOCH=0 $(prog) $(test).tex
+ SOURCE_DATE_EPOCH="" $(prog) $(test).tex # same as 0
+ -$(diff) $< $(test).pdf # shows differences
+ SOURCE_DATE_EPOCH=11 $(prog) $(test).tex
+ $(diff) test3-repro.pdf $(test).pdf # should be identical
+# SOURCE_DATE_EPOCH=1439928155 $(prog) $(test).tex
+
+# make an original with nonzero time for checking.
+test3-repro.pdf: force
+ SOURCE_DATE_EPOCH=11 $(prog) $(test).tex && mv $(test).pdf $@
+force:
+
+clean:
+ $(clean)
+
+fmt:
+ $(prog) \*pdflatex.ini
+ $(prog) \*pdfetex.ini
diff --git a/systems/doc/pdftex/tests/03-deterministic-output/test-SOURCE_DATE_EPOCH.tex b/systems/doc/pdftex/tests/03-deterministic-output/test-SOURCE_DATE_EPOCH.tex
new file mode 100644
index 0000000000..bc037ea01c
--- /dev/null
+++ b/systems/doc/pdftex/tests/03-deterministic-output/test-SOURCE_DATE_EPOCH.tex
@@ -0,0 +1,10 @@
+\input plain.tex
+\input pdftexconfig.tex
+\input pdftexmagfix.tex
+\pdfcompresslevel=0
+\pdfobjcompresslevel=0
+
+abc
+\eject
+def
+\bye
diff --git a/systems/doc/pdftex/tests/03-deterministic-output/test-fixed-date-id.tex b/systems/doc/pdftex/tests/03-deterministic-output/test-fixed-date-id.tex
new file mode 100644
index 0000000000..933ed1b5f5
--- /dev/null
+++ b/systems/doc/pdftex/tests/03-deterministic-output/test-fixed-date-id.tex
@@ -0,0 +1,16 @@
+\input plain.tex
+\input pdftexconfig.tex
+\input pdftexmagfix.tex
+\pdfcompresslevel=0
+\pdfobjcompresslevel=0
+
+\pdfinfo{%
+ /ModDate (D:20150813230402+02'00')
+ /CreationDate (D:20150813230402+02'00')
+}
+\pdftrailerid{test-fixed-date-id.tex:20150813230402+02'00'}
+
+abc
+\eject
+def
+\bye
diff --git a/systems/doc/pdftex/tests/03-deterministic-output/test-no-date-id.tex b/systems/doc/pdftex/tests/03-deterministic-output/test-no-date-id.tex
new file mode 100644
index 0000000000..c8ebf176f4
--- /dev/null
+++ b/systems/doc/pdftex/tests/03-deterministic-output/test-no-date-id.tex
@@ -0,0 +1,13 @@
+\input plain.tex
+\input pdftexconfig.tex
+\input pdftexmagfix.tex
+\pdfcompresslevel=0
+\pdfobjcompresslevel=0
+
+\pdfinfoomitdate=1
+\pdftrailerid{}
+
+abc
+\eject
+def
+\bye
diff --git a/systems/doc/pdftex/tests/03-deterministic-output/test-prim.tex b/systems/doc/pdftex/tests/03-deterministic-output/test-prim.tex
new file mode 100644
index 0000000000..c00641ed4f
--- /dev/null
+++ b/systems/doc/pdftex/tests/03-deterministic-output/test-prim.tex
@@ -0,0 +1,11 @@
+% $Id: test-prim.tex 762 2016-07-05 17:44:56Z karl $
+% See the testprim: target in ./Makefile for the invocation.
+
+\catcode`\{ = 1
+\catcode`\} = 2
+
+\ifnum\year=1970 \else \errmessage{year is \the\year, not 1970}\fi
+\ifnum\month=1 \else \errmessage{month is \the\month, not 1}\fi
+\ifnum\day=1 \else \errmessage{day is \the\day, not 1}\fi
+\ifnum\time=2 \else \errmessage{time is \the\time, not 2}\fi
+\end
diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/Makefile b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/Makefile
new file mode 100644
index 0000000000..554a361248
--- /dev/null
+++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/Makefile
@@ -0,0 +1,40 @@
+# $Id: Makefile 772 2017-03-16 22:58:04Z karl $
+# Public domain.
+
+include ../Common.mak
+
+all: abc-diff testptex-diff testdate-diff testtrailer-diff
+
+abc abc.pdf:
+ $(env) $(prog) '\pdfsuppressptexinfo=1\input' abc.tex </dev/null
+
+abc-orig.pdf:
+ $(env) $(prog) abc.tex </dev/null && mv abc.pdf $@
+abc-diff: abc-orig.pdf abc.pdf
+ -$(diff) $^ # /PTEX.Fullbanner should be gone
+
+testptex = test-pdfsuppressptexinfo
+$(testptex)-orig.pdf: $(testptex).tex abc.pdf
+ $(env) $(prog) $(testptex).tex </dev/null \
+ && mv $(testptex).pdf $(testptex)-orig.pdf
+$(testptex).pdf: $(testptex).tex abc.pdf Makefile
+ $(env) $(prog) '\pdfsuppressptexinfo=-1\input' $(testptex).tex \
+ </dev/null
+testptex-diff: $(testptex)-orig.pdf $(testptex).pdf
+ -$(diff) $^ # all /PTEX.* should be gone
+
+# these are also tested in ../03-deterministic-output, but can try them here.
+testdate = test-pdfinfoomitdate
+$(testdate).pdf: $(testdate).tex abc.pdf
+ $(env) $(prog) $(testdate).tex </dev/null
+testdate-diff: $(testptex)-orig.pdf $(testdate).pdf
+ -$(diff) $^ # /CreationDate, /ModDate should be gone
+
+testtrailer = test-pdftrailer
+$(testtrailer).pdf: $(testtrailer).tex abc.pdf
+ $(env) $(prog) $(testtrailer).tex </dev/null
+testtrailer-diff: $(testptex)-orig.pdf $(testtrailer).pdf
+ -$(diff) $^ # new /mytrlrkey, dates+id should be different
+
+clean:
+ $(clean)
diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/abc.tex b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/abc.tex
new file mode 100644
index 0000000000..045ccbcd2f
--- /dev/null
+++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/abc.tex
@@ -0,0 +1,10 @@
+% $Id: abc.tex 737 2016-03-21 22:54:16Z karl $
+% Public domain.
+\input plain.tex
+\input pdftexconfig.tex
+\input pdftexmagfix.tex
+\pdfcompresslevel=0
+\pdfobjcompresslevel=0
+
+abc
+\bye
diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfinfoomitdate.tex b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfinfoomitdate.tex
new file mode 100644
index 0000000000..dfd30ceb99
--- /dev/null
+++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfinfoomitdate.tex
@@ -0,0 +1,4 @@
+% $Id: test-pdfinfoomitdate.tex 737 2016-03-21 22:54:16Z karl $
+% Public domain.
+\pdfinfoomitdate = 1
+\input test-pdfsuppressptexinfo
diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfsuppressptexinfo.tex b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfsuppressptexinfo.tex
new file mode 100644
index 0000000000..fac5e30b80
--- /dev/null
+++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfsuppressptexinfo.tex
@@ -0,0 +1,18 @@
+% $Id: test-pdfsuppressptexinfo.tex 740 2016-04-23 15:08:37Z karl $
+% Public domain.
+\input plain.tex
+\input pdftexconfig.tex
+\input pdftexmagfix.tex
+\pdfcompresslevel=0
+\pdfobjcompresslevel=0
+
+% \pdfsuppressptexinfo=-1
+% \pdfsuppressptexinfo=15
+% \pdfsuppressptexinfo=8
+% \pdfsuppressptexinfo=4
+% \pdfsuppressptexinfo=2
+% \pdfsuppressptexinfo=1
+
+\pdfximage{abc.pdf}
+\hbox{\pdfrefximage\pdflastximage}
+\bye
diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdftrailer.tex b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdftrailer.tex
new file mode 100644
index 0000000000..119292229a
--- /dev/null
+++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdftrailer.tex
@@ -0,0 +1,6 @@
+% $Id: test-pdftrailer.tex 737 2016-03-21 22:54:16Z karl $
+% Public domain.
+\pdfoutput=1 \catcode`\{=1 \catcode`\}=2
+\pdftrailer {/mytrlrkey /mytrlrval}
+\pdftrailerid {} % seed for trailer id
+\input test-pdfsuppressptexinfo
diff --git a/systems/doc/pdftex/tests/05-mediabox/Makefile b/systems/doc/pdftex/tests/05-mediabox/Makefile
new file mode 100644
index 0000000000..6f45b14cac
--- /dev/null
+++ b/systems/doc/pdftex/tests/05-mediabox/Makefile
@@ -0,0 +1,18 @@
+# $Id: Makefile 772 2017-03-16 22:58:04Z karl $
+# Public domain.
+
+include ../Common.mak
+
+default: test-normal test-omit-mediabox
+
+test-normal:
+ $(prog) test-normal.tex
+ grep -q /MediaBox.*314 test-normal.pdf
+
+test-omit-mediabox:
+ $(prog) test-omit-mediabox.tex
+ grep -q /MediaBox.*271 test-omit-mediabox.pdf # should be there
+ ! grep -q /MediaBox.*314 test-omit-mediabox.pdf # should not
+
+clean:
+ $(clean)
diff --git a/systems/doc/pdftex/tests/05-mediabox/test-normal.tex b/systems/doc/pdftex/tests/05-mediabox/test-normal.tex
new file mode 100644
index 0000000000..f054485556
--- /dev/null
+++ b/systems/doc/pdftex/tests/05-mediabox/test-normal.tex
@@ -0,0 +1,7 @@
+% $Id: test-normal.tex 772 2017-03-16 22:58:04Z karl $
+% Public domain.
+
+\pdfoutput=1
+\pdfpagewidth=314bp
+\pdfpageheight=315bp
+X.\end
diff --git a/systems/doc/pdftex/tests/05-mediabox/test-omit-mediabox.tex b/systems/doc/pdftex/tests/05-mediabox/test-omit-mediabox.tex
new file mode 100644
index 0000000000..93eb60dbc1
--- /dev/null
+++ b/systems/doc/pdftex/tests/05-mediabox/test-omit-mediabox.tex
@@ -0,0 +1,8 @@
+% $Id: test-omit-mediabox.tex 772 2017-03-16 22:58:04Z karl $
+% Public domain.
+
+\pdfoutput=1 \catcode`\{=1 \catcode`\}=2
+\pdfpagewidth=314bp
+\pdfpageheight=315bp
+\pdfpageattr{/MediaBox [ 0 1 271 272 ]}
+X.\end
diff --git a/systems/doc/pdftex/tests/06-pkmap/Makefile b/systems/doc/pdftex/tests/06-pkmap/Makefile
new file mode 100644
index 0000000000..853ec0eb2b
--- /dev/null
+++ b/systems/doc/pdftex/tests/06-pkmap/Makefile
@@ -0,0 +1,24 @@
+# $Id: Makefile 777 2017-04-20 23:08:32Z karl $
+# Public domain.
+
+include ../Common.mak
+
+default: test-pkmap
+
+test-pkenc: # cmr10.3600pk - not used
+ $(prog) test-pkmap.tex
+#
+# should work when and if patch is applied:
+# grep -q /ffi test-pkenc.pdf # should end up with this encoded char
+# grep -a ToUnicode test-pkenc.pdf
+#
+# dev convenience:
+# pdffonts test-big.pdf
+# pdftotext test-big.pdf -
+
+cmr10.3600pk:
+ mf-nowin '\mode:=ljfour;mag:=6;input cmr10'
+ gftopk cmr10.3600gf
+
+clean:
+ $(clean)
diff --git a/systems/doc/pdftex/tests/06-pkmap/cmb10.72pk b/systems/doc/pdftex/tests/06-pkmap/cmb10.72pk
new file mode 100644
index 0000000000..9de73dcd0f
--- /dev/null
+++ b/systems/doc/pdftex/tests/06-pkmap/cmb10.72pk
Binary files differ
diff --git a/systems/doc/pdftex/tests/06-pkmap/cmr10.72pk b/systems/doc/pdftex/tests/06-pkmap/cmr10.72pk
new file mode 100644
index 0000000000..35ed3e2158
--- /dev/null
+++ b/systems/doc/pdftex/tests/06-pkmap/cmr10.72pk
Binary files differ
diff --git a/systems/doc/pdftex/tests/06-pkmap/prepatch.pdf b/systems/doc/pdftex/tests/06-pkmap/prepatch.pdf
new file mode 100644
index 0000000000..07617bdba2
--- /dev/null
+++ b/systems/doc/pdftex/tests/06-pkmap/prepatch.pdf
Binary files differ
diff --git a/systems/doc/pdftex/tests/06-pkmap/test-pkmap.tex b/systems/doc/pdftex/tests/06-pkmap/test-pkmap.tex
new file mode 100644
index 0000000000..f78d7c095d
--- /dev/null
+++ b/systems/doc/pdftex/tests/06-pkmap/test-pkmap.tex
@@ -0,0 +1,37 @@
+% $Id: test-pkmap.tex 777 2017-04-20 23:08:32Z karl $
+% Public domain.
+% Test map files with bitmap (i.e., Type 3) fonts.
+
+% A thread starting here:
+% http://tug.org/pipermail/pdftex/2016-July/009064.html
+% and continuing here (and more):
+% http://tug.org/pipermail/pdftex/2016-August/009065.html
+% discusses a patch for supporting an encoding file with Type 3.
+% The patch has not yet been installed.
+%
+% For comparison, the PDF made before the patch was applied is saved
+% here as prepatch.pdf.
+%
+% The default PK resolution is 72, so we made cmb10.72pk in this directory.
+% (mf-nowin '\mode:=mactrue; input cmb10' && gftopk cmb10.72gf)
+% (mf-nowin '\mode:=mactrue; input cmr10' && gftopk cmr10.72gf)
+%
+\pdfoutput=1 \catcode`\{=1 \catcode`\}=2
+\hsize=6pc \parfillskip=0pt plus1fil \vsize=6in \lineskip=1pc
+\pdfcompresslevel=0 \pdfobjcompresslevel=0
+
+\pdfglyphtounicode{ffi}{0066 0066 0069} %no need for all: \input glyphtounicode
+\pdfgentounicode=1
+
+\pdfmapline{cmr10}% type3 map without encoding - no ToUnicode, no /ffi.
+\font\cmr=cmr10 \noindent \cmr ffi
+
+% if we install the patch.
+%\pdfmapline{cmb10 <7t.enc}% type3 map with encoding
+%\font\cmb=cmb10 \noindent \cmb ffi
+
+% geometrically-scaled tfm: the Type 3 should be scaled (resulting in
+% blocky blown-up bits), instead of using a separately-generated
+% cmr10.360pk (50*72/10).
+\font\big = cmr10 at 50pt \big big
+\end
diff --git a/systems/doc/pdftex/tests/07-mapwarn/Makefile b/systems/doc/pdftex/tests/07-mapwarn/Makefile
new file mode 100644
index 0000000000..6e40de9242
--- /dev/null
+++ b/systems/doc/pdftex/tests/07-mapwarn/Makefile
@@ -0,0 +1,12 @@
+# $Id: Makefile 777 2017-04-20 23:08:32Z karl $
+# Public domain.
+
+include ../Common.mak
+
+default: test-mapwarn
+
+test-mapwarn:
+ $(prog) test-mapwarn.tex; test $$? = 1 # pdftex should exit 1
+
+clean:
+ $(clean)
diff --git a/systems/doc/pdftex/tests/07-mapwarn/test-mapwarn.tex b/systems/doc/pdftex/tests/07-mapwarn/test-mapwarn.tex
new file mode 100644
index 0000000000..7088ab2a8a
--- /dev/null
+++ b/systems/doc/pdftex/tests/07-mapwarn/test-mapwarn.tex
@@ -0,0 +1,18 @@
+% $Id: test-mapwarn.tex 777 2017-04-20 23:08:32Z karl $
+% Public domain.
+% Ensure that various invalid map lines don't cause a crash.
+% The last line aborts due to a (detected) buffer overflow.
+
+\pdfoutput=1 \catcode`\{=1 \catcode`\}=2
+\catcode`\^=7 \newlinechar=`\^^J
+
+% all but the first should cause warnings.
+\message{empty^^J}\pdfmapline{}
+\message{just <^^J}\pdfmapline{<}
+\message{justtfm<^^J}\pdfmapline{cmb10x1<}
+\message{justtfm <^^J}\pdfmapline{cmb10x2 <}
+\message{justtfm < ^^J}\pdfmapline{cmb10x3 < }
+\message{notfm slant^^J}\pdfmapline{" 167 SlantFont " <foo.pfb
+\message{notfm extend^^J}\pdfmapline{" 167 ExtendFont " <bar.pfb}
+\pdfmapline{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
+\end
diff --git a/systems/doc/pdftex/tests/Common.mak b/systems/doc/pdftex/tests/Common.mak
new file mode 100644
index 0000000000..04e3afd2c1
--- /dev/null
+++ b/systems/doc/pdftex/tests/Common.mak
@@ -0,0 +1,34 @@
+# $Id: Common.mak 777 2017-04-20 23:08:32Z karl $
+# Public domain.
+
+# Common Makefile definitions to run pdftex from test hierarchy,
+# but use support files from an installation.
+
+tl = /usr/local/texlive-rel
+tl_dist = $(tl)/texmf-dist
+#
+plain = $(tl_dist)/tex/plain/base
+plain_config = $(tl_dist)/tex/plain/config
+generic_config = $(tl)/texmf-config/tex/generic/config
+generic_hyphen = $(tl_dist)/tex/generic/hyphen
+#
+tfm_cm = $(tl_dist)/fonts/tfm/public/cm
+tfm_knuth = $(tl_dist)/fonts/tfm/public/knuth-lib
+t1_cm = $(tl_dist)/fonts/type1/public/amsfonts/cm
+#
+env = TEXINPUTS=.:$(plain):$(plain_config):$(generic_config):$(generic_hyphen)\
+ TEXFONTS=.:$(tfm_cm):$(tfm_knuth):$(t1_cm) \
+ TEXFONTMAPS=$(tl_dist)/fonts/map/pdftex/updmap \
+ ENCFONTS=$(tl_dist)/fonts/enc/dvips/base \
+ MKTEXTFM=0 \
+ MKTEXPK=0 \
+ KPATHSEA_WARNING=0
+
+diff = diff --text -c0
+
+pdftex = ../../source/build-pdftex/texk/web2c/pdftex
+pdftex = $(W)/texk/web2c/pdftex
+prog = $(env) $(pdftex) -ini -interaction=nonstopmode
+
+# can't make the clean: target here since then it would be the default.
+clean = rm -f *.log *.pdf *.fmt *.aux